diff --git a/.emv_mainnet b/.emv_mainnet new file mode 100644 index 0000000..bf83604 --- /dev/null +++ b/.emv_mainnet @@ -0,0 +1,32 @@ +INFURA_API_KEY= +ALCHEMY_API_KEY=ZoFsby6rdZoPyzROKeh67wvxTUxtbHxZ +PUBLIC_ADDRESS=0x35dad65F60c1A32c9895BE97f6bcE57D32792E83 +PRIVATE_KEY= +MNEMONIC= +NOF_DAI_CONTRACT_NAME='NofTestDAIV3' +NOF_ALPHA_CONTRACT_NAME='NofAlphaV3' +NOF_GAMMA_PACKS_CONTRACT_NAME='NofGammaPacksV3' +NOF_GAMMA_CARDS_CONTRACT_NAME='NofGammaCardsV5' +NOF_GAMMA_CARDS_NFT_CONTRACT_NAME='NofGammaCardsNFTV1' +NOF_GAMMA_OFFERS_CONTRACT_NAME='NofGammaOffersV4' +NOF_GAMMA_TICKETS_CONTRACT_NAME='NofGammaTicketsV1' +NOF_GAMMA_LIB_PACK_VERIFIER_CONTRACT_NAME='LibPackVerifier' +NOF_GAMMA_LIB_STRING_UTILS_CONTRACT_NAME='LibStringUtils' +NOF_GAMMA_LIB_OWNERS_MGMT_CONTRACT_NAME='LibControlMgmt' +SIGNATURE_METHOD='1' +PRINT_LOGS_IN_TESTS='0' +MICRO_SERVICE_SIGNATURE_WALLETS_ADDRESSES='0xbc448896fa30dcafa085c0a45005a1334ebf1ab3,0x20517cf8C140F7F393F92cEa6158f57385a75733,0x4c46a8a7cf253e2fb7afe816a4bc273fbdd46c8c,0xfc355c1731a9f4e49a2fe7f9412aa22fa8fde198,0x1836acb4f313f21cbb86ffe2e8e9dfe2d853a657,0x422db8aef9748680d13e29d3495a66254f5e9061' +BALANCE_RECEIVER_WALLET_ADDRESS='0x6b510284C49705eA14e92aD35D86FD3075eC56e0' + +NOF_DAI_MINT_EXTRA_WALLET_ADDRESSES='' + +ADDITIONAL_OWNERS_WALLETS_ADDRESSES='' + +NOF_DAI_CONTRACT_CURRENT_ADDRESS='' +NOF_ALPHA_CONTRACT_CURRENT_ADDRESS='' +NOF_GAMMA_CARDS_CONTRACT_CURRENT_ADDRESS='' +NOF_GAMMA_CARDS_NFT_CONTRACT_CURRENT_ADDRESS='' +NOF_GAMMA_PACKS_CONTRACT_CURRENT_ADDRESS='' +NOF_GAMMA_OFFERS_CONTRACT_CURRENT_ADDRESS='' +NOF_GAMMA_TICKETS_CONTRACT_CURRENT_ADDRESS='' + diff --git a/.gitignore b/.gitignore index fc5ce93..0b0c765 100644 --- a/.gitignore +++ b/.gitignore @@ -59,7 +59,6 @@ contracts-exposed # Hardhat /cache -/artifacts /generated typechain typechain-types diff --git a/README.md b/README.md index c23621e..459bea9 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ npx hardhat test # Deploy to local npx hardhat run scripts/deploy.ts -# Deploy to Mumnbai +# Deploy to Mumbai npx hardhat run scripts/deploy.ts --network mumbai # Deploy Mock Data (local) @@ -142,38 +142,75 @@ See detaills about gamma Smart Contracts in this [file](./.doc/contracts-info.md ## Deployed Contracts last Addresses +NOTA: The ERC20 token being used is DAI, the official addresses of the Mainnet and Testnet smart contracts of the different networks can be found in the references (at the end of this file). Also the faucets for testnet. + +Alternatively for testnet, the source code of the DAI contract is in this repository (contracts folder) to deploy your own and avoid collecting cents from faucets. + + ### Mumbai * DAI: 0xEa4c35c858E15Cef77821278A88435dE57bc8707 -* Alpha: 0x7C201e88e43b5FBEEfB77F966c2a5D2E09178B49 -* Gamma Cards: 0x34658c07F05638E12793d0961595cBc72fA69452 -* Gamma Cards NFT: 0x1b3aeb1652bf9a9ab269fa987feec34a65ef7b69 -* Gamma Packs: 0xDc06FbD70b2159863d079aE282d69AEe8a88A18E -* Gamma Offers: 0x3Da346C40A0D90cf5642944613586439A3456d45 -* Gamma Tickets: 0x7593aad3e13fBd27F113aad8688E8817Ac4f9A33 +* Alpha: 0x816EA704F9bEf91284bA72bEBdAC1d1c5788246b +* Gamma Cards: 0x394Fc1975972de88806b2E81Ed53f3E020f29D09 +* Gamma Cards NFT: 0xe90FFf9825159e9Ce88f2Df3d766666CaD9DdF3a +* Gamma Packs: 0xfb4C387227d3692Be50376ff930472294ADEcED8 +* Gamma Offers: 0x1eDB114Bb7A0CBaDA9c9550BD2F3F1bFC08Bd7a7 +* Gamma Tickets: 0x091C994c5766D79bF592e08C71D49C49Eaf1DCee ### Bsc Tesnet -* DAI: 0x83330b5803838604d85B7Cba393C930084F45A7d -* Alpha: 0x4eE8C9cc2cF081f11F56A264EF52e3FeaDe1b35e -* Gamma Cards: 0x25f85D878972f9506b4De49cEff480f627935521 -* Gamma Cards NFT: 0x05863097c97d93F264A7713295DE11517164ACCc -* Gamma Packs: 0x71aA05fD8532a1395DffaB6FdA8be191fC8168FE -* Gamma Offers: 0x71aA05fD8532a1395DffaB6FdA8be191fC8168FE -* Gamma Tickets: 0xA5c3Cd20AB6FF1e299D93ee268370BCC19a32E71 +* DAI: 0x1ba960c6f624eC8d3fA3ACC4aFaF867538afd787 +* Alpha: 0x56e14bf3adBE4C7566b4F9dCC9acc264429f5DC9 +* Gamma Cards: 0x369443c3a885b6687d0f2a2Dc97b4EC69b9d90b3 +* Gamma Cards NFT: 0x8842E2A0bF1ed60b360c4Ea46C0F1beBC8f5e64d +* Gamma Packs: 0xA62A947c0BD0A14317A6EAd7e32b227f4F9C36ef +* Gamma Offers: 0x4C1d15c7EcEDF52eE7073CeD26b0A6c482b27c69 +* Gamma Tickets: 0xC67963E0742074bfa74610D28663FB3a524201D8 ### OpBNB Testnet -* DAI: 0x46480E0d10966Ea274831D9693a56f9c09D7339d -* Alpha: 0x36f19A5397DbE26b548b15C158f7a8e00979B408 -* Gamma Cards: 0x2842c8FD88F801018E53dDDeBbC944aE377D0F72 -* Gamma Cards NFT: 0x8df52bd59823F0080958AEB1DfdaBf230ef7EdEd -* Gamma Packs: 0x1116218412559628B67aa15F3c527D68F0A71b91 -* Gamma Offers: 0xe810524F7C7C62A2201FdF1bCA20649Bd7D70844 -* Gamma Tickets: 0xd9988C491805AE2573FA156b27CDE1a6f7B3E073 +* DAI: 0xE3Afd0e2b6b955a56A1823039DE577d3ce7B15BC +* Alpha: 0xaAf52b86Cb71c14bd01eC6AC88481BC94470fFD7 +* Gamma Cards: 0x4a65B5138fCaBFE8a7c676688E9884F1eBdc1906 +* Gamma Cards NFT: 0x28C768b53b051989c0952FcAC7167Ad9ff1C18A5 +* Gamma Packs: 0xd792e3040FaCa21E0a7414422DeC6000Cc66BB79 +* Gamma Offers: 0xB90B462d5c609CC548a8135C264b212688A9Fe1f +* Gamma Tickets: 0xa7ec2fd75cAfd694866AF76e865D8b34b24CB5D8 + +### Polygon Mainet + +(not yet) + +* DAI: 0x8f3cf7ad23cd3cadbd9735aff958023239c6a063 (official makerDAO contract address) +* Alpha: +* Gamma Cards: +* Gamma Cards NFT: +* Gamma Packs: +* Gamma Offers: +* Gamma Tickets: + +### BSC Mainet + +(not yet) +* DAI: 0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3 (official makerDAO contract address) +* Alpha: +* Gamma Cards: +* Gamma Cards NFT: +* Gamma Packs: +* Gamma Offers: +* Gamma Tickets: -### Mainet + +### OpBNB Testnet (not yet) +* DAI: TBC (official makerDAO contract address) +* Alpha: +* Gamma Cards: +* Gamma Cards NFT: +* Gamma Packs: +* Gamma Offers: +* Gamma Tickets: + ## Contribution @@ -221,9 +258,37 @@ For more information, refer to: [commitlint](https://commitlint.js.org/#/). ## Links -* Mumbai Faucet: https://mumbaifaucet.com/ +### Faucets + +* Matic Faucet on Mumbai: + - https://mumbaifaucet.com/ + +* BNB & DAI faucet on BSC: + - https://www.bnbchain.org/en/testnet-faucet + +* DAI faucet on Mumbai: + - https://faucet.paradigm.xyz/ + - https://staging.aave.com/faucet/ (get DAI on Sepolian and then transfer to Mumbai with bridge) + +* Get BNB & DAI on opBNB with Bridge (BNB-opBNB): + - https://opbnb-testnet-bridge.bnbchain.org/deposit + +### Maker DAO (DAI) Contracts Addresses + +* MakerDAO (DAI) Testnet: + - Mumbai: https://mumbai.polygonscan.com/address/0x001b3b4d0f3714ca98ba10f6042daebf0b1b7b6f + - BSC-testnet: https://testnet.bscscan.com/address/0xec5dcb5dbf4b114c9d0f65bccab49ec54f6a0867 + - opBNB-testinet: + +* MakerDAO (DAI) Mainnet: + - source info: https://www.coingecko.com/en/coins/dai + - Polygon: https://polygonscan.com/token/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063 + - BSC: https://bscscan.com/token/0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3 + - opBNB: -* BNB faucet: https://www.bnbchain.org/en/testnet-faucet -* Bridge (BNB-opBNB) Testnet: https://opbnb-testnet-bridge.bnbchain.org/deposit +### Bridges +* Bridger Finder + - https://app.findmybridge.com/finder/2863311531 + - https://testnet.meson.fi/ diff --git a/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json b/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json b/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json new file mode 100644 index 0000000..33254f2 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json @@ -0,0 +1,63 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Ownable", + "sourceName": "@openzeppelin/contracts/access/Ownable.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.dbg.json b/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json b/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json new file mode 100644 index 0000000..2c75d79 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/interfaces/IERC4906.sol/IERC4906.json @@ -0,0 +1,328 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC4906", + "sourceName": "@openzeppelin/contracts/interfaces/IERC4906.sol", + "abi": [ + { + "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": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "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": [ + { + "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "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": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json b/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json new file mode 100644 index 0000000..76b073c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json @@ -0,0 +1,194 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20", + "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json b/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json new file mode 100644 index 0000000..ec0bcd3 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json @@ -0,0 +1,357 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC721", + "sourceName": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "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": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "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": "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": "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": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "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" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b50604051620013e7380380620013e783398101604081905262000034916200011f565b600062000042838262000218565b50600162000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d676b79dc68df4267f8d09269c07d709f69069f4e6b407ce8dd8f369db4c2a6464736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d676b79dc68df4267f8d09269c07d709f69069f4e6b407ce8dd8f369db4c2a6464736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json new file mode 100644 index 0000000..3677fd6 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json @@ -0,0 +1,296 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC721", + "sourceName": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "abi": [ + { + "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": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "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": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json new file mode 100644 index 0000000..e91c7b0 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json @@ -0,0 +1,45 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC721Receiver", + "sourceName": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol/ERC721Burnable.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol/ERC721Burnable.dbg.json new file mode 100644 index 0000000..c6bb1a6 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol/ERC721Burnable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol/ERC721Burnable.json b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol/ERC721Burnable.json new file mode 100644 index 0000000..3972fe0 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol/ERC721Burnable.json @@ -0,0 +1,354 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC721Burnable", + "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol", + "abi": [ + { + "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": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "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": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "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": "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": "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": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.dbg.json new file mode 100644 index 0000000..c6bb1a6 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json new file mode 100644 index 0000000..880d50b --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json @@ -0,0 +1,373 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC721URIStorage", + "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", + "abi": [ + { + "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": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "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": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "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": "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": "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": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.dbg.json b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.dbg.json new file mode 100644 index 0000000..c6bb1a6 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json new file mode 100644 index 0000000..4eea2c2 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json @@ -0,0 +1,341 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC721Metadata", + "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "abi": [ + { + "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": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "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": [], + "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": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "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": "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": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json b/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json b/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json new file mode 100644 index 0000000..fc1c922 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Address", + "sourceName": "@openzeppelin/contracts/utils/Address.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1fdd61f4eb78bb85396bef6217c844e429e234ac21c304c6e1ff0a4882c9d9264736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1fdd61f4eb78bb85396bef6217c844e429e234ac21c304c6e1ff0a4882c9d9264736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json b/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json b/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json new file mode 100644 index 0000000..8fe86fc --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Context", + "sourceName": "@openzeppelin/contracts/utils/Context.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json b/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json b/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json new file mode 100644 index 0000000..3a21742 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Strings", + "sourceName": "@openzeppelin/contracts/utils/Strings.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220021c47ccbc9d2eb37dccbfda50caf25b1daad11d1b40ba8f580b0ae6e23d393864736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220021c47ccbc9d2eb37dccbfda50caf25b1daad11d1b40ba8f580b0ae6e23d393864736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json b/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json b/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json new file mode 100644 index 0000000..af27493 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ECDSA", + "sourceName": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205a77dc3abb340c1df399723277b7d59112560781b8c1ec9f5a02c745d813a33d64736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205a77dc3abb340c1df399723277b7d59112560781b8c1ec9f5a02c745d813a33d64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json b/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json b/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json new file mode 100644 index 0000000..1304472 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC165", + "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json b/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json b/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json new file mode 100644 index 0000000..ff87f91 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC165", + "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json b/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json b/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json new file mode 100644 index 0000000..7544596 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Math", + "sourceName": "@openzeppelin/contracts/utils/math/Math.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205c0cc183d0f31baa1c5bb8dc7aa6a23858e404f9a4daa0da3e6b85f138b0ab6f64736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205c0cc183d0f31baa1c5bb8dc7aa6a23858e404f9a4daa0da3e6b85f138b0ab6f64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json b/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json new file mode 100644 index 0000000..10ee63c --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json b/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json new file mode 100644 index 0000000..c3649ee --- /dev/null +++ b/artifacts/@openzeppelin/contracts/utils/math/SignedMath.sol/SignedMath.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SignedMath", + "sourceName": "@openzeppelin/contracts/utils/math/SignedMath.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070fa345ea313530b988df5a20a3fb22bf347620b40de18f92e69a0b4ea05510f64736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070fa345ea313530b988df5a20a3fb22bf347620b40de18f92e69a0b4ea05510f64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/build-info/d0763492bde0a53d48379c8cb06e25eb.json b/artifacts/build-info/d0763492bde0a53d48379c8cb06e25eb.json new file mode 100644 index 0000000..f75d8bd --- /dev/null +++ b/artifacts/build-info/d0763492bde0a53d48379c8cb06e25eb.json @@ -0,0 +1 @@ +{"id":"d0763492bde0a53d48379c8cb06e25eb","_format":"hh-sol-build-info-1","solcVersion":"0.8.20","solcLongVersion":"0.8.20+commit.a1b79de6","input":{"language":"Solidity","sources":{"@openzeppelin/contracts/access/Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n"},"@openzeppelin/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/IERC165.sol\";\n"},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC4906.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\nimport \"./IERC721.sol\";\n\n/// @title EIP-721 Metadata Update Extension\ninterface IERC4906 is IERC165, IERC721 {\n /// @dev This event emits when the metadata of a token is changed.\n /// So that the third-party platforms such as NFT market could\n /// timely update the images and related attributes of the NFT.\n event MetadataUpdate(uint256 _tokenId);\n\n /// @dev This event emits when the metadata of a range of tokens is changed.\n /// So that the third-party platforms such as NFT market could\n /// timely update the images and related attributes of the NFTs.\n event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId);\n}\n"},"@openzeppelin/contracts/interfaces/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/IERC721.sol\";\n"},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 amount) external returns (bool);\n}\n"},"@openzeppelin/contracts/token/ERC721/ERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: address zero is not a valid owner\");\n return _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _ownerOf(tokenId);\n require(owner != address(0), \"ERC721: invalid token ID\");\n return owner;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overridden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(\n _msgSender() == owner || isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not token owner or approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n _requireMinted(tokenId);\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _safeTransfer(from, to, tokenId, data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(address from, address to, uint256 tokenId, bytes memory data) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n */\n function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n return _owners[tokenId];\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _ownerOf(tokenId) != address(0);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(address to, uint256 tokenId, bytes memory data) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId, 1);\n\n // Check that tokenId was not minted by `_beforeTokenTransfer` hook\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n unchecked {\n // Will not overflow unless all 2**256 token ids are minted to the same owner.\n // Given that tokens are minted one by one, it is impossible in practice that\n // this ever happens. Might change if we allow batch minting.\n // The ERC fails to describe this case.\n _balances[to] += 1;\n }\n\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n\n _afterTokenTransfer(address(0), to, tokenId, 1);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n * This is an internal function that does not check if the sender is authorized to operate on the token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId);\n\n _beforeTokenTransfer(owner, address(0), tokenId, 1);\n\n // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook\n owner = ERC721.ownerOf(tokenId);\n\n // Clear approvals\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // Cannot overflow, as that would require more tokens to be burned/transferred\n // out than the owner initially received through minting and transferring in.\n _balances[owner] -= 1;\n }\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n\n _afterTokenTransfer(owner, address(0), tokenId, 1);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId, 1);\n\n // Check that tokenId was not transferred by `_beforeTokenTransfer` hook\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n\n // Clear approvals from the previous owner\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // `_balances[from]` cannot overflow for the same reason as described in `_burn`:\n // `from`'s balance is the number of token held, which is at least one before the current\n // transfer.\n // `_balances[to]` could overflow in the conditions described in `_mint`. That would require\n // all 2**256 token ids to be minted, which in practice is impossible.\n _balances[from] -= 1;\n _balances[to] += 1;\n }\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n\n _afterTokenTransfer(from, to, tokenId, 1);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n */\n function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {\n require(owner != operator, \"ERC721: approve to caller\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Reverts if the `tokenId` has not been minted yet.\n */\n function _requireMinted(uint256 tokenId) internal view virtual {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n * - When `from` is zero, the tokens will be minted for `to`.\n * - When `to` is zero, ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n * - When `from` is zero, the tokens were minted for `to`.\n * - When `to` is zero, ``from``'s tokens were burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n *\n * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n * that `ownerOf(tokenId)` is `a`.\n */\n // solhint-disable-next-line func-name-mixedcase\n function __unsafe_increaseBalance(address account, uint256 amount) internal {\n _balances[account] += amount;\n }\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @title ERC721 Burnable Token\n * @dev ERC721 Token that can be burned (destroyed).\n */\nabstract contract ERC721Burnable is Context, ERC721 {\n /**\n * @dev Burns `tokenId`. See {ERC721-_burn}.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(uint256 tokenId) public virtual {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _burn(tokenId);\n }\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/extensions/ERC721URIStorage.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../interfaces/IERC4906.sol\";\n\n/**\n * @dev ERC721 token with storage based token URI management.\n */\nabstract contract ERC721URIStorage is IERC4906, ERC721 {\n using Strings for uint256;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) private _tokenURIs;\n\n /**\n * @dev See {IERC165-supportsInterface}\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC721, IERC165) returns (bool) {\n return interfaceId == bytes4(0x49064906) || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = _baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n\n return super.tokenURI(tokenId);\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Emits {MetadataUpdate}.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721URIStorage: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n\n emit MetadataUpdate(tokenId);\n }\n\n /**\n * @dev See {ERC721-_burn}. This override additionally checks to see if a\n * token-specific URI was set for the token, and if so, it deletes the token URI from\n * the storage mapping.\n */\n function _burn(uint256 tokenId) internal virtual override {\n super._burn(tokenId);\n\n if (bytes(_tokenURIs[tokenId]).length != 0) {\n delete _tokenURIs[tokenId];\n }\n }\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n"},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n"},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n"},"@openzeppelin/contracts/utils/Address.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n *\n * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n"},"@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Strings.sol\";\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS,\n InvalidSignatureV // Deprecated in v4.8\n }\n\n function _throwError(RecoverError error) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert(\"ECDSA: invalid signature\");\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert(\"ECDSA: invalid signature length\");\n } else if (error == RecoverError.InvalidSignatureS) {\n revert(\"ECDSA: invalid signature 's' value\");\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature` or error string. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength);\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, signature);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address, RecoverError) {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n *\n * _Available since v4.2._\n */\n function recover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, r, vs);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address, RecoverError) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n Ć· 2 + 1, and for v in (302): v āˆˆ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature);\n }\n\n return (signer, RecoverError.NoError);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, v, r, s);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32 message) {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\")\n mstore(0x1c, hash)\n message := keccak256(0x00, 0x3c)\n }\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from `s`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n\", Strings.toString(s.length), s));\n }\n\n /**\n * @dev Returns an Ethereum Signed Typed Data, created from a\n * `domainSeparator` and a `structHash`. This produces hash corresponding\n * to the one signed with the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n * JSON-RPC method as part of EIP-712.\n *\n * See {recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32 data) {\n /// @solidity memory-safe-assembly\n assembly {\n let ptr := mload(0x40)\n mstore(ptr, \"\\x19\\x01\")\n mstore(add(ptr, 0x02), domainSeparator)\n mstore(add(ptr, 0x22), structHash)\n data := keccak256(ptr, 0x42)\n }\n }\n\n /**\n * @dev Returns an Ethereum Signed Data with intended validator, created from a\n * `validator` and `data` according to the version 0 of EIP-191.\n *\n * See {recover}.\n */\n function toDataWithIntendedValidatorHash(address validator, bytes memory data) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x00\", validator, data));\n }\n}\n"},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n"},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"@openzeppelin/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Down, // Toward negative infinity\n Up, // Toward infinity\n Zero // Toward zero\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds up instead\n * of rounding down.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n * with further edits by Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod0 := mul(x, y)\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n require(denominator > prod1, \"Math: mulDiv overflow\");\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\n // See https://cs.stackexchange.com/q/138556/92363.\n\n // Does not overflow because the denominator cannot be zero at this stage in the function.\n uint256 twos = denominator & (~denominator + 1);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\n // in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // ā†’ `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // ā†’ `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256, rounded down, of a positive value.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n}\n"},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n"},"@openzeppelin/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\nimport \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toString(int256 value) internal pure returns (string memory) {\n return string(abi.encodePacked(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value))));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n"},"contracts/alpha/Alpha.v3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"./ContextMixin.v2.sol\";\n\ncontract NofAlphaV3 is ERC721, ERC721URIStorage, Ownable, ContextMixinV2 {\n uint256 private _tokenIdCounter;\n string public baseUri;\n\n struct Season {\n uint price;\n uint[] cards;\n uint[] albums;\n mapping(address => bool) owners;\n string folder;\n }\n\n struct Card {\n uint tokenId;\n uint class;\n uint collection;\n string season;\n uint completion;\n uint number;\n }\n\n address public balanceReceiver;\n mapping (string => Season) public seasons;\n mapping (uint => Card) public cards;// this uint is the tokenId\n mapping (string => address[]) private winners;\n mapping (address => mapping(string => Card[])) public cardsByUserBySeason;\n uint8[7] private prizes = [20, 14, 12, 10, 8, 6, 5];\n string[] public seasonNames;\n uint256[] public seasonPrices;\n uint256 public prizesBalance;\n\n address public DAI_TOKEN;\n\n event BuyPack(address buyer, string seasonName);\n event Winner(address winner, string season, uint256 position);\n\n constructor() \n ERC721(\"NOF Alpha\", \"NOFA\") {}\n\n function init (string memory __baseUri, address _daiTokenAddress, address _balanceReceiver) external onlyOwner {\n baseUri = __baseUri;\n DAI_TOKEN = _daiTokenAddress;\n balanceReceiver = _balanceReceiver;\n }\n\n function _baseURI() internal view override returns (string memory) {\n return baseUri;\n }\n\n function mint(address to, string memory uri, uint _class, uint _collection, \n string memory _season, uint carNumber) internal {\n uint256 tokenId = _tokenIdCounter;\n _tokenIdCounter += 1;\n cards[tokenId].tokenId = tokenId;\n cards[tokenId].class = _class;\n cards[tokenId].collection = _collection;\n cards[tokenId].season = _season;\n cards[tokenId].number = carNumber;\n cardsByUserBySeason[to][_season].push(cards[tokenId]);\n _mint(to, tokenId);\n _setTokenURI(tokenId, uri);\n }\n\n function _beforeTokenTransfer(address from, address to, uint256 tokenId, uint256 batchSize)\n internal\n override(ERC721)\n {\n super._beforeTokenTransfer(from, to, tokenId, batchSize);\n }\n\n function _burn(uint256 tokenId) internal override(ERC721, ERC721URIStorage) {\n super._burn(tokenId);\n }\n\n function tokenURI(uint256 tokenId)\n public\n view\n override(ERC721, ERC721URIStorage)\n returns (string memory)\n {\n return super.tokenURI(tokenId);\n }\n\n function supportsInterface(bytes4 interfaceId)\n public\n view\n override(ERC721, ERC721URIStorage)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n function isApprovedForAll(address _owner, address _operator) public override(ERC721, IERC721) view returns (bool isOperator) {\n // if OpenSea's ERC721 Proxy Address is detected, auto-return true\n // for Polygon's Mumbai testnet, use 0xff7Ca10aF37178BdD056628eF42fD7F799fAc77c\n if (_operator == address(0x58807baD0B376efc12F5AD86aAc70E78ed67deaE)) {\n return true;\n } \n // otherwise, use the default ERC721.isApprovedForAll()\n return ERC721.isApprovedForAll(_owner, _operator);\n }\n\n /**\n * This is used instead of msg.sender as transactions won't be sent by the original token owner, but by OpenSea.\n */\n function _msgSender() internal override view returns (address sender)\n {\n return ContextMixinV2.msgSender();\n }\n\n function buyPack(uint256 amount, string memory name) public {\n require(!seasons[name].owners[msg.sender], \"Ya tenes un pack wachin\");\n seasons[name].owners[msg.sender] = true;\n require(seasons[name].price == amount, \"Send exact price for Pack\");\n uint256 prizesAmount = amount * 75 / 100;\n prizesBalance += prizesAmount;\n IERC20(DAI_TOKEN).transferFrom(msg.sender, address(this), prizesAmount);\n IERC20(DAI_TOKEN).transferFrom(msg.sender, balanceReceiver, amount - prizesAmount);\n\n {\n uint index = uint(keccak256(abi.encodePacked(block.timestamp)))%seasons[name].albums.length;\n uint cardNum = seasons[name].albums[index];\n seasons[name].albums[index] = seasons[name].albums[seasons[name].albums.length - 1];\n seasons[name].albums.pop();\n mint(msg.sender, string(abi.encodePacked(bytes(seasons[name].folder), bytes(\"/\"), \n bytes(toString(cardNum)), bytes(\".json\"))), 0, cardNum/6-1, name, cardNum);\n }\n\n for(uint i ; i < 5; i++) {\n uint index = uint(keccak256(abi.encodePacked(block.timestamp)))%seasons[name].cards.length;\n uint cardNum = seasons[name].cards[index];\n seasons[name].cards[index] = seasons[name].cards[seasons[name].cards.length - 1];\n seasons[name].cards.pop();\n mint(msg.sender, string(abi.encodePacked(bytes(seasons[name].folder), bytes(\"/\"), \n bytes(toString(cardNum)), bytes(\".json\"))), 1, cardNum/6, name, cardNum);\n }\n\n emit BuyPack(msg.sender, name);\n }\n\n function newSeason(string memory name, uint price, uint amount, string memory folder) public onlyOwner {\n require(price >= 100000000000000, \"pack value must be at least 0.0001 DAI\");\n require(amount % 6 == 0, \"Amount must be multiple of 6\");\n seasons[name].price = price;\n seasons[name].folder = folder;\n seasonNames.push(name);\n seasonPrices.push(price);\n \n for(uint i = 1; i <= amount; i++) {\n if(i % 6 == 0) {\n seasons[name].albums.push(i);\n } else {\n seasons[name].cards.push(i);\n }\n }\n }\n\n function getSeasonData() public view returns(string[] memory, uint256[] memory) {\n return (seasonNames, seasonPrices);\n }\n\n //Devuelve un array con las cartas disponibles\n function getSeasonCards(string memory name) public view returns(uint[] memory) {\n return seasons[name].cards;\n }\n\n //Devuelve un arrary con los albums disponibles\n function getSeasonAlbums(string memory name) public view returns(uint[] memory) {\n return seasons[name].albums;\n }\n\n function getWinners(string calldata _seasonName) public view returns(address[] memory) {\n return winners[_seasonName];\n }\n\n function getCardsByUserBySeason(address _user, string calldata _seasonName) public view returns(Card[] memory) {\n return cardsByUserBySeason[_user][_seasonName];\n }\n\n function transferCardOwnership(address from, address to, uint256 tokenId) internal {\n string memory seasonName = cards[tokenId].season;\n for(uint8 i=0;i Card) public s_cards;\n mapping(uint256 cardNumber => uint256 amount) public s_cardsInventory; // maximos: 120 => 5000\n mapping(address user => uint256 amount) public s_burnedCards;\n mapping(address user => mapping(uint8 cardNumber => uint8 amount)) public s_cardsByUser;\n\n event NewGammaOffersContract(address indexed newGammaOffersContract);\n event NewGammaPacksContract(address indexed newGammaPacksContract);\n event NewGammaTicketsContract(address indexed newGammaTicketContract);\n event PackOpened(address indexed player, uint8[] indexed packData, uint256 indexed packNumber);\n event AlbumCompleted(address indexed player, uint8 indexed albumClass);\n event CardPasted(address indexed player, uint256 indexed cardTokenId, uint256 indexed albumTokenId);\n event EmergencyWithdrawal(address indexed receiver, uint256 indexed amount);\n event NewSigner(address indexed newSigner);\n event NewUris(string indexed newMainUri, string indexed newSecondaryUri);\n event OfferCardsExchanged(address indexed from, address indexed to, uint8 cardNumberFrom, uint8 cardNumberTo);\n event CardTransfered(address indexed from, address indexed to, uint8 cardNumber);\n event CardsTransfered(address indexed from, address indexed to, uint8[] indexed cardNumber);\n event CardsBurned(address indexed user, uint8[] indexed cardsNumber);\n\n modifier onlyGammaPacksContract() {\n if(msg.sender != address(gammaPacksContract)) revert OnlyGammaPacksContract();\n _;\n }\n\n modifier onlyGammaOffersContract() {\n if(msg.sender != address(gammaOffersContract)) revert OnlyOffersContract();\n _;\n }\n\n modifier onlyOwners() {\n if(!ownersData.owners[msg.sender]) revert OnlyOwners();\n _;\n }\n\n modifier checkAddressZero(address _address) {\n if(_address == address(0)) revert InvalidAddress();\n _;\n }\n\n function init(\n address _daiTokenAddress,\n address _gammaPacksContract,\n address _gammaOffersContract,\n address _gammaTicketsContract,\n string memory _baseUri,\n address _signer\n ) external onlyOwner {\n ownersData.owners[msg.sender] = true;\n\n DAI_TOKEN = _daiTokenAddress;\n gammaPacksContract = IgammaPacksContract(_gammaPacksContract);\n gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract);\n gammaOffersContract = IgammaOffersContract(_gammaOffersContract);\n\n s_baseUri = _baseUri;\n s_mainUri = string(abi.encodePacked(bytes(s_baseUri), bytes(\"/\"), bytes(\"120\"), bytes(\"F.json\")));\n s_secondaryUri = string(\n abi.encodePacked(bytes(s_baseUri), bytes(\"/\"), bytes(\"121\"), bytes(\"F.json\"))\n );\n signersData.signers[_signer] = true;\n\n for (uint256 i; i < 122; i++) {\n s_cardsInventory[i] = 1;\n }\n }\n\n function addOwner(address _newOwner) external onlyOwners {\n ownersData.addOwner(_newOwner);\n }\n\n function removeOwner(address _ownerToRemove) external onlyOwners {\n ownersData.removeOwner(_ownerToRemove);\n }\n\n function addSigner(address _newSigner) external onlyOwners {\n signersData.addSigner(_newSigner);\n }\n\n function removeSigner(address _signerToRemove) external onlyOwners {\n signersData.removeSigner(_signerToRemove);\n }\n\n function setGammaOffersContract(address _gammaOffersContract) external onlyOwners checkAddressZero(_gammaOffersContract) {\n gammaOffersContract = IgammaOffersContract(_gammaOffersContract);\n emit NewGammaOffersContract(_gammaOffersContract);\n }\n\n function setGammaPacksContract(address _gammaPacksContract) external onlyOwners checkAddressZero(_gammaPacksContract){\n gammaPacksContract = IgammaPacksContract(_gammaPacksContract);\n emit NewGammaPacksContract(_gammaPacksContract);\n }\n\n function setGammaTicketsContract(address _gammaTicketsContract) external onlyOwners checkAddressZero(_gammaTicketsContract){\n gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract);\n emit NewGammaTicketsContract(_gammaTicketsContract);\n }\n\n function setPrizesBalance(uint256 amount) external onlyGammaPacksContract {\n s_prizesBalance += amount;\n }\n\n function setMainAlbumPrize(uint256 amount) external onlyOwners {\n if(amount == 0) revert IncorrectPrizeAmount();\n s_mainAlbumPrize = amount;\n }\n\n function setSecondaryAlbumPrize(uint256 amount) external onlyOwners {\n if(amount == 0) revert IncorrectPrizeAmount();\n s_secondaryAlbumPrize = amount;\n }\n\n function setLotteryPrizePercentage(uint8 amount) external onlyOwners {\n if(amount > 100) revert IncorrectPrizeAmount();\n s_lotteryPrizePercentage = amount;\n }\n\n function setUris(string memory newMainUri, string memory newSecondaryUri) external onlyOwners {\n s_mainUri = newMainUri;\n s_secondaryUri = newSecondaryUri;\n emit NewUris(newMainUri, newSecondaryUri);\n }\n\n function changeRequireOpenPackSignerValidation(bool required) external onlyOwners {\n s_requireOpenPackSignerValidation = required;\n }\n\n function changeRequireOfferValidationInMint(bool required) external onlyOwners {\n s_requireOfferValidationInMint = required;\n }\n\n function changeRequireOfferValidationInTransfer(bool required) external onlyOwners {\n s_requireOfferValidationInTransfer = required;\n }\n\n function changePackPrice(uint256 newPackPrice) external onlyGammaPacksContract {\n s_packPrice = newPackPrice;\n }\n\n function changeMaxPacksToOpenAtOnce(uint8 _maxPacksToOpenAtOnce) external onlyOwners {\n s_maxPacksToOpenAtOnce = _maxPacksToOpenAtOnce;\n }\n\n function removeCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract {\n s_cardsByUser[user][cardNumber]--;\n }\n\n function restoreCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract {\n s_cardsByUser[user][cardNumber]++;\n }\n\n function hasCardByOffer(\n address user,\n uint8 cardNumber\n ) external view onlyGammaOffersContract returns (bool has) {\n return s_cardsByUser[user][cardNumber] > 0;\n }\n\n function hasCard(address user, uint8 cardNum) public view checkAddressZero(user) returns (bool has) {\n return s_cardsByUser[user][cardNum] > 0;\n }\n\n function isOwner(address user) external view returns (bool) {\n return ownersData.owners[user];\n }\n\n function isSigner(address user) external view returns (bool) {\n return signersData.signers[user];\n }\n\n function getLotteryPrize() public view returns (uint256) {\n return (s_lotteryPrizePercentage * s_prizesBalance) / 100;\n }\n\n function getCardQuantityByUser(address user, uint8 cardNum) public view checkAddressZero(user) returns (uint8) {\n return s_cardsByUser[user][cardNum];\n }\n\n function getBurnedCardQttyByUser(address user) public view checkAddressZero(user) returns (uint256) {\n return s_burnedCards[user];\n }\n\n function getCardsByUser(\n address user\n ) public view returns (uint8[] memory, uint8[] memory, bool[] memory) {\n uint8[] memory cardNumbers = new uint8[](122);\n uint8[] memory quantities = new uint8[](122);\n bool[] memory offers = new bool[](122);\n uint8 index = 0;\n\n for (uint8 i; i <= 121; i++) {\n if (s_cardsByUser[user][i] > 0) {\n cardNumbers[index] = i;\n quantities[index] = s_cardsByUser[user][i];\n offers[index] = gammaOffersContract.hasOffer(user, i);\n index++;\n }\n }\n\n uint8[] memory userCardNumbers = new uint8[](index);\n uint8[] memory userCardsQtty = new uint8[](index);\n bool[] memory userCardsOffers = new bool[](index);\n\n for (uint256 j; j < index; j++) {\n userCardNumbers[j] = cardNumbers[j];\n userCardsQtty[j] = quantities[j];\n userCardsOffers[j] = offers[j];\n }\n\n return (userCardNumbers, userCardsQtty, userCardsOffers);\n }\n\n function verifyPackSigner(\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) public view returns (address signer) {\n return LibPackVerifier.verifyPackSigner(msg.sender, packNumber, packData, signature);\n }\n\n function openPack(\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) external {\n _openPack(msg.sender, packNumber, packData, signature);\n }\n\n function openPacks(\n uint8 packsQuantity,\n uint256[] memory packsNumber,\n uint8[][] memory packsData,\n bytes[] calldata signatures\n ) external {\n if(packsQuantity == 0 || packsQuantity > s_maxPacksToOpenAtOnce) revert WrongPacksQuantity();\n\n for (uint256 i; i < packsQuantity; i++) {\n _openPack(msg.sender, packsNumber[i], packsData[i], signatures[i]);\n }\n }\n\n function _openPack(\n address user,\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) private {\n if(gammaPacksContract.getPackOwner(packNumber) != user) revert NotYourPack();\n if(packData.length >= 15) revert CardLimitExceeded();\n\n if (s_requireOpenPackSignerValidation) {\n // Recreates the message present in the `signature`\n address signer = LibPackVerifier.verifyPackSigner(\n msg.sender,\n packNumber,\n packData,\n signature\n );\n \n if(!signersData.signers[signer]) revert InvalidSignature();\n }\n\n gammaPacksContract.openPack(packNumber, user);\n s_prizesBalance += s_packPrice - s_packPrice / 6;\n\n \n for (uint256 i; i < packData.length;) {\n if(packData[i] == 120){\n if(s_cardsInventory[120] > 3000) revert InvalidCardNumber();\n } else {\n if(s_cardsInventory[packData[i]] > 5000) revert InvalidCardNumber();\n }\n s_cardsInventory[packData[i]]++;\n s_cardsByUser[user][packData[i]]++;\n unchecked {\n i++;\n }\n }\n\n emit PackOpened(user, packData, packNumber);\n }\n\n function exchangeCardsOffer(\n address from,\n uint8 cardNumberFrom,\n address to,\n uint8 cardNumberTo\n ) external onlyGammaOffersContract checkAddressZero(from) checkAddressZero(to) {\n if(s_cardsByUser[from][cardNumberFrom] == 0 || s_cardsByUser[to][cardNumberTo] == 0) revert UserDoesNotHaveCardOrAlbum();\n\n s_cardsByUser[from][cardNumberFrom]--;\n s_cardsByUser[to][cardNumberFrom]++;\n s_cardsByUser[to][cardNumberTo]--;\n s_cardsByUser[from][cardNumberTo]++;\n\n emit OfferCardsExchanged(from, to, cardNumberFrom, cardNumberTo);\n }\n\n function transferCard(address to, uint8 cardNumber) external checkAddressZero(to) {\n if(s_cardsByUser[msg.sender][cardNumber] == 0) revert UserDoesNotHaveCardOrAlbum();\n if(to == msg.sender) revert InvalidTransfer();\n\n if (s_requireOfferValidationInTransfer) {\n bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumber);\n bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNumber] > 1;\n /* \n The user can only make an offer for one letter and in that case he cannot mint or transfer it.\n If you have more than one copy (quantity > 1) of that card, you must be able to mint \n or transfer the rest.\n */\n require(!hasOffer || hasMoreThanOne, \"This card has an offer.\");\n }\n\n s_cardsByUser[msg.sender][cardNumber]--;\n s_cardsByUser[to][cardNumber]++;\n emit CardTransfered(msg.sender, to, cardNumber);\n }\n\n function transferCards(address to, uint8[] calldata cardNumbers) public checkAddressZero(to) {\n if(to == msg.sender) revert InvalidTransfer();\n\n for (uint256 i; i < cardNumbers.length; i++) {\n if(s_cardsByUser[msg.sender][cardNumbers[i]] == 0) revert UserDoesNotHaveCardOrAlbum();\n s_cardsByUser[msg.sender][cardNumbers[i]]--;\n s_cardsByUser[to][cardNumbers[i]]++;\n\n if (s_requireOfferValidationInTransfer) {\n bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumbers[i]);\n bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNumbers[i]] > 1;\n /* \n The user can only make an offer for one letter and in that case he cannot mint or transfer it.\n If you have more than one copy (quantity > 1) of that card, you must be able to mint \n or transfer the rest.\n */\n require(!hasOffer || hasMoreThanOne, \"This card has an offer.\");\n }\n }\n emit CardsTransfered(msg.sender, to, cardNumbers);\n }\n\n // user must call this function when they have at least 1\n // card of each number (120 total) + a 120 album card\n function finishAlbum() public returns (bool) {\n // requires the user to have at least one 120 album\n if(s_cardsByUser[msg.sender][120] == 0) revert UserDoesNotHaveCardOrAlbum();\n if(s_prizesBalance < s_mainAlbumPrize) revert IncorrectPrizeAmount();\n\n uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this));\n if(contractBalance < s_mainAlbumPrize) revert InsufficientFunds();\n\n // check that you have at least one card of each number\n bool unfinished;\n \n for (uint8 i; i <= 120;) {\n if (s_cardsByUser[msg.sender][i] == 0) {\n unfinished = true;\n break;\n }\n s_cardsByUser[msg.sender][i]--;\n unchecked {\n i++;\n }\n }\n if(unfinished) revert MustCompleteAlbum();\n\n // mint the completed album.\n safeMint(msg.sender, s_mainUri, 120, 2);\n\n // transfer prize in DAI.\n IERC20(DAI_TOKEN).transfer(msg.sender, s_mainAlbumPrize);\n s_prizesBalance -= s_mainAlbumPrize;\n\n bool userOffersRemoved = gammaOffersContract.removeOffersByUser(msg.sender);\n if(!userOffersRemoved) revert CannotRemoveUserOffers();\n\n emit AlbumCompleted(msg.sender, 1);\n return true;\n }\n\n // user should call this function if they want to 'paste' selected cards in\n // the 60 cards album to 'burn' them.\n function burnCards(uint8[] calldata cardNumbers) public {\n if(s_cardsByUser[msg.sender][121] == 0) revert UserDoesNotHaveCardOrAlbum();\n uint256 totalUserBurnedCards = s_burnedCards[msg.sender] + cardNumbers.length;\n bool mustPayPrize;\n\n if (totalUserBurnedCards >= 60) {\n uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this));\n if(contractBalance < s_secondaryAlbumPrize || s_prizesBalance < s_secondaryAlbumPrize) revert InsufficientFunds();\n mustPayPrize = true;\n }\n\n bool userHasOffers = (gammaOffersContract.getOffersByUserCounter(msg.sender) > 0);\n uint256 cardNumbersLength = cardNumbers.length;\n for (uint256 i; i < cardNumbersLength;) {\n if(s_cardsByUser[msg.sender][cardNumbers[i]] == 0) revert UserDoesNotHaveCardOrAlbum();\n if (userHasOffers) {\n if (gammaOffersContract.hasOffer(msg.sender, cardNumbers[i])) {\n if(s_cardsByUser[msg.sender][cardNumbers[i]] < 2) revert InsufficientCards();\n }\n }\n s_cardsByUser[msg.sender][cardNumbers[i]]--;\n unchecked {\n i++;\n }\n }\n\n s_burnedCards[msg.sender] += cardNumbersLength;\n emit CardsBurned(msg.sender, cardNumbers);\n\n if (mustPayPrize) {\n s_cardsByUser[msg.sender][121]--;\n safeMint(msg.sender, s_secondaryUri, 121, 2); // mint album of 60 cards.\n\n s_prizesBalance -= s_secondaryAlbumPrize;\n IERC20(DAI_TOKEN).transfer(msg.sender, s_secondaryAlbumPrize);\n\n gammaTicketsContract.generateTicket(msg.sender);\n emit AlbumCompleted(msg.sender, 2);\n }\n }\n\n function mintCard(uint8 cardNum) public {\n if(s_cardsByUser[msg.sender][cardNum] == 0) revert UserDoesNotHaveCardOrAlbum();\n\n if (s_requireOfferValidationInMint) {\n bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNum);\n bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNum] > 1;\n /* \n The user can only make an offer for one letter and in that case he cannot mint or transfer it.\n If you have more than one copy (quantity > 1) of that card, you must be able to mint \n or transfer the rest.\n */\n require(!hasOffer || hasMoreThanOne, \"This card has an offer.\");\n }\n\n s_cardsByUser[msg.sender][cardNum]--;\n\n string memory uri = string(\n abi.encodePacked(bytes(s_baseUri), bytes(\"/\"), bytes(cardNum.toString()), bytes(\".json\"))\n );\n\n safeMint(msg.sender, uri, cardNum, 1);\n }\n\n function safeMint(address _to, string memory _uri, uint256 _number, uint8 _class) internal {\n uint256 tokenId = s_tokenIdCounter;\n s_cards[tokenId].tokenId = tokenId;\n s_cards[tokenId].number = _number;\n s_cards[tokenId].class = _class;\n _safeMint(_to, tokenId);\n _setTokenURI(tokenId, _uri);\n s_tokenIdCounter += 1;\n }\n\n // do not call unless really necessary\n function emergencyWithdraw(uint256 amount) public onlyOwners {\n if(balanceOf(address(this)) < amount) revert InsufficientFunds();\n s_prizesBalance -= amount;\n IERC20(DAI_TOKEN).transfer(msg.sender, amount);\n emit EmergencyWithdrawal(msg.sender, amount);\n }\n\n\n\n\n // for testing purposes only, will remove on deploy\n function testAddCards(address user) public onlyOwners {\n for(uint8 i; i<=121; i++){ // 0-119: cards, 120: album-120, 121: album-60\n s_cardsByUser[user][i]++;\n }\n }\n\n function testOpenPack(address user, uint256 packNumber, uint8[] memory packData) external onlyOwners {\n gammaPacksContract.openPack(packNumber, user);\n s_prizesBalance += s_packPrice - s_packPrice / 6;\n\n for(uint256 i; i Offer[]) offersByUser;\n mapping(uint8 cardNumber => Offer[]) offersByCardNumber;\n mapping(address => uint256) public offersByUserCounter;\n mapping(uint8 => uint256) public offersByCardNumberCounter;\n uint256 public offersTotalCounter;\n\n event NewGammaCardsContract(address newGammaCardsContract);\n event OfferCreated(address user, uint8 cardNumber, uint8[] wantedCardNumbers);\n event OfferRemoved(address user, uint8 cardNumber);\n event UserOffersRemoved(address user);\n event AllOffersRemoved();\n\n modifier onlyCardsContract() {\n if (msg.sender != address(gammaCardsContract)) revert OnlyCardsContract();\n _;\n }\n\n modifier onlyOwners() {\n if (!ownersData.owners[msg.sender]) revert OnlyOwners();\n _;\n }\n\n function init(address _cardsContract) external onlyOwner {\n if (_cardsContract == address(0)) revert InvalidAddress();\n gammaCardsContract = IGammaCardsContract(_cardsContract);\n ownersData.owners[msg.sender] = true;\n }\n\n function addOwner(address _newOwner) external onlyOwners {\n ownersData.addOwner(_newOwner);\n }\n\n function removeOwner(address _ownerToRemove) external onlyOwners {\n ownersData.removeOwner(_ownerToRemove);\n }\n\n function setGammaCardsContract(address _gammaCardsContract) public onlyOwners {\n if (_gammaCardsContract == address(0)) revert InvalidAddress();\n gammaCardsContract = IGammaCardsContract(_gammaCardsContract);\n emit NewGammaCardsContract(_gammaCardsContract);\n }\n\n function setMaxOffersAllowed(uint256 _maxOffersAllowed) external onlyOwners {\n maxOffersAllowed = _maxOffersAllowed;\n }\n\n function setMaxOffersByUserAllowed(uint256 _maxOffersByUserAllowed) external onlyOwners {\n maxOffersByUserAllowed = _maxOffersByUserAllowed;\n }\n\n function setMaxCardNumbersAllowed(uint256 _maxCardNumbersAllowed) external onlyOwners {\n maxCardNumbersAllowed = _maxCardNumbersAllowed;\n }\n\n function changeRemoveCardinInventoryWhenOffer(bool _value) external onlyOwners {\n removeCardInInventoryWhenOffer = _value;\n }\n\n function createOffer(\n string memory offerId,\n uint8 cardNumber,\n uint8[] memory wantedCardNumbers\n ) public {\n _createOfferWithUser(offerId, msg.sender, cardNumber, wantedCardNumbers);\n }\n\n function createOfferWithoUser(\n string memory offerId,\n address user,\n uint8 cardNumber,\n uint8[] memory wantedCardNumbers\n ) public onlyOwners {\n _createOfferWithUser(offerId, user, cardNumber, wantedCardNumbers);\n }\n\n function _createOfferWithUser(\n string memory offerId,\n address user,\n uint8 cardNumber,\n uint8[] memory wantedCardNumbers\n ) private {\n if (address(gammaCardsContract) == address(0)) revert GammaCardsContractNotSet();\n if (offersByUserCounter[user] >= maxOffersByUserAllowed) revert OffersMaximumAllowed();\n if (offersTotalCounter >= maxOffersAllowed) revert OffersMaximumAllowed();\n\n bool userHasCard = gammaCardsContract.hasCardByOffer(user, cardNumber);\n if (!userHasCard) revert UserDoesNotHaveCard();\n\n for (uint8 i = 0; i < wantedCardNumbers.length; i++) {\n if (wantedCardNumbers[i] == cardNumber) revert InvalidCardNumber();\n }\n\n Offer memory existingOffer = getOfferByUserAndCardNumber(user, cardNumber);\n if (existingOffer.owner != address(0)) revert OfferAlreadyExists();\n\n offersByUserCounter[user] += 1;\n offersByCardNumberCounter[cardNumber] += 1;\n offersTotalCounter += 1;\n\n offers.push(Offer(offerId, cardNumber, wantedCardNumbers, user, block.timestamp));\n offersByUser[user].push(offers[offers.length - 1]);\n offersByCardNumber[cardNumber].push(offers[offers.length - 1]);\n\n if (removeCardInInventoryWhenOffer) {\n gammaCardsContract.removeCardByOffer(user, cardNumber);\n }\n\n emit OfferCreated(user, cardNumber, wantedCardNumbers);\n }\n\n function isOwner(address user) external view returns (bool) {\n return ownersData.owners[user];\n }\n\n function getOffersByUserCounter(address user) external view returns (uint256) {\n if (user == address(0)) revert InvalidAddress();\n return offersByUserCounter[user];\n }\n\n function getOffersByCardNumberCounter(uint8 cardNumber) external view returns (uint256) {\n return offersByCardNumberCounter[cardNumber];\n }\n\n function getOffersCounter() external view returns (uint256) {\n return offersTotalCounter;\n }\n\n function getMaxOffersAllowed() external view returns (uint256) {\n return maxOffersAllowed;\n }\n\n function getMaxOffersByUserAllowed() external view returns (uint256) {\n return maxOffersByUserAllowed;\n }\n\n function getOffers() external view returns (Offer[] memory) {\n return offers;\n }\n\n function getOfferByIndex(uint256 index) public view returns (Offer memory) {\n if (index >= offers.length) revert InvalidOfferId();\n return offers[index];\n }\n\n function getOfferByOfferId(string memory offerId) external view returns (Offer memory) {\n for (uint256 i = 0; i < offers.length; i++) {\n if (keccak256(abi.encodePacked(offers[i].offerId)) == keccak256(abi.encodePacked(offerId))) {\n return (offers[i]);\n }\n }\n return _emptyOffer();\n }\n\n function getOffersByUser(address user) external view returns (Offer[] memory) {\n if (user == address(0)) revert InvalidAddress();\n return offersByUser[user];\n }\n\n function getOffersByCardNumber(uint8 cardNumber) external view returns (Offer[] memory) {\n return offersByCardNumber[cardNumber];\n }\n\n function getOfferByUserAndCardNumber(\n address user,\n uint8 cardNumber\n ) public view returns (Offer memory) {\n if (user == address(0)) revert InvalidAddress();\n\n Offer[] storage userOffers = offersByUser[user];\n uint256 currentUserOffersCounter = offersByUserCounter[user];\n for (uint256 i = 0; i < currentUserOffersCounter; i++) {\n if (userOffers[i].cardNumber == cardNumber) {\n return userOffers[i];\n }\n }\n return _emptyOffer();\n }\n\n function canUserPublishOffer(address user) public view returns (bool) {\n return maxOffersByUserAllowed > offersByUserCounter[user];\n }\n\n function canAnyUserPublishOffer() public view returns (bool) {\n return maxOffersAllowed > offersTotalCounter;\n }\n\n function hasOffer(address user, uint8 cardNumber) public view returns (bool) {\n if (user == address(0)) revert InvalidAddress();\n for (uint256 i = 0; i < offersByUserCounter[user]; i++) {\n if (offersByUser[user][i].cardNumber == cardNumber) {\n return true;\n }\n }\n return false;\n }\n\n function confirmOfferExchange(\n address from,\n uint8 cardNumberWanted,\n address offerWallet,\n uint8 offerCardNumber\n ) external {\n Offer memory offer = getOfferByUserAndCardNumber(offerWallet, offerCardNumber);\n if (offer.owner != offerWallet) revert OfferDoesNotExists();\n\n uint8[] memory wantedCardNumbers = offer.wantedCardNumbers;\n if (wantedCardNumbers.length == 0) {\n //buscamos que el usuario no tenga la carta\n if (gammaCardsContract.hasCardByOffer(offerWallet, cardNumberWanted))\n revert UserAlreadyHasCard();\n } else {\n //validamos contra las cartas que acepta el usuario\n bool foundCardWanted = false;\n for (uint8 j = 0; j < wantedCardNumbers.length; j++) {\n if (wantedCardNumbers[j] == cardNumberWanted) {\n foundCardWanted = true;\n break;\n }\n }\n if (!foundCardWanted) revert InvalidCard();\n }\n\n bool offerDeleted = _removeOfferByUserAndCardNumber(\n offerWallet,\n offerCardNumber,\n offer.offerId,\n true\n );\n if (!offerDeleted) revert OfferNotDeleted();\n\n gammaCardsContract.exchangeCardsOffer(from, cardNumberWanted, offerWallet, offerCardNumber);\n if (\n !gammaCardsContract.hasCardByOffer(from, offerCardNumber) ||\n !gammaCardsContract.hasCardByOffer(offerWallet, cardNumberWanted)\n ) revert ExchangeError();\n }\n\n function deleteAllOffers() external onlyOwners {\n for (uint256 i = 0; i < offers.length; i++) {\n delete offersByUser[offers[i].owner];\n offersByUserCounter[offers[i].owner] = 0;\n\n delete offersByCardNumber[offers[i].cardNumber];\n offersByCardNumberCounter[offers[i].cardNumber] = 0;\n }\n offersTotalCounter = 0;\n delete offers;\n\n emit AllOffersRemoved();\n }\n\n function removeOfferByCardNumber(uint8 cardNumber) external returns (bool) {\n Offer memory offer = getOfferByUserAndCardNumber(msg.sender, cardNumber);\n if (offer.owner != msg.sender) {\n return false;\n }\n bool result = _removeOfferByUserAndCardNumber(msg.sender, cardNumber, offer.offerId, false);\n return result;\n }\n\n function removeOfferByUserAndCardNumber(\n address user,\n uint8 cardNumber\n ) public onlyOwners returns (bool) {\n Offer memory offer = getOfferByUserAndCardNumber(user, cardNumber);\n if (offer.owner != user) {\n return false;\n }\n bool result = _removeOfferByUserAndCardNumber(user, cardNumber, offer.offerId, false);\n return result;\n }\n\n function removeOffersByUser(address user) external onlyCardsContract returns (bool) {\n if (user == address(0)) revert InvalidAddress();\n\n Offer[] storage userOffers = offersByUser[user];\n uint256 currentUserOffersCounter = offersByUserCounter[user];\n\n for (uint256 i = 0; i < currentUserOffersCounter; i++) {\n string memory offerId = userOffers[i].offerId;\n uint8 cardNumber = userOffers[i].cardNumber;\n _removeOfferFromCardNumberMapping(user, cardNumber, offerId);\n _removeOfferByOfferId(offerId);\n offersByCardNumberCounter[cardNumber] -= 1;\n offersTotalCounter -= 1;\n }\n\n delete offersByUser[user];\n offersByUserCounter[user] = 0;\n\n emit UserOffersRemoved(user);\n return true;\n }\n\n function _removeOfferByUserAndCardNumber(\n address user,\n uint8 cardNumber,\n string memory offerId,\n bool fromConfirmOfferExchange\n ) private returns (bool) {\n if (user == address(0)) revert InvalidAddress();\n\n _removeOfferFromUserMapping(user, cardNumber, offerId);\n _removeOfferFromCardNumberMapping(user, cardNumber, offerId);\n _removeOfferByOfferId(offerId);\n offersByUserCounter[user] -= 1;\n offersByCardNumberCounter[cardNumber] -= 1;\n offersTotalCounter -= 1;\n\n if (removeCardInInventoryWhenOffer && !fromConfirmOfferExchange) {\n gammaCardsContract.restoreCardByOffer(user, cardNumber);\n }\n\n emit OfferRemoved(user, cardNumber);\n return true;\n }\n\n function _removeOfferFromUserMapping(\n address user,\n uint8 cardNumber,\n string memory offerId\n ) private {\n Offer[] storage userOffers = offersByUser[user];\n for (uint256 i = 0; i < userOffers.length; i++) {\n if (_sameOfferId(userOffers[i].offerId, offerId)) {\n if (userOffers[i].owner != user || userOffers[i].cardNumber != cardNumber)\n revert RemoveOfferFromUserMapping_DoNotMatch();\n if (i < (userOffers.length - 1)) {\n userOffers[i] = userOffers[userOffers.length - 1];\n }\n userOffers.pop();\n break;\n }\n }\n }\n\n function _removeOfferFromCardNumberMapping(\n address user,\n uint8 cardNumber,\n string memory offerId\n ) private {\n Offer[] storage cardOffers = offersByCardNumber[cardNumber];\n\n for (uint256 i = 0; i < cardOffers.length; i++) {\n if (_sameOfferId(cardOffers[i].offerId, offerId)) {\n if (cardOffers[i].owner != user || cardOffers[i].cardNumber != cardNumber)\n revert RemoveOfferFromCardNumberMapping_DoNotMatch();\n\n if (i < cardOffers.length - 1) {\n cardOffers[i] = cardOffers[cardOffers.length - 1];\n }\n cardOffers.pop();\n break;\n }\n }\n }\n\n function _removeOfferByOfferId(string memory offerId) private returns (bool) {\n bool deleted = false;\n for (uint256 j = 0; j < offers.length; j++) {\n if (j < offers.length && _sameOfferId(offers[j].offerId, offerId)) {\n delete offers[j];\n offers[j] = offers[offers.length - 1];\n offers.pop();\n deleted = true;\n break;\n }\n }\n return deleted;\n }\n\n function _emptyOffer() internal pure returns (Offer memory) {\n return Offer(\"\", 0, new uint8[](0), address(0), 0);\n }\n\n function _sameOfferId(\n string memory offerId1,\n string memory offerId2\n ) internal pure returns (bool) {\n return keccak256(abi.encodePacked(offerId1)) == keccak256(abi.encodePacked(offerId2));\n }\n}\n"},"contracts/gamma/GammaPacks.v3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\nimport {LibControlMgmt} from \"./libs/LibControlMgmt.sol\";\nimport {console} from \"hardhat/console.sol\";\n\nerror NotGammaCardsContract();\nerror OwnlyOwners();\nerror InvalidAddress();\nerror InvalidNumberOfPacks();\nerror InsufficientPacksAvailable();\nerror TransferPrizeError(address _to);\nerror InsufficientAllowance();\nerror InsufficientBalance();\nerror NotYourPack();\nerror ContractAddressNotSet();\n\ninterface IGammaCardsContract {\n function setPrizesBalance(uint256 amount) external;\n\n function changePackPrice(uint256 amount) external;\n}\n\ninterface IgammaTicketsContract {\n function getLotteryWinner()\n external\n returns (uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user);\n\n function deleteAllTickets() external;\n}\n\ncontract NofGammaPacksV3 is Ownable {\n using LibControlMgmt for LibControlMgmt.Data;\n\n IGammaCardsContract public gammaCardsContract;\n IgammaTicketsContract public gammaTicketsContract;\n\n LibControlMgmt.Data private ownersData;\n\n address public DAI_TOKEN;\n address public s_balanceReceiver;\n uint256 public constant TOTALSUPPLY = 50000;\n uint256 public s_packPrice = 12e17; // 1.2 DAI\n uint256 private s_packsCounter = 0;\n bool s_transferDai = true;\n\n mapping(uint256 tokenId => address owner) public s_packs;\n mapping(address owner => uint256[] tokenIds) public s_packsByUser;\n\n event NewGammaCardsContract(address indexed newCardsContract);\n event NewGammaTicketsContract(address indexed newGammaTicketContract);\n event NewBalanceReceiver(address indexed balanceReceiver);\n event PackPurchased(address indexed buyer, uint256 indexed tokenId);\n event PacksPurchased(address indexed buyer, uint256[] indexed tokenIds);\n event PackTransfered(address indexed from, address indexed to, uint256 indexed tokenId);\n event PacksTransfered(address indexed from, address indexed to, uint256[] indexed tokenId);\n event PackOpened(address indexed user, uint256 indexed tokenId);\n event NewPrice(uint256 indexed newPrice);\n\n modifier onlyGammaCardsContract() {\n if (msg.sender != address(gammaCardsContract)) revert NotGammaCardsContract();\n _;\n }\n\n modifier onlyOwners() {\n if (!ownersData.owners[msg.sender]) revert OwnlyOwners();\n _;\n }\n\n function init(\n address _daiTokenAddress,\n address _balanceReceiver,\n address _gammaCardsContract,\n address _gammaTicketsContract\n ) external onlyOwner {\n if (\n _balanceReceiver == address(0) ||\n _gammaCardsContract == address(0) ||\n _gammaTicketsContract == address(0)\n ) revert InvalidAddress();\n\n DAI_TOKEN = _daiTokenAddress;\n s_balanceReceiver = _balanceReceiver;\n gammaCardsContract = IGammaCardsContract(_gammaCardsContract);\n gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract);\n\n ownersData.owners[msg.sender] = true;\n }\n\n function addOwner(address _newOwner) external onlyOwners {\n ownersData.addOwner(_newOwner);\n }\n\n function removeOwner(address _ownerToRemove) external onlyOwners {\n ownersData.removeOwner(_ownerToRemove);\n }\n\n function changeBalanceReceiver(address _newBalanceReceiver) external onlyOwners {\n if (_newBalanceReceiver == address(0)) revert InvalidAddress();\n s_balanceReceiver = _newBalanceReceiver;\n emit NewBalanceReceiver(_newBalanceReceiver);\n }\n\n function changePrice(uint256 _newPrice) public onlyOwners {\n s_packPrice = _newPrice;\n gammaCardsContract.changePackPrice(_newPrice);\n emit NewPrice(_newPrice);\n }\n\n function changeTransferDaiFlag(bool _transferDai) public onlyOwners {\n s_transferDai = _transferDai;\n }\n\n function setGammaCardsContract(address _gammaCardsContract) public onlyOwners {\n if (_gammaCardsContract == address(0)) revert InvalidAddress();\n gammaCardsContract = IGammaCardsContract(_gammaCardsContract);\n emit NewGammaCardsContract(_gammaCardsContract);\n }\n\n function setGammaTicketsContract(address _gammaTicketsContract) public onlyOwners {\n if (_gammaTicketsContract == address(0)) revert InvalidAddress();\n gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract);\n emit NewGammaTicketsContract(_gammaTicketsContract);\n }\n\n function isOwner(address user) external view returns (bool) {\n return ownersData.owners[user];\n }\n\n function getPrizeAmountToBuyPacks(uint256 numberOfPacks) public view returns (uint256) {\n return (s_packPrice - (s_packPrice / 6)) * numberOfPacks;\n }\n\n function getPrizeNoFAccountAmountToBuyPacks(uint256 numberOfPacks) public view returns (uint256) {\n uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks);\n return (s_packPrice * numberOfPacks) - prizesAmount;\n }\n\n function getAmountRequiredToBuyPacks(uint256 numberOfPacks) public view returns (uint256) {\n uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks);\n uint256 NoFAccountAmount = getPrizeNoFAccountAmountToBuyPacks(numberOfPacks);\n return prizesAmount + NoFAccountAmount;\n }\n\n function getPacksByUser(address owner) public view returns (uint256[] memory) {\n return s_packsByUser[owner];\n }\n\n function getPackOwner(uint256 tokenId) public view returns (address) {\n return s_packs[tokenId];\n }\n\n function meetQuantityConditionsToBuy(uint256 numberOfPacks) public view returns (bool) {\n if (numberOfPacks == 0) revert InvalidNumberOfPacks();\n return (s_packsCounter + numberOfPacks) < TOTALSUPPLY;\n }\n\n function buyPack() public returns (uint256) {\n return _buyPack(msg.sender);\n }\n\n function buyPacks(uint256 numberOfPacks) public returns (uint256[] memory) {\n return _buyPacks(msg.sender, numberOfPacks);\n }\n\n function buyPackByUser(address user) public onlyOwners returns (uint256) {\n return _buyPack(user);\n }\n\n function buyPacksByUser(\n address user,\n uint256 numberOfPacks\n ) public onlyOwners returns (uint256[] memory) {\n return _buyPacks(user, numberOfPacks);\n }\n\n function _buyPack(address user) private returns (uint256) {\n uint256[] memory tokenIds = _buyPacks(user, 1);\n return tokenIds[0];\n }\n\n function _buyPacks(address user, uint256 numberOfPacks) private returns (uint256[] memory) {\n if (user == address(0)) revert InvalidAddress();\n if (numberOfPacks == 0 || numberOfPacks > 100) revert InvalidNumberOfPacks();\n if ((s_packsCounter + numberOfPacks) >= TOTALSUPPLY) revert InsufficientPacksAvailable();\n uint256[] memory tokenIds = new uint256[](numberOfPacks);\n uint256 m_packsCounter = s_packsCounter;\n\n for (uint256 i; i < numberOfPacks;) {\n if (m_packsCounter >= TOTALSUPPLY) revert InsufficientPacksAvailable();\n s_packs[m_packsCounter] = user;\n s_packsByUser[user].push(m_packsCounter);\n tokenIds[i] = m_packsCounter;\n m_packsCounter++;\n unchecked {\n i++;\n }\n }\n \n s_packsCounter = m_packsCounter;\n\n bool transferPrizeResult = _transferPrizesAmounts(user, numberOfPacks);\n if (!transferPrizeResult) revert TransferPrizeError(user);\n\n if (numberOfPacks == 1) {\n emit PackPurchased(user, tokenIds[0]);\n } else {\n emit PacksPurchased(user, tokenIds);\n }\n \n return tokenIds;\n }\n\n function _transferPrizesAmounts(address user, uint256 numberOfPacks) private returns (bool) {\n uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks);\n uint256 prizeNoFAccount = getPrizeNoFAccountAmountToBuyPacks(numberOfPacks);\n gammaCardsContract.setPrizesBalance(prizesAmount);\n\n if (s_transferDai) {\n IERC20 erc20Token = IERC20(DAI_TOKEN);\n\n if (erc20Token.allowance(user, address(this)) < (prizesAmount + prizeNoFAccount)) revert InsufficientAllowance();\n if (erc20Token.balanceOf(user) < prizesAmount || erc20Token.balanceOf(user) < prizeNoFAccount)\n revert InsufficientBalance();\n\n // send prize amount to the card contract\n bool successTx1 = erc20Token.transferFrom(user, address(gammaCardsContract), prizesAmount);\n if (!successTx1) revert TransferPrizeError(address(gammaCardsContract));\n\n // send profit amount to NoF account\n bool successTx2 = erc20Token.transferFrom(user, s_balanceReceiver, prizeNoFAccount);\n if (!successTx2) revert TransferPrizeError(s_balanceReceiver);\n }\n return true;\n }\n\n function deleteTokenId(uint256 tokenId, address owner) internal {\n uint256 packsByUserLength = s_packsByUser[owner].length;\n for (uint256 i; i < packsByUserLength; i++) {\n if (s_packsByUser[owner][i] == tokenId) {\n s_packsByUser[owner][i] = s_packsByUser[owner][s_packsByUser[owner].length - 1];\n s_packsByUser[owner].pop();\n break;\n }\n }\n }\n\n function transferPack(address to, uint256 tokenId) public {\n _transferPack(to, tokenId);\n }\n\n function transferPacks(address to, uint256[] memory tokenIds) public {\n for (uint256 i = 0; i < tokenIds.length; i++) {\n uint256 tokenId = tokenIds[i];\n _transferPack(to, tokenId);\n }\n emit PacksTransfered(msg.sender, to, tokenIds);\n }\n\n function _transferPack(address to, uint256 tokenId) private {\n if (to == address(0)) revert InvalidAddress();\n if (s_packs[tokenId] != msg.sender) revert NotYourPack();\n s_packs[tokenId] = to;\n deleteTokenId(tokenId, msg.sender);\n s_packsByUser[to].push(tokenId);\n emit PackTransfered(msg.sender, to, tokenId);\n }\n\n function openPack(uint256 tokenId, address owner) public onlyGammaCardsContract {\n _openPack(tokenId, owner);\n }\n\n function openPacks(uint256[] memory tokenIds, address owner) public onlyGammaCardsContract {\n for (uint256 i = 0; i < tokenIds.length; i++) {\n uint256 tokenId = tokenIds[i];\n _openPack(tokenId, owner);\n }\n }\n\n function _openPack(uint256 tokenId, address owner) private {\n deleteTokenId(tokenId, owner);\n delete s_packs[tokenId];\n emit PackOpened(owner, tokenId);\n }\n\n function _lottery() private {\n if (address(gammaTicketsContract) == address(0)) revert ContractAddressNotSet();\n // (uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user) = gammaTicketsContract.getLotteryWinner();\n\n // TODO: get %price from gamma cards contract\n\n // TODO: transfer price\n if (s_transferDai) {\n // IERC20 erc20Token = IERC20(DAI_TOKEN);\n }\n\n // TODO: burn tickets en gamma tickets contract\n gammaTicketsContract.deleteAllTickets();\n }\n\n // for testing purposes only, will delete upon deployment\n function testOpenPack(uint256 tokenId, address owner) public onlyOwners {\n _openPack(tokenId, owner);\n }\n\n function testOpenPacks(uint256[] memory tokenIds, address owner) public onlyOwners {\n for (uint256 i = 0; i < tokenIds.length; i++) {\n uint256 tokenId = tokenIds[i];\n _openPack(tokenId, owner);\n }\n }\n // for testing purposes only, will delete upon deployment\n}\n"},"contracts/gamma/GammaTickets.v1.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\nimport {LibControlMgmt} from \"./libs/LibControlMgmt.sol\";\nimport {console} from \"hardhat/console.sol\";\n\nerror OnlyGammaContractsCanCall();\nerror OnlyOwners();\nerror InvalidAddress();\nerror NoTicketsAvailable();\n\ninterface IGammaCardsContract {}\ninterface IgammaPacksContract {}\n\ncontract NofGammaTicketsV1 is Ownable {\n using LibControlMgmt for LibControlMgmt.Data;\n\n IGammaCardsContract public gammaCardsContract;\n IgammaPacksContract public gammaPacksContract;\n\n LibControlMgmt.Data private ownersData;\n\n struct Ticket {\n uint256 timestamp;\n bytes32 ticketId;\n uint256 ticketCounter;\n address user;\n }\n\n Ticket[] public tickets;\n Ticket public winner;\n mapping(address => Ticket[]) public ticketsByUser;\n uint256 public ticketsTotalCounter = 0;\n\n event NewGammaCardsContract(address newGammaCardsContract);\n event NewGammaPacksContract(address newGammaPacksContract);\n event TicketGenerated(uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address indexed user);\n event WinnerObtained(uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user);\n event AllTicketsRemoved();\n\n modifier onlyCardsContract {\n if(msg.sender != address(gammaCardsContract)) revert OnlyGammaContractsCanCall();\n _;\n }\n\n modifier onlyGammaPacksContract {\n if(msg.sender != address(gammaPacksContract)) revert OnlyGammaContractsCanCall();\n _;\n }\n\n modifier onlyOwners() {\n if(!ownersData.owners[msg.sender]) revert OnlyOwners();\n _;\n }\n\n function init (address _gammaPacksContract, address _gammaCardsContract) external onlyOwner {\n if(_gammaPacksContract == address(0) || _gammaCardsContract == address(0)) revert InvalidAddress();\n gammaPacksContract = IgammaPacksContract(_gammaPacksContract);\n gammaCardsContract = IGammaCardsContract(_gammaCardsContract);\n ownersData.owners[msg.sender] = true;\n }\n\n function addOwner(address _newOwner) external onlyOwners {\n ownersData.addOwner(_newOwner);\n }\n\n function removeOwner(address _ownerToRemove) external onlyOwners {\n ownersData.removeOwner(_ownerToRemove);\n }\n\n function setGammaCardsContract(address _gammaCardsContract) public onlyOwners {\n if(_gammaCardsContract == address(0)) revert InvalidAddress();\n gammaCardsContract = IGammaCardsContract(_gammaCardsContract);\n emit NewGammaCardsContract(_gammaCardsContract);\n }\n\n function setGammaPacksContract(address _gammaPacksContract) public onlyOwners {\n if(_gammaPacksContract == address(0)) revert InvalidAddress();\n gammaPacksContract = IgammaPacksContract(_gammaPacksContract);\n emit NewGammaPacksContract(_gammaPacksContract);\n }\n\n function isOwner(address user) external view returns (bool) {\n return ownersData.owners[user];\n }\n\n function getTickets() external view returns (Ticket[] memory) {\n return tickets;\n }\n\n function getTicketsByUser(address user) external view returns (Ticket[] memory) {\n return ticketsByUser[user];\n }\n\n function getWinner() external view returns (uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user) {\n return (winner.timestamp, winner.ticketId, winner.ticketCounter, winner.user);\n }\n\n function generateTicket(address user) external onlyCardsContract {\n uint256 ticketCounter = ticketsTotalCounter;\n uint256 time = block.timestamp;\n bytes32 ticketId = keccak256(abi.encodePacked(time, ticketCounter, user));\n Ticket memory newTicket = Ticket(time, ticketId, ticketCounter, user);\n tickets.push(newTicket);\n ticketsByUser[user].push(newTicket);\n ticketsTotalCounter++;\n emit TicketGenerated(time, ticketId, ticketCounter, user);\n }\n\n function getLotteryWinner() external onlyGammaPacksContract \n returns (uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user) {\n if(tickets.length == 0) revert NoTicketsAvailable();\n\n if (winner.timestamp != 0) {\n return (winner.timestamp, winner.ticketId, winner.ticketCounter, winner.user);\n }\n\n uint256 randomNumber = uint256(keccak256(abi.encode(block.timestamp, block.prevrandao, tickets.length))) % tickets.length;\n winner = tickets[randomNumber];\n \n emit WinnerObtained(winner.timestamp, winner.ticketId, winner.ticketCounter, winner.user);\n return (winner.timestamp, winner.ticketId, winner.ticketCounter, winner.user);\n }\n\n function deleteAllTickets() external onlyGammaPacksContract {\n delete tickets;\n ticketsTotalCounter = 0;\n for (uint256 i = 0; i < tickets.length; i++) {\n delete ticketsByUser[tickets[i].user];\n }\n emit AllTicketsRemoved();\n }\n}\n"},"contracts/gamma/libs/LibControlMgmt.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nlibrary LibControlMgmt {\n struct Data {\n mapping(address => bool) owners;\n mapping(address => bool) signers;\n }\n\n event NewOwnerAdded(address newOwner);\n event OwnerRemoved(address owner);\n event NewSignerAdded(address newSigner);\n event SignerRemoved(address signer);\n\n function addOwner(Data storage self, address newOwner) external {\n require(newOwner != address(0), \"Invalid address.\");\n require(!self.owners[newOwner], \"Address is already an owner.\");\n self.owners[newOwner] = true;\n emit NewOwnerAdded(newOwner);\n }\n\n function removeOwner(Data storage self, address ownerToRemove) external {\n require(ownerToRemove != address(0), \"Invalid address.\");\n require(self.owners[ownerToRemove], \"Address is not an owner.\");\n require(ownerToRemove != msg.sender, \"You cannot remove yourself as an owner.\");\n self.owners[ownerToRemove] = false;\n emit OwnerRemoved(ownerToRemove);\n }\n\n function addSigner(Data storage self, address newSigner) external {\n require(newSigner != address(0), \"Invalid address.\");\n require(!self.signers[newSigner], \"Address is already a signer.\");\n self.signers[newSigner] = true;\n emit NewSignerAdded(newSigner);\n }\n\n function removeSigner(Data storage self, address signerToRemove) external {\n require(signerToRemove != address(0), \"Invalid address.\");\n require(self.signers[signerToRemove], \"Address is not a signer.\");\n require(signerToRemove != msg.sender, \"You cannot remove yourself as a signer.\");\n self.signers[signerToRemove] = false;\n emit SignerRemoved(signerToRemove);\n }\n}\n"},"contracts/gamma/libs/LibPackVerifier.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\";\n\nlibrary LibPackVerifier {\n using ECDSA for bytes32;\n\n function verifyPackSigner(\n address sender,\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) public pure returns (address) {\n bytes32 messageHash = keccak256(\n abi.encodePacked(sender, packNumber, packData, '0xf1dD71895e49b1563693969de50898197cDF3481')\n ).toEthSignedMessageHash();\n\n address recoveredSigner = messageHash.recover(signature);\n return recoveredSigner;\n }\n}\n"},"contracts/gamma/libs/LibStringUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nlibrary LibStringUtils {\n\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Strings.sol#L15-L35\n function toString(uint256 value) public pure returns (string memory) {\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n}\n"},"contracts/testDai/TestDAI.v3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address payable) {\n return payable(address(msg.sender));\n }\n\n function _msgData() internal view virtual returns (bytes memory) {\n // silence state mutability warning without generating bytecode\n // more info: see https://github.com/ethereum/solidity/issues/2691\n this; \n return msg.data;\n }\n}\n\n// File: @openzeppelin/contracts/token/ERC20/IERC20.sol\n\n\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n\n// File: @openzeppelin/contracts/math/SafeMath.sol\n\n\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction overflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n\n// File: @openzeppelin/contracts/utils/Address.sol\n\n\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // According to EIP-1052, 0x0 is the value returned for not-yet created accounts\n // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned\n // for accounts without code, i.e. `keccak256('')`\n bytes32 codehash;\n bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n // solhint-disable-next-line no-inline-assembly\n assembly { codehash := extcodehash(account) }\n return (codehash != accountHash && codehash != 0x0);\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n (bool success, ) = recipient.call{ value: amount }(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain`call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data, string memory errorMessage) internal \n returns (bytes memory) {\n return _functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target, bytes memory data, \n uint256 value, string memory errorMessage) internal returns (bytes memory) {\n\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n return _functionCallWithValue(target, data, value, errorMessage);\n }\n\n function _functionCallWithValue(\n address target, bytes memory data, \n uint256 weiValue, string memory errorMessage) private returns (bytes memory) {\n \n require(isContract(target), \"Address: call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n // solhint-disable-next-line no-inline-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n\n// File: contracts/child/ChildToken/UpgradeableChildERC20/ERC20.sol\n\n\n\npragma solidity ^0.8.20;\n\n\n\n\n/**\n * Modified openzeppelin implemtation to add setters for name, symbol and decimals.\n * This was needed because the variables cannot be set in constructor as the contract is upgradeable.\n */\n\n/**\n * @dev openzeppelin Implementation of the {IERC20} interface.\n *\n * Modified to add setters for name, symbol and decimals. This was needed\n * because\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n using Address for address;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n /**\n * @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n * a default value of 18.\n *\n * To select a different value for {decimals}, use {_setupDecimals}.\n *\n * All three of these values are immutable: they can only be set once during\n * construction.\n */\n constructor (string memory __name, string memory __symbol) {\n _name = __name;\n _symbol = __symbol;\n _decimals = 18;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view returns (string memory) {\n return _name;\n }\n\n function setName(string memory newName) internal {\n _name = newName;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view returns (string memory) {\n return _symbol;\n }\n\n function setSymbol(string memory newSymbol) internal {\n _symbol = newSymbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5,05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n * called.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view returns (uint8) {\n return _decimals;\n }\n\n function setDecimals(uint8 newDecimals) internal {\n _decimals = newDecimals;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \n \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \n \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address. \n */\n function _mint(address account, uint256 amount) public virtual { \n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n *\n * This is internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Sets {decimals} to a value other than the default one of 18.\n *\n * WARNING: This function should only be called from the constructor. Most\n * applications that interact with token contracts will not expect\n * {decimals} to ever change, and may work incorrectly if it does.\n */\n function _setupDecimals(uint8 decimals_) internal {\n _decimals = decimals_;\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n\n// File: @openzeppelin/contracts/utils/EnumerableSet.sol\n\n\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableSet for EnumerableSet.AddressSet;\n *\n * // Declare a set state variable\n * EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256`\n * (`UintSet`) are supported.\n */\nlibrary EnumerableSet {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Set type with\n // bytes32 values.\n // The Set implementation uses private functions, and user-facing\n // implementations (such as AddressSet) are just wrappers around the\n // underlying Set.\n // This means that we can only create new EnumerableSets for types that fit\n // in bytes32.\n\n struct Set {\n // Storage of set values\n bytes32[] _values;\n\n // Position of the value in the `values` array, plus 1 because index 0\n // means a value is not in the set.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function _add(Set storage set, bytes32 value) private returns (bool) {\n if (!_contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._indexes[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function _remove(Set storage set, bytes32 value) private returns (bool) {\n // We read and store the value's index to prevent multiple reads from the same storage slot\n uint256 valueIndex = set._indexes[value];\n\n if (valueIndex != 0) { // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = valueIndex - 1;\n uint256 lastIndex = set._values.length - 1;\n\n // When the value to delete is the last one, the swap operation is unnecessary. However, since this occurs\n // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n bytes32 lastvalue = set._values[lastIndex];\n\n // Move the last value to the index where the value to delete is\n set._values[toDeleteIndex] = lastvalue;\n // Update the index for the moved value\n set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the index for the deleted slot\n delete set._indexes[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\n return set._indexes[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function _length(Set storage set) private view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\n require(set._values.length > index, \"EnumerableSet: index out of bounds\");\n return set._values[index];\n }\n\n // AddressSet\n\n struct AddressSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(AddressSet storage set, address value) internal returns (bool) {\n return _add(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(AddressSet storage set, address value) internal returns (bool) {\n return _remove(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(AddressSet storage set, address value) internal view returns (bool) {\n return _contains(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(AddressSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\n return address(uint160(uint256(_at(set._inner, index))));\n }\n\n\n // UintSet\n\n struct UintSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(UintSet storage set, uint256 value) internal returns (bool) {\n return _add(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\n return _remove(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n return _contains(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function length(UintSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n return uint256(_at(set._inner, index));\n }\n}\n\n// File: @openzeppelin/contracts/access/AccessControl.sol\n\n\n\npragma solidity ^0.8.20;\n\n\n\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context {\n using EnumerableSet for EnumerableSet.AddressSet;\n using Address for address;\n\n struct RoleData {\n EnumerableSet.AddressSet members;\n bytes32 adminRole;\n }\n\n mapping (bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view returns (bool) {\n return _roles[role].members.contains(account);\n }\n\n /**\n * @dev Returns the number of accounts that have `role`. Can be used\n * together with {getRoleMember} to enumerate all bearers of a role.\n */\n function getRoleMemberCount(bytes32 role) public view returns (uint256) {\n return _roles[role].members.length();\n }\n\n /**\n * @dev Returns one of the accounts that have `role`. `index` must be a\n * value between 0 and {getRoleMemberCount}, non-inclusive.\n *\n * Role bearers are not sorted in any particular way, and their ordering may\n * change at any point.\n *\n * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n * you perform all queries on the same block. See the following\n * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296\n * for more information.\n */\n function getRoleMember(bytes32 role, uint256 index) public view returns (address) {\n return _roles[role].members.at(index);\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) public virtual {\n require(hasRole(_roles[role].adminRole, _msgSender()), \"AccessControl: sender must be an admin to grant\");\n\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) public virtual {\n require(hasRole(_roles[role].adminRole, _msgSender()), \"AccessControl: sender must be an admin to revoke\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) public virtual {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n emit RoleAdminChanged(role, _roles[role].adminRole, adminRole);\n _roles[role].adminRole = adminRole;\n }\n\n function _grantRole(bytes32 role, address account) private {\n if (_roles[role].members.add(account)) {\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n function _revokeRole(bytes32 role, address account) private {\n if (_roles[role].members.remove(account)) {\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n\n// File: contracts/common/AccessControlMixin.sol\n\npragma solidity ^0.8.20;\n\n\ncontract AccessControlMixin is AccessControl {\n string private _revertMsg;\n function _setupContractId(string memory contractId) internal {\n _revertMsg = string(abi.encodePacked(contractId, \": INSUFFICIENT_PERMISSIONS\"));\n }\n\n modifier only(bytes32 role) {\n require(\n hasRole(role, _msgSender()),\n _revertMsg\n );\n _;\n }\n}\n\n// File: contracts/child/ChildToken/IChildToken.sol\n\npragma solidity ^0.8.20;\n\ninterface IChildToken {\n function deposit(address user, bytes calldata depositData) external;\n}\n\n// File: contracts/common/Initializable.sol\n\npragma solidity ^0.8.20;\n\ncontract Initializable {\n bool inited = false;\n\n modifier initializer() {\n require(!inited, \"already inited\");\n _;\n inited = true;\n }\n}\n\n// File: contracts/common/EIP712Base.sol\n\npragma solidity ^0.8.20;\n\n\ncontract EIP712Base is Initializable {\n struct EIP712Domain {\n string name;\n string version;\n address verifyingContract;\n bytes32 salt;\n }\n\n bytes32 internal constant EIP712_DOMAIN_TYPEHASH = keccak256(\n bytes(\n \"EIP712Domain(string name,string version,address verifyingContract,bytes32 salt)\"\n )\n );\n bytes32 internal domainSeperator;\n\n // supposed to be called once while initializing.\n // one of the contractsa that inherits this contract follows proxy pattern\n // so it is not possible to do this in a constructor\n function _initializeEIP712(\n string memory name,\n string memory version\n )\n internal\n initializer\n {\n _setDomainSeperator(name, version);\n }\n\n function _setDomainSeperator(string memory name, string memory version) internal {\n domainSeperator = keccak256(\n abi.encode(\n EIP712_DOMAIN_TYPEHASH,\n keccak256(bytes(name)),\n keccak256(bytes(version)),\n address(this),\n bytes32(getChainId())\n )\n );\n }\n\n function getDomainSeperator() public view returns (bytes32) {\n return domainSeperator;\n }\n\n function getChainId() public view returns (uint256) {\n uint256 id;\n assembly {\n id := chainid()\n }\n return id;\n }\n\n /**\n * Accept message hash and returns hash message in EIP712 compatible form\n * So that it can be used to recover signer from signature signed using EIP712 formatted data\n * https://eips.ethereum.org/EIPS/eip-712\n * \"\\\\x19\" makes the encoding deterministic\n * \"\\\\x01\" is the version byte to make it compatible to EIP-191\n */\n function toTypedMessageHash(bytes32 messageHash)\n internal\n view\n returns (bytes32)\n {\n return\n keccak256(\n abi.encodePacked(\"\\x19\\x01\", getDomainSeperator(), messageHash)\n );\n }\n}\n\n// File: contracts/common/NativeMetaTransaction.sol\n\npragma solidity ^0.8.20;\n\n\n\ncontract NativeMetaTransaction is EIP712Base {\n using SafeMath for uint256;\n bytes32 private constant META_TRANSACTION_TYPEHASH = keccak256(\n bytes(\n \"MetaTransaction(uint256 nonce,address from,bytes functionSignature)\"\n )\n );\n event MetaTransactionExecuted(\n address userAddress,\n address payable relayerAddress,\n bytes functionSignature\n );\n mapping(address => uint256) nonces;\n\n /*\n * Meta transaction structure.\n * No point of including value field here as if user is doing value transfer then he has the funds to pay for gas\n * He should call the desired function directly in that case.\n */\n struct MetaTransaction {\n uint256 nonce;\n address from;\n bytes functionSignature;\n }\n\n function executeMetaTransaction(\n address userAddress,\n bytes memory functionSignature,\n bytes32 sigR,\n bytes32 sigS,\n uint8 sigV\n ) public payable returns (bytes memory) {\n MetaTransaction memory metaTx = MetaTransaction({\n nonce: nonces[userAddress],\n from: userAddress,\n functionSignature: functionSignature\n });\n\n require(\n verify(userAddress, metaTx, sigR, sigS, sigV),\n \"Signer and signature do not match\"\n );\n\n // increase nonce for user (to avoid re-use)\n nonces[userAddress] = nonces[userAddress].add(1);\n\n emit MetaTransactionExecuted(\n userAddress,\n payable(msg.sender),\n functionSignature\n );\n\n // Append userAddress and relayer address at the end to extract it from calling context\n (bool success, bytes memory returnData) = address(this).call(\n abi.encodePacked(functionSignature, userAddress)\n );\n require(success, \"Function call not successful\");\n\n return returnData;\n }\n\n function hashMetaTransaction(MetaTransaction memory metaTx)\n internal\n pure\n returns (bytes32)\n {\n return\n keccak256(\n abi.encode(\n META_TRANSACTION_TYPEHASH,\n metaTx.nonce,\n metaTx.from,\n keccak256(metaTx.functionSignature)\n )\n );\n }\n\n function getNonce(address user) public view returns (uint256 nonce) {\n nonce = nonces[user];\n }\n\n function verify(\n address signer,\n MetaTransaction memory metaTx,\n bytes32 sigR,\n bytes32 sigS,\n uint8 sigV\n ) internal view returns (bool) {\n require(signer != address(0), \"NativeMetaTransaction: INVALID_SIGNER\");\n return\n signer ==\n ecrecover(\n toTypedMessageHash(hashMetaTransaction(metaTx)),\n sigV,\n sigR,\n sigS\n );\n }\n}\n\n// File: contracts/ChainConstants.sol\n\npragma solidity ^0.8.20;\n\ncontract ChainConstants {\n string constant public ERC712_VERSION = \"1\";\n\n uint256 constant public ROOT_CHAIN_ID = 1;\n bytes constant public ROOT_CHAIN_ID_BYTES = hex\"01\";\n\n uint256 constant public CHILD_CHAIN_ID = 137;\n bytes constant public CHILD_CHAIN_ID_BYTES = hex\"89\";\n}\n\n// File: contracts/common/ContextMixin.sol\n\npragma solidity ^0.8.20;\n\nabstract contract ContextMixin {\n function msgSender()\n internal\n view\n returns (address payable sender)\n {\n if (msg.sender == address(this)) {\n bytes memory array = msg.data;\n uint256 index = msg.data.length;\n assembly {\n // Load the 32 bytes word from memory with the address on the lower 20 bytes, and mask those.\n sender := and(\n mload(add(array, index)),\n 0xffffffffffffffffffffffffffffffffffffffff\n )\n }\n } else {\n sender = payable(msg.sender);\n }\n return sender;\n }\n}\n\n// File: contracts/child/ChildToken/UpgradeableChildERC20/UChildERC20.sol\n\npragma solidity ^0.8.20;\n\n\ncontract UChildERC20 is\n ERC20,\n IChildToken,\n AccessControlMixin,\n NativeMetaTransaction,\n ChainConstants,\n ContextMixin\n{\n bytes32 public constant DEPOSITOR_ROLE = keccak256(\"DEPOSITOR_ROLE\");\n\n constructor() ERC20(\"DAI\", \"DAI\") {}\n\n /**\n * @notice Initialize the contract after it has been proxified\n * @dev meant to be called once immediately after deployment\n */\n function initialize(\n string calldata name_,\n string calldata symbol_,\n uint8 decimals_,\n address childChainManager\n )\n external\n initializer\n {\n setName(name_);\n setSymbol(symbol_);\n setDecimals(decimals_);\n _setupContractId(string(abi.encodePacked(\"Child\", symbol_)));\n _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n _setupRole(DEPOSITOR_ROLE, childChainManager);\n _initializeEIP712(name_, ERC712_VERSION);\n }\n\n // This is to support Native meta transactions\n // never use msg.sender directly, use _msgSender() instead\n function _msgSender()\n internal\n override\n view\n returns (address payable sender)\n {\n return ContextMixin.msgSender();\n }\n\n function changeName(string calldata name_) external only(DEFAULT_ADMIN_ROLE) {\n setName(name_);\n _setDomainSeperator(name_, ERC712_VERSION);\n }\n\n /**\n * @notice called when token is deposited on root chain\n * @dev Should be callable only by ChildChainManager\n * Should handle deposit by minting the required amount for user\n * Make sure minting is done only by this function\n * @param user user address for whom deposit is being done\n * @param depositData abi encoded amount\n */\n function deposit(address user, bytes calldata depositData)\n external\n override\n only(DEPOSITOR_ROLE)\n {\n uint256 amount = abi.decode(depositData, (uint256));\n _mint(user, amount);\n }\n\n /**\n * @notice called when user wants to withdraw tokens back to root chain\n * @dev Should burn user's tokens. This transaction will be verified when exiting on root chain\n * @param amount amount of tokens to withdraw\n */\n function withdraw(uint256 amount) external {\n _burn(_msgSender(), amount);\n }\n}\n\n// File: contracts/child/ChildToken/DappTokens/UChildDAI.sol\n\npragma solidity ^0.8.20;\n\n\ncontract NofTestDAIV3 is UChildERC20 {\n // bytes32 public constant PERMIT_TYPEHASH = \n // keccak256(\"Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)\");\n bytes32 public constant PERMIT_TYPEHASH = 0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb;\n\n // --- Alias ---\n function push(address usr, uint wad) external {\n transferFrom(msg.sender, usr, wad);\n }\n function pull(address usr, uint wad) external {\n transferFrom(usr, msg.sender, wad);\n }\n function move(address src, address dst, uint wad) external {\n transferFrom(src, dst, wad);\n }\n\n // --- Approve by signature ---\n function permit(\n address holder,\n address spender,\n uint256 nonce,\n uint256 expiry,\n bool allowed,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n bytes32 digest = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n getDomainSeperator(),\n keccak256(\n abi.encode(\n PERMIT_TYPEHASH,\n holder,\n spender,\n nonce,\n expiry,\n allowed\n )\n )\n ));\n\n require(holder == ecrecover(digest, v, r, s), \"UChildDAI: INVALID-PERMIT\");\n require(expiry == 0 || block.timestamp <= expiry, \"UChildDAI: PERMIT-EXPIRED\");\n require(nonce == nonces[holder]++, \"UChildDAI: INVALID-NONCE\");\n uint wad = allowed ? type(uint).max : 0;\n _approve(holder, spender, wad);\n }\n}"},"hardhat/console.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata","storageLayout"],"":["ast"]}}}},"output":{"sources":{"@openzeppelin/contracts/access/Ownable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","exportedSymbols":{"Context":[1852],"Ownable":[112]},"id":113,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"102:23:0"},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":113,"sourceUnit":1853,"src":"127:30:0","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":4,"name":"Context","nameLocations":["683:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":1852,"src":"683:7:0"},"id":5,"nodeType":"InheritanceSpecifier","src":"683:7:0"}],"canonicalName":"Ownable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"159:494:0","text":" @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"id":112,"linearizedBaseContracts":[112,1852],"name":"Ownable","nameLocation":"672:7:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":7,"mutability":"mutable","name":"_owner","nameLocation":"713:6:0","nodeType":"VariableDeclaration","scope":112,"src":"697:22:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6,"name":"address","nodeType":"ElementaryTypeName","src":"697:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","id":13,"name":"OwnershipTransferred","nameLocation":"732:20:0","nodeType":"EventDefinition","parameters":{"id":12,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"769:13:0","nodeType":"VariableDeclaration","scope":13,"src":"753:29:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"753:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"800:8:0","nodeType":"VariableDeclaration","scope":13,"src":"784:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10,"name":"address","nodeType":"ElementaryTypeName","src":"784:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"752:57:0"},"src":"726:84:0"},{"body":{"id":22,"nodeType":"Block","src":"926:49:0","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":18,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"955:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"955:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":17,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"936:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":20,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"936:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21,"nodeType":"ExpressionStatement","src":"936:32:0"}]},"documentation":{"id":14,"nodeType":"StructuredDocumentation","src":"816:91:0","text":" @dev Initializes the contract setting the deployer as the initial owner."},"id":23,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":15,"nodeType":"ParameterList","parameters":[],"src":"923:2:0"},"returnParameters":{"id":16,"nodeType":"ParameterList","parameters":[],"src":"926:0:0"},"scope":112,"src":"912:63:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":30,"nodeType":"Block","src":"1084:41:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":26,"name":"_checkOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"1094:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":27,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1094:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28,"nodeType":"ExpressionStatement","src":"1094:13:0"},{"id":29,"nodeType":"PlaceholderStatement","src":"1117:1:0"}]},"documentation":{"id":24,"nodeType":"StructuredDocumentation","src":"981:77:0","text":" @dev Throws if called by any account other than the owner."},"id":31,"name":"onlyOwner","nameLocation":"1072:9:0","nodeType":"ModifierDefinition","parameters":{"id":25,"nodeType":"ParameterList","parameters":[],"src":"1081:2:0"},"src":"1063:62:0","virtual":false,"visibility":"internal"},{"body":{"id":39,"nodeType":"Block","src":"1256:30:0","statements":[{"expression":{"id":37,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"1273:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":36,"id":38,"nodeType":"Return","src":"1266:13:0"}]},"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"1131:65:0","text":" @dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","id":40,"implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1210:5:0","nodeType":"FunctionDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[],"src":"1215:2:0"},"returnParameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40,"src":"1247:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34,"name":"address","nodeType":"ElementaryTypeName","src":"1247:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1246:9:0"},"scope":112,"src":"1201:85:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":53,"nodeType":"Block","src":"1404:85:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":45,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"1422:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:7:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":47,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"1433:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":48,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1433:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1422:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":50,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1447:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"id":44,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1414:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1414:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52,"nodeType":"ExpressionStatement","src":"1414:68:0"}]},"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"1292:62:0","text":" @dev Throws if the sender is not the owner."},"id":54,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOwner","nameLocation":"1368:11:0","nodeType":"FunctionDefinition","parameters":{"id":42,"nodeType":"ParameterList","parameters":[],"src":"1379:2:0"},"returnParameters":{"id":43,"nodeType":"ParameterList","parameters":[],"src":"1404:0:0"},"scope":112,"src":"1359:130:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":67,"nodeType":"Block","src":"1878:47:0","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1915:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1907:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61,"name":"address","nodeType":"ElementaryTypeName","src":"1907:7:0","typeDescriptions":{}}},"id":64,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1907:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"1888:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1888:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66,"nodeType":"ExpressionStatement","src":"1888:30:0"}]},"documentation":{"id":55,"nodeType":"StructuredDocumentation","src":"1495:324:0","text":" @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner."},"functionSelector":"715018a6","id":68,"implemented":true,"kind":"function","modifiers":[{"id":58,"kind":"modifierInvocation","modifierName":{"id":57,"name":"onlyOwner","nameLocations":["1868:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"1868:9:0"},"nodeType":"ModifierInvocation","src":"1868:9:0"}],"name":"renounceOwnership","nameLocation":"1833:17:0","nodeType":"FunctionDefinition","parameters":{"id":56,"nodeType":"ParameterList","parameters":[],"src":"1850:2:0"},"returnParameters":{"id":59,"nodeType":"ParameterList","parameters":[],"src":"1878:0:0"},"scope":112,"src":"1824:101:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":90,"nodeType":"Block","src":"2144:128:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"2162:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":80,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2174:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78,"name":"address","nodeType":"ElementaryTypeName","src":"2174:7:0","typeDescriptions":{}}},"id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2174:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2162:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373","id":83,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2186:40:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""},"value":"Ownable: new owner is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""}],"id":76,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2154:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":84,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:73:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85,"nodeType":"ExpressionStatement","src":"2154:73:0"},{"expression":{"arguments":[{"id":87,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"2256:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":86,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"2237:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":88,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89,"nodeType":"ExpressionStatement","src":"2237:28:0"}]},"documentation":{"id":69,"nodeType":"StructuredDocumentation","src":"1931:138:0","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","id":91,"implemented":true,"kind":"function","modifiers":[{"id":74,"kind":"modifierInvocation","modifierName":{"id":73,"name":"onlyOwner","nameLocations":["2134:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"2134:9:0"},"nodeType":"ModifierInvocation","src":"2134:9:0"}],"name":"transferOwnership","nameLocation":"2083:17:0","nodeType":"FunctionDefinition","parameters":{"id":72,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71,"mutability":"mutable","name":"newOwner","nameLocation":"2109:8:0","nodeType":"VariableDeclaration","scope":91,"src":"2101:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70,"name":"address","nodeType":"ElementaryTypeName","src":"2101:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2100:18:0"},"returnParameters":{"id":75,"nodeType":"ParameterList","parameters":[],"src":"2144:0:0"},"scope":112,"src":"2074:198:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":110,"nodeType":"Block","src":"2489:124:0","statements":[{"assignments":[98],"declarations":[{"constant":false,"id":98,"mutability":"mutable","name":"oldOwner","nameLocation":"2507:8:0","nodeType":"VariableDeclaration","scope":110,"src":"2499:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":97,"name":"address","nodeType":"ElementaryTypeName","src":"2499:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":100,"initialValue":{"id":99,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"2518:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2499:25:0"},{"expression":{"id":103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"2534:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":102,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"2543:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2534:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":104,"nodeType":"ExpressionStatement","src":"2534:17:0"},{"eventCall":{"arguments":[{"id":106,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"2587:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"2597:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":105,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2566:20:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"EmitStatement","src":"2561:45:0"}]},"documentation":{"id":92,"nodeType":"StructuredDocumentation","src":"2278:143:0","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"id":111,"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"2435:18:0","nodeType":"FunctionDefinition","parameters":{"id":95,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94,"mutability":"mutable","name":"newOwner","nameLocation":"2462:8:0","nodeType":"VariableDeclaration","scope":111,"src":"2454:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93,"name":"address","nodeType":"ElementaryTypeName","src":"2454:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2453:18:0"},"returnParameters":{"id":96,"nodeType":"ParameterList","parameters":[],"src":"2489:0:0"},"scope":112,"src":"2426:187:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":113,"src":"654:1961:0","usedErrors":[],"usedEvents":[13]}],"src":"102:2514:0"},"id":0},"@openzeppelin/contracts/interfaces/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","exportedSymbols":{"IERC165":[2483]},"id":116,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":114,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:1"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","id":115,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":116,"sourceUnit":2484,"src":"116:44:1","symbolAliases":[],"unitAlias":""}],"src":"91:70:1"},"id":1},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC4906.sol","exportedSymbols":{"IERC165":[2483],"IERC4906":[137],"IERC721":[1261]},"id":138,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":117,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:2"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","id":118,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":138,"sourceUnit":116,"src":"132:23:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC721.sol","file":"./IERC721.sol","id":119,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":138,"sourceUnit":141,"src":"156:23:2","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":121,"name":"IERC165","nameLocations":["248:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"248:7:2"},"id":122,"nodeType":"InheritanceSpecifier","src":"248:7:2"},{"baseName":{"id":123,"name":"IERC721","nameLocations":["257:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"257:7:2"},"id":124,"nodeType":"InheritanceSpecifier","src":"257:7:2"}],"canonicalName":"IERC4906","contractDependencies":[],"contractKind":"interface","documentation":{"id":120,"nodeType":"StructuredDocumentation","src":"181:45:2","text":"@title EIP-721 Metadata Update Extension"},"fullyImplemented":false,"id":137,"linearizedBaseContracts":[137,1261,2483],"name":"IERC4906","nameLocation":"236:8:2","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":125,"nodeType":"StructuredDocumentation","src":"271:201:2","text":"@dev This event emits when the metadata of a token is changed.\n So that the third-party platforms such as NFT market could\n timely update the images and related attributes of the NFT."},"eventSelector":"f8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7","id":129,"name":"MetadataUpdate","nameLocation":"483:14:2","nodeType":"EventDefinition","parameters":{"id":128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127,"indexed":false,"mutability":"mutable","name":"_tokenId","nameLocation":"506:8:2","nodeType":"VariableDeclaration","scope":129,"src":"498:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":126,"name":"uint256","nodeType":"ElementaryTypeName","src":"498:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"497:18:2"},"src":"477:39:2"},{"anonymous":false,"documentation":{"id":130,"nodeType":"StructuredDocumentation","src":"522:212:2","text":"@dev This event emits when the metadata of a range of tokens is changed.\n So that the third-party platforms such as NFT market could\n timely update the images and related attributes of the NFTs."},"eventSelector":"6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c","id":136,"name":"BatchMetadataUpdate","nameLocation":"745:19:2","nodeType":"EventDefinition","parameters":{"id":135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":132,"indexed":false,"mutability":"mutable","name":"_fromTokenId","nameLocation":"773:12:2","nodeType":"VariableDeclaration","scope":136,"src":"765:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":131,"name":"uint256","nodeType":"ElementaryTypeName","src":"765:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":134,"indexed":false,"mutability":"mutable","name":"_toTokenId","nameLocation":"795:10:2","nodeType":"VariableDeclaration","scope":136,"src":"787:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"787:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"764:42:2"},"src":"739:68:2"}],"scope":138,"src":"226:583:2","usedErrors":[],"usedEvents":[129,136,1160,1169,1178]}],"src":"107:703:2"},"id":2},"@openzeppelin/contracts/interfaces/IERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC721.sol","exportedSymbols":{"IERC165":[2483],"IERC721":[1261]},"id":141,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":139,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:3"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../token/ERC721/IERC721.sol","id":140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":141,"sourceUnit":1262,"src":"116:37:3","symbolAliases":[],"unitAlias":""}],"src":"91:63:3"},"id":3},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[218]},"id":219,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":142,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"106:23:4"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":143,"nodeType":"StructuredDocumentation","src":"131:70:4","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":218,"linearizedBaseContracts":[218],"name":"IERC20","nameLocation":"212:6:4","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":144,"nodeType":"StructuredDocumentation","src":"225:158:4","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":152,"name":"Transfer","nameLocation":"394:8:4","nodeType":"EventDefinition","parameters":{"id":151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":146,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:4","nodeType":"VariableDeclaration","scope":152,"src":"403:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":145,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":148,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:4","nodeType":"VariableDeclaration","scope":152,"src":"425:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":147,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":150,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:4","nodeType":"VariableDeclaration","scope":152,"src":"445:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":149,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:4"},"src":"388:72:4"},{"anonymous":false,"documentation":{"id":153,"nodeType":"StructuredDocumentation","src":"466:148:4","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":161,"name":"Approval","nameLocation":"625:8:4","nodeType":"EventDefinition","parameters":{"id":160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":155,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:4","nodeType":"VariableDeclaration","scope":161,"src":"634:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":154,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":157,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:4","nodeType":"VariableDeclaration","scope":161,"src":"657:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":156,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":159,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:4","nodeType":"VariableDeclaration","scope":161,"src":"682:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":158,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:4"},"src":"619:78:4"},{"documentation":{"id":162,"nodeType":"StructuredDocumentation","src":"703:66:4","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":167,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:4","nodeType":"FunctionDefinition","parameters":{"id":163,"nodeType":"ParameterList","parameters":[],"src":"794:2:4"},"returnParameters":{"id":166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":167,"src":"820:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":164,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:4"},"scope":218,"src":"774:55:4","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":168,"nodeType":"StructuredDocumentation","src":"835:72:4","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","id":175,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:4","nodeType":"FunctionDefinition","parameters":{"id":171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":170,"mutability":"mutable","name":"account","nameLocation":"939:7:4","nodeType":"VariableDeclaration","scope":175,"src":"931:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":169,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:4"},"returnParameters":{"id":174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":175,"src":"971:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":172,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:4"},"scope":218,"src":"912:68:4","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"986:202:4","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":185,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:4","nodeType":"FunctionDefinition","parameters":{"id":181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"to","nameLocation":"1219:2:4","nodeType":"VariableDeclaration","scope":185,"src":"1211:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":177,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"amount","nameLocation":"1231:6:4","nodeType":"VariableDeclaration","scope":185,"src":"1223:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:4"},"returnParameters":{"id":184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":185,"src":"1257:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":182,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:4"},"scope":218,"src":"1193:70:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":186,"nodeType":"StructuredDocumentation","src":"1269:264:4","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":195,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:4","nodeType":"FunctionDefinition","parameters":{"id":191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":188,"mutability":"mutable","name":"owner","nameLocation":"1565:5:4","nodeType":"VariableDeclaration","scope":195,"src":"1557:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":187,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":190,"mutability":"mutable","name":"spender","nameLocation":"1580:7:4","nodeType":"VariableDeclaration","scope":195,"src":"1572:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":189,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:4"},"returnParameters":{"id":194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":195,"src":"1612:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":192,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:4"},"scope":218,"src":"1538:83:4","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":196,"nodeType":"StructuredDocumentation","src":"1627:642:4","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":205,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:4","nodeType":"FunctionDefinition","parameters":{"id":201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":198,"mutability":"mutable","name":"spender","nameLocation":"2299:7:4","nodeType":"VariableDeclaration","scope":205,"src":"2291:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":197,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":200,"mutability":"mutable","name":"amount","nameLocation":"2316:6:4","nodeType":"VariableDeclaration","scope":205,"src":"2308:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":199,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:4"},"returnParameters":{"id":204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":205,"src":"2342:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":202,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:4"},"scope":218,"src":"2274:74:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":206,"nodeType":"StructuredDocumentation","src":"2354:287:4","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":217,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:4","nodeType":"FunctionDefinition","parameters":{"id":213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":208,"mutability":"mutable","name":"from","nameLocation":"2676:4:4","nodeType":"VariableDeclaration","scope":217,"src":"2668:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":207,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":210,"mutability":"mutable","name":"to","nameLocation":"2690:2:4","nodeType":"VariableDeclaration","scope":217,"src":"2682:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":209,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":212,"mutability":"mutable","name":"amount","nameLocation":"2702:6:4","nodeType":"VariableDeclaration","scope":217,"src":"2694:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":211,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:4"},"returnParameters":{"id":216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":217,"src":"2728:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":214,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:4"},"scope":218,"src":"2646:88:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":219,"src":"202:2534:4","usedErrors":[],"usedEvents":[152,161]}],"src":"106:2631:4"},"id":4},"@openzeppelin/contracts/token/ERC721/ERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ERC165":[2471],"ERC721":[1145],"IERC165":[2483],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":1146,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":220,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:5"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"./IERC721.sol","id":221,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1262,"src":"132:23:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"./IERC721Receiver.sol","id":222,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1280,"src":"156:31:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"./extensions/IERC721Metadata.sol","id":223,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1493,"src":"188:42:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":224,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1823,"src":"231:33:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":225,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1853,"src":"265:33:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"../../utils/Strings.sol","id":226,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":2082,"src":"299:33:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../utils/introspection/ERC165.sol","id":227,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":2472,"src":"333:46:5","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":229,"name":"Context","nameLocations":["647:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1852,"src":"647:7:5"},"id":230,"nodeType":"InheritanceSpecifier","src":"647:7:5"},{"baseName":{"id":231,"name":"ERC165","nameLocations":["656:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":2471,"src":"656:6:5"},"id":232,"nodeType":"InheritanceSpecifier","src":"656:6:5"},{"baseName":{"id":233,"name":"IERC721","nameLocations":["664:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"664:7:5"},"id":234,"nodeType":"InheritanceSpecifier","src":"664:7:5"},{"baseName":{"id":235,"name":"IERC721Metadata","nameLocations":["673:15:5"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"673:15:5"},"id":236,"nodeType":"InheritanceSpecifier","src":"673:15:5"}],"canonicalName":"ERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":228,"nodeType":"StructuredDocumentation","src":"381:246:5","text":" @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."},"fullyImplemented":true,"id":1145,"linearizedBaseContracts":[1145,1492,1261,2471,2483,1852],"name":"ERC721","nameLocation":"637:6:5","nodeType":"ContractDefinition","nodes":[{"global":false,"id":239,"libraryName":{"id":237,"name":"Address","nameLocations":["701:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1822,"src":"701:7:5"},"nodeType":"UsingForDirective","src":"695:26:5","typeName":{"id":238,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"global":false,"id":242,"libraryName":{"id":240,"name":"Strings","nameLocations":["732:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":2081,"src":"732:7:5"},"nodeType":"UsingForDirective","src":"726:26:5","typeName":{"id":241,"name":"uint256","nodeType":"ElementaryTypeName","src":"744:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":244,"mutability":"mutable","name":"_name","nameLocation":"791:5:5","nodeType":"VariableDeclaration","scope":1145,"src":"776:20:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":243,"name":"string","nodeType":"ElementaryTypeName","src":"776:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":246,"mutability":"mutable","name":"_symbol","nameLocation":"838:7:5","nodeType":"VariableDeclaration","scope":1145,"src":"823:22:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":245,"name":"string","nodeType":"ElementaryTypeName","src":"823:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":250,"mutability":"mutable","name":"_owners","nameLocation":"934:7:5","nodeType":"VariableDeclaration","scope":1145,"src":"898:43:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":249,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":247,"name":"uint256","nodeType":"ElementaryTypeName","src":"906:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"898:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":248,"name":"address","nodeType":"ElementaryTypeName","src":"917:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":254,"mutability":"mutable","name":"_balances","nameLocation":"1028:9:5","nodeType":"VariableDeclaration","scope":1145,"src":"992:45:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":253,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":251,"name":"address","nodeType":"ElementaryTypeName","src":"1000:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"992:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":252,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":258,"mutability":"mutable","name":"_tokenApprovals","nameLocation":"1129:15:5","nodeType":"VariableDeclaration","scope":1145,"src":"1093:51:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":257,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":255,"name":"uint256","nodeType":"ElementaryTypeName","src":"1101:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1093:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":256,"name":"address","nodeType":"ElementaryTypeName","src":"1112:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":264,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"1252:18:5","nodeType":"VariableDeclaration","scope":1145,"src":"1199:71:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":263,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":259,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1199:44:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":262,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":260,"name":"address","nodeType":"ElementaryTypeName","src":"1226:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1218:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":261,"name":"bool","nodeType":"ElementaryTypeName","src":"1237:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"body":{"id":280,"nodeType":"Block","src":"1446:57:5","statements":[{"expression":{"id":274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":272,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"1456:5:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":273,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":267,"src":"1464:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1456:13:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":275,"nodeType":"ExpressionStatement","src":"1456:13:5"},{"expression":{"id":278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":276,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":246,"src":"1479:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":277,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":269,"src":"1489:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1479:17:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":279,"nodeType":"ExpressionStatement","src":"1479:17:5"}]},"documentation":{"id":265,"nodeType":"StructuredDocumentation","src":"1277:108:5","text":" @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."},"id":281,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":267,"mutability":"mutable","name":"name_","nameLocation":"1416:5:5","nodeType":"VariableDeclaration","scope":281,"src":"1402:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":266,"name":"string","nodeType":"ElementaryTypeName","src":"1402:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":269,"mutability":"mutable","name":"symbol_","nameLocation":"1437:7:5","nodeType":"VariableDeclaration","scope":281,"src":"1423:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":268,"name":"string","nodeType":"ElementaryTypeName","src":"1423:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1401:44:5"},"returnParameters":{"id":271,"nodeType":"ParameterList","parameters":[],"src":"1446:0:5"},"scope":1145,"src":"1390:113:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[2470,2482],"body":{"id":311,"nodeType":"Block","src":"1678:192:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":292,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"1707:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":294,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1261,"src":"1727:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721_$1261_$","typeString":"type(contract IERC721)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721_$1261_$","typeString":"type(contract IERC721)"}],"id":293,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1722:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1722:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721_$1261","typeString":"type(contract IERC721)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1736:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"1722:25:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1707:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":298,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"1763:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":300,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"1783:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$1492_$","typeString":"type(contract IERC721Metadata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$1492_$","typeString":"type(contract IERC721Metadata)"}],"id":299,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1778:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1778:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Metadata_$1492","typeString":"type(contract IERC721Metadata)"}},"id":302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1800:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"1778:33:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1763:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:104:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":307,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"1851:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":305,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1827:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721_$1145_$","typeString":"type(contract super ERC721)"}},"id":306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1833:17:5","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":2470,"src":"1827:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1827:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:156:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":291,"id":310,"nodeType":"Return","src":"1688:175:5"}]},"documentation":{"id":282,"nodeType":"StructuredDocumentation","src":"1509:56:5","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":312,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1579:17:5","nodeType":"FunctionDefinition","overrides":{"id":288,"nodeType":"OverrideSpecifier","overrides":[{"id":286,"name":"ERC165","nameLocations":["1646:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":2471,"src":"1646:6:5"},{"id":287,"name":"IERC165","nameLocations":["1654:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"1654:7:5"}],"src":"1637:25:5"},"parameters":{"id":285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":284,"mutability":"mutable","name":"interfaceId","nameLocation":"1604:11:5","nodeType":"VariableDeclaration","scope":312,"src":"1597:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":283,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1597:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1596:20:5"},"returnParameters":{"id":291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":312,"src":"1672:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":289,"name":"bool","nodeType":"ElementaryTypeName","src":"1672:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1671:6:5"},"scope":1145,"src":"1570:300:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1186],"body":{"id":335,"nodeType":"Block","src":"2010:123:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":322,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"2028:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2037:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":323,"name":"address","nodeType":"ElementaryTypeName","src":"2037:7:5","typeDescriptions":{}}},"id":326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2037:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2028:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572","id":328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2049:43:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""},"value":"ERC721: address zero is not a valid owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""}],"id":321,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2020:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2020:73:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"ExpressionStatement","src":"2020:73:5"},{"expression":{"baseExpression":{"id":331,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"2110:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":333,"indexExpression":{"id":332,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"2120:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2110:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":320,"id":334,"nodeType":"Return","src":"2103:23:5"}]},"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"1876:48:5","text":" @dev See {IERC721-balanceOf}."},"functionSelector":"70a08231","id":336,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1938:9:5","nodeType":"FunctionDefinition","overrides":{"id":317,"nodeType":"OverrideSpecifier","overrides":[],"src":"1983:8:5"},"parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"owner","nameLocation":"1956:5:5","nodeType":"VariableDeclaration","scope":336,"src":"1948:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"1948:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1947:15:5"},"returnParameters":{"id":320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":336,"src":"2001:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":318,"name":"uint256","nodeType":"ElementaryTypeName","src":"2001:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2000:9:5"},"scope":1145,"src":"1929:204:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1194],"body":{"id":363,"nodeType":"Block","src":"2271:138:5","statements":[{"assignments":[346],"declarations":[{"constant":false,"id":346,"mutability":"mutable","name":"owner","nameLocation":"2289:5:5","nodeType":"VariableDeclaration","scope":363,"src":"2281:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":345,"name":"address","nodeType":"ElementaryTypeName","src":"2281:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":350,"initialValue":{"arguments":[{"id":348,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2306:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":347,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"2297:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2297:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2281:33:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":352,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"2332:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2349:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2341:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":353,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:5","typeDescriptions":{}}},"id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2341:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2332:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2353:26:5","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":351,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2324:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2324:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":360,"nodeType":"ExpressionStatement","src":"2324:56:5"},{"expression":{"id":361,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"2397:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":344,"id":362,"nodeType":"Return","src":"2390:12:5"}]},"documentation":{"id":337,"nodeType":"StructuredDocumentation","src":"2139:46:5","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","id":364,"implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2199:7:5","nodeType":"FunctionDefinition","overrides":{"id":341,"nodeType":"OverrideSpecifier","overrides":[],"src":"2244:8:5"},"parameters":{"id":340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":339,"mutability":"mutable","name":"tokenId","nameLocation":"2215:7:5","nodeType":"VariableDeclaration","scope":364,"src":"2207:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":338,"name":"uint256","nodeType":"ElementaryTypeName","src":"2207:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2206:17:5"},"returnParameters":{"id":344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":364,"src":"2262:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":342,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2261:9:5"},"scope":1145,"src":"2190:219:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1477],"body":{"id":373,"nodeType":"Block","src":"2540:29:5","statements":[{"expression":{"id":371,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"2557:5:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":370,"id":372,"nodeType":"Return","src":"2550:12:5"}]},"documentation":{"id":365,"nodeType":"StructuredDocumentation","src":"2415:51:5","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","id":374,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2480:4:5","nodeType":"FunctionDefinition","overrides":{"id":367,"nodeType":"OverrideSpecifier","overrides":[],"src":"2507:8:5"},"parameters":{"id":366,"nodeType":"ParameterList","parameters":[],"src":"2484:2:5"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":374,"src":"2525:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":368,"name":"string","nodeType":"ElementaryTypeName","src":"2525:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2524:15:5"},"scope":1145,"src":"2471:98:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1483],"body":{"id":383,"nodeType":"Block","src":"2704:31:5","statements":[{"expression":{"id":381,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":246,"src":"2721:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":380,"id":382,"nodeType":"Return","src":"2714:14:5"}]},"documentation":{"id":375,"nodeType":"StructuredDocumentation","src":"2575:53:5","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","id":384,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2642:6:5","nodeType":"FunctionDefinition","overrides":{"id":377,"nodeType":"OverrideSpecifier","overrides":[],"src":"2671:8:5"},"parameters":{"id":376,"nodeType":"ParameterList","parameters":[],"src":"2648:2:5"},"returnParameters":{"id":380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":379,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":384,"src":"2689:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":378,"name":"string","nodeType":"ElementaryTypeName","src":"2689:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2688:15:5"},"scope":1145,"src":"2633:102:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1491],"body":{"id":422,"nodeType":"Block","src":"2889:188:5","statements":[{"expression":{"arguments":[{"id":394,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":387,"src":"2914:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":393,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"2899:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":396,"nodeType":"ExpressionStatement","src":"2899:23:5"},{"assignments":[398],"declarations":[{"constant":false,"id":398,"mutability":"mutable","name":"baseURI","nameLocation":"2947:7:5","nodeType":"VariableDeclaration","scope":422,"src":"2933:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":397,"name":"string","nodeType":"ElementaryTypeName","src":"2933:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":401,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":399,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":432,"src":"2957:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2933:34:5"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":404,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"2990:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2984:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":402,"name":"bytes","nodeType":"ElementaryTypeName","src":"2984:5:5","typeDescriptions":{}}},"id":405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2984:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2999:6:5","memberName":"length","nodeType":"MemberAccess","src":"2984:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3008:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2984:25:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3068:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2984:86:5","trueExpression":{"arguments":[{"arguments":[{"id":413,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"3036:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":414,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":387,"src":"3045:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3053:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":1911,"src":"3045:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3045:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":411,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3019:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3023:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"3019:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3019:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3012:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":409,"name":"string","nodeType":"ElementaryTypeName","src":"3012:6:5","typeDescriptions":{}}},"id":418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3012:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":392,"id":421,"nodeType":"Return","src":"2977:93:5"}]},"documentation":{"id":385,"nodeType":"StructuredDocumentation","src":"2741:55:5","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":423,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2810:8:5","nodeType":"FunctionDefinition","overrides":{"id":389,"nodeType":"OverrideSpecifier","overrides":[],"src":"2856:8:5"},"parameters":{"id":388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":387,"mutability":"mutable","name":"tokenId","nameLocation":"2827:7:5","nodeType":"VariableDeclaration","scope":423,"src":"2819:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":386,"name":"uint256","nodeType":"ElementaryTypeName","src":"2819:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2818:17:5"},"returnParameters":{"id":392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":423,"src":"2874:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":390,"name":"string","nodeType":"ElementaryTypeName","src":"2874:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2873:15:5"},"scope":1145,"src":"2801:276:5","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":431,"nodeType":"Block","src":"3385:26:5","statements":[{"expression":{"hexValue":"","id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3402:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":428,"id":430,"nodeType":"Return","src":"3395:9:5"}]},"documentation":{"id":424,"nodeType":"StructuredDocumentation","src":"3083:231:5","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."},"id":432,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"3328:8:5","nodeType":"FunctionDefinition","parameters":{"id":425,"nodeType":"ParameterList","parameters":[],"src":"3336:2:5"},"returnParameters":{"id":428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":432,"src":"3370:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":426,"name":"string","nodeType":"ElementaryTypeName","src":"3370:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3369:15:5"},"scope":1145,"src":"3319:92:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1234],"body":{"id":474,"nodeType":"Block","src":"3538:336:5","statements":[{"assignments":[442],"declarations":[{"constant":false,"id":442,"mutability":"mutable","name":"owner","nameLocation":"3556:5:5","nodeType":"VariableDeclaration","scope":474,"src":"3548:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":441,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":447,"initialValue":{"arguments":[{"id":445,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"3579:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":443,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"3564:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3571:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"3564:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3564:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3548:39:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":449,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"3605:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":450,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"3611:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3605:11:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572","id":452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3618:35:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""},"value":"ERC721: approval to current owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""}],"id":448,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3597:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3597:57:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":454,"nodeType":"ExpressionStatement","src":"3597:57:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":456,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"3686:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3686:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":458,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"3702:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3686:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":461,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"3728:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":462,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"3735:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3735:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":460,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"3711:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3686:62:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","id":466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3762:63:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""},"value":"ERC721: approve caller is not token owner or approved for all"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""}],"id":455,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3665:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:170:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":468,"nodeType":"ExpressionStatement","src":"3665:170:5"},{"expression":{"arguments":[{"id":470,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"3855:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":471,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"3859:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":469,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"3846:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3846:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"3846:21:5"}]},"documentation":{"id":433,"nodeType":"StructuredDocumentation","src":"3417:46:5","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","id":475,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3477:7:5","nodeType":"FunctionDefinition","overrides":{"id":439,"nodeType":"OverrideSpecifier","overrides":[],"src":"3529:8:5"},"parameters":{"id":438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":435,"mutability":"mutable","name":"to","nameLocation":"3493:2:5","nodeType":"VariableDeclaration","scope":475,"src":"3485:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"3485:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":437,"mutability":"mutable","name":"tokenId","nameLocation":"3505:7:5","nodeType":"VariableDeclaration","scope":475,"src":"3497:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":436,"name":"uint256","nodeType":"ElementaryTypeName","src":"3497:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3484:29:5"},"returnParameters":{"id":440,"nodeType":"ParameterList","parameters":[],"src":"3538:0:5"},"scope":1145,"src":"3468:406:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1250],"body":{"id":492,"nodeType":"Block","src":"4020:82:5","statements":[{"expression":{"arguments":[{"id":485,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"4045:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":484,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"4030:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4030:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":487,"nodeType":"ExpressionStatement","src":"4030:23:5"},{"expression":{"baseExpression":{"id":488,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"4071:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":490,"indexExpression":{"id":489,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"4087:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4071:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":483,"id":491,"nodeType":"Return","src":"4064:31:5"}]},"documentation":{"id":476,"nodeType":"StructuredDocumentation","src":"3880:50:5","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","id":493,"implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"3944:11:5","nodeType":"FunctionDefinition","overrides":{"id":480,"nodeType":"OverrideSpecifier","overrides":[],"src":"3993:8:5"},"parameters":{"id":479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"tokenId","nameLocation":"3964:7:5","nodeType":"VariableDeclaration","scope":493,"src":"3956:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":477,"name":"uint256","nodeType":"ElementaryTypeName","src":"3956:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3955:17:5"},"returnParameters":{"id":483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":482,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":493,"src":"4011:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":481,"name":"address","nodeType":"ElementaryTypeName","src":"4011:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4010:9:5"},"scope":1145,"src":"3935:167:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1242],"body":{"id":509,"nodeType":"Block","src":"4253:69:5","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":503,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"4282:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4282:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":505,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":496,"src":"4296:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":506,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":498,"src":"4306:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":502,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"4263:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"ExpressionStatement","src":"4263:52:5"}]},"documentation":{"id":494,"nodeType":"StructuredDocumentation","src":"4108:56:5","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","id":510,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4178:17:5","nodeType":"FunctionDefinition","overrides":{"id":500,"nodeType":"OverrideSpecifier","overrides":[],"src":"4244:8:5"},"parameters":{"id":499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":496,"mutability":"mutable","name":"operator","nameLocation":"4204:8:5","nodeType":"VariableDeclaration","scope":510,"src":"4196:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"4196:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":498,"mutability":"mutable","name":"approved","nameLocation":"4219:8:5","nodeType":"VariableDeclaration","scope":510,"src":"4214:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":497,"name":"bool","nodeType":"ElementaryTypeName","src":"4214:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4195:33:5"},"returnParameters":{"id":501,"nodeType":"ParameterList","parameters":[],"src":"4253:0:5"},"scope":1145,"src":"4169:153:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1260],"body":{"id":527,"nodeType":"Block","src":"4491:59:5","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":521,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"4508:18:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":523,"indexExpression":{"id":522,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"4527:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":525,"indexExpression":{"id":524,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"4534:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":520,"id":526,"nodeType":"Return","src":"4501:42:5"}]},"documentation":{"id":511,"nodeType":"StructuredDocumentation","src":"4328:55:5","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","id":528,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4397:16:5","nodeType":"FunctionDefinition","overrides":{"id":517,"nodeType":"OverrideSpecifier","overrides":[],"src":"4467:8:5"},"parameters":{"id":516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":513,"mutability":"mutable","name":"owner","nameLocation":"4422:5:5","nodeType":"VariableDeclaration","scope":528,"src":"4414:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":512,"name":"address","nodeType":"ElementaryTypeName","src":"4414:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":515,"mutability":"mutable","name":"operator","nameLocation":"4437:8:5","nodeType":"VariableDeclaration","scope":528,"src":"4429:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":514,"name":"address","nodeType":"ElementaryTypeName","src":"4429:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4413:33:5"},"returnParameters":{"id":520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":528,"src":"4485:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":518,"name":"bool","nodeType":"ElementaryTypeName","src":"4485:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4484:6:5"},"scope":1145,"src":"4388:162:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1226],"body":{"id":554,"nodeType":"Block","src":"4701:207:5","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":541,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"4790:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":543,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":535,"src":"4804:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":540,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":698,"src":"4771:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4771:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4814:47:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":539,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4763:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:99:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":547,"nodeType":"ExpressionStatement","src":"4763:99:5"},{"expression":{"arguments":[{"id":549,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"4883:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":550,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":533,"src":"4889:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":551,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":535,"src":"4893:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":548,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"4873:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4873:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":553,"nodeType":"ExpressionStatement","src":"4873:28:5"}]},"documentation":{"id":529,"nodeType":"StructuredDocumentation","src":"4556:51:5","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","id":555,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4621:12:5","nodeType":"FunctionDefinition","overrides":{"id":537,"nodeType":"OverrideSpecifier","overrides":[],"src":"4692:8:5"},"parameters":{"id":536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":531,"mutability":"mutable","name":"from","nameLocation":"4642:4:5","nodeType":"VariableDeclaration","scope":555,"src":"4634:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":530,"name":"address","nodeType":"ElementaryTypeName","src":"4634:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":533,"mutability":"mutable","name":"to","nameLocation":"4656:2:5","nodeType":"VariableDeclaration","scope":555,"src":"4648:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":532,"name":"address","nodeType":"ElementaryTypeName","src":"4648:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":535,"mutability":"mutable","name":"tokenId","nameLocation":"4668:7:5","nodeType":"VariableDeclaration","scope":555,"src":"4660:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":534,"name":"uint256","nodeType":"ElementaryTypeName","src":"4660:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4633:43:5"},"returnParameters":{"id":538,"nodeType":"ParameterList","parameters":[],"src":"4701:0:5"},"scope":1145,"src":"4612:296:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1216],"body":{"id":573,"nodeType":"Block","src":"5067:56:5","statements":[{"expression":{"arguments":[{"id":567,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"5094:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":568,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"5100:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":569,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"5104:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5113:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":566,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[574,604],"referencedDeclaration":604,"src":"5077:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5077:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":572,"nodeType":"ExpressionStatement","src":"5077:39:5"}]},"documentation":{"id":556,"nodeType":"StructuredDocumentation","src":"4914:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","id":574,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4983:16:5","nodeType":"FunctionDefinition","overrides":{"id":564,"nodeType":"OverrideSpecifier","overrides":[],"src":"5058:8:5"},"parameters":{"id":563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":558,"mutability":"mutable","name":"from","nameLocation":"5008:4:5","nodeType":"VariableDeclaration","scope":574,"src":"5000:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":557,"name":"address","nodeType":"ElementaryTypeName","src":"5000:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"to","nameLocation":"5022:2:5","nodeType":"VariableDeclaration","scope":574,"src":"5014:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":559,"name":"address","nodeType":"ElementaryTypeName","src":"5014:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":562,"mutability":"mutable","name":"tokenId","nameLocation":"5034:7:5","nodeType":"VariableDeclaration","scope":574,"src":"5026:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":561,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4999:43:5"},"returnParameters":{"id":565,"nodeType":"ParameterList","parameters":[],"src":"5067:0:5"},"scope":1145,"src":"4974:149:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1206],"body":{"id":603,"nodeType":"Block","src":"5301:164:5","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":589,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"5338:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5338:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":591,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"5352:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":588,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":698,"src":"5319:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5319:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5362:47:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":587,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5311:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5311:99:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":595,"nodeType":"ExpressionStatement","src":"5311:99:5"},{"expression":{"arguments":[{"id":597,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"5434:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":598,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":579,"src":"5440:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":599,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"5444:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"5453:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":596,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":633,"src":"5420:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5420:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"5420:38:5"}]},"documentation":{"id":575,"nodeType":"StructuredDocumentation","src":"5129:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","id":604,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5198:16:5","nodeType":"FunctionDefinition","overrides":{"id":585,"nodeType":"OverrideSpecifier","overrides":[],"src":"5292:8:5"},"parameters":{"id":584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":577,"mutability":"mutable","name":"from","nameLocation":"5223:4:5","nodeType":"VariableDeclaration","scope":604,"src":"5215:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":576,"name":"address","nodeType":"ElementaryTypeName","src":"5215:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":579,"mutability":"mutable","name":"to","nameLocation":"5237:2:5","nodeType":"VariableDeclaration","scope":604,"src":"5229:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":578,"name":"address","nodeType":"ElementaryTypeName","src":"5229:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":581,"mutability":"mutable","name":"tokenId","nameLocation":"5249:7:5","nodeType":"VariableDeclaration","scope":604,"src":"5241:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":580,"name":"uint256","nodeType":"ElementaryTypeName","src":"5241:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":583,"mutability":"mutable","name":"data","nameLocation":"5271:4:5","nodeType":"VariableDeclaration","scope":604,"src":"5258:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":582,"name":"bytes","nodeType":"ElementaryTypeName","src":"5258:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5214:62:5"},"returnParameters":{"id":586,"nodeType":"ParameterList","parameters":[],"src":"5301:0:5"},"scope":1145,"src":"5189:276:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":632,"nodeType":"Block","src":"6428:165:5","statements":[{"expression":{"arguments":[{"id":617,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6448:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":618,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"6454:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":619,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"6458:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":616,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"6438:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6438:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":621,"nodeType":"ExpressionStatement","src":"6438:28:5"},{"expression":{"arguments":[{"arguments":[{"id":624,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6507:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":625,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"6513:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":626,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"6517:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":627,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"6526:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":623,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"src":"6484:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6484:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6533:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":622,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6476:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6476:110:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":631,"nodeType":"ExpressionStatement","src":"6476:110:5"}]},"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"5471:850:5","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":633,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"6335:13:5","nodeType":"FunctionDefinition","parameters":{"id":614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":607,"mutability":"mutable","name":"from","nameLocation":"6357:4:5","nodeType":"VariableDeclaration","scope":633,"src":"6349:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":606,"name":"address","nodeType":"ElementaryTypeName","src":"6349:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":609,"mutability":"mutable","name":"to","nameLocation":"6371:2:5","nodeType":"VariableDeclaration","scope":633,"src":"6363:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":608,"name":"address","nodeType":"ElementaryTypeName","src":"6363:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"tokenId","nameLocation":"6383:7:5","nodeType":"VariableDeclaration","scope":633,"src":"6375:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":610,"name":"uint256","nodeType":"ElementaryTypeName","src":"6375:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":613,"mutability":"mutable","name":"data","nameLocation":"6405:4:5","nodeType":"VariableDeclaration","scope":633,"src":"6392:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":612,"name":"bytes","nodeType":"ElementaryTypeName","src":"6392:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:62:5"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"6428:0:5"},"scope":1145,"src":"6326:267:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":645,"nodeType":"Block","src":"6777:40:5","statements":[{"expression":{"baseExpression":{"id":641,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"6794:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":643,"indexExpression":{"id":642,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":636,"src":"6802:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6794:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":640,"id":644,"nodeType":"Return","src":"6787:23:5"}]},"documentation":{"id":634,"nodeType":"StructuredDocumentation","src":"6599:98:5","text":" @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist"},"id":646,"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"6711:8:5","nodeType":"FunctionDefinition","parameters":{"id":637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":636,"mutability":"mutable","name":"tokenId","nameLocation":"6728:7:5","nodeType":"VariableDeclaration","scope":646,"src":"6720:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":635,"name":"uint256","nodeType":"ElementaryTypeName","src":"6720:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6719:17:5"},"returnParameters":{"id":640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":646,"src":"6768:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":638,"name":"address","nodeType":"ElementaryTypeName","src":"6768:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6767:9:5"},"scope":1145,"src":"6702:115:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":663,"nodeType":"Block","src":"7191:55:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":655,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":649,"src":"7217:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":654,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"7208:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7208:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7237:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7229:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":657,"name":"address","nodeType":"ElementaryTypeName","src":"7229:7:5","typeDescriptions":{}}},"id":660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7229:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7208:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":653,"id":662,"nodeType":"Return","src":"7201:38:5"}]},"documentation":{"id":647,"nodeType":"StructuredDocumentation","src":"6823:292:5","text":" @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)."},"id":664,"implemented":true,"kind":"function","modifiers":[],"name":"_exists","nameLocation":"7129:7:5","nodeType":"FunctionDefinition","parameters":{"id":650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":649,"mutability":"mutable","name":"tokenId","nameLocation":"7145:7:5","nodeType":"VariableDeclaration","scope":664,"src":"7137:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":648,"name":"uint256","nodeType":"ElementaryTypeName","src":"7137:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7136:17:5"},"returnParameters":{"id":653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":664,"src":"7185:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":651,"name":"bool","nodeType":"ElementaryTypeName","src":"7185:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7184:6:5"},"scope":1145,"src":"7120:126:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":697,"nodeType":"Block","src":"7503:162:5","statements":[{"assignments":[675],"declarations":[{"constant":false,"id":675,"mutability":"mutable","name":"owner","nameLocation":"7521:5:5","nodeType":"VariableDeclaration","scope":697,"src":"7513:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":674,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":680,"initialValue":{"arguments":[{"id":678,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"7544:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":676,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"7529:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7536:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"7529:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7529:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7513:39:5"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":681,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"7570:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":682,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"7581:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7570:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":685,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"7607:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":686,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"7614:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":684,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"7590:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7570:52:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":690,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"7638:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":689,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"7626:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7626:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":692,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"7650:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7626:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7570:87:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":695,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7569:89:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":673,"id":696,"nodeType":"Return","src":"7562:96:5"}]},"documentation":{"id":665,"nodeType":"StructuredDocumentation","src":"7252:147:5","text":" @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."},"id":698,"implemented":true,"kind":"function","modifiers":[],"name":"_isApprovedOrOwner","nameLocation":"7413:18:5","nodeType":"FunctionDefinition","parameters":{"id":670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":667,"mutability":"mutable","name":"spender","nameLocation":"7440:7:5","nodeType":"VariableDeclaration","scope":698,"src":"7432:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":666,"name":"address","nodeType":"ElementaryTypeName","src":"7432:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":669,"mutability":"mutable","name":"tokenId","nameLocation":"7457:7:5","nodeType":"VariableDeclaration","scope":698,"src":"7449:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":668,"name":"uint256","nodeType":"ElementaryTypeName","src":"7449:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7431:34:5"},"returnParameters":{"id":673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":698,"src":"7497:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":671,"name":"bool","nodeType":"ElementaryTypeName","src":"7497:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7496:6:5"},"scope":1145,"src":"7404:261:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":712,"nodeType":"Block","src":"8060:43:5","statements":[{"expression":{"arguments":[{"id":707,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"8080:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":708,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":703,"src":"8084:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8093:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":706,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[713,742],"referencedDeclaration":742,"src":"8070:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8070:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":711,"nodeType":"ExpressionStatement","src":"8070:26:5"}]},"documentation":{"id":699,"nodeType":"StructuredDocumentation","src":"7671:319:5","text":" @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":713,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8004:9:5","nodeType":"FunctionDefinition","parameters":{"id":704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":701,"mutability":"mutable","name":"to","nameLocation":"8022:2:5","nodeType":"VariableDeclaration","scope":713,"src":"8014:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":700,"name":"address","nodeType":"ElementaryTypeName","src":"8014:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":703,"mutability":"mutable","name":"tokenId","nameLocation":"8034:7:5","nodeType":"VariableDeclaration","scope":713,"src":"8026:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":702,"name":"uint256","nodeType":"ElementaryTypeName","src":"8026:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8013:29:5"},"returnParameters":{"id":705,"nodeType":"ParameterList","parameters":[],"src":"8060:0:5"},"scope":1145,"src":"7995:108:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":741,"nodeType":"Block","src":"8408:195:5","statements":[{"expression":{"arguments":[{"id":724,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"8424:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":725,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"8428:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":723,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"8418:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8418:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":727,"nodeType":"ExpressionStatement","src":"8418:18:5"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8498:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8490:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":730,"name":"address","nodeType":"ElementaryTypeName","src":"8490:7:5","typeDescriptions":{}}},"id":733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8490:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":734,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"8502:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":735,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"8506:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":736,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"8515:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":729,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"src":"8467:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8534:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":728,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8446:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8446:150:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":740,"nodeType":"ExpressionStatement","src":"8446:150:5"}]},"documentation":{"id":714,"nodeType":"StructuredDocumentation","src":"8109:210:5","text":" @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"id":742,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8333:9:5","nodeType":"FunctionDefinition","parameters":{"id":721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":716,"mutability":"mutable","name":"to","nameLocation":"8351:2:5","nodeType":"VariableDeclaration","scope":742,"src":"8343:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":715,"name":"address","nodeType":"ElementaryTypeName","src":"8343:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"tokenId","nameLocation":"8363:7:5","nodeType":"VariableDeclaration","scope":742,"src":"8355:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":717,"name":"uint256","nodeType":"ElementaryTypeName","src":"8355:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"data","nameLocation":"8385:4:5","nodeType":"VariableDeclaration","scope":742,"src":"8372:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":719,"name":"bytes","nodeType":"ElementaryTypeName","src":"8372:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8342:48:5"},"returnParameters":{"id":722,"nodeType":"ParameterList","parameters":[],"src":"8408:0:5"},"scope":1145,"src":"8324:279:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":818,"nodeType":"Block","src":"8986:859:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":751,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9004:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9018:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9010:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":752,"name":"address","nodeType":"ElementaryTypeName","src":"9010:7:5","typeDescriptions":{}}},"id":755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9004:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","id":757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9022:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""},"value":"ERC721: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""}],"id":750,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8996:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8996:61:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":759,"nodeType":"ExpressionStatement","src":"8996:61:5"},{"expression":{"arguments":[{"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9075:17:5","subExpression":{"arguments":[{"id":762,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9084:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":761,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"9076:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9076:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9094:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":760,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9067:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9067:58:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":767,"nodeType":"ExpressionStatement","src":"9067:58:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9165:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9157:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":769,"name":"address","nodeType":"ElementaryTypeName","src":"9157:7:5","typeDescriptions":{}}},"id":772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9157:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":773,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9169:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9173:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9182:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":768,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"9136:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9136:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":777,"nodeType":"ExpressionStatement","src":"9136:48:5"},{"expression":{"arguments":[{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9279:17:5","subExpression":{"arguments":[{"id":780,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9288:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":779,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"9280:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9280:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9298:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":778,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9271:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9271:58:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":785,"nodeType":"ExpressionStatement","src":"9271:58:5"},{"id":792,"nodeType":"UncheckedBlock","src":"9340:360:5","statements":[{"expression":{"id":790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":786,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"9671:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":788,"indexExpression":{"id":787,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9681:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9671:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9688:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9671:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":791,"nodeType":"ExpressionStatement","src":"9671:18:5"}]},{"expression":{"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":793,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"9710:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":795,"indexExpression":{"id":794,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9718:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9710:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":796,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9729:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9710:21:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":798,"nodeType":"ExpressionStatement","src":"9710:21:5"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9764:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9756:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":800,"name":"address","nodeType":"ElementaryTypeName","src":"9756:7:5","typeDescriptions":{}}},"id":803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9756:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":804,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9768:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":805,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9772:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":799,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"9747:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9747:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":807,"nodeType":"EmitStatement","src":"9742:38:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9819:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9811:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":809,"name":"address","nodeType":"ElementaryTypeName","src":"9811:7:5","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9811:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":813,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9823:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":814,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9827:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":808,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"9791:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":817,"nodeType":"ExpressionStatement","src":"9791:47:5"}]},"documentation":{"id":743,"nodeType":"StructuredDocumentation","src":"8609:311:5","text":" @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"id":819,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8934:5:5","nodeType":"FunctionDefinition","parameters":{"id":748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":745,"mutability":"mutable","name":"to","nameLocation":"8948:2:5","nodeType":"VariableDeclaration","scope":819,"src":"8940:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":744,"name":"address","nodeType":"ElementaryTypeName","src":"8940:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":747,"mutability":"mutable","name":"tokenId","nameLocation":"8960:7:5","nodeType":"VariableDeclaration","scope":819,"src":"8952:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":746,"name":"uint256","nodeType":"ElementaryTypeName","src":"8952:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8939:29:5"},"returnParameters":{"id":749,"nodeType":"ParameterList","parameters":[],"src":"8986:0:5"},"scope":1145,"src":"8925:920:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":885,"nodeType":"Block","src":"10220:713:5","statements":[{"assignments":[826],"declarations":[{"constant":false,"id":826,"mutability":"mutable","name":"owner","nameLocation":"10238:5:5","nodeType":"VariableDeclaration","scope":885,"src":"10230:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":825,"name":"address","nodeType":"ElementaryTypeName","src":"10230:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":831,"initialValue":{"arguments":[{"id":829,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10261:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":827,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"10246:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10253:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"10246:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10246:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10230:39:5"},{"expression":{"arguments":[{"id":833,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10301:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10316:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10308:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"10308:7:5","typeDescriptions":{}}},"id":837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10308:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":838,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10320:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10329:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":832,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"10280:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10280:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":841,"nodeType":"ExpressionStatement","src":"10280:51:5"},{"expression":{"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":842,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10433:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":845,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10456:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":843,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"10441:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10448:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"10441:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10441:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10433:31:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":848,"nodeType":"ExpressionStatement","src":"10433:31:5"},{"expression":{"id":852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10502:31:5","subExpression":{"baseExpression":{"id":849,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"10509:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":851,"indexExpression":{"id":850,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10525:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10509:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":853,"nodeType":"ExpressionStatement","src":"10502:31:5"},{"id":860,"nodeType":"UncheckedBlock","src":"10544:237:5","statements":[{"expression":{"id":858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":854,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"10749:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":856,"indexExpression":{"id":855,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10759:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10749:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10769:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10749:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":859,"nodeType":"ExpressionStatement","src":"10749:21:5"}]},{"expression":{"id":864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10790:23:5","subExpression":{"baseExpression":{"id":861,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"10797:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":863,"indexExpression":{"id":862,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10805:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10797:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":865,"nodeType":"ExpressionStatement","src":"10790:23:5"},{"eventCall":{"arguments":[{"id":867,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10838:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10853:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10845:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":868,"name":"address","nodeType":"ElementaryTypeName","src":"10845:7:5","typeDescriptions":{}}},"id":871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10845:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":872,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10857:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":866,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"10829:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10829:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":874,"nodeType":"EmitStatement","src":"10824:41:5"},{"expression":{"arguments":[{"id":876,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10896:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10911:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10903:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":877,"name":"address","nodeType":"ElementaryTypeName","src":"10903:7:5","typeDescriptions":{}}},"id":880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10903:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":881,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10915:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10924:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":875,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"10876:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10876:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":884,"nodeType":"ExpressionStatement","src":"10876:50:5"}]},"documentation":{"id":820,"nodeType":"StructuredDocumentation","src":"9851:315:5","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"id":886,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"10180:5:5","nodeType":"FunctionDefinition","parameters":{"id":823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":822,"mutability":"mutable","name":"tokenId","nameLocation":"10194:7:5","nodeType":"VariableDeclaration","scope":886,"src":"10186:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":821,"name":"uint256","nodeType":"ElementaryTypeName","src":"10186:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10185:17:5"},"returnParameters":{"id":824,"nodeType":"ParameterList","parameters":[],"src":"10220:0:5"},"scope":1145,"src":"10171:762:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":970,"nodeType":"Block","src":"11336:1124:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":899,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11369:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":897,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"11354:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11361:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"11354:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11354:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":901,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"11381:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11354:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11387:39:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":896,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11346:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11346:81:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":905,"nodeType":"ExpressionStatement","src":"11346:81:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":907,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"11445:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11459:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11451:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":908,"name":"address","nodeType":"ElementaryTypeName","src":"11451:7:5","typeDescriptions":{}}},"id":911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11451:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11445:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373","id":913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11463:38:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""},"value":"ERC721: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""}],"id":906,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11437:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11437:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":915,"nodeType":"ExpressionStatement","src":"11437:65:5"},{"expression":{"arguments":[{"id":917,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"11534:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":918,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"11540:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":919,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11544:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11553:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":916,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"11513:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":922,"nodeType":"ExpressionStatement","src":"11513:42:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":926,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11670:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":924,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"11655:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11662:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"11655:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11655:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":928,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"11682:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11655:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11688:39:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":923,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11647:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11647:81:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":932,"nodeType":"ExpressionStatement","src":"11647:81:5"},{"expression":{"id":936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11790:31:5","subExpression":{"baseExpression":{"id":933,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"11797:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":935,"indexExpression":{"id":934,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11813:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11797:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":937,"nodeType":"ExpressionStatement","src":"11790:31:5"},{"id":950,"nodeType":"UncheckedBlock","src":"11832:496:5","statements":[{"expression":{"id":942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":938,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"12265:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":940,"indexExpression":{"id":939,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"12275:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12265:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12284:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12265:20:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":943,"nodeType":"ExpressionStatement","src":"12265:20:5"},{"expression":{"id":948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":944,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"12299:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":946,"indexExpression":{"id":945,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12309:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12299:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12316:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12299:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":949,"nodeType":"ExpressionStatement","src":"12299:18:5"}]},{"expression":{"id":955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":951,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"12337:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":953,"indexExpression":{"id":952,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"12345:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12337:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":954,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12356:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12337:21:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":956,"nodeType":"ExpressionStatement","src":"12337:21:5"},{"eventCall":{"arguments":[{"id":958,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"12383:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":959,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12389:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":960,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"12393:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":957,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"12374:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12374:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":962,"nodeType":"EmitStatement","src":"12369:32:5"},{"expression":{"arguments":[{"id":964,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"12432:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":965,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12438:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":966,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"12442:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12451:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":963,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"12412:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12412:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":969,"nodeType":"ExpressionStatement","src":"12412:41:5"}]},"documentation":{"id":887,"nodeType":"StructuredDocumentation","src":"10939:313:5","text":" @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"id":971,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"11266:9:5","nodeType":"FunctionDefinition","parameters":{"id":894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":889,"mutability":"mutable","name":"from","nameLocation":"11284:4:5","nodeType":"VariableDeclaration","scope":971,"src":"11276:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":888,"name":"address","nodeType":"ElementaryTypeName","src":"11276:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":891,"mutability":"mutable","name":"to","nameLocation":"11298:2:5","nodeType":"VariableDeclaration","scope":971,"src":"11290:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":890,"name":"address","nodeType":"ElementaryTypeName","src":"11290:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":893,"mutability":"mutable","name":"tokenId","nameLocation":"11310:7:5","nodeType":"VariableDeclaration","scope":971,"src":"11302:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":892,"name":"uint256","nodeType":"ElementaryTypeName","src":"11302:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11275:43:5"},"returnParameters":{"id":895,"nodeType":"ParameterList","parameters":[],"src":"11336:0:5"},"scope":1145,"src":"11257:1203:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":994,"nodeType":"Block","src":"12636:107:5","statements":[{"expression":{"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":979,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"12646:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":981,"indexExpression":{"id":980,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"12662:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12646:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":982,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":974,"src":"12673:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12646:29:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":984,"nodeType":"ExpressionStatement","src":"12646:29:5"},{"eventCall":{"arguments":[{"arguments":[{"id":988,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"12714:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":986,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"12699:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12706:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"12699:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":990,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":974,"src":"12724:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":991,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"12728:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":985,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1169,"src":"12690:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12690:46:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":993,"nodeType":"EmitStatement","src":"12685:51:5"}]},"documentation":{"id":972,"nodeType":"StructuredDocumentation","src":"12466:101:5","text":" @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event."},"id":995,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"12581:8:5","nodeType":"FunctionDefinition","parameters":{"id":977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":974,"mutability":"mutable","name":"to","nameLocation":"12598:2:5","nodeType":"VariableDeclaration","scope":995,"src":"12590:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":973,"name":"address","nodeType":"ElementaryTypeName","src":"12590:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":976,"mutability":"mutable","name":"tokenId","nameLocation":"12610:7:5","nodeType":"VariableDeclaration","scope":995,"src":"12602:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":975,"name":"uint256","nodeType":"ElementaryTypeName","src":"12602:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12589:29:5"},"returnParameters":{"id":978,"nodeType":"ParameterList","parameters":[],"src":"12636:0:5"},"scope":1145,"src":"12572:171:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1026,"nodeType":"Block","src":"12972:184:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1006,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"12990:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1007,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"12999:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12990:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","id":1009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13009:27:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""},"value":"ERC721: approve to caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""}],"id":1005,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12982:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12982:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1011,"nodeType":"ExpressionStatement","src":"12982:55:5"},{"expression":{"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":1012,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"13047:18:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":1015,"indexExpression":{"id":1013,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"13066:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13047:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1016,"indexExpression":{"id":1014,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"13073:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13047:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1017,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1002,"src":"13085:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13047:46:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1019,"nodeType":"ExpressionStatement","src":"13047:46:5"},{"eventCall":{"arguments":[{"id":1021,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"13123:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1022,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"13130:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1023,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1002,"src":"13140:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1020,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"13108:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":1024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13108:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1025,"nodeType":"EmitStatement","src":"13103:46:5"}]},"documentation":{"id":996,"nodeType":"StructuredDocumentation","src":"12749:125:5","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."},"id":1027,"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"12888:18:5","nodeType":"FunctionDefinition","parameters":{"id":1003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":998,"mutability":"mutable","name":"owner","nameLocation":"12915:5:5","nodeType":"VariableDeclaration","scope":1027,"src":"12907:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":997,"name":"address","nodeType":"ElementaryTypeName","src":"12907:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1000,"mutability":"mutable","name":"operator","nameLocation":"12930:8:5","nodeType":"VariableDeclaration","scope":1027,"src":"12922:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":999,"name":"address","nodeType":"ElementaryTypeName","src":"12922:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1002,"mutability":"mutable","name":"approved","nameLocation":"12945:8:5","nodeType":"VariableDeclaration","scope":1027,"src":"12940:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1001,"name":"bool","nodeType":"ElementaryTypeName","src":"12940:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12906:48:5"},"returnParameters":{"id":1004,"nodeType":"ParameterList","parameters":[],"src":"12972:0:5"},"scope":1145,"src":"12879:277:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1040,"nodeType":"Block","src":"13303:70:5","statements":[{"expression":{"arguments":[{"arguments":[{"id":1035,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"13329:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1034,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"13321:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13321:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":1037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13339:26:5","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":1033,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13313:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13313:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1039,"nodeType":"ExpressionStatement","src":"13313:53:5"}]},"documentation":{"id":1028,"nodeType":"StructuredDocumentation","src":"13162:73:5","text":" @dev Reverts if the `tokenId` has not been minted yet."},"id":1041,"implemented":true,"kind":"function","modifiers":[],"name":"_requireMinted","nameLocation":"13249:14:5","nodeType":"FunctionDefinition","parameters":{"id":1031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1030,"mutability":"mutable","name":"tokenId","nameLocation":"13272:7:5","nodeType":"VariableDeclaration","scope":1041,"src":"13264:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1029,"name":"uint256","nodeType":"ElementaryTypeName","src":"13264:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13263:17:5"},"returnParameters":{"id":1032,"nodeType":"ParameterList","parameters":[],"src":"13303:0:5"},"scope":1145,"src":"13240:133:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1102,"nodeType":"Block","src":"14080:676:5","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":1055,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"14094:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14097:10:5","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":1510,"src":"14094:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":1057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14094:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1100,"nodeType":"Block","src":"14714:36:5","statements":[{"expression":{"hexValue":"74727565","id":1098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14735:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":1054,"id":1099,"nodeType":"Return","src":"14728:11:5"}]},"id":1101,"nodeType":"IfStatement","src":"14090:660:5","trueBody":{"id":1097,"nodeType":"Block","src":"14111:597:5","statements":[{"clauses":[{"block":{"id":1077,"nodeType":"Block","src":"14225:91:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1071,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"14250:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":1072,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"14260:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$1279_$","typeString":"type(contract IERC721Receiver)"}},"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14276:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":1278,"src":"14260:32:5","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":1074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14293:8:5","memberName":"selector","nodeType":"MemberAccess","src":"14260:41:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"14250:51:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1054,"id":1076,"nodeType":"Return","src":"14243:58:5"}]},"errorName":"","id":1078,"nodeType":"TryCatchClause","parameters":{"id":1070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1069,"mutability":"mutable","name":"retval","nameLocation":"14217:6:5","nodeType":"VariableDeclaration","scope":1078,"src":"14210:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1068,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14210:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"14209:15:5"},"src":"14201:115:5"},{"block":{"id":1094,"nodeType":"Block","src":"14345:353:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1082,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1080,"src":"14367:6:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14374:6:5","memberName":"length","nodeType":"MemberAccess","src":"14367:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14384:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14367:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1092,"nodeType":"Block","src":"14494:190:5","statements":[{"AST":{"nodeType":"YulBlock","src":"14580:86:5","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14617:2:5","type":"","value":"32"},{"name":"reason","nodeType":"YulIdentifier","src":"14621:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14613:3:5"},"nodeType":"YulFunctionCall","src":"14613:15:5"},{"arguments":[{"name":"reason","nodeType":"YulIdentifier","src":"14636:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14630:5:5"},"nodeType":"YulFunctionCall","src":"14630:13:5"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14606:6:5"},"nodeType":"YulFunctionCall","src":"14606:38:5"},"nodeType":"YulExpressionStatement","src":"14606:38:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1080,"isOffset":false,"isSlot":false,"src":"14621:6:5","valueSize":1},{"declaration":1080,"isOffset":false,"isSlot":false,"src":"14636:6:5","valueSize":1}],"id":1091,"nodeType":"InlineAssembly","src":"14571:95:5"}]},"id":1093,"nodeType":"IfStatement","src":"14363:321:5","trueBody":{"id":1090,"nodeType":"Block","src":"14387:101:5","statements":[{"expression":{"arguments":[{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":1087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14416:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":1086,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"14409:6:5","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14409:60:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1089,"nodeType":"ExpressionStatement","src":"14409:60:5"}]}}]},"errorName":"","id":1095,"nodeType":"TryCatchClause","parameters":{"id":1081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1080,"mutability":"mutable","name":"reason","nameLocation":"14337:6:5","nodeType":"VariableDeclaration","scope":1095,"src":"14324:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1079,"name":"bytes","nodeType":"ElementaryTypeName","src":"14324:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14323:21:5"},"src":"14317:381:5"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":1062,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"14166:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14166:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1064,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1044,"src":"14180:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1065,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1048,"src":"14186:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1066,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"14195:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":1059,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"14145:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1058,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"14129:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$1279_$","typeString":"type(contract IERC721Receiver)"}},"id":1060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$1279","typeString":"contract IERC721Receiver"}},"id":1061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14149:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":1278,"src":"14129:36:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":1067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:71:5","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":1096,"nodeType":"TryStatement","src":"14125:573:5"}]}}]},"documentation":{"id":1042,"nodeType":"StructuredDocumentation","src":"13379:541:5","text":" @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value"},"id":1103,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"13934:22:5","nodeType":"FunctionDefinition","parameters":{"id":1051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1044,"mutability":"mutable","name":"from","nameLocation":"13974:4:5","nodeType":"VariableDeclaration","scope":1103,"src":"13966:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1043,"name":"address","nodeType":"ElementaryTypeName","src":"13966:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1046,"mutability":"mutable","name":"to","nameLocation":"13996:2:5","nodeType":"VariableDeclaration","scope":1103,"src":"13988:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1045,"name":"address","nodeType":"ElementaryTypeName","src":"13988:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1048,"mutability":"mutable","name":"tokenId","nameLocation":"14016:7:5","nodeType":"VariableDeclaration","scope":1103,"src":"14008:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1047,"name":"uint256","nodeType":"ElementaryTypeName","src":"14008:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1050,"mutability":"mutable","name":"data","nameLocation":"14046:4:5","nodeType":"VariableDeclaration","scope":1103,"src":"14033:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1049,"name":"bytes","nodeType":"ElementaryTypeName","src":"14033:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13956:100:5"},"returnParameters":{"id":1054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1103,"src":"14074:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1052,"name":"bool","nodeType":"ElementaryTypeName","src":"14074:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14073:6:5"},"scope":1145,"src":"13925:831:5","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":1115,"nodeType":"Block","src":"15586:2:5","statements":[]},"documentation":{"id":1104,"nodeType":"StructuredDocumentation","src":"14762:705:5","text":" @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":1116,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"15481:20:5","nodeType":"FunctionDefinition","parameters":{"id":1113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1106,"mutability":"mutable","name":"from","nameLocation":"15510:4:5","nodeType":"VariableDeclaration","scope":1116,"src":"15502:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1105,"name":"address","nodeType":"ElementaryTypeName","src":"15502:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1108,"mutability":"mutable","name":"to","nameLocation":"15524:2:5","nodeType":"VariableDeclaration","scope":1116,"src":"15516:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1107,"name":"address","nodeType":"ElementaryTypeName","src":"15516:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1110,"mutability":"mutable","name":"firstTokenId","nameLocation":"15536:12:5","nodeType":"VariableDeclaration","scope":1116,"src":"15528:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1109,"name":"uint256","nodeType":"ElementaryTypeName","src":"15528:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1112,"mutability":"mutable","name":"batchSize","nameLocation":"15558:9:5","nodeType":"VariableDeclaration","scope":1116,"src":"15550:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1111,"name":"uint256","nodeType":"ElementaryTypeName","src":"15550:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15501:67:5"},"returnParameters":{"id":1114,"nodeType":"ParameterList","parameters":[],"src":"15586:0:5"},"scope":1145,"src":"15472:116:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1128,"nodeType":"Block","src":"16407:2:5","statements":[]},"documentation":{"id":1117,"nodeType":"StructuredDocumentation","src":"15594:695:5","text":" @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":1129,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"16303:19:5","nodeType":"FunctionDefinition","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1119,"mutability":"mutable","name":"from","nameLocation":"16331:4:5","nodeType":"VariableDeclaration","scope":1129,"src":"16323:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1118,"name":"address","nodeType":"ElementaryTypeName","src":"16323:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1121,"mutability":"mutable","name":"to","nameLocation":"16345:2:5","nodeType":"VariableDeclaration","scope":1129,"src":"16337:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1120,"name":"address","nodeType":"ElementaryTypeName","src":"16337:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1123,"mutability":"mutable","name":"firstTokenId","nameLocation":"16357:12:5","nodeType":"VariableDeclaration","scope":1129,"src":"16349:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1122,"name":"uint256","nodeType":"ElementaryTypeName","src":"16349:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1125,"mutability":"mutable","name":"batchSize","nameLocation":"16379:9:5","nodeType":"VariableDeclaration","scope":1129,"src":"16371:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1124,"name":"uint256","nodeType":"ElementaryTypeName","src":"16371:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16322:67:5"},"returnParameters":{"id":1127,"nodeType":"ParameterList","parameters":[],"src":"16407:0:5"},"scope":1145,"src":"16294:115:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1143,"nodeType":"Block","src":"16958:45:5","statements":[{"expression":{"id":1141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1137,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"16968:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":1139,"indexExpression":{"id":1138,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1132,"src":"16978:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16968:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1140,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1134,"src":"16990:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16968:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1142,"nodeType":"ExpressionStatement","src":"16968:28:5"}]},"documentation":{"id":1130,"nodeType":"StructuredDocumentation","src":"16415:409:5","text":" @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`."},"id":1144,"implemented":true,"kind":"function","modifiers":[],"name":"__unsafe_increaseBalance","nameLocation":"16891:24:5","nodeType":"FunctionDefinition","parameters":{"id":1135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1132,"mutability":"mutable","name":"account","nameLocation":"16924:7:5","nodeType":"VariableDeclaration","scope":1144,"src":"16916:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1131,"name":"address","nodeType":"ElementaryTypeName","src":"16916:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1134,"mutability":"mutable","name":"amount","nameLocation":"16941:6:5","nodeType":"VariableDeclaration","scope":1144,"src":"16933:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1133,"name":"uint256","nodeType":"ElementaryTypeName","src":"16933:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16915:33:5"},"returnParameters":{"id":1136,"nodeType":"ParameterList","parameters":[],"src":"16958:0:5"},"scope":1145,"src":"16882:121:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":1146,"src":"628:16377:5","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"107:16899:5"},"id":5},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","exportedSymbols":{"IERC165":[2483],"IERC721":[1261]},"id":1262,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1147,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:6"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":1148,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1262,"sourceUnit":2484,"src":"133:47:6","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1150,"name":"IERC165","nameLocations":["271:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"271:7:6"},"id":1151,"nodeType":"InheritanceSpecifier","src":"271:7:6"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":1149,"nodeType":"StructuredDocumentation","src":"182:67:6","text":" @dev Required interface of an ERC721 compliant contract."},"fullyImplemented":false,"id":1261,"linearizedBaseContracts":[1261,2483],"name":"IERC721","nameLocation":"260:7:6","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":1152,"nodeType":"StructuredDocumentation","src":"285:88:6","text":" @dev Emitted when `tokenId` token is transferred from `from` to `to`."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":1160,"name":"Transfer","nameLocation":"384:8:6","nodeType":"EventDefinition","parameters":{"id":1159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1154,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"409:4:6","nodeType":"VariableDeclaration","scope":1160,"src":"393:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1153,"name":"address","nodeType":"ElementaryTypeName","src":"393:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1156,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"431:2:6","nodeType":"VariableDeclaration","scope":1160,"src":"415:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1155,"name":"address","nodeType":"ElementaryTypeName","src":"415:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1158,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"451:7:6","nodeType":"VariableDeclaration","scope":1160,"src":"435:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1157,"name":"uint256","nodeType":"ElementaryTypeName","src":"435:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"392:67:6"},"src":"378:82:6"},{"anonymous":false,"documentation":{"id":1161,"nodeType":"StructuredDocumentation","src":"466:94:6","text":" @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":1169,"name":"Approval","nameLocation":"571:8:6","nodeType":"EventDefinition","parameters":{"id":1168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1163,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"596:5:6","nodeType":"VariableDeclaration","scope":1169,"src":"580:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1162,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1165,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"619:8:6","nodeType":"VariableDeclaration","scope":1169,"src":"603:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1164,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1167,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"645:7:6","nodeType":"VariableDeclaration","scope":1169,"src":"629:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1166,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"579:74:6"},"src":"565:89:6"},{"anonymous":false,"documentation":{"id":1170,"nodeType":"StructuredDocumentation","src":"660:117:6","text":" @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":1178,"name":"ApprovalForAll","nameLocation":"788:14:6","nodeType":"EventDefinition","parameters":{"id":1177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1172,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"819:5:6","nodeType":"VariableDeclaration","scope":1178,"src":"803:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1171,"name":"address","nodeType":"ElementaryTypeName","src":"803:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1174,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"842:8:6","nodeType":"VariableDeclaration","scope":1178,"src":"826:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1173,"name":"address","nodeType":"ElementaryTypeName","src":"826:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1176,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"857:8:6","nodeType":"VariableDeclaration","scope":1178,"src":"852:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1175,"name":"bool","nodeType":"ElementaryTypeName","src":"852:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"802:64:6"},"src":"782:85:6"},{"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"873:76:6","text":" @dev Returns the number of tokens in ``owner``'s account."},"functionSelector":"70a08231","id":1186,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"963:9:6","nodeType":"FunctionDefinition","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"owner","nameLocation":"981:5:6","nodeType":"VariableDeclaration","scope":1186,"src":"973:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"973:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"972:15:6"},"returnParameters":{"id":1185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1184,"mutability":"mutable","name":"balance","nameLocation":"1019:7:6","nodeType":"VariableDeclaration","scope":1186,"src":"1011:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1010:17:6"},"scope":1261,"src":"954:74:6","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1187,"nodeType":"StructuredDocumentation","src":"1034:131:6","text":" @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"6352211e","id":1194,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1179:7:6","nodeType":"FunctionDefinition","parameters":{"id":1190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1189,"mutability":"mutable","name":"tokenId","nameLocation":"1195:7:6","nodeType":"VariableDeclaration","scope":1194,"src":"1187:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1188,"name":"uint256","nodeType":"ElementaryTypeName","src":"1187:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1186:17:6"},"returnParameters":{"id":1193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1192,"mutability":"mutable","name":"owner","nameLocation":"1235:5:6","nodeType":"VariableDeclaration","scope":1194,"src":"1227:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1191,"name":"address","nodeType":"ElementaryTypeName","src":"1227:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1226:15:6"},"scope":1261,"src":"1170:72:6","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1195,"nodeType":"StructuredDocumentation","src":"1248:556:6","text":" @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"b88d4fde","id":1206,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1818:16:6","nodeType":"FunctionDefinition","parameters":{"id":1204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1197,"mutability":"mutable","name":"from","nameLocation":"1843:4:6","nodeType":"VariableDeclaration","scope":1206,"src":"1835:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1196,"name":"address","nodeType":"ElementaryTypeName","src":"1835:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1199,"mutability":"mutable","name":"to","nameLocation":"1857:2:6","nodeType":"VariableDeclaration","scope":1206,"src":"1849:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1198,"name":"address","nodeType":"ElementaryTypeName","src":"1849:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1201,"mutability":"mutable","name":"tokenId","nameLocation":"1869:7:6","nodeType":"VariableDeclaration","scope":1206,"src":"1861:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1200,"name":"uint256","nodeType":"ElementaryTypeName","src":"1861:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1203,"mutability":"mutable","name":"data","nameLocation":"1893:4:6","nodeType":"VariableDeclaration","scope":1206,"src":"1878:19:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1202,"name":"bytes","nodeType":"ElementaryTypeName","src":"1878:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1834:64:6"},"returnParameters":{"id":1205,"nodeType":"ParameterList","parameters":[],"src":"1907:0:6"},"scope":1261,"src":"1809:99:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1207,"nodeType":"StructuredDocumentation","src":"1914:687:6","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"42842e0e","id":1216,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2615:16:6","nodeType":"FunctionDefinition","parameters":{"id":1214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1209,"mutability":"mutable","name":"from","nameLocation":"2640:4:6","nodeType":"VariableDeclaration","scope":1216,"src":"2632:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1208,"name":"address","nodeType":"ElementaryTypeName","src":"2632:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1211,"mutability":"mutable","name":"to","nameLocation":"2654:2:6","nodeType":"VariableDeclaration","scope":1216,"src":"2646:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1210,"name":"address","nodeType":"ElementaryTypeName","src":"2646:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1213,"mutability":"mutable","name":"tokenId","nameLocation":"2666:7:6","nodeType":"VariableDeclaration","scope":1216,"src":"2658:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1212,"name":"uint256","nodeType":"ElementaryTypeName","src":"2658:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2631:43:6"},"returnParameters":{"id":1215,"nodeType":"ParameterList","parameters":[],"src":"2683:0:6"},"scope":1261,"src":"2606:78:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1217,"nodeType":"StructuredDocumentation","src":"2690:732:6","text":" @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":1226,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3436:12:6","nodeType":"FunctionDefinition","parameters":{"id":1224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1219,"mutability":"mutable","name":"from","nameLocation":"3457:4:6","nodeType":"VariableDeclaration","scope":1226,"src":"3449:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1218,"name":"address","nodeType":"ElementaryTypeName","src":"3449:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1221,"mutability":"mutable","name":"to","nameLocation":"3471:2:6","nodeType":"VariableDeclaration","scope":1226,"src":"3463:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1220,"name":"address","nodeType":"ElementaryTypeName","src":"3463:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1223,"mutability":"mutable","name":"tokenId","nameLocation":"3483:7:6","nodeType":"VariableDeclaration","scope":1226,"src":"3475:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1222,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3448:43:6"},"returnParameters":{"id":1225,"nodeType":"ParameterList","parameters":[],"src":"3500:0:6"},"scope":1261,"src":"3427:74:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1227,"nodeType":"StructuredDocumentation","src":"3507:452:6","text":" @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":1234,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3973:7:6","nodeType":"FunctionDefinition","parameters":{"id":1232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1229,"mutability":"mutable","name":"to","nameLocation":"3989:2:6","nodeType":"VariableDeclaration","scope":1234,"src":"3981:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1228,"name":"address","nodeType":"ElementaryTypeName","src":"3981:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1231,"mutability":"mutable","name":"tokenId","nameLocation":"4001:7:6","nodeType":"VariableDeclaration","scope":1234,"src":"3993:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1230,"name":"uint256","nodeType":"ElementaryTypeName","src":"3993:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3980:29:6"},"returnParameters":{"id":1233,"nodeType":"ParameterList","parameters":[],"src":"4018:0:6"},"scope":1261,"src":"3964:55:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1235,"nodeType":"StructuredDocumentation","src":"4025:309:6","text":" @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."},"functionSelector":"a22cb465","id":1242,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4348:17:6","nodeType":"FunctionDefinition","parameters":{"id":1240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1237,"mutability":"mutable","name":"operator","nameLocation":"4374:8:6","nodeType":"VariableDeclaration","scope":1242,"src":"4366:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1236,"name":"address","nodeType":"ElementaryTypeName","src":"4366:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1239,"mutability":"mutable","name":"approved","nameLocation":"4389:8:6","nodeType":"VariableDeclaration","scope":1242,"src":"4384:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1238,"name":"bool","nodeType":"ElementaryTypeName","src":"4384:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4365:33:6"},"returnParameters":{"id":1241,"nodeType":"ParameterList","parameters":[],"src":"4407:0:6"},"scope":1261,"src":"4339:69:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1243,"nodeType":"StructuredDocumentation","src":"4414:139:6","text":" @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"081812fc","id":1250,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4567:11:6","nodeType":"FunctionDefinition","parameters":{"id":1246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1245,"mutability":"mutable","name":"tokenId","nameLocation":"4587:7:6","nodeType":"VariableDeclaration","scope":1250,"src":"4579:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1244,"name":"uint256","nodeType":"ElementaryTypeName","src":"4579:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4578:17:6"},"returnParameters":{"id":1249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1248,"mutability":"mutable","name":"operator","nameLocation":"4627:8:6","nodeType":"VariableDeclaration","scope":1250,"src":"4619:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1247,"name":"address","nodeType":"ElementaryTypeName","src":"4619:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4618:18:6"},"scope":1261,"src":"4558:79:6","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1251,"nodeType":"StructuredDocumentation","src":"4643:138:6","text":" @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"},"functionSelector":"e985e9c5","id":1260,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4795:16:6","nodeType":"FunctionDefinition","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1253,"mutability":"mutable","name":"owner","nameLocation":"4820:5:6","nodeType":"VariableDeclaration","scope":1260,"src":"4812:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1252,"name":"address","nodeType":"ElementaryTypeName","src":"4812:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1255,"mutability":"mutable","name":"operator","nameLocation":"4835:8:6","nodeType":"VariableDeclaration","scope":1260,"src":"4827:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1254,"name":"address","nodeType":"ElementaryTypeName","src":"4827:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4811:33:6"},"returnParameters":{"id":1259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1260,"src":"4868:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1257,"name":"bool","nodeType":"ElementaryTypeName","src":"4868:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4867:6:6"},"scope":1261,"src":"4786:88:6","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1262,"src":"250:4626:6","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"108:4769:6"},"id":6},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","exportedSymbols":{"IERC721Receiver":[1279]},"id":1280,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1263,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"116:23:7"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":1264,"nodeType":"StructuredDocumentation","src":"141:152:7","text":" @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."},"fullyImplemented":false,"id":1279,"linearizedBaseContracts":[1279],"name":"IERC721Receiver","nameLocation":"304:15:7","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1265,"nodeType":"StructuredDocumentation","src":"326:493:7","text":" @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","id":1278,"implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"833:16:7","nodeType":"FunctionDefinition","parameters":{"id":1274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1267,"mutability":"mutable","name":"operator","nameLocation":"867:8:7","nodeType":"VariableDeclaration","scope":1278,"src":"859:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1266,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1269,"mutability":"mutable","name":"from","nameLocation":"893:4:7","nodeType":"VariableDeclaration","scope":1278,"src":"885:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1268,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1271,"mutability":"mutable","name":"tokenId","nameLocation":"915:7:7","nodeType":"VariableDeclaration","scope":1278,"src":"907:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"907:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1273,"mutability":"mutable","name":"data","nameLocation":"947:4:7","nodeType":"VariableDeclaration","scope":1278,"src":"932:19:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1272,"name":"bytes","nodeType":"ElementaryTypeName","src":"932:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:108:7"},"returnParameters":{"id":1277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1278,"src":"976:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1275,"name":"bytes4","nodeType":"ElementaryTypeName","src":"976:6:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"975:8:7"},"scope":1279,"src":"824:160:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1280,"src":"294:692:7","usedErrors":[],"usedEvents":[]}],"src":"116:871:7"},"id":7},"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ERC165":[2471],"ERC721":[1145],"ERC721Burnable":[1309],"IERC165":[2483],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":1310,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1281,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"126:23:8"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":1282,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1310,"sourceUnit":1146,"src":"151:23:8","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":1283,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1310,"sourceUnit":1853,"src":"175:36:8","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1285,"name":"Context","nameLocations":["342:7:8"],"nodeType":"IdentifierPath","referencedDeclaration":1852,"src":"342:7:8"},"id":1286,"nodeType":"InheritanceSpecifier","src":"342:7:8"},{"baseName":{"id":1287,"name":"ERC721","nameLocations":["351:6:8"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"351:6:8"},"id":1288,"nodeType":"InheritanceSpecifier","src":"351:6:8"}],"canonicalName":"ERC721Burnable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1284,"nodeType":"StructuredDocumentation","src":"213:92:8","text":" @title ERC721 Burnable Token\n @dev ERC721 Token that can be burned (destroyed)."},"fullyImplemented":true,"id":1309,"linearizedBaseContracts":[1309,1145,1492,1261,2471,2483,1852],"name":"ERC721Burnable","nameLocation":"324:14:8","nodeType":"ContractDefinition","nodes":[{"body":{"id":1307,"nodeType":"Block","src":"577:192:8","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":1296,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"666:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"666:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1298,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"680:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1295,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":698,"src":"647:18:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":1299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"647:41:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":1300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"690:47:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":1294,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"639:7:8","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"639:99:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1302,"nodeType":"ExpressionStatement","src":"639:99:8"},{"expression":{"arguments":[{"id":1304,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"754:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1303,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":886,"src":"748:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"748:14:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1306,"nodeType":"ExpressionStatement","src":"748:14:8"}]},"documentation":{"id":1289,"nodeType":"StructuredDocumentation","src":"364:162:8","text":" @dev Burns `tokenId`. See {ERC721-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator."},"functionSelector":"42966c68","id":1308,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"540:4:8","nodeType":"FunctionDefinition","parameters":{"id":1292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1291,"mutability":"mutable","name":"tokenId","nameLocation":"553:7:8","nodeType":"VariableDeclaration","scope":1308,"src":"545:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1290,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"544:17:8"},"returnParameters":{"id":1293,"nodeType":"ParameterList","parameters":[],"src":"577:0:8"},"scope":1309,"src":"531:238:8","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":1310,"src":"306:465:8","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"126:646:8"},"id":8},"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ERC165":[2471],"ERC721":[1145],"ERC721URIStorage":[1465],"IERC165":[2483],"IERC4906":[137],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":1466,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1311,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"128:23:9"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":1312,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1466,"sourceUnit":1146,"src":"153:23:9","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC4906.sol","file":"../../../interfaces/IERC4906.sol","id":1313,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1466,"sourceUnit":138,"src":"177:42:9","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1315,"name":"IERC4906","nameLocations":["329:8:9"],"nodeType":"IdentifierPath","referencedDeclaration":137,"src":"329:8:9"},"id":1316,"nodeType":"InheritanceSpecifier","src":"329:8:9"},{"baseName":{"id":1317,"name":"ERC721","nameLocations":["339:6:9"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"339:6:9"},"id":1318,"nodeType":"InheritanceSpecifier","src":"339:6:9"}],"canonicalName":"ERC721URIStorage","contractDependencies":[],"contractKind":"contract","documentation":{"id":1314,"nodeType":"StructuredDocumentation","src":"221:69:9","text":" @dev ERC721 token with storage based token URI management."},"fullyImplemented":true,"id":1465,"linearizedBaseContracts":[1465,1145,1492,137,1261,2471,2483,1852],"name":"ERC721URIStorage","nameLocation":"309:16:9","nodeType":"ContractDefinition","nodes":[{"global":false,"id":1321,"libraryName":{"id":1319,"name":"Strings","nameLocations":["358:7:9"],"nodeType":"IdentifierPath","referencedDeclaration":2081,"src":"358:7:9"},"nodeType":"UsingForDirective","src":"352:26:9","typeName":{"id":1320,"name":"uint256","nodeType":"ElementaryTypeName","src":"370:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":1325,"mutability":"mutable","name":"_tokenURIs","nameLocation":"458:10:9","nodeType":"VariableDeclaration","scope":1465,"src":"423:45:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":1324,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1322,"name":"uint256","nodeType":"ElementaryTypeName","src":"431:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"423:26:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1323,"name":"string","nodeType":"ElementaryTypeName","src":"442:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"baseFunctions":[312,2482],"body":{"id":1348,"nodeType":"Block","src":"643:97:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1336,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"660:11:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30783439303634393036","id":1339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"682:10:9","typeDescriptions":{"typeIdentifier":"t_rational_1225148678_by_1","typeString":"int_const 1225148678"},"value":"0x49064906"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1225148678_by_1","typeString":"int_const 1225148678"}],"id":1338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"675:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":1337,"name":"bytes4","nodeType":"ElementaryTypeName","src":"675:6:9","typeDescriptions":{}}},"id":1340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"675:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"660:33:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1344,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"721:11:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":1342,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"697:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$1465_$","typeString":"type(contract super ERC721URIStorage)"}},"id":1343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"703:17:9","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":312,"src":"697:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":1345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"697:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"660:73:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1335,"id":1347,"nodeType":"Return","src":"653:80:9"}]},"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"475:55:9","text":" @dev See {IERC165-supportsInterface}"},"functionSelector":"01ffc9a7","id":1349,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"544:17:9","nodeType":"FunctionDefinition","overrides":{"id":1332,"nodeType":"OverrideSpecifier","overrides":[{"id":1330,"name":"ERC721","nameLocations":["611:6:9"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"611:6:9"},{"id":1331,"name":"IERC165","nameLocations":["619:7:9"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"619:7:9"}],"src":"602:25:9"},"parameters":{"id":1329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1328,"mutability":"mutable","name":"interfaceId","nameLocation":"569:11:9","nodeType":"VariableDeclaration","scope":1349,"src":"562:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1327,"name":"bytes4","nodeType":"ElementaryTypeName","src":"562:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"561:20:9"},"returnParameters":{"id":1335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1349,"src":"637:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1333,"name":"bool","nodeType":"ElementaryTypeName","src":"637:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"636:6:9"},"scope":1465,"src":"535:205:9","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[423],"body":{"id":1407,"nodeType":"Block","src":"894:520:9","statements":[{"expression":{"arguments":[{"id":1359,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1352,"src":"919:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1358,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"904:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":1360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1361,"nodeType":"ExpressionStatement","src":"904:23:9"},{"assignments":[1363],"declarations":[{"constant":false,"id":1363,"mutability":"mutable","name":"_tokenURI","nameLocation":"952:9:9","nodeType":"VariableDeclaration","scope":1407,"src":"938:23:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1362,"name":"string","nodeType":"ElementaryTypeName","src":"938:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":1367,"initialValue":{"baseExpression":{"id":1364,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"964:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1366,"indexExpression":{"id":1365,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1352,"src":"975:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"964:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"938:45:9"},{"assignments":[1369],"declarations":[{"constant":false,"id":1369,"mutability":"mutable","name":"base","nameLocation":"1007:4:9","nodeType":"VariableDeclaration","scope":1407,"src":"993:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1368,"name":"string","nodeType":"ElementaryTypeName","src":"993:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":1372,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1370,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":432,"src":"1014:8:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1014:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"993:31:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1375,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"1103:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1097:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1373,"name":"bytes","nodeType":"ElementaryTypeName","src":"1097:5:9","typeDescriptions":{}}},"id":1376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1097:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1109:6:9","memberName":"length","nodeType":"MemberAccess","src":"1097:18:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1119:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1097:23:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1383,"nodeType":"IfStatement","src":"1093:70:9","trueBody":{"id":1382,"nodeType":"Block","src":"1122:41:9","statements":[{"expression":{"id":1380,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"1143:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1357,"id":1381,"nodeType":"Return","src":"1136:16:9"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1386,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"1271:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1265:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1384,"name":"bytes","nodeType":"ElementaryTypeName","src":"1265:5:9","typeDescriptions":{}}},"id":1387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1265:16:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1282:6:9","memberName":"length","nodeType":"MemberAccess","src":"1265:23:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1291:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1265:27:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1401,"nodeType":"IfStatement","src":"1261:106:9","trueBody":{"id":1400,"nodeType":"Block","src":"1294:73:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":1395,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"1339:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1396,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"1345:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1322:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1326:12:9","memberName":"encodePacked","nodeType":"MemberAccess","src":"1322:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1322:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1315:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":1391,"name":"string","nodeType":"ElementaryTypeName","src":"1315:6:9","typeDescriptions":{}}},"id":1398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1315:41:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1357,"id":1399,"nodeType":"Return","src":"1308:48:9"}]}},{"expression":{"arguments":[{"id":1404,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1352,"src":"1399:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1402,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1384:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$1465_$","typeString":"type(contract super ERC721URIStorage)"}},"id":1403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1390:8:9","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":423,"src":"1384:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":1405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1357,"id":1406,"nodeType":"Return","src":"1377:30:9"}]},"documentation":{"id":1350,"nodeType":"StructuredDocumentation","src":"746:55:9","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":1408,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"815:8:9","nodeType":"FunctionDefinition","overrides":{"id":1354,"nodeType":"OverrideSpecifier","overrides":[],"src":"861:8:9"},"parameters":{"id":1353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1352,"mutability":"mutable","name":"tokenId","nameLocation":"832:7:9","nodeType":"VariableDeclaration","scope":1408,"src":"824:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1351,"name":"uint256","nodeType":"ElementaryTypeName","src":"824:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"823:17:9"},"returnParameters":{"id":1357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1408,"src":"879:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1355,"name":"string","nodeType":"ElementaryTypeName","src":"879:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"878:15:9"},"scope":1465,"src":"806:608:9","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":1433,"nodeType":"Block","src":"1680:172:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":1418,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"1706:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1417,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"1698:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":1419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1698:16:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e","id":1420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1716:48:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4","typeString":"literal_string \"ERC721URIStorage: URI set of nonexistent token\""},"value":"ERC721URIStorage: URI set of nonexistent token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4","typeString":"literal_string \"ERC721URIStorage: URI set of nonexistent token\""}],"id":1416,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1690:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1690:75:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1422,"nodeType":"ExpressionStatement","src":"1690:75:9"},{"expression":{"id":1427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1423,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"1775:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1425,"indexExpression":{"id":1424,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"1786:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1775:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1426,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"src":"1797:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1775:31:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1428,"nodeType":"ExpressionStatement","src":"1775:31:9"},{"eventCall":{"arguments":[{"id":1430,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"1837:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1429,"name":"MetadataUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129,"src":"1822:14:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1822:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1432,"nodeType":"EmitStatement","src":"1817:28:9"}]},"documentation":{"id":1409,"nodeType":"StructuredDocumentation","src":"1420:174:9","text":" @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Emits {MetadataUpdate}.\n Requirements:\n - `tokenId` must exist."},"id":1434,"implemented":true,"kind":"function","modifiers":[],"name":"_setTokenURI","nameLocation":"1608:12:9","nodeType":"FunctionDefinition","parameters":{"id":1414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1411,"mutability":"mutable","name":"tokenId","nameLocation":"1629:7:9","nodeType":"VariableDeclaration","scope":1434,"src":"1621:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1621:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1413,"mutability":"mutable","name":"_tokenURI","nameLocation":"1652:9:9","nodeType":"VariableDeclaration","scope":1434,"src":"1638:23:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1412,"name":"string","nodeType":"ElementaryTypeName","src":"1638:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1620:42:9"},"returnParameters":{"id":1415,"nodeType":"ParameterList","parameters":[],"src":"1680:0:9"},"scope":1465,"src":"1599:253:9","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[886],"body":{"id":1463,"nodeType":"Block","src":"2128:142:9","statements":[{"expression":{"arguments":[{"id":1444,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"2150:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1441,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2138:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$1465_$","typeString":"type(contract super ERC721URIStorage)"}},"id":1443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:5:9","memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":886,"src":"2138:11:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2138:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1446,"nodeType":"ExpressionStatement","src":"2138:20:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"baseExpression":{"id":1449,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"2179:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1451,"indexExpression":{"id":1450,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"2190:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2179:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":1448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2173:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1447,"name":"bytes","nodeType":"ElementaryTypeName","src":"2173:5:9","typeDescriptions":{}}},"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},"id":1453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2200:6:9","memberName":"length","nodeType":"MemberAccess","src":"2173:33:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":1454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2210:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2173:38:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1462,"nodeType":"IfStatement","src":"2169:95:9","trueBody":{"id":1461,"nodeType":"Block","src":"2213:51:9","statements":[{"expression":{"id":1459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2227:26:9","subExpression":{"baseExpression":{"id":1456,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"2234:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1458,"indexExpression":{"id":1457,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"2245:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2234:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1460,"nodeType":"ExpressionStatement","src":"2227:26:9"}]}}]},"documentation":{"id":1435,"nodeType":"StructuredDocumentation","src":"1858:207:9","text":" @dev See {ERC721-_burn}. This override additionally checks to see if a\n token-specific URI was set for the token, and if so, it deletes the token URI from\n the storage mapping."},"id":1464,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"2079:5:9","nodeType":"FunctionDefinition","overrides":{"id":1439,"nodeType":"OverrideSpecifier","overrides":[],"src":"2119:8:9"},"parameters":{"id":1438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1437,"mutability":"mutable","name":"tokenId","nameLocation":"2093:7:9","nodeType":"VariableDeclaration","scope":1464,"src":"2085:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1436,"name":"uint256","nodeType":"ElementaryTypeName","src":"2085:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2084:17:9"},"returnParameters":{"id":1440,"nodeType":"ParameterList","parameters":[],"src":"2128:0:9"},"scope":1465,"src":"2070:200:9","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":1466,"src":"291:1981:9","usedErrors":[],"usedEvents":[129,136,1160,1169,1178]}],"src":"128:2145:9"},"id":9},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","exportedSymbols":{"IERC165":[2483],"IERC721":[1261],"IERC721Metadata":[1492]},"id":1493,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1467,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:10"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","id":1468,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1493,"sourceUnit":1262,"src":"137:24:10","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1470,"name":"IERC721","nameLocations":["326:7:10"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"326:7:10"},"id":1471,"nodeType":"InheritanceSpecifier","src":"326:7:10"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":1469,"nodeType":"StructuredDocumentation","src":"163:133:10","text":" @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"id":1492,"linearizedBaseContracts":[1492,1261,2483],"name":"IERC721Metadata","nameLocation":"307:15:10","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1472,"nodeType":"StructuredDocumentation","src":"340:58:10","text":" @dev Returns the token collection name."},"functionSelector":"06fdde03","id":1477,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"412:4:10","nodeType":"FunctionDefinition","parameters":{"id":1473,"nodeType":"ParameterList","parameters":[],"src":"416:2:10"},"returnParameters":{"id":1476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1477,"src":"442:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1474,"name":"string","nodeType":"ElementaryTypeName","src":"442:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"441:15:10"},"scope":1492,"src":"403:54:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1478,"nodeType":"StructuredDocumentation","src":"463:60:10","text":" @dev Returns the token collection symbol."},"functionSelector":"95d89b41","id":1483,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"537:6:10","nodeType":"FunctionDefinition","parameters":{"id":1479,"nodeType":"ParameterList","parameters":[],"src":"543:2:10"},"returnParameters":{"id":1482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1483,"src":"569:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1480,"name":"string","nodeType":"ElementaryTypeName","src":"569:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"568:15:10"},"scope":1492,"src":"528:56:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1484,"nodeType":"StructuredDocumentation","src":"590:90:10","text":" @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"functionSelector":"c87b56dd","id":1491,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"694:8:10","nodeType":"FunctionDefinition","parameters":{"id":1487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1486,"mutability":"mutable","name":"tokenId","nameLocation":"711:7:10","nodeType":"VariableDeclaration","scope":1491,"src":"703:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1485,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:17:10"},"returnParameters":{"id":1490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1491,"src":"743:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1488,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"742:15:10"},"scope":1492,"src":"685:73:10","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1493,"src":"297:463:10","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"112:649:10"},"id":10},"@openzeppelin/contracts/utils/Address.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","exportedSymbols":{"Address":[1822]},"id":1823,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1494,"literals":["solidity","^","0.8",".1"],"nodeType":"PragmaDirective","src":"101:23:11"},{"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":1495,"nodeType":"StructuredDocumentation","src":"126:67:11","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"id":1822,"linearizedBaseContracts":[1822],"name":"Address","nameLocation":"202:7:11","nodeType":"ContractDefinition","nodes":[{"body":{"id":1509,"nodeType":"Block","src":"1478:254:11","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":1503,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1498,"src":"1702:7:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1710:4:11","memberName":"code","nodeType":"MemberAccess","src":"1702:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:6:11","memberName":"length","nodeType":"MemberAccess","src":"1702:19:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1724:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1702:23:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1502,"id":1508,"nodeType":"Return","src":"1695:30:11"}]},"documentation":{"id":1496,"nodeType":"StructuredDocumentation","src":"216:1191:11","text":" @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ===="},"id":1510,"implemented":true,"kind":"function","modifiers":[],"name":"isContract","nameLocation":"1421:10:11","nodeType":"FunctionDefinition","parameters":{"id":1499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1498,"mutability":"mutable","name":"account","nameLocation":"1440:7:11","nodeType":"VariableDeclaration","scope":1510,"src":"1432:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1497,"name":"address","nodeType":"ElementaryTypeName","src":"1432:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1431:17:11"},"returnParameters":{"id":1502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1510,"src":"1472:4:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1500,"name":"bool","nodeType":"ElementaryTypeName","src":"1472:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1471:6:11"},"scope":1822,"src":"1412:320:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1543,"nodeType":"Block","src":"2718:241:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1521,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2744:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}],"id":1520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2736:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1519,"name":"address","nodeType":"ElementaryTypeName","src":"2736:7:11","typeDescriptions":{}}},"id":1522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2736:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2750:7:11","memberName":"balance","nodeType":"MemberAccess","src":"2736:21:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1524,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"2761:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2736:31:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","id":1526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2769:31:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""},"value":"Address: insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""}],"id":1518,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2728:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:73:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1528,"nodeType":"ExpressionStatement","src":"2728:73:11"},{"assignments":[1530,null],"declarations":[{"constant":false,"id":1530,"mutability":"mutable","name":"success","nameLocation":"2818:7:11","nodeType":"VariableDeclaration","scope":1543,"src":"2813:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1529,"name":"bool","nodeType":"ElementaryTypeName","src":"2813:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":1537,"initialValue":{"arguments":[{"hexValue":"","id":1535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2861:2:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":1531,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"2831:9:11","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2841:4:11","memberName":"call","nodeType":"MemberAccess","src":"2831:14:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":1533,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"2853:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2831:29:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2812:52:11"},{"expression":{"arguments":[{"id":1539,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1530,"src":"2882:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2891:60:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""},"value":"Address: unable to send value, recipient may have reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""}],"id":1538,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2874:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2874:78:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1542,"nodeType":"ExpressionStatement","src":"2874:78:11"}]},"documentation":{"id":1511,"nodeType":"StructuredDocumentation","src":"1738:904:11","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]."},"id":1544,"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"2656:9:11","nodeType":"FunctionDefinition","parameters":{"id":1516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1513,"mutability":"mutable","name":"recipient","nameLocation":"2682:9:11","nodeType":"VariableDeclaration","scope":1544,"src":"2666:25:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1512,"name":"address","nodeType":"ElementaryTypeName","src":"2666:15:11","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":1515,"mutability":"mutable","name":"amount","nameLocation":"2701:6:11","nodeType":"VariableDeclaration","scope":1544,"src":"2693:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1514,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2665:43:11"},"returnParameters":{"id":1517,"nodeType":"ParameterList","parameters":[],"src":"2718:0:11"},"scope":1822,"src":"2647:312:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1561,"nodeType":"Block","src":"3790:96:11","statements":[{"expression":{"arguments":[{"id":1555,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1547,"src":"3829:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1556,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1549,"src":"3837:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":1557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3843:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564","id":1558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:32:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""},"value":"Address: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""}],"id":1554,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[1602,1646],"referencedDeclaration":1646,"src":"3807:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:72:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1553,"id":1560,"nodeType":"Return","src":"3800:79:11"}]},"documentation":{"id":1545,"nodeType":"StructuredDocumentation","src":"2965:731:11","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"},"id":1562,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"3710:12:11","nodeType":"FunctionDefinition","parameters":{"id":1550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1547,"mutability":"mutable","name":"target","nameLocation":"3731:6:11","nodeType":"VariableDeclaration","scope":1562,"src":"3723:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1546,"name":"address","nodeType":"ElementaryTypeName","src":"3723:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1549,"mutability":"mutable","name":"data","nameLocation":"3752:4:11","nodeType":"VariableDeclaration","scope":1562,"src":"3739:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1548,"name":"bytes","nodeType":"ElementaryTypeName","src":"3739:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3722:35:11"},"returnParameters":{"id":1553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1562,"src":"3776:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1551,"name":"bytes","nodeType":"ElementaryTypeName","src":"3776:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3775:14:11"},"scope":1822,"src":"3701:185:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1581,"nodeType":"Block","src":"4255:76:11","statements":[{"expression":{"arguments":[{"id":1575,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1565,"src":"4294:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1576,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1567,"src":"4302:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":1577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4308:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":1578,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1569,"src":"4311:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1574,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[1602,1646],"referencedDeclaration":1646,"src":"4272:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":1579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4272:52:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1573,"id":1580,"nodeType":"Return","src":"4265:59:11"}]},"documentation":{"id":1563,"nodeType":"StructuredDocumentation","src":"3892:211:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":1582,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"4117:12:11","nodeType":"FunctionDefinition","parameters":{"id":1570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1565,"mutability":"mutable","name":"target","nameLocation":"4147:6:11","nodeType":"VariableDeclaration","scope":1582,"src":"4139:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1564,"name":"address","nodeType":"ElementaryTypeName","src":"4139:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1567,"mutability":"mutable","name":"data","nameLocation":"4176:4:11","nodeType":"VariableDeclaration","scope":1582,"src":"4163:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1566,"name":"bytes","nodeType":"ElementaryTypeName","src":"4163:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1569,"mutability":"mutable","name":"errorMessage","nameLocation":"4204:12:11","nodeType":"VariableDeclaration","scope":1582,"src":"4190:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1568,"name":"string","nodeType":"ElementaryTypeName","src":"4190:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4129:93:11"},"returnParameters":{"id":1573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1582,"src":"4241:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1571,"name":"bytes","nodeType":"ElementaryTypeName","src":"4241:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4240:14:11"},"scope":1822,"src":"4108:223:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1601,"nodeType":"Block","src":"4806:111:11","statements":[{"expression":{"arguments":[{"id":1595,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1585,"src":"4845:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1587,"src":"4853:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1597,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"4859:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564","id":1598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4866:43:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""},"value":"Address: low-level call with value failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""}],"id":1594,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[1602,1646],"referencedDeclaration":1646,"src":"4823:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:87:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1593,"id":1600,"nodeType":"Return","src":"4816:94:11"}]},"documentation":{"id":1583,"nodeType":"StructuredDocumentation","src":"4337:351:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._"},"id":1602,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"4702:21:11","nodeType":"FunctionDefinition","parameters":{"id":1590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"target","nameLocation":"4732:6:11","nodeType":"VariableDeclaration","scope":1602,"src":"4724:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1584,"name":"address","nodeType":"ElementaryTypeName","src":"4724:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1587,"mutability":"mutable","name":"data","nameLocation":"4753:4:11","nodeType":"VariableDeclaration","scope":1602,"src":"4740:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1586,"name":"bytes","nodeType":"ElementaryTypeName","src":"4740:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1589,"mutability":"mutable","name":"value","nameLocation":"4767:5:11","nodeType":"VariableDeclaration","scope":1602,"src":"4759:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1588,"name":"uint256","nodeType":"ElementaryTypeName","src":"4759:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4723:50:11"},"returnParameters":{"id":1593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1602,"src":"4792:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1591,"name":"bytes","nodeType":"ElementaryTypeName","src":"4792:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4791:14:11"},"scope":1822,"src":"4693:224:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1645,"nodeType":"Block","src":"5344:267:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1619,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5370:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}],"id":1618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5362:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1617,"name":"address","nodeType":"ElementaryTypeName","src":"5362:7:11","typeDescriptions":{}}},"id":1620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5362:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5376:7:11","memberName":"balance","nodeType":"MemberAccess","src":"5362:21:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1622,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"5387:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5362:30:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c","id":1624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5394:40:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""},"value":"Address: insufficient balance for call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""}],"id":1616,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5354:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5354:81:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1626,"nodeType":"ExpressionStatement","src":"5354:81:11"},{"assignments":[1628,1630],"declarations":[{"constant":false,"id":1628,"mutability":"mutable","name":"success","nameLocation":"5451:7:11","nodeType":"VariableDeclaration","scope":1645,"src":"5446:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1627,"name":"bool","nodeType":"ElementaryTypeName","src":"5446:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1630,"mutability":"mutable","name":"returndata","nameLocation":"5473:10:11","nodeType":"VariableDeclaration","scope":1645,"src":"5460:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1629,"name":"bytes","nodeType":"ElementaryTypeName","src":"5460:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1637,"initialValue":{"arguments":[{"id":1635,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1607,"src":"5513:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1631,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"5487:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5494:4:11","memberName":"call","nodeType":"MemberAccess","src":"5487:11:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":1633,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"5506:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5487:25:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5487:31:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5445:73:11"},{"expression":{"arguments":[{"id":1639,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"5562:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1640,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1628,"src":"5570:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1641,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1630,"src":"5579:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1642,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1611,"src":"5591:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1638,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1777,"src":"5535:26:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":1643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:69:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1615,"id":1644,"nodeType":"Return","src":"5528:76:11"}]},"documentation":{"id":1603,"nodeType":"StructuredDocumentation","src":"4923:237:11","text":" @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":1646,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"5174:21:11","nodeType":"FunctionDefinition","parameters":{"id":1612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1605,"mutability":"mutable","name":"target","nameLocation":"5213:6:11","nodeType":"VariableDeclaration","scope":1646,"src":"5205:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1604,"name":"address","nodeType":"ElementaryTypeName","src":"5205:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1607,"mutability":"mutable","name":"data","nameLocation":"5242:4:11","nodeType":"VariableDeclaration","scope":1646,"src":"5229:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1606,"name":"bytes","nodeType":"ElementaryTypeName","src":"5229:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1609,"mutability":"mutable","name":"value","nameLocation":"5264:5:11","nodeType":"VariableDeclaration","scope":1646,"src":"5256:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5256:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1611,"mutability":"mutable","name":"errorMessage","nameLocation":"5293:12:11","nodeType":"VariableDeclaration","scope":1646,"src":"5279:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1610,"name":"string","nodeType":"ElementaryTypeName","src":"5279:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5195:116:11"},"returnParameters":{"id":1615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1646,"src":"5330:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1613,"name":"bytes","nodeType":"ElementaryTypeName","src":"5330:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5329:14:11"},"scope":1822,"src":"5165:446:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1662,"nodeType":"Block","src":"5888:97:11","statements":[{"expression":{"arguments":[{"id":1657,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1649,"src":"5924:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1658,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"5932:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564","id":1659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5938:39:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""},"value":"Address: low-level static call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""}],"id":1656,"name":"functionStaticCall","nodeType":"Identifier","overloadedDeclarations":[1663,1692],"referencedDeclaration":1692,"src":"5905:18:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) view returns (bytes memory)"}},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5905:73:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1655,"id":1661,"nodeType":"Return","src":"5898:80:11"}]},"documentation":{"id":1647,"nodeType":"StructuredDocumentation","src":"5617:166:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"id":1663,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"5797:18:11","nodeType":"FunctionDefinition","parameters":{"id":1652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1649,"mutability":"mutable","name":"target","nameLocation":"5824:6:11","nodeType":"VariableDeclaration","scope":1663,"src":"5816:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1648,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1651,"mutability":"mutable","name":"data","nameLocation":"5845:4:11","nodeType":"VariableDeclaration","scope":1663,"src":"5832:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1650,"name":"bytes","nodeType":"ElementaryTypeName","src":"5832:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5815:35:11"},"returnParameters":{"id":1655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1663,"src":"5874:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1653,"name":"bytes","nodeType":"ElementaryTypeName","src":"5874:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5873:14:11"},"scope":1822,"src":"5788:197:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1691,"nodeType":"Block","src":"6327:168:11","statements":[{"assignments":[1676,1678],"declarations":[{"constant":false,"id":1676,"mutability":"mutable","name":"success","nameLocation":"6343:7:11","nodeType":"VariableDeclaration","scope":1691,"src":"6338:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1675,"name":"bool","nodeType":"ElementaryTypeName","src":"6338:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1678,"mutability":"mutable","name":"returndata","nameLocation":"6365:10:11","nodeType":"VariableDeclaration","scope":1691,"src":"6352:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1677,"name":"bytes","nodeType":"ElementaryTypeName","src":"6352:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1683,"initialValue":{"arguments":[{"id":1681,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1668,"src":"6397:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1679,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"6379:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6386:10:11","memberName":"staticcall","nodeType":"MemberAccess","src":"6379:17:11","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":1682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6379:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6337:65:11"},{"expression":{"arguments":[{"id":1685,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"6446:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1686,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"6454:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1687,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1678,"src":"6463:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1688,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1670,"src":"6475:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1684,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1777,"src":"6419:26:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6419:69:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1674,"id":1690,"nodeType":"Return","src":"6412:76:11"}]},"documentation":{"id":1664,"nodeType":"StructuredDocumentation","src":"5991:173:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"id":1692,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"6178:18:11","nodeType":"FunctionDefinition","parameters":{"id":1671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1666,"mutability":"mutable","name":"target","nameLocation":"6214:6:11","nodeType":"VariableDeclaration","scope":1692,"src":"6206:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1665,"name":"address","nodeType":"ElementaryTypeName","src":"6206:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1668,"mutability":"mutable","name":"data","nameLocation":"6243:4:11","nodeType":"VariableDeclaration","scope":1692,"src":"6230:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1667,"name":"bytes","nodeType":"ElementaryTypeName","src":"6230:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1670,"mutability":"mutable","name":"errorMessage","nameLocation":"6271:12:11","nodeType":"VariableDeclaration","scope":1692,"src":"6257:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1669,"name":"string","nodeType":"ElementaryTypeName","src":"6257:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6196:93:11"},"returnParameters":{"id":1674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1692,"src":"6313:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1672,"name":"bytes","nodeType":"ElementaryTypeName","src":"6313:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6312:14:11"},"scope":1822,"src":"6169:326:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1708,"nodeType":"Block","src":"6771:101:11","statements":[{"expression":{"arguments":[{"id":1703,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1695,"src":"6809:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1704,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1697,"src":"6817:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","id":1705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6823:41:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""},"value":"Address: low-level delegate call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""}],"id":1702,"name":"functionDelegateCall","nodeType":"Identifier","overloadedDeclarations":[1709,1738],"referencedDeclaration":1738,"src":"6788:20:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":1706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6788:77:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1701,"id":1707,"nodeType":"Return","src":"6781:84:11"}]},"documentation":{"id":1693,"nodeType":"StructuredDocumentation","src":"6501:168:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"id":1709,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"6683:20:11","nodeType":"FunctionDefinition","parameters":{"id":1698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1695,"mutability":"mutable","name":"target","nameLocation":"6712:6:11","nodeType":"VariableDeclaration","scope":1709,"src":"6704:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1694,"name":"address","nodeType":"ElementaryTypeName","src":"6704:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1697,"mutability":"mutable","name":"data","nameLocation":"6733:4:11","nodeType":"VariableDeclaration","scope":1709,"src":"6720:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1696,"name":"bytes","nodeType":"ElementaryTypeName","src":"6720:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6703:35:11"},"returnParameters":{"id":1701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1709,"src":"6757:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1699,"name":"bytes","nodeType":"ElementaryTypeName","src":"6757:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6756:14:11"},"scope":1822,"src":"6674:198:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1737,"nodeType":"Block","src":"7213:170:11","statements":[{"assignments":[1722,1724],"declarations":[{"constant":false,"id":1722,"mutability":"mutable","name":"success","nameLocation":"7229:7:11","nodeType":"VariableDeclaration","scope":1737,"src":"7224:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1721,"name":"bool","nodeType":"ElementaryTypeName","src":"7224:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1724,"mutability":"mutable","name":"returndata","nameLocation":"7251:10:11","nodeType":"VariableDeclaration","scope":1737,"src":"7238:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1723,"name":"bytes","nodeType":"ElementaryTypeName","src":"7238:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1729,"initialValue":{"arguments":[{"id":1727,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1714,"src":"7285:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1725,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1712,"src":"7265:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7272:12:11","memberName":"delegatecall","nodeType":"MemberAccess","src":"7265:19:11","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":1728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7265:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"7223:67:11"},{"expression":{"arguments":[{"id":1731,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1712,"src":"7334:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1732,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1722,"src":"7342:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1733,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1724,"src":"7351:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1734,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1716,"src":"7363:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1730,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1777,"src":"7307:26:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":1735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:69:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1720,"id":1736,"nodeType":"Return","src":"7300:76:11"}]},"documentation":{"id":1710,"nodeType":"StructuredDocumentation","src":"6878:175:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"id":1738,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"7067:20:11","nodeType":"FunctionDefinition","parameters":{"id":1717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1712,"mutability":"mutable","name":"target","nameLocation":"7105:6:11","nodeType":"VariableDeclaration","scope":1738,"src":"7097:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1711,"name":"address","nodeType":"ElementaryTypeName","src":"7097:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1714,"mutability":"mutable","name":"data","nameLocation":"7134:4:11","nodeType":"VariableDeclaration","scope":1738,"src":"7121:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1713,"name":"bytes","nodeType":"ElementaryTypeName","src":"7121:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1716,"mutability":"mutable","name":"errorMessage","nameLocation":"7162:12:11","nodeType":"VariableDeclaration","scope":1738,"src":"7148:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1715,"name":"string","nodeType":"ElementaryTypeName","src":"7148:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7087:93:11"},"returnParameters":{"id":1720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1738,"src":"7199:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1718,"name":"bytes","nodeType":"ElementaryTypeName","src":"7199:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7198:14:11"},"scope":1822,"src":"7058:325:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1776,"nodeType":"Block","src":"7865:434:11","statements":[{"condition":{"id":1752,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1743,"src":"7879:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1774,"nodeType":"Block","src":"8235:58:11","statements":[{"expression":{"arguments":[{"id":1770,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"8257:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1771,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"8269:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1769,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1821,"src":"8249:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":1772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8249:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1773,"nodeType":"ExpressionStatement","src":"8249:33:11"}]},"id":1775,"nodeType":"IfStatement","src":"7875:418:11","trueBody":{"id":1768,"nodeType":"Block","src":"7888:341:11","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1753,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"7906:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:6:11","memberName":"length","nodeType":"MemberAccess","src":"7906:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7927:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7906:22:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1765,"nodeType":"IfStatement","src":"7902:286:11","trueBody":{"id":1764,"nodeType":"Block","src":"7930:258:11","statements":[{"expression":{"arguments":[{"arguments":[{"id":1759,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"8132:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1758,"name":"isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"8121:10:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8121:18:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","id":1761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8141:31:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""},"value":"Address: call to non-contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""}],"id":1757,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8113:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8113:60:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1763,"nodeType":"ExpressionStatement","src":"8113:60:11"}]}},{"expression":{"id":1766,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"8208:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1751,"id":1767,"nodeType":"Return","src":"8201:17:11"}]}}]},"documentation":{"id":1739,"nodeType":"StructuredDocumentation","src":"7389:277:11","text":" @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._"},"id":1777,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResultFromTarget","nameLocation":"7680:26:11","nodeType":"FunctionDefinition","parameters":{"id":1748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1741,"mutability":"mutable","name":"target","nameLocation":"7724:6:11","nodeType":"VariableDeclaration","scope":1777,"src":"7716:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1740,"name":"address","nodeType":"ElementaryTypeName","src":"7716:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1743,"mutability":"mutable","name":"success","nameLocation":"7745:7:11","nodeType":"VariableDeclaration","scope":1777,"src":"7740:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1742,"name":"bool","nodeType":"ElementaryTypeName","src":"7740:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1745,"mutability":"mutable","name":"returndata","nameLocation":"7775:10:11","nodeType":"VariableDeclaration","scope":1777,"src":"7762:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1744,"name":"bytes","nodeType":"ElementaryTypeName","src":"7762:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1747,"mutability":"mutable","name":"errorMessage","nameLocation":"7809:12:11","nodeType":"VariableDeclaration","scope":1777,"src":"7795:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1746,"name":"string","nodeType":"ElementaryTypeName","src":"7795:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7706:121:11"},"returnParameters":{"id":1751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1777,"src":"7851:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1749,"name":"bytes","nodeType":"ElementaryTypeName","src":"7851:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7850:14:11"},"scope":1822,"src":"7671:628:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1800,"nodeType":"Block","src":"8680:135:11","statements":[{"condition":{"id":1789,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"8694:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1798,"nodeType":"Block","src":"8751:58:11","statements":[{"expression":{"arguments":[{"id":1794,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1782,"src":"8773:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1795,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1784,"src":"8785:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1793,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1821,"src":"8765:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":1796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8765:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1797,"nodeType":"ExpressionStatement","src":"8765:33:11"}]},"id":1799,"nodeType":"IfStatement","src":"8690:119:11","trueBody":{"id":1792,"nodeType":"Block","src":"8703:42:11","statements":[{"expression":{"id":1790,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1782,"src":"8724:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1788,"id":1791,"nodeType":"Return","src":"8717:17:11"}]}}]},"documentation":{"id":1778,"nodeType":"StructuredDocumentation","src":"8305:210:11","text":" @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._"},"id":1801,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResult","nameLocation":"8529:16:11","nodeType":"FunctionDefinition","parameters":{"id":1785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1780,"mutability":"mutable","name":"success","nameLocation":"8560:7:11","nodeType":"VariableDeclaration","scope":1801,"src":"8555:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1779,"name":"bool","nodeType":"ElementaryTypeName","src":"8555:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1782,"mutability":"mutable","name":"returndata","nameLocation":"8590:10:11","nodeType":"VariableDeclaration","scope":1801,"src":"8577:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1781,"name":"bytes","nodeType":"ElementaryTypeName","src":"8577:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1784,"mutability":"mutable","name":"errorMessage","nameLocation":"8624:12:11","nodeType":"VariableDeclaration","scope":1801,"src":"8610:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1783,"name":"string","nodeType":"ElementaryTypeName","src":"8610:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8545:97:11"},"returnParameters":{"id":1788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1801,"src":"8666:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1786,"name":"bytes","nodeType":"ElementaryTypeName","src":"8666:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8665:14:11"},"scope":1822,"src":"8520:295:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1820,"nodeType":"Block","src":"8904:457:11","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1808,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1803,"src":"8980:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8991:6:11","memberName":"length","nodeType":"MemberAccess","src":"8980:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9000:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8980:21:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1818,"nodeType":"Block","src":"9310:45:11","statements":[{"expression":{"arguments":[{"id":1815,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1805,"src":"9331:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1814,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9324:6:11","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":1816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9324:20:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1817,"nodeType":"ExpressionStatement","src":"9324:20:11"}]},"id":1819,"nodeType":"IfStatement","src":"8976:379:11","trueBody":{"id":1813,"nodeType":"Block","src":"9003:301:11","statements":[{"AST":{"nodeType":"YulBlock","src":"9161:133:11","statements":[{"nodeType":"YulVariableDeclaration","src":"9179:40:11","value":{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"9208:10:11"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9202:5:11"},"nodeType":"YulFunctionCall","src":"9202:17:11"},"variables":[{"name":"returndata_size","nodeType":"YulTypedName","src":"9183:15:11","type":""}]},{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9247:2:11","type":"","value":"32"},{"name":"returndata","nodeType":"YulIdentifier","src":"9251:10:11"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9243:3:11"},"nodeType":"YulFunctionCall","src":"9243:19:11"},{"name":"returndata_size","nodeType":"YulIdentifier","src":"9264:15:11"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9236:6:11"},"nodeType":"YulFunctionCall","src":"9236:44:11"},"nodeType":"YulExpressionStatement","src":"9236:44:11"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1803,"isOffset":false,"isSlot":false,"src":"9208:10:11","valueSize":1},{"declaration":1803,"isOffset":false,"isSlot":false,"src":"9251:10:11","valueSize":1}],"id":1812,"nodeType":"InlineAssembly","src":"9152:142:11"}]}}]},"id":1821,"implemented":true,"kind":"function","modifiers":[],"name":"_revert","nameLocation":"8830:7:11","nodeType":"FunctionDefinition","parameters":{"id":1806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1803,"mutability":"mutable","name":"returndata","nameLocation":"8851:10:11","nodeType":"VariableDeclaration","scope":1821,"src":"8838:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1802,"name":"bytes","nodeType":"ElementaryTypeName","src":"8838:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1805,"mutability":"mutable","name":"errorMessage","nameLocation":"8877:12:11","nodeType":"VariableDeclaration","scope":1821,"src":"8863:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1804,"name":"string","nodeType":"ElementaryTypeName","src":"8863:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8837:53:11"},"returnParameters":{"id":1807,"nodeType":"ParameterList","parameters":[],"src":"8904:0:11"},"scope":1822,"src":"8821:540:11","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":1823,"src":"194:9169:11","usedErrors":[],"usedEvents":[]}],"src":"101:9263:11"},"id":11},"@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[1852]},"id":1853,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1824,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:12"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":1825,"nodeType":"StructuredDocumentation","src":"126:496:12","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":1852,"linearizedBaseContracts":[1852],"name":"Context","nameLocation":"641:7:12","nodeType":"ContractDefinition","nodes":[{"body":{"id":1833,"nodeType":"Block","src":"717:34:12","statements":[{"expression":{"expression":{"id":1830,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"734:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"738:6:12","memberName":"sender","nodeType":"MemberAccess","src":"734:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1829,"id":1832,"nodeType":"Return","src":"727:17:12"}]},"id":1834,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"664:10:12","nodeType":"FunctionDefinition","parameters":{"id":1826,"nodeType":"ParameterList","parameters":[],"src":"674:2:12"},"returnParameters":{"id":1829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1834,"src":"708:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1827,"name":"address","nodeType":"ElementaryTypeName","src":"708:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"707:9:12"},"scope":1852,"src":"655:96:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1842,"nodeType":"Block","src":"824:32:12","statements":[{"expression":{"expression":{"id":1839,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"841:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"845:4:12","memberName":"data","nodeType":"MemberAccess","src":"841:8:12","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":1838,"id":1841,"nodeType":"Return","src":"834:15:12"}]},"id":1843,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"766:8:12","nodeType":"FunctionDefinition","parameters":{"id":1835,"nodeType":"ParameterList","parameters":[],"src":"774:2:12"},"returnParameters":{"id":1838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1837,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1843,"src":"808:14:12","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1836,"name":"bytes","nodeType":"ElementaryTypeName","src":"808:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"807:16:12"},"scope":1852,"src":"757:99:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1850,"nodeType":"Block","src":"934:25:12","statements":[{"expression":{"hexValue":"30","id":1848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"951:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":1847,"id":1849,"nodeType":"Return","src":"944:8:12"}]},"id":1851,"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"871:20:12","nodeType":"FunctionDefinition","parameters":{"id":1844,"nodeType":"ParameterList","parameters":[],"src":"891:2:12"},"returnParameters":{"id":1847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1851,"src":"925:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1845,"name":"uint256","nodeType":"ElementaryTypeName","src":"925:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"924:9:12"},"scope":1852,"src":"862:97:12","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1853,"src":"623:338:12","usedErrors":[],"usedEvents":[]}],"src":"101:861:12"},"id":12},"@openzeppelin/contracts/utils/Strings.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","exportedSymbols":{"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":2082,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1854,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:13"},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","id":1855,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2082,"sourceUnit":3350,"src":"126:25:13","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SignedMath.sol","file":"./math/SignedMath.sol","id":1856,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2082,"sourceUnit":3455,"src":"152:31:13","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":1857,"nodeType":"StructuredDocumentation","src":"185:34:13","text":" @dev String operations."},"fullyImplemented":true,"id":2081,"linearizedBaseContracts":[2081],"name":"Strings","nameLocation":"228:7:13","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":1860,"mutability":"constant","name":"_SYMBOLS","nameLocation":"267:8:13","nodeType":"VariableDeclaration","scope":2081,"src":"242:54:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":1858,"name":"bytes16","nodeType":"ElementaryTypeName","src":"242:7:13","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":1859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"278:18:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"constant":true,"id":1863,"mutability":"constant","name":"_ADDRESS_LENGTH","nameLocation":"325:15:13","nodeType":"VariableDeclaration","scope":2081,"src":"302:43:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1861,"name":"uint8","nodeType":"ElementaryTypeName","src":"302:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":1862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"343:2:13","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"body":{"id":1910,"nodeType":"Block","src":"518:625:13","statements":[{"id":1909,"nodeType":"UncheckedBlock","src":"528:609:13","statements":[{"assignments":[1872],"declarations":[{"constant":false,"id":1872,"mutability":"mutable","name":"length","nameLocation":"560:6:13","nodeType":"VariableDeclaration","scope":1909,"src":"552:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1871,"name":"uint256","nodeType":"ElementaryTypeName","src":"552:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1879,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1875,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"580:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1873,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3349,"src":"569:4:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$3349_$","typeString":"type(library Math)"}},"id":1874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"574:5:13","memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":3186,"src":"569:10:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":1876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"569:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"589:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"569:21:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"552:38:13"},{"assignments":[1881],"declarations":[{"constant":false,"id":1881,"mutability":"mutable","name":"buffer","nameLocation":"618:6:13","nodeType":"VariableDeclaration","scope":1909,"src":"604:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1880,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":1886,"initialValue":{"arguments":[{"id":1884,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1872,"src":"638:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"627:10:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":1885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"627:18:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"604:41:13"},{"assignments":[1888],"declarations":[{"constant":false,"id":1888,"mutability":"mutable","name":"ptr","nameLocation":"667:3:13","nodeType":"VariableDeclaration","scope":1909,"src":"659:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1887,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1889,"nodeType":"VariableDeclarationStatement","src":"659:11:13"},{"AST":{"nodeType":"YulBlock","src":"740:67:13","statements":[{"nodeType":"YulAssignment","src":"758:35:13","value":{"arguments":[{"name":"buffer","nodeType":"YulIdentifier","src":"769:6:13"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"781:2:13","type":"","value":"32"},{"name":"length","nodeType":"YulIdentifier","src":"785:6:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:13"},"nodeType":"YulFunctionCall","src":"777:15:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"765:3:13"},"nodeType":"YulFunctionCall","src":"765:28:13"},"variableNames":[{"name":"ptr","nodeType":"YulIdentifier","src":"758:3:13"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1881,"isOffset":false,"isSlot":false,"src":"769:6:13","valueSize":1},{"declaration":1872,"isOffset":false,"isSlot":false,"src":"785:6:13","valueSize":1},{"declaration":1888,"isOffset":false,"isSlot":false,"src":"758:3:13","valueSize":1}],"id":1890,"nodeType":"InlineAssembly","src":"731:76:13"},{"body":{"id":1905,"nodeType":"Block","src":"833:267:13","statements":[{"expression":{"id":1893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"851:5:13","subExpression":{"id":1892,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1888,"src":"851:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1894,"nodeType":"ExpressionStatement","src":"851:5:13"},{"AST":{"nodeType":"YulBlock","src":"934:84:13","statements":[{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"964:3:13"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"978:5:13"},{"kind":"number","nodeType":"YulLiteral","src":"985:2:13","type":"","value":"10"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"974:3:13"},"nodeType":"YulFunctionCall","src":"974:14:13"},{"name":"_SYMBOLS","nodeType":"YulIdentifier","src":"990:8:13"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"969:4:13"},"nodeType":"YulFunctionCall","src":"969:30:13"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"956:7:13"},"nodeType":"YulFunctionCall","src":"956:44:13"},"nodeType":"YulExpressionStatement","src":"956:44:13"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1860,"isOffset":false,"isSlot":false,"src":"990:8:13","valueSize":1},{"declaration":1888,"isOffset":false,"isSlot":false,"src":"964:3:13","valueSize":1},{"declaration":1866,"isOffset":false,"isSlot":false,"src":"978:5:13","valueSize":1}],"id":1895,"nodeType":"InlineAssembly","src":"925:93:13"},{"expression":{"id":1898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1896,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"1035:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":1897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1044:2:13","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1035:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1899,"nodeType":"ExpressionStatement","src":"1035:11:13"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1900,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"1068:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1068:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1904,"nodeType":"IfStatement","src":"1064:21:13","trueBody":{"id":1903,"nodeType":"Break","src":"1080:5:13"}}]},"condition":{"hexValue":"74727565","id":1891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"827:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":1906,"nodeType":"WhileStatement","src":"820:280:13"},{"expression":{"id":1907,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1881,"src":"1120:6:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1870,"id":1908,"nodeType":"Return","src":"1113:13:13"}]}]},"documentation":{"id":1864,"nodeType":"StructuredDocumentation","src":"352:90:13","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"id":1911,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"456:8:13","nodeType":"FunctionDefinition","parameters":{"id":1867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1866,"mutability":"mutable","name":"value","nameLocation":"473:5:13","nodeType":"VariableDeclaration","scope":1911,"src":"465:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1865,"name":"uint256","nodeType":"ElementaryTypeName","src":"465:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"464:15:13"},"returnParameters":{"id":1870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1911,"src":"503:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1868,"name":"string","nodeType":"ElementaryTypeName","src":"503:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"502:15:13"},"scope":2081,"src":"447:696:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1938,"nodeType":"Block","src":"1313:103:13","statements":[{"expression":{"arguments":[{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1923,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"1354:5:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":1924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1362:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1354:9:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":1927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1372:2:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":1928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1354:20:13","trueExpression":{"hexValue":"2d","id":1926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1366:3:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":1932,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"1400:5:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1930,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3454,"src":"1385:10:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignedMath_$3454_$","typeString":"type(library SignedMath)"}},"id":1931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1396:3:13","memberName":"abs","nodeType":"MemberAccess","referencedDeclaration":3453,"src":"1385:14:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":1933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:21:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1929,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[1911,1939],"referencedDeclaration":1911,"src":"1376:8:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":1934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1376:31:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1337:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1341:12:13","memberName":"encodePacked","nodeType":"MemberAccess","src":"1337:16:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1337:71:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1330:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":1919,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:13","typeDescriptions":{}}},"id":1936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1330:79:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1918,"id":1937,"nodeType":"Return","src":"1323:86:13"}]},"documentation":{"id":1912,"nodeType":"StructuredDocumentation","src":"1149:89:13","text":" @dev Converts a `int256` to its ASCII `string` decimal representation."},"id":1939,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1252:8:13","nodeType":"FunctionDefinition","parameters":{"id":1915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1914,"mutability":"mutable","name":"value","nameLocation":"1268:5:13","nodeType":"VariableDeclaration","scope":1939,"src":"1261:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1913,"name":"int256","nodeType":"ElementaryTypeName","src":"1261:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1260:14:13"},"returnParameters":{"id":1918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1939,"src":"1298:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1916,"name":"string","nodeType":"ElementaryTypeName","src":"1298:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1297:15:13"},"scope":2081,"src":"1243:173:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1958,"nodeType":"Block","src":"1595:100:13","statements":[{"id":1957,"nodeType":"UncheckedBlock","src":"1605:84:13","statements":[{"expression":{"arguments":[{"id":1948,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"1648:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1951,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"1667:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1949,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3349,"src":"1655:4:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$3349_$","typeString":"type(library Math)"}},"id":1950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:6:13","memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":3309,"src":"1655:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1655:18:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1676:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1655:22:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1947,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[1959,2035,2055],"referencedDeclaration":2035,"src":"1636:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":1955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1636:42:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1946,"id":1956,"nodeType":"Return","src":"1629:49:13"}]}]},"documentation":{"id":1940,"nodeType":"StructuredDocumentation","src":"1422:94:13","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"id":1959,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1530:11:13","nodeType":"FunctionDefinition","parameters":{"id":1943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1942,"mutability":"mutable","name":"value","nameLocation":"1550:5:13","nodeType":"VariableDeclaration","scope":1959,"src":"1542:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1941,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:15:13"},"returnParameters":{"id":1946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1959,"src":"1580:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1944,"name":"string","nodeType":"ElementaryTypeName","src":"1580:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1579:15:13"},"scope":2081,"src":"1521:174:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2034,"nodeType":"Block","src":"1908:347:13","statements":[{"assignments":[1970],"declarations":[{"constant":false,"id":1970,"mutability":"mutable","name":"buffer","nameLocation":"1931:6:13","nodeType":"VariableDeclaration","scope":2034,"src":"1918:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1969,"name":"bytes","nodeType":"ElementaryTypeName","src":"1918:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1979,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":1973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1950:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1974,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1964,"src":"1954:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1950:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":1976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1963:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1950:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1940:9:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":1971,"name":"bytes","nodeType":"ElementaryTypeName","src":"1944:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":1978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1918:47:13"},{"expression":{"id":1984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1980,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"1975:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1982,"indexExpression":{"hexValue":"30","id":1981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1982:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1975:9:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1987:3:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1975:15:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":1985,"nodeType":"ExpressionStatement","src":"1975:15:13"},{"expression":{"id":1990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1986,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"2000:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1988,"indexExpression":{"hexValue":"31","id":1987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2007:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2000:9:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":1989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2012:3:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"2000:15:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":1991,"nodeType":"ExpressionStatement","src":"2000:15:13"},{"body":{"id":2020,"nodeType":"Block","src":"2070:83:13","statements":[{"expression":{"id":2014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2006,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"2084:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2008,"indexExpression":{"id":2007,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"2091:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2084:9:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2009,"name":"_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1860,"src":"2096:8:13","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":2013,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2010,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1962,"src":"2105:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":2011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2113:3:13","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"2105:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2096:21:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2084:33:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":2015,"nodeType":"ExpressionStatement","src":"2084:33:13"},{"expression":{"id":2018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2016,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1962,"src":"2131:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":2017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2141:1:13","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"2131:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2019,"nodeType":"ExpressionStatement","src":"2131:11:13"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2000,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"2058:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":2001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2062:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2058:5:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2021,"initializationExpression":{"assignments":[1993],"declarations":[{"constant":false,"id":1993,"mutability":"mutable","name":"i","nameLocation":"2038:1:13","nodeType":"VariableDeclaration","scope":2021,"src":"2030:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1992,"name":"uint256","nodeType":"ElementaryTypeName","src":"2030:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1999,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":1994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1995,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1964,"src":"2046:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2042:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2055:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2042:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2030:26:13"},"loopExpression":{"expression":{"id":2004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2065:3:13","subExpression":{"id":2003,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"2067:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2005,"nodeType":"ExpressionStatement","src":"2065:3:13"},"nodeType":"ForStatement","src":"2025:128:13"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2023,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1962,"src":"2170:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2179:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2170:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":2026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2182:34:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""},"value":"Strings: hex length insufficient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""}],"id":2022,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2162:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2028,"nodeType":"ExpressionStatement","src":"2162:55:13"},{"expression":{"arguments":[{"id":2031,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"2241:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2234:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2029,"name":"string","nodeType":"ElementaryTypeName","src":"2234:6:13","typeDescriptions":{}}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2234:14:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1968,"id":2033,"nodeType":"Return","src":"2227:21:13"}]},"documentation":{"id":1960,"nodeType":"StructuredDocumentation","src":"1701:112:13","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"id":2035,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1827:11:13","nodeType":"FunctionDefinition","parameters":{"id":1965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1962,"mutability":"mutable","name":"value","nameLocation":"1847:5:13","nodeType":"VariableDeclaration","scope":2035,"src":"1839:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1961,"name":"uint256","nodeType":"ElementaryTypeName","src":"1839:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1964,"mutability":"mutable","name":"length","nameLocation":"1862:6:13","nodeType":"VariableDeclaration","scope":2035,"src":"1854:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1963,"name":"uint256","nodeType":"ElementaryTypeName","src":"1854:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:31:13"},"returnParameters":{"id":1968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1967,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2035,"src":"1893:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1966,"name":"string","nodeType":"ElementaryTypeName","src":"1893:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1892:15:13"},"scope":2081,"src":"1818:437:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2054,"nodeType":"Block","src":"2480:76:13","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":2048,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2038,"src":"2525:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2517:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2046,"name":"uint160","nodeType":"ElementaryTypeName","src":"2517:7:13","typeDescriptions":{}}},"id":2049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2517:13:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2509:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2044,"name":"uint256","nodeType":"ElementaryTypeName","src":"2509:7:13","typeDescriptions":{}}},"id":2050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2051,"name":"_ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1863,"src":"2533:15:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2043,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[1959,2035,2055],"referencedDeclaration":2035,"src":"2497:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2497:52:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":2042,"id":2053,"nodeType":"Return","src":"2490:59:13"}]},"documentation":{"id":2036,"nodeType":"StructuredDocumentation","src":"2261:141:13","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation."},"id":2055,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2416:11:13","nodeType":"FunctionDefinition","parameters":{"id":2039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2038,"mutability":"mutable","name":"addr","nameLocation":"2436:4:13","nodeType":"VariableDeclaration","scope":2055,"src":"2428:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2037,"name":"address","nodeType":"ElementaryTypeName","src":"2428:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2427:14:13"},"returnParameters":{"id":2042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2055,"src":"2465:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2040,"name":"string","nodeType":"ElementaryTypeName","src":"2465:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2464:15:13"},"scope":2081,"src":"2407:149:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2079,"nodeType":"Block","src":"2711:66:13","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2068,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2058,"src":"2744:1:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2738:5:13","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2066,"name":"bytes","nodeType":"ElementaryTypeName","src":"2738:5:13","typeDescriptions":{}}},"id":2069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2738:8:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2065,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2728:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":2074,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2060,"src":"2767:1:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2761:5:13","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2072,"name":"bytes","nodeType":"ElementaryTypeName","src":"2761:5:13","typeDescriptions":{}}},"id":2075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:8:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2071,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2751:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2751:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2728:42:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2064,"id":2078,"nodeType":"Return","src":"2721:49:13"}]},"documentation":{"id":2056,"nodeType":"StructuredDocumentation","src":"2562:66:13","text":" @dev Returns true if the two strings are equal."},"id":2080,"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"2642:5:13","nodeType":"FunctionDefinition","parameters":{"id":2061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2058,"mutability":"mutable","name":"a","nameLocation":"2662:1:13","nodeType":"VariableDeclaration","scope":2080,"src":"2648:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2057,"name":"string","nodeType":"ElementaryTypeName","src":"2648:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2060,"mutability":"mutable","name":"b","nameLocation":"2679:1:13","nodeType":"VariableDeclaration","scope":2080,"src":"2665:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2059,"name":"string","nodeType":"ElementaryTypeName","src":"2665:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2647:34:13"},"returnParameters":{"id":2064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2080,"src":"2705:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2062,"name":"bool","nodeType":"ElementaryTypeName","src":"2705:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2704:6:13"},"scope":2081,"src":"2633:144:13","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":2082,"src":"220:2559:13","usedErrors":[],"usedEvents":[]}],"src":"101:2679:13"},"id":13},"@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","exportedSymbols":{"ECDSA":[2447],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":2448,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2083,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:14"},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"../Strings.sol","id":2084,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2448,"sourceUnit":2082,"src":"137:24:14","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"library","documentation":{"id":2085,"nodeType":"StructuredDocumentation","src":"163:205:14","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":2447,"linearizedBaseContracts":[2447],"name":"ECDSA","nameLocation":"377:5:14","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":2091,"members":[{"id":2086,"name":"NoError","nameLocation":"417:7:14","nodeType":"EnumValue","src":"417:7:14"},{"id":2087,"name":"InvalidSignature","nameLocation":"434:16:14","nodeType":"EnumValue","src":"434:16:14"},{"id":2088,"name":"InvalidSignatureLength","nameLocation":"460:22:14","nodeType":"EnumValue","src":"460:22:14"},{"id":2089,"name":"InvalidSignatureS","nameLocation":"492:17:14","nodeType":"EnumValue","src":"492:17:14"},{"id":2090,"name":"InvalidSignatureV","nameLocation":"519:17:14","nodeType":"EnumValue","src":"519:17:14"}],"name":"RecoverError","nameLocation":"394:12:14","nodeType":"EnumDefinition","src":"389:175:14"},{"body":{"id":2134,"nodeType":"Block","src":"624:457:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2097,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"638:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2098,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"647:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"660:7:14","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":2086,"src":"647:20:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"638:29:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2103,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"734:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2104,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"743:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"756:16:14","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":2087,"src":"743:29:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"734:38:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2112,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"843:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2113,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"852:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"865:22:14","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":2088,"src":"852:35:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"843:44:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2121,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"965:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2122,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"974:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"987:17:14","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":2089,"src":"974:30:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"965:39:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2130,"nodeType":"IfStatement","src":"961:114:14","trueBody":{"id":2129,"nodeType":"Block","src":"1006:69:14","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c7565","id":2126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1027:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""},"value":"ECDSA: invalid signature 's' value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""}],"id":2125,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1020:6:14","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1020:44:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2128,"nodeType":"ExpressionStatement","src":"1020:44:14"}]}},"id":2131,"nodeType":"IfStatement","src":"839:236:14","trueBody":{"id":2120,"nodeType":"Block","src":"889:66:14","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","id":2117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"910:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""},"value":"ECDSA: invalid signature length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""}],"id":2116,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"903:6:14","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"903:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2119,"nodeType":"ExpressionStatement","src":"903:41:14"}]}},"id":2132,"nodeType":"IfStatement","src":"730:345:14","trueBody":{"id":2111,"nodeType":"Block","src":"774:59:14","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","id":2108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"795:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""},"value":"ECDSA: invalid signature"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""}],"id":2107,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"788:6:14","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"788:34:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2110,"nodeType":"ExpressionStatement","src":"788:34:14"}]}},"id":2133,"nodeType":"IfStatement","src":"634:441:14","trueBody":{"id":2102,"nodeType":"Block","src":"669:55:14","statements":[{"functionReturnParameters":2096,"id":2101,"nodeType":"Return","src":"683:7:14"}]}}]},"id":2135,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"579:11:14","nodeType":"FunctionDefinition","parameters":{"id":2095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2094,"mutability":"mutable","name":"error","nameLocation":"604:5:14","nodeType":"VariableDeclaration","scope":2135,"src":"591:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2093,"nodeType":"UserDefinedTypeName","pathNode":{"id":2092,"name":"RecoverError","nameLocations":["591:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"591:12:14"},"referencedDeclaration":2091,"src":"591:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"590:20:14"},"returnParameters":{"id":2096,"nodeType":"ParameterList","parameters":[],"src":"624:0:14"},"scope":2447,"src":"570:511:14","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2180,"nodeType":"Block","src":"2249:626:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2148,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2140,"src":"2263:9:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2273:6:14","memberName":"length","nodeType":"MemberAccess","src":"2263:16:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":2150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2283:2:14","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2263:22:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2178,"nodeType":"Block","src":"2788:81:14","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":2172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2818:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2810:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2170,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:14","typeDescriptions":{}}},"id":2173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2810:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2174,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"2822:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2835:22:14","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":2088,"src":"2822:35:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2176,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2809:49:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2147,"id":2177,"nodeType":"Return","src":"2802:56:14"}]},"id":2179,"nodeType":"IfStatement","src":"2259:610:14","trueBody":{"id":2169,"nodeType":"Block","src":"2287:495:14","statements":[{"assignments":[2153],"declarations":[{"constant":false,"id":2153,"mutability":"mutable","name":"r","nameLocation":"2309:1:14","nodeType":"VariableDeclaration","scope":2169,"src":"2301:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2301:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2154,"nodeType":"VariableDeclarationStatement","src":"2301:9:14"},{"assignments":[2156],"declarations":[{"constant":false,"id":2156,"mutability":"mutable","name":"s","nameLocation":"2332:1:14","nodeType":"VariableDeclaration","scope":2169,"src":"2324:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2324:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2157,"nodeType":"VariableDeclarationStatement","src":"2324:9:14"},{"assignments":[2159],"declarations":[{"constant":false,"id":2159,"mutability":"mutable","name":"v","nameLocation":"2353:1:14","nodeType":"VariableDeclaration","scope":2169,"src":"2347:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2158,"name":"uint8","nodeType":"ElementaryTypeName","src":"2347:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":2160,"nodeType":"VariableDeclarationStatement","src":"2347:7:14"},{"AST":{"nodeType":"YulBlock","src":"2555:171:14","statements":[{"nodeType":"YulAssignment","src":"2573:32:14","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2588:9:14"},{"kind":"number","nodeType":"YulLiteral","src":"2599:4:14","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2584:3:14"},"nodeType":"YulFunctionCall","src":"2584:20:14"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2578:5:14"},"nodeType":"YulFunctionCall","src":"2578:27:14"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2573:1:14"}]},{"nodeType":"YulAssignment","src":"2622:32:14","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2637:9:14"},{"kind":"number","nodeType":"YulLiteral","src":"2648:4:14","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2633:3:14"},"nodeType":"YulFunctionCall","src":"2633:20:14"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2627:5:14"},"nodeType":"YulFunctionCall","src":"2627:27:14"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2622:1:14"}]},{"nodeType":"YulAssignment","src":"2671:41:14","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2681:1:14","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2694:9:14"},{"kind":"number","nodeType":"YulLiteral","src":"2705:4:14","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2690:3:14"},"nodeType":"YulFunctionCall","src":"2690:20:14"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2684:5:14"},"nodeType":"YulFunctionCall","src":"2684:27:14"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2676:4:14"},"nodeType":"YulFunctionCall","src":"2676:36:14"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2671:1:14"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2153,"isOffset":false,"isSlot":false,"src":"2573:1:14","valueSize":1},{"declaration":2156,"isOffset":false,"isSlot":false,"src":"2622:1:14","valueSize":1},{"declaration":2140,"isOffset":false,"isSlot":false,"src":"2588:9:14","valueSize":1},{"declaration":2140,"isOffset":false,"isSlot":false,"src":"2637:9:14","valueSize":1},{"declaration":2140,"isOffset":false,"isSlot":false,"src":"2694:9:14","valueSize":1},{"declaration":2159,"isOffset":false,"isSlot":false,"src":"2671:1:14","valueSize":1}],"id":2161,"nodeType":"InlineAssembly","src":"2546:180:14"},{"expression":{"arguments":[{"id":2163,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"2757:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2164,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"2763:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2165,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2153,"src":"2766:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2166,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2156,"src":"2769:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2162,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2349,"src":"2746:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2746:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2147,"id":2168,"nodeType":"Return","src":"2739:32:14"}]}}]},"documentation":{"id":2136,"nodeType":"StructuredDocumentation","src":"1087:1053:14","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature` or error string. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n _Available since v4.3._"},"id":2181,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2154:10:14","nodeType":"FunctionDefinition","parameters":{"id":2141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2138,"mutability":"mutable","name":"hash","nameLocation":"2173:4:14","nodeType":"VariableDeclaration","scope":2181,"src":"2165:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2165:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2140,"mutability":"mutable","name":"signature","nameLocation":"2192:9:14","nodeType":"VariableDeclaration","scope":2181,"src":"2179:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2139,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2164:38:14"},"returnParameters":{"id":2147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2181,"src":"2226:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2142,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2181,"src":"2235:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2145,"nodeType":"UserDefinedTypeName","pathNode":{"id":2144,"name":"RecoverError","nameLocations":["2235:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"2235:12:14"},"referencedDeclaration":2091,"src":"2235:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"2225:23:14"},"scope":2447,"src":"2145:730:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2207,"nodeType":"Block","src":"3748:140:14","statements":[{"assignments":[2192,2195],"declarations":[{"constant":false,"id":2192,"mutability":"mutable","name":"recovered","nameLocation":"3767:9:14","nodeType":"VariableDeclaration","scope":2207,"src":"3759:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2191,"name":"address","nodeType":"ElementaryTypeName","src":"3759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2195,"mutability":"mutable","name":"error","nameLocation":"3791:5:14","nodeType":"VariableDeclaration","scope":2207,"src":"3778:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2194,"nodeType":"UserDefinedTypeName","pathNode":{"id":2193,"name":"RecoverError","nameLocations":["3778:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"3778:12:14"},"referencedDeclaration":2091,"src":"3778:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":2200,"initialValue":{"arguments":[{"id":2197,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2184,"src":"3811:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2198,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2186,"src":"3817:9:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2196,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2181,"src":"3800:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError)"}},"id":2199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"3758:69:14"},{"expression":{"arguments":[{"id":2202,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"3849:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}],"id":2201,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"3837:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$2091_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":2203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2204,"nodeType":"ExpressionStatement","src":"3837:18:14"},{"expression":{"id":2205,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"3872:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2190,"id":2206,"nodeType":"Return","src":"3865:16:14"}]},"documentation":{"id":2182,"nodeType":"StructuredDocumentation","src":"2881:775:14","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it."},"id":2208,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3670:7:14","nodeType":"FunctionDefinition","parameters":{"id":2187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2184,"mutability":"mutable","name":"hash","nameLocation":"3686:4:14","nodeType":"VariableDeclaration","scope":2208,"src":"3678:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3678:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2186,"mutability":"mutable","name":"signature","nameLocation":"3705:9:14","nodeType":"VariableDeclaration","scope":2208,"src":"3692:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2185,"name":"bytes","nodeType":"ElementaryTypeName","src":"3692:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3677:38:14"},"returnParameters":{"id":2190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2208,"src":"3739:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2188,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3738:9:14"},"scope":2447,"src":"3661:227:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2254,"nodeType":"Block","src":"4245:203:14","statements":[{"assignments":[2224],"declarations":[{"constant":false,"id":2224,"mutability":"mutable","name":"s","nameLocation":"4263:1:14","nodeType":"VariableDeclaration","scope":2254,"src":"4255:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4255:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2231,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2225,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"4267:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":2228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4280:66:14","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":2227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4272:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4272:7:14","typeDescriptions":{}}},"id":2229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4272:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4267:80:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4255:92:14"},{"assignments":[2233],"declarations":[{"constant":false,"id":2233,"mutability":"mutable","name":"v","nameLocation":"4363:1:14","nodeType":"VariableDeclaration","scope":2254,"src":"4357:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2232,"name":"uint8","nodeType":"ElementaryTypeName","src":"4357:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":2246,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2238,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"4382:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4374:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2236,"name":"uint256","nodeType":"ElementaryTypeName","src":"4374:7:14","typeDescriptions":{}}},"id":2239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4374:11:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":2240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4389:3:14","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4374:18:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2242,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4373:20:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":2243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4396:2:14","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4373:25:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4367:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2234,"name":"uint8","nodeType":"ElementaryTypeName","src":"4367:5:14","typeDescriptions":{}}},"id":2245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4367:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4357:42:14"},{"expression":{"arguments":[{"id":2248,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"4427:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2249,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2233,"src":"4433:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2250,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2213,"src":"4436:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2251,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2224,"src":"4439:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2247,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2349,"src":"4416:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4416:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2222,"id":2253,"nodeType":"Return","src":"4409:32:14"}]},"documentation":{"id":2209,"nodeType":"StructuredDocumentation","src":"3894:243:14","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n _Available since v4.3._"},"id":2255,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4151:10:14","nodeType":"FunctionDefinition","parameters":{"id":2216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2211,"mutability":"mutable","name":"hash","nameLocation":"4170:4:14","nodeType":"VariableDeclaration","scope":2255,"src":"4162:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4162:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2213,"mutability":"mutable","name":"r","nameLocation":"4184:1:14","nodeType":"VariableDeclaration","scope":2255,"src":"4176:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4176:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2215,"mutability":"mutable","name":"vs","nameLocation":"4195:2:14","nodeType":"VariableDeclaration","scope":2255,"src":"4187:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4187:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4161:37:14"},"returnParameters":{"id":2222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2255,"src":"4222:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2217,"name":"address","nodeType":"ElementaryTypeName","src":"4222:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2255,"src":"4231:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2220,"nodeType":"UserDefinedTypeName","pathNode":{"id":2219,"name":"RecoverError","nameLocations":["4231:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"4231:12:14"},"referencedDeclaration":2091,"src":"4231:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"4221:23:14"},"scope":2447,"src":"4142:306:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2284,"nodeType":"Block","src":"4699:136:14","statements":[{"assignments":[2268,2271],"declarations":[{"constant":false,"id":2268,"mutability":"mutable","name":"recovered","nameLocation":"4718:9:14","nodeType":"VariableDeclaration","scope":2284,"src":"4710:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2267,"name":"address","nodeType":"ElementaryTypeName","src":"4710:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2271,"mutability":"mutable","name":"error","nameLocation":"4742:5:14","nodeType":"VariableDeclaration","scope":2284,"src":"4729:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2270,"nodeType":"UserDefinedTypeName","pathNode":{"id":2269,"name":"RecoverError","nameLocations":["4729:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"4729:12:14"},"referencedDeclaration":2091,"src":"4729:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":2277,"initialValue":{"arguments":[{"id":2273,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2258,"src":"4762:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2274,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2260,"src":"4768:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2275,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2262,"src":"4771:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2272,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2255,"src":"4751:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4751:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"4709:65:14"},{"expression":{"arguments":[{"id":2279,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2271,"src":"4796:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}],"id":2278,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"4784:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$2091_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":2280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4784:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2281,"nodeType":"ExpressionStatement","src":"4784:18:14"},{"expression":{"id":2282,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2268,"src":"4819:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2266,"id":2283,"nodeType":"Return","src":"4812:16:14"}]},"documentation":{"id":2256,"nodeType":"StructuredDocumentation","src":"4454:154:14","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n _Available since v4.2._"},"id":2285,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4622:7:14","nodeType":"FunctionDefinition","parameters":{"id":2263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2258,"mutability":"mutable","name":"hash","nameLocation":"4638:4:14","nodeType":"VariableDeclaration","scope":2285,"src":"4630:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4630:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2260,"mutability":"mutable","name":"r","nameLocation":"4652:1:14","nodeType":"VariableDeclaration","scope":2285,"src":"4644:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4644:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2262,"mutability":"mutable","name":"vs","nameLocation":"4663:2:14","nodeType":"VariableDeclaration","scope":2285,"src":"4655:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4655:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4629:37:14"},"returnParameters":{"id":2266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2285,"src":"4690:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2264,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4689:9:14"},"scope":2447,"src":"4613:222:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2348,"nodeType":"Block","src":"5120:1345:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2304,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"6016:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6008:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2302,"name":"uint256","nodeType":"ElementaryTypeName","src":"6008:7:14","typeDescriptions":{}}},"id":2305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6008:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":2306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6021:66:14","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6008:79:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2317,"nodeType":"IfStatement","src":"6004:161:14","trueBody":{"id":2316,"nodeType":"Block","src":"6089:76:14","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":2310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6119:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6111:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2308,"name":"address","nodeType":"ElementaryTypeName","src":"6111:7:14","typeDescriptions":{}}},"id":2311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6111:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2312,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6123:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6136:17:14","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":2089,"src":"6123:30:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2314,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6110:44:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2301,"id":2315,"nodeType":"Return","src":"6103:51:14"}]}},{"assignments":[2319],"declarations":[{"constant":false,"id":2319,"mutability":"mutable","name":"signer","nameLocation":"6267:6:14","nodeType":"VariableDeclaration","scope":2348,"src":"6259:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2318,"name":"address","nodeType":"ElementaryTypeName","src":"6259:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2326,"initialValue":{"arguments":[{"id":2321,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2288,"src":"6286:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2322,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"6292:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2323,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"6295:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2324,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"6298:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2320,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6276:9:14","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":2325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6276:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6259:41:14"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2327,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"6314:6:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6332:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6324:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"6324:7:14","typeDescriptions":{}}},"id":2331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6324:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6314:20:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2342,"nodeType":"IfStatement","src":"6310:101:14","trueBody":{"id":2341,"nodeType":"Block","src":"6336:75:14","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":2335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6366:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6358:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2333,"name":"address","nodeType":"ElementaryTypeName","src":"6358:7:14","typeDescriptions":{}}},"id":2336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6358:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2337,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6370:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6383:16:14","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":2087,"src":"6370:29:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2339,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6357:43:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2301,"id":2340,"nodeType":"Return","src":"6350:50:14"}]}},{"expression":{"components":[{"id":2343,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"6429:6:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2344,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6437:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6450:7:14","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":2086,"src":"6437:20:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2346,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6428:30:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2301,"id":2347,"nodeType":"Return","src":"6421:37:14"}]},"documentation":{"id":2286,"nodeType":"StructuredDocumentation","src":"4841:163:14","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately.\n _Available since v4.3._"},"id":2349,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5018:10:14","nodeType":"FunctionDefinition","parameters":{"id":2295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2288,"mutability":"mutable","name":"hash","nameLocation":"5037:4:14","nodeType":"VariableDeclaration","scope":2349,"src":"5029:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5029:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2290,"mutability":"mutable","name":"v","nameLocation":"5049:1:14","nodeType":"VariableDeclaration","scope":2349,"src":"5043:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2289,"name":"uint8","nodeType":"ElementaryTypeName","src":"5043:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":2292,"mutability":"mutable","name":"r","nameLocation":"5060:1:14","nodeType":"VariableDeclaration","scope":2349,"src":"5052:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5052:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2294,"mutability":"mutable","name":"s","nameLocation":"5071:1:14","nodeType":"VariableDeclaration","scope":2349,"src":"5063:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5063:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5028:45:14"},"returnParameters":{"id":2301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2349,"src":"5097:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2296,"name":"address","nodeType":"ElementaryTypeName","src":"5097:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2349,"src":"5106:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2299,"nodeType":"UserDefinedTypeName","pathNode":{"id":2298,"name":"RecoverError","nameLocations":["5106:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"5106:12:14"},"referencedDeclaration":2091,"src":"5106:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"5096:23:14"},"scope":2447,"src":"5009:1456:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2381,"nodeType":"Block","src":"6692:138:14","statements":[{"assignments":[2364,2367],"declarations":[{"constant":false,"id":2364,"mutability":"mutable","name":"recovered","nameLocation":"6711:9:14","nodeType":"VariableDeclaration","scope":2381,"src":"6703:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2363,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2367,"mutability":"mutable","name":"error","nameLocation":"6735:5:14","nodeType":"VariableDeclaration","scope":2381,"src":"6722:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2366,"nodeType":"UserDefinedTypeName","pathNode":{"id":2365,"name":"RecoverError","nameLocations":["6722:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"6722:12:14"},"referencedDeclaration":2091,"src":"6722:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":2374,"initialValue":{"arguments":[{"id":2369,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"6755:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2370,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"6761:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2371,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"6764:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2372,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2358,"src":"6767:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2368,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2349,"src":"6744:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6744:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"6702:67:14"},{"expression":{"arguments":[{"id":2376,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2367,"src":"6791:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}],"id":2375,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"6779:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$2091_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6779:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2378,"nodeType":"ExpressionStatement","src":"6779:18:14"},{"expression":{"id":2379,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2364,"src":"6814:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2362,"id":2380,"nodeType":"Return","src":"6807:16:14"}]},"documentation":{"id":2350,"nodeType":"StructuredDocumentation","src":"6471:122:14","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":2382,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"6607:7:14","nodeType":"FunctionDefinition","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2352,"mutability":"mutable","name":"hash","nameLocation":"6623:4:14","nodeType":"VariableDeclaration","scope":2382,"src":"6615:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6615:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2354,"mutability":"mutable","name":"v","nameLocation":"6635:1:14","nodeType":"VariableDeclaration","scope":2382,"src":"6629:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2353,"name":"uint8","nodeType":"ElementaryTypeName","src":"6629:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":2356,"mutability":"mutable","name":"r","nameLocation":"6646:1:14","nodeType":"VariableDeclaration","scope":2382,"src":"6638:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6638:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2358,"mutability":"mutable","name":"s","nameLocation":"6657:1:14","nodeType":"VariableDeclaration","scope":2382,"src":"6649:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6649:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6614:45:14"},"returnParameters":{"id":2362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2382,"src":"6683:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2360,"name":"address","nodeType":"ElementaryTypeName","src":"6683:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6682:9:14"},"scope":2447,"src":"6598:232:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2391,"nodeType":"Block","src":"7206:310:14","statements":[{"AST":{"nodeType":"YulBlock","src":"7362:148:14","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7383:4:14","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nodeType":"YulLiteral","src":"7389:34:14","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7376:6:14"},"nodeType":"YulFunctionCall","src":"7376:48:14"},"nodeType":"YulExpressionStatement","src":"7376:48:14"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7444:4:14","type":"","value":"0x1c"},{"name":"hash","nodeType":"YulIdentifier","src":"7450:4:14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7437:6:14"},"nodeType":"YulFunctionCall","src":"7437:18:14"},"nodeType":"YulExpressionStatement","src":"7437:18:14"},{"nodeType":"YulAssignment","src":"7468:32:14","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7489:4:14","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"7495:4:14","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"7479:9:14"},"nodeType":"YulFunctionCall","src":"7479:21:14"},"variableNames":[{"name":"message","nodeType":"YulIdentifier","src":"7468:7:14"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2385,"isOffset":false,"isSlot":false,"src":"7450:4:14","valueSize":1},{"declaration":2388,"isOffset":false,"isSlot":false,"src":"7468:7:14","valueSize":1}],"id":2390,"nodeType":"InlineAssembly","src":"7353:157:14"}]},"documentation":{"id":2383,"nodeType":"StructuredDocumentation","src":"6836:279:14","text":" @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"id":2392,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7129:22:14","nodeType":"FunctionDefinition","parameters":{"id":2386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2385,"mutability":"mutable","name":"hash","nameLocation":"7160:4:14","nodeType":"VariableDeclaration","scope":2392,"src":"7152:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7152:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7151:14:14"},"returnParameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"mutability":"mutable","name":"message","nameLocation":"7197:7:14","nodeType":"VariableDeclaration","scope":2392,"src":"7189:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7189:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7188:17:14"},"scope":2447,"src":"7120:396:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2413,"nodeType":"Block","src":"7881:116:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a","id":2403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7925:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},"value":"\u0019Ethereum Signed Message:\n"},{"arguments":[{"expression":{"id":2406,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7976:1:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7978:6:14","memberName":"length","nodeType":"MemberAccess","src":"7976:8:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2404,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2081,"src":"7959:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$2081_$","typeString":"type(library Strings)"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7967:8:14","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":1911,"src":"7959:16:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":2408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7959:26:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2409,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7987:1:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7908:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7912:12:14","memberName":"encodePacked","nodeType":"MemberAccess","src":"7908:16:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2400,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7898:9:14","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7898:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2399,"id":2412,"nodeType":"Return","src":"7891:99:14"}]},"documentation":{"id":2393,"nodeType":"StructuredDocumentation","src":"7522:274:14","text":" @dev Returns an Ethereum Signed Message, created from `s`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"id":2414,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7810:22:14","nodeType":"FunctionDefinition","parameters":{"id":2396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2395,"mutability":"mutable","name":"s","nameLocation":"7846:1:14","nodeType":"VariableDeclaration","scope":2414,"src":"7833:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2394,"name":"bytes","nodeType":"ElementaryTypeName","src":"7833:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7832:16:14"},"returnParameters":{"id":2399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2414,"src":"7872:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7872:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7871:9:14"},"scope":2447,"src":"7801:196:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2425,"nodeType":"Block","src":"8443:290:14","statements":[{"AST":{"nodeType":"YulBlock","src":"8505:222:14","statements":[{"nodeType":"YulVariableDeclaration","src":"8519:22:14","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8536:4:14","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8530:5:14"},"nodeType":"YulFunctionCall","src":"8530:11:14"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"8523:3:14","type":""}]},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8561:3:14"},{"hexValue":"1901","kind":"string","nodeType":"YulLiteral","src":"8566:10:14","type":"","value":"\u0019\u0001"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8554:6:14"},"nodeType":"YulFunctionCall","src":"8554:23:14"},"nodeType":"YulExpressionStatement","src":"8554:23:14"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8601:3:14"},{"kind":"number","nodeType":"YulLiteral","src":"8606:4:14","type":"","value":"0x02"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8597:3:14"},"nodeType":"YulFunctionCall","src":"8597:14:14"},{"name":"domainSeparator","nodeType":"YulIdentifier","src":"8613:15:14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8590:6:14"},"nodeType":"YulFunctionCall","src":"8590:39:14"},"nodeType":"YulExpressionStatement","src":"8590:39:14"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8653:3:14"},{"kind":"number","nodeType":"YulLiteral","src":"8658:4:14","type":"","value":"0x22"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8649:3:14"},"nodeType":"YulFunctionCall","src":"8649:14:14"},{"name":"structHash","nodeType":"YulIdentifier","src":"8665:10:14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8642:6:14"},"nodeType":"YulFunctionCall","src":"8642:34:14"},"nodeType":"YulExpressionStatement","src":"8642:34:14"},{"nodeType":"YulAssignment","src":"8689:28:14","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8707:3:14"},{"kind":"number","nodeType":"YulLiteral","src":"8712:4:14","type":"","value":"0x42"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"8697:9:14"},"nodeType":"YulFunctionCall","src":"8697:20:14"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"8689:4:14"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2422,"isOffset":false,"isSlot":false,"src":"8689:4:14","valueSize":1},{"declaration":2417,"isOffset":false,"isSlot":false,"src":"8613:15:14","valueSize":1},{"declaration":2419,"isOffset":false,"isSlot":false,"src":"8665:10:14","valueSize":1}],"id":2424,"nodeType":"InlineAssembly","src":"8496:231:14"}]},"documentation":{"id":2415,"nodeType":"StructuredDocumentation","src":"8003:328:14","text":" @dev Returns an Ethereum Signed Typed Data, created from a\n `domainSeparator` and a `structHash`. This produces hash corresponding\n to the one signed with the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n JSON-RPC method as part of EIP-712.\n See {recover}."},"id":2426,"implemented":true,"kind":"function","modifiers":[],"name":"toTypedDataHash","nameLocation":"8345:15:14","nodeType":"FunctionDefinition","parameters":{"id":2420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2417,"mutability":"mutable","name":"domainSeparator","nameLocation":"8369:15:14","nodeType":"VariableDeclaration","scope":2426,"src":"8361:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8361:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2419,"mutability":"mutable","name":"structHash","nameLocation":"8394:10:14","nodeType":"VariableDeclaration","scope":2426,"src":"8386:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8386:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8360:45:14"},"returnParameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"data","nameLocation":"8437:4:14","nodeType":"VariableDeclaration","scope":2426,"src":"8429:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8429:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8428:14:14"},"scope":2447,"src":"8336:397:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2445,"nodeType":"Block","src":"9048:80:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"1900","id":2439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9092:10:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},"value":"\u0019\u0000"},{"id":2440,"name":"validator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"9104:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2441,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"9115:4:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9075:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9079:12:14","memberName":"encodePacked","nodeType":"MemberAccess","src":"9075:16:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9075:45:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2436,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9065:9:14","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9065:56:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2435,"id":2444,"nodeType":"Return","src":"9058:63:14"}]},"documentation":{"id":2427,"nodeType":"StructuredDocumentation","src":"8739:193:14","text":" @dev Returns an Ethereum Signed Data with intended validator, created from a\n `validator` and `data` according to the version 0 of EIP-191.\n See {recover}."},"id":2446,"implemented":true,"kind":"function","modifiers":[],"name":"toDataWithIntendedValidatorHash","nameLocation":"8946:31:14","nodeType":"FunctionDefinition","parameters":{"id":2432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2429,"mutability":"mutable","name":"validator","nameLocation":"8986:9:14","nodeType":"VariableDeclaration","scope":2446,"src":"8978:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2428,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2431,"mutability":"mutable","name":"data","nameLocation":"9010:4:14","nodeType":"VariableDeclaration","scope":2446,"src":"8997:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2430,"name":"bytes","nodeType":"ElementaryTypeName","src":"8997:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8977:38:14"},"returnParameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2446,"src":"9039:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9039:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9038:9:14"},"scope":2447,"src":"8937:191:14","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":2448,"src":"369:8761:14","usedErrors":[],"usedEvents":[]}],"src":"112:9019:14"},"id":14},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/ERC165.sol","exportedSymbols":{"ERC165":[2471],"IERC165":[2483]},"id":2472,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2449,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:15"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","id":2450,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2472,"sourceUnit":2484,"src":"124:23:15","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":2452,"name":"IERC165","nameLocations":["754:7:15"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"754:7:15"},"id":2453,"nodeType":"InheritanceSpecifier","src":"754:7:15"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":2451,"nodeType":"StructuredDocumentation","src":"149:576:15","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation."},"fullyImplemented":true,"id":2471,"linearizedBaseContracts":[2471,2483],"name":"ERC165","nameLocation":"744:6:15","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[2482],"body":{"id":2469,"nodeType":"Block","src":"920:64:15","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2462,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2456,"src":"937:11:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":2464,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2483,"src":"957:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$2483_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$2483_$","typeString":"type(contract IERC165)"}],"id":2463,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"952:4:15","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:13:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$2483","typeString":"type(contract IERC165)"}},"id":2466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:11:15","memberName":"interfaceId","nodeType":"MemberAccess","src":"952:25:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"937:40:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2461,"id":2468,"nodeType":"Return","src":"930:47:15"}]},"documentation":{"id":2454,"nodeType":"StructuredDocumentation","src":"768:56:15","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":2470,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"838:17:15","nodeType":"FunctionDefinition","overrides":{"id":2458,"nodeType":"OverrideSpecifier","overrides":[],"src":"896:8:15"},"parameters":{"id":2457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2456,"mutability":"mutable","name":"interfaceId","nameLocation":"863:11:15","nodeType":"VariableDeclaration","scope":2470,"src":"856:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2455,"name":"bytes4","nodeType":"ElementaryTypeName","src":"856:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"855:20:15"},"returnParameters":{"id":2461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2470,"src":"914:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2459,"name":"bool","nodeType":"ElementaryTypeName","src":"914:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"913:6:15"},"scope":2471,"src":"829:155:15","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":2472,"src":"726:260:15","usedErrors":[],"usedEvents":[]}],"src":"99:888:15"},"id":15},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","exportedSymbols":{"IERC165":[2483]},"id":2484,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2473,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:16"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"125:279:16","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"id":2483,"linearizedBaseContracts":[2483],"name":"IERC165","nameLocation":"415:7:16","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":2475,"nodeType":"StructuredDocumentation","src":"429:340:16","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","id":2482,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"783:17:16","nodeType":"FunctionDefinition","parameters":{"id":2478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2477,"mutability":"mutable","name":"interfaceId","nameLocation":"808:11:16","nodeType":"VariableDeclaration","scope":2482,"src":"801:18:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2476,"name":"bytes4","nodeType":"ElementaryTypeName","src":"801:6:16","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"800:20:16"},"returnParameters":{"id":2481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2482,"src":"844:4:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2479,"name":"bool","nodeType":"ElementaryTypeName","src":"844:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"843:6:16"},"scope":2483,"src":"774:76:16","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":2484,"src":"405:447:16","usedErrors":[],"usedEvents":[]}],"src":"100:753:16"},"id":16},"@openzeppelin/contracts/utils/math/Math.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","exportedSymbols":{"Math":[3349]},"id":3350,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2485,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:17"},{"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":2486,"nodeType":"StructuredDocumentation","src":"128:73:17","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"id":3349,"linearizedBaseContracts":[3349],"name":"Math","nameLocation":"210:4:17","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Math.Rounding","id":2490,"members":[{"id":2487,"name":"Down","nameLocation":"245:4:17","nodeType":"EnumValue","src":"245:4:17"},{"id":2488,"name":"Up","nameLocation":"287:2:17","nodeType":"EnumValue","src":"287:2:17"},{"id":2489,"name":"Zero","nameLocation":"318:4:17","nodeType":"EnumValue","src":"318:4:17"}],"name":"Rounding","nameLocation":"226:8:17","nodeType":"EnumDefinition","src":"221:122:17"},{"body":{"id":2507,"nodeType":"Block","src":"480:37:17","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2500,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2493,"src":"497:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2501,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2495,"src":"501:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"497:5:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":2504,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2495,"src":"509:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"497:13:17","trueExpression":{"id":2503,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2493,"src":"505:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2499,"id":2506,"nodeType":"Return","src":"490:20:17"}]},"documentation":{"id":2491,"nodeType":"StructuredDocumentation","src":"349:59:17","text":" @dev Returns the largest of two numbers."},"id":2508,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"422:3:17","nodeType":"FunctionDefinition","parameters":{"id":2496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2493,"mutability":"mutable","name":"a","nameLocation":"434:1:17","nodeType":"VariableDeclaration","scope":2508,"src":"426:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2492,"name":"uint256","nodeType":"ElementaryTypeName","src":"426:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2495,"mutability":"mutable","name":"b","nameLocation":"445:1:17","nodeType":"VariableDeclaration","scope":2508,"src":"437:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2494,"name":"uint256","nodeType":"ElementaryTypeName","src":"437:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"425:22:17"},"returnParameters":{"id":2499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2498,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2508,"src":"471:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2497,"name":"uint256","nodeType":"ElementaryTypeName","src":"471:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"470:9:17"},"scope":3349,"src":"413:104:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2525,"nodeType":"Block","src":"655:37:17","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2518,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2511,"src":"672:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2519,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2513,"src":"676:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"672:5:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":2522,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2513,"src":"684:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"672:13:17","trueExpression":{"id":2521,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2511,"src":"680:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2517,"id":2524,"nodeType":"Return","src":"665:20:17"}]},"documentation":{"id":2509,"nodeType":"StructuredDocumentation","src":"523:60:17","text":" @dev Returns the smallest of two numbers."},"id":2526,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"597:3:17","nodeType":"FunctionDefinition","parameters":{"id":2514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2511,"mutability":"mutable","name":"a","nameLocation":"609:1:17","nodeType":"VariableDeclaration","scope":2526,"src":"601:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2510,"name":"uint256","nodeType":"ElementaryTypeName","src":"601:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2513,"mutability":"mutable","name":"b","nameLocation":"620:1:17","nodeType":"VariableDeclaration","scope":2526,"src":"612:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2512,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"600:22:17"},"returnParameters":{"id":2517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2526,"src":"646:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2515,"name":"uint256","nodeType":"ElementaryTypeName","src":"646:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"645:9:17"},"scope":3349,"src":"588:104:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2548,"nodeType":"Block","src":"876:82:17","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2536,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"931:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":2537,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"935:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"931:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"930:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2540,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"941:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":2541,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"945:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"941:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2543,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"940:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":2544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"950:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"940:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"930:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2535,"id":2547,"nodeType":"Return","src":"923:28:17"}]},"documentation":{"id":2527,"nodeType":"StructuredDocumentation","src":"698:102:17","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"id":2549,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"814:7:17","nodeType":"FunctionDefinition","parameters":{"id":2532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2529,"mutability":"mutable","name":"a","nameLocation":"830:1:17","nodeType":"VariableDeclaration","scope":2549,"src":"822:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2528,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2531,"mutability":"mutable","name":"b","nameLocation":"841:1:17","nodeType":"VariableDeclaration","scope":2549,"src":"833:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2530,"name":"uint256","nodeType":"ElementaryTypeName","src":"833:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:22:17"},"returnParameters":{"id":2535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2549,"src":"867:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2533,"name":"uint256","nodeType":"ElementaryTypeName","src":"867:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"866:9:17"},"scope":3349,"src":"805:153:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2573,"nodeType":"Block","src":"1228:123:17","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2559,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2552,"src":"1316:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1316:6:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2563,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2552,"src":"1330:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1334:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1330:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2566,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1329:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2567,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"1339:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1329:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1343:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1329:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1316:28:17","trueExpression":{"hexValue":"30","id":2562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2558,"id":2572,"nodeType":"Return","src":"1309:35:17"}]},"documentation":{"id":2550,"nodeType":"StructuredDocumentation","src":"964:188:17","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down."},"id":2574,"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"1166:7:17","nodeType":"FunctionDefinition","parameters":{"id":2555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2552,"mutability":"mutable","name":"a","nameLocation":"1182:1:17","nodeType":"VariableDeclaration","scope":2574,"src":"1174:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2551,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2554,"mutability":"mutable","name":"b","nameLocation":"1193:1:17","nodeType":"VariableDeclaration","scope":2574,"src":"1185:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2553,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1173:22:17"},"returnParameters":{"id":2558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2574,"src":"1219:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2556,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1218:9:17"},"scope":3349,"src":"1157:194:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2696,"nodeType":"Block","src":"1765:4115:17","statements":[{"id":2695,"nodeType":"UncheckedBlock","src":"1775:4099:17","statements":[{"assignments":[2587],"declarations":[{"constant":false,"id":2587,"mutability":"mutable","name":"prod0","nameLocation":"2104:5:17","nodeType":"VariableDeclaration","scope":2695,"src":"2096:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2586,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2588,"nodeType":"VariableDeclarationStatement","src":"2096:13:17"},{"assignments":[2590],"declarations":[{"constant":false,"id":2590,"mutability":"mutable","name":"prod1","nameLocation":"2176:5:17","nodeType":"VariableDeclaration","scope":2695,"src":"2168:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2589,"name":"uint256","nodeType":"ElementaryTypeName","src":"2168:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2591,"nodeType":"VariableDeclarationStatement","src":"2168:13:17"},{"AST":{"nodeType":"YulBlock","src":"2248:157:17","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:30:17","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2283:1:17"},{"name":"y","nodeType":"YulIdentifier","src":"2286:1:17"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2293:1:17","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2289:3:17"},"nodeType":"YulFunctionCall","src":"2289:6:17"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"2276:6:17"},"nodeType":"YulFunctionCall","src":"2276:20:17"},"variables":[{"name":"mm","nodeType":"YulTypedName","src":"2270:2:17","type":""}]},{"nodeType":"YulAssignment","src":"2313:18:17","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2326:1:17"},{"name":"y","nodeType":"YulIdentifier","src":"2329:1:17"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2322:3:17"},"nodeType":"YulFunctionCall","src":"2322:9:17"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"2313:5:17"}]},{"nodeType":"YulAssignment","src":"2348:43:17","value":{"arguments":[{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"2365:2:17"},{"name":"prod0","nodeType":"YulIdentifier","src":"2369:5:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2361:3:17"},"nodeType":"YulFunctionCall","src":"2361:14:17"},{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"2380:2:17"},{"name":"prod0","nodeType":"YulIdentifier","src":"2384:5:17"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2377:2:17"},"nodeType":"YulFunctionCall","src":"2377:13:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2357:3:17"},"nodeType":"YulFunctionCall","src":"2357:34:17"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"2348:5:17"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2587,"isOffset":false,"isSlot":false,"src":"2313:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"2369:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"2384:5:17","valueSize":1},{"declaration":2590,"isOffset":false,"isSlot":false,"src":"2348:5:17","valueSize":1},{"declaration":2577,"isOffset":false,"isSlot":false,"src":"2283:1:17","valueSize":1},{"declaration":2577,"isOffset":false,"isSlot":false,"src":"2326:1:17","valueSize":1},{"declaration":2579,"isOffset":false,"isSlot":false,"src":"2286:1:17","valueSize":1},{"declaration":2579,"isOffset":false,"isSlot":false,"src":"2329:1:17","valueSize":1}],"id":2592,"nodeType":"InlineAssembly","src":"2239:166:17"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2593,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"2486:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2495:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2486:10:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2601,"nodeType":"IfStatement","src":"2482:368:17","trueBody":{"id":2600,"nodeType":"Block","src":"2498:352:17","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2596,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"2816:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2597,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"2824:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2816:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2585,"id":2599,"nodeType":"Return","src":"2809:26:17"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2603,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"2960:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2604,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"2974:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2960:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d6174683a206d756c446976206f766572666c6f77","id":2606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2981:23:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851","typeString":"literal_string \"Math: mulDiv overflow\""},"value":"Math: mulDiv overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851","typeString":"literal_string \"Math: mulDiv overflow\""}],"id":2602,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2952:7:17","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2952:53:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2608,"nodeType":"ExpressionStatement","src":"2952:53:17"},{"assignments":[2610],"declarations":[{"constant":false,"id":2610,"mutability":"mutable","name":"remainder","nameLocation":"3269:9:17","nodeType":"VariableDeclaration","scope":2695,"src":"3261:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2609,"name":"uint256","nodeType":"ElementaryTypeName","src":"3261:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2611,"nodeType":"VariableDeclarationStatement","src":"3261:17:17"},{"AST":{"nodeType":"YulBlock","src":"3301:291:17","statements":[{"nodeType":"YulAssignment","src":"3370:38:17","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3390:1:17"},{"name":"y","nodeType":"YulIdentifier","src":"3393:1:17"},{"name":"denominator","nodeType":"YulIdentifier","src":"3396:11:17"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"3383:6:17"},"nodeType":"YulFunctionCall","src":"3383:25:17"},"variableNames":[{"name":"remainder","nodeType":"YulIdentifier","src":"3370:9:17"}]},{"nodeType":"YulAssignment","src":"3490:41:17","value":{"arguments":[{"name":"prod1","nodeType":"YulIdentifier","src":"3503:5:17"},{"arguments":[{"name":"remainder","nodeType":"YulIdentifier","src":"3513:9:17"},{"name":"prod0","nodeType":"YulIdentifier","src":"3524:5:17"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3510:2:17"},"nodeType":"YulFunctionCall","src":"3510:20:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3499:3:17"},"nodeType":"YulFunctionCall","src":"3499:32:17"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"3490:5:17"}]},{"nodeType":"YulAssignment","src":"3548:30:17","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"3561:5:17"},{"name":"remainder","nodeType":"YulIdentifier","src":"3568:9:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3557:3:17"},"nodeType":"YulFunctionCall","src":"3557:21:17"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"3548:5:17"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2581,"isOffset":false,"isSlot":false,"src":"3396:11:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"3524:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"3548:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"3561:5:17","valueSize":1},{"declaration":2590,"isOffset":false,"isSlot":false,"src":"3490:5:17","valueSize":1},{"declaration":2590,"isOffset":false,"isSlot":false,"src":"3503:5:17","valueSize":1},{"declaration":2610,"isOffset":false,"isSlot":false,"src":"3370:9:17","valueSize":1},{"declaration":2610,"isOffset":false,"isSlot":false,"src":"3513:9:17","valueSize":1},{"declaration":2610,"isOffset":false,"isSlot":false,"src":"3568:9:17","valueSize":1},{"declaration":2577,"isOffset":false,"isSlot":false,"src":"3390:1:17","valueSize":1},{"declaration":2579,"isOffset":false,"isSlot":false,"src":"3393:1:17","valueSize":1}],"id":2612,"nodeType":"InlineAssembly","src":"3292:300:17"},{"assignments":[2614],"declarations":[{"constant":false,"id":2614,"mutability":"mutable","name":"twos","nameLocation":"3907:4:17","nodeType":"VariableDeclaration","scope":2695,"src":"3899:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2613,"name":"uint256","nodeType":"ElementaryTypeName","src":"3899:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2622,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2615,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"3914:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3929:12:17","subExpression":{"id":2616,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"3930:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3944:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3929:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2620,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3928:18:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3914:32:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3899:47:17"},{"AST":{"nodeType":"YulBlock","src":"3969:362:17","statements":[{"nodeType":"YulAssignment","src":"4034:37:17","value":{"arguments":[{"name":"denominator","nodeType":"YulIdentifier","src":"4053:11:17"},{"name":"twos","nodeType":"YulIdentifier","src":"4066:4:17"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4049:3:17"},"nodeType":"YulFunctionCall","src":"4049:22:17"},"variableNames":[{"name":"denominator","nodeType":"YulIdentifier","src":"4034:11:17"}]},{"nodeType":"YulAssignment","src":"4138:25:17","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"4151:5:17"},{"name":"twos","nodeType":"YulIdentifier","src":"4158:4:17"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4147:3:17"},"nodeType":"YulFunctionCall","src":"4147:16:17"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"4138:5:17"}]},{"nodeType":"YulAssignment","src":"4278:39:17","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4298:1:17","type":"","value":"0"},{"name":"twos","nodeType":"YulIdentifier","src":"4301:4:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4294:3:17"},"nodeType":"YulFunctionCall","src":"4294:12:17"},{"name":"twos","nodeType":"YulIdentifier","src":"4308:4:17"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4290:3:17"},"nodeType":"YulFunctionCall","src":"4290:23:17"},{"kind":"number","nodeType":"YulLiteral","src":"4315:1:17","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4286:3:17"},"nodeType":"YulFunctionCall","src":"4286:31:17"},"variableNames":[{"name":"twos","nodeType":"YulIdentifier","src":"4278:4:17"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2581,"isOffset":false,"isSlot":false,"src":"4034:11:17","valueSize":1},{"declaration":2581,"isOffset":false,"isSlot":false,"src":"4053:11:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"4138:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"4151:5:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4066:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4158:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4278:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4301:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4308:4:17","valueSize":1}],"id":2623,"nodeType":"InlineAssembly","src":"3960:371:17"},{"expression":{"id":2628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2624,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"4397:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2625,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"4406:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2626,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"4414:4:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4406:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4397:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2629,"nodeType":"ExpressionStatement","src":"4397:21:17"},{"assignments":[2631],"declarations":[{"constant":false,"id":2631,"mutability":"mutable","name":"inverse","nameLocation":"4744:7:17","nodeType":"VariableDeclaration","scope":2695,"src":"4736:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2630,"name":"uint256","nodeType":"ElementaryTypeName","src":"4736:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2638,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":2632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4755:1:17","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2633,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"4759:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4755:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2635,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4754:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":2636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4774:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4754:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4736:39:17"},{"expression":{"id":2645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2639,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"4992:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5003:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2641,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5007:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2642,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5021:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5007:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5003:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4992:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2646,"nodeType":"ExpressionStatement","src":"4992:36:17"},{"expression":{"id":2653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2647,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5061:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5072:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2649,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5076:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2650,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5090:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5076:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5072:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5061:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2654,"nodeType":"ExpressionStatement","src":"5061:36:17"},{"expression":{"id":2661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2655,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5131:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5142:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2657,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5146:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2658,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5160:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5146:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5142:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5131:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2662,"nodeType":"ExpressionStatement","src":"5131:36:17"},{"expression":{"id":2669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2663,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5201:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5212:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2665,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5216:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2666,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5230:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5216:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5212:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5201:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2670,"nodeType":"ExpressionStatement","src":"5201:36:17"},{"expression":{"id":2677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2671,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5271:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5282:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2673,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5286:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2674,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5300:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5286:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5282:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5271:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2678,"nodeType":"ExpressionStatement","src":"5271:36:17"},{"expression":{"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2679,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5342:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5353:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2681,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5357:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2682,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5371:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5357:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5353:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5342:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2686,"nodeType":"ExpressionStatement","src":"5342:36:17"},{"expression":{"id":2691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2687,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2584,"src":"5812:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2688,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"5821:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2689,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5829:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5821:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5812:24:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2692,"nodeType":"ExpressionStatement","src":"5812:24:17"},{"expression":{"id":2693,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2584,"src":"5857:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2585,"id":2694,"nodeType":"Return","src":"5850:13:17"}]}]},"documentation":{"id":2575,"nodeType":"StructuredDocumentation","src":"1357:305:17","text":" @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license."},"id":2697,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"1676:6:17","nodeType":"FunctionDefinition","parameters":{"id":2582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2577,"mutability":"mutable","name":"x","nameLocation":"1691:1:17","nodeType":"VariableDeclaration","scope":2697,"src":"1683:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2576,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2579,"mutability":"mutable","name":"y","nameLocation":"1702:1:17","nodeType":"VariableDeclaration","scope":2697,"src":"1694:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"1694:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2581,"mutability":"mutable","name":"denominator","nameLocation":"1713:11:17","nodeType":"VariableDeclaration","scope":2697,"src":"1705:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1705:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1682:43:17"},"returnParameters":{"id":2585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2584,"mutability":"mutable","name":"result","nameLocation":"1757:6:17","nodeType":"VariableDeclaration","scope":2697,"src":"1749:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2583,"name":"uint256","nodeType":"ElementaryTypeName","src":"1749:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1748:16:17"},"scope":3349,"src":"1667:4213:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2740,"nodeType":"Block","src":"6122:189:17","statements":[{"assignments":[2713],"declarations":[{"constant":false,"id":2713,"mutability":"mutable","name":"result","nameLocation":"6140:6:17","nodeType":"VariableDeclaration","scope":2740,"src":"6132:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2712,"name":"uint256","nodeType":"ElementaryTypeName","src":"6132:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2719,"initialValue":{"arguments":[{"id":2715,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2700,"src":"6156:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2716,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2702,"src":"6159:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2717,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2704,"src":"6162:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2714,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[2697,2741],"referencedDeclaration":2697,"src":"6149:6:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":2718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6149:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6132:42:17"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2720,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2707,"src":"6188:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2721,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"6200:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":2722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6209:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"6200:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"6188:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2725,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2700,"src":"6222:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2726,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2702,"src":"6225:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2727,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2704,"src":"6228:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2724,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"6215:6:17","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6215:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6243:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6215:29:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6188:56:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2737,"nodeType":"IfStatement","src":"6184:98:17","trueBody":{"id":2736,"nodeType":"Block","src":"6246:36:17","statements":[{"expression":{"id":2734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2732,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"6260:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":2733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6270:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6260:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2735,"nodeType":"ExpressionStatement","src":"6260:11:17"}]}},{"expression":{"id":2738,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"6298:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2711,"id":2739,"nodeType":"Return","src":"6291:13:17"}]},"documentation":{"id":2698,"nodeType":"StructuredDocumentation","src":"5886:121:17","text":" @notice Calculates x * y / denominator with full precision, following the selected rounding direction."},"id":2741,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"6021:6:17","nodeType":"FunctionDefinition","parameters":{"id":2708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2700,"mutability":"mutable","name":"x","nameLocation":"6036:1:17","nodeType":"VariableDeclaration","scope":2741,"src":"6028:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2699,"name":"uint256","nodeType":"ElementaryTypeName","src":"6028:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2702,"mutability":"mutable","name":"y","nameLocation":"6047:1:17","nodeType":"VariableDeclaration","scope":2741,"src":"6039:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2701,"name":"uint256","nodeType":"ElementaryTypeName","src":"6039:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2704,"mutability":"mutable","name":"denominator","nameLocation":"6058:11:17","nodeType":"VariableDeclaration","scope":2741,"src":"6050:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2703,"name":"uint256","nodeType":"ElementaryTypeName","src":"6050:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2707,"mutability":"mutable","name":"rounding","nameLocation":"6080:8:17","nodeType":"VariableDeclaration","scope":2741,"src":"6071:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":2706,"nodeType":"UserDefinedTypeName","pathNode":{"id":2705,"name":"Rounding","nameLocations":["6071:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"6071:8:17"},"referencedDeclaration":2490,"src":"6071:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"6027:62:17"},"returnParameters":{"id":2711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2741,"src":"6113:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2709,"name":"uint256","nodeType":"ElementaryTypeName","src":"6113:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6112:9:17"},"scope":3349,"src":"6012:299:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2852,"nodeType":"Block","src":"6587:1585:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2749,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"6601:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6606:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6601:6:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2755,"nodeType":"IfStatement","src":"6597:45:17","trueBody":{"id":2754,"nodeType":"Block","src":"6609:33:17","statements":[{"expression":{"hexValue":"30","id":2752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":2748,"id":2753,"nodeType":"Return","src":"6623:8:17"}]}},{"assignments":[2757],"declarations":[{"constant":false,"id":2757,"mutability":"mutable","name":"result","nameLocation":"7329:6:17","nodeType":"VariableDeclaration","scope":2852,"src":"7321:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2756,"name":"uint256","nodeType":"ElementaryTypeName","src":"7321:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2766,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":2758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7338:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2760,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7349:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2759,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[3021,3057],"referencedDeclaration":3021,"src":"7344:4:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7344:7:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7355:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7344:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2764,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7343:14:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7338:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7321:36:17"},{"id":2851,"nodeType":"UncheckedBlock","src":"7758:408:17","statements":[{"expression":{"id":2776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2767,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7782:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2768,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7792:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2769,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7801:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2770,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7805:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7792:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2773,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7791:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7791:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7782:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2777,"nodeType":"ExpressionStatement","src":"7782:35:17"},{"expression":{"id":2787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2778,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7831:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2779,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7841:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2780,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7850:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2781,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7854:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7850:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7841:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2784,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7840:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7865:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7840:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7831:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2788,"nodeType":"ExpressionStatement","src":"7831:35:17"},{"expression":{"id":2798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2789,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7880:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2790,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7890:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2791,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7899:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2792,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7903:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7890:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7889:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7914:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7889:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7880:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2799,"nodeType":"ExpressionStatement","src":"7880:35:17"},{"expression":{"id":2809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2800,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7929:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2801,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7939:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2802,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7948:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2803,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7952:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7948:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7939:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2806,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7938:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7963:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7938:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7929:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2810,"nodeType":"ExpressionStatement","src":"7929:35:17"},{"expression":{"id":2820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2811,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7978:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2812,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7988:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2813,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7997:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2814,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8001:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7997:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7988:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2817,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7987:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8012:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7987:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7978:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2821,"nodeType":"ExpressionStatement","src":"7978:35:17"},{"expression":{"id":2831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2822,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8027:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2823,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8037:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2824,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"8046:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2825,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8050:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8046:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8037:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2828,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8036:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8061:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8036:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8027:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2832,"nodeType":"ExpressionStatement","src":"8027:35:17"},{"expression":{"id":2842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2833,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8076:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2834,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8086:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2835,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"8095:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2836,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8099:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8095:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8086:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2839,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8085:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8110:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8085:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8076:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2843,"nodeType":"ExpressionStatement","src":"8076:35:17"},{"expression":{"arguments":[{"id":2845,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8136:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2846,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"8144:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2847,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8148:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8144:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2844,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"8132:3:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8132:23:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2748,"id":2850,"nodeType":"Return","src":"8125:30:17"}]}]},"documentation":{"id":2742,"nodeType":"StructuredDocumentation","src":"6317:208:17","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)."},"id":2853,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"6539:4:17","nodeType":"FunctionDefinition","parameters":{"id":2745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2744,"mutability":"mutable","name":"a","nameLocation":"6552:1:17","nodeType":"VariableDeclaration","scope":2853,"src":"6544:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2743,"name":"uint256","nodeType":"ElementaryTypeName","src":"6544:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6543:11:17"},"returnParameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2853,"src":"6578:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2746,"name":"uint256","nodeType":"ElementaryTypeName","src":"6578:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6577:9:17"},"scope":3349,"src":"6530:1642:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2888,"nodeType":"Block","src":"8348:161:17","statements":[{"id":2887,"nodeType":"UncheckedBlock","src":"8358:145:17","statements":[{"assignments":[2865],"declarations":[{"constant":false,"id":2865,"mutability":"mutable","name":"result","nameLocation":"8390:6:17","nodeType":"VariableDeclaration","scope":2887,"src":"8382:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2864,"name":"uint256","nodeType":"ElementaryTypeName","src":"8382:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2869,"initialValue":{"arguments":[{"id":2867,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2856,"src":"8404:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2866,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[2853,2889],"referencedDeclaration":2853,"src":"8399:4:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8399:7:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8382:24:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2870,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"8427:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":2874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2871,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2859,"src":"8437:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2872,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"8449:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":2873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8458:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"8449:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"8437:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2875,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"8464:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2876,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"8473:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8464:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2878,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2856,"src":"8482:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8464:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8437:46:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":2882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8490:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":2883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8437:54:17","trueExpression":{"hexValue":"31","id":2881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8486:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8436:56:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8427:65:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2863,"id":2886,"nodeType":"Return","src":"8420:72:17"}]}]},"documentation":{"id":2854,"nodeType":"StructuredDocumentation","src":"8178:89:17","text":" @notice Calculates sqrt(a), following the selected rounding direction."},"id":2889,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"8281:4:17","nodeType":"FunctionDefinition","parameters":{"id":2860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2856,"mutability":"mutable","name":"a","nameLocation":"8294:1:17","nodeType":"VariableDeclaration","scope":2889,"src":"8286:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2855,"name":"uint256","nodeType":"ElementaryTypeName","src":"8286:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2859,"mutability":"mutable","name":"rounding","nameLocation":"8306:8:17","nodeType":"VariableDeclaration","scope":2889,"src":"8297:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":2858,"nodeType":"UserDefinedTypeName","pathNode":{"id":2857,"name":"Rounding","nameLocations":["8297:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"8297:8:17"},"referencedDeclaration":2490,"src":"8297:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"8285:30:17"},"returnParameters":{"id":2863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2889,"src":"8339:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2861,"name":"uint256","nodeType":"ElementaryTypeName","src":"8339:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8338:9:17"},"scope":3349,"src":"8272:237:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3020,"nodeType":"Block","src":"8694:922:17","statements":[{"assignments":[2898],"declarations":[{"constant":false,"id":2898,"mutability":"mutable","name":"result","nameLocation":"8712:6:17","nodeType":"VariableDeclaration","scope":3020,"src":"8704:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2897,"name":"uint256","nodeType":"ElementaryTypeName","src":"8704:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2900,"initialValue":{"hexValue":"30","id":2899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8721:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8704:18:17"},{"id":3017,"nodeType":"UncheckedBlock","src":"8732:855:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2901,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8760:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8760:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8775:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8760:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2915,"nodeType":"IfStatement","src":"8756:99:17","trueBody":{"id":2914,"nodeType":"Block","src":"8778:77:17","statements":[{"expression":{"id":2908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2906,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8796:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":2907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8806:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8796:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2909,"nodeType":"ExpressionStatement","src":"8796:13:17"},{"expression":{"id":2912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2910,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"8827:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"313238","id":2911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8837:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8827:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2913,"nodeType":"ExpressionStatement","src":"8827:13:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2916,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8872:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":2917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8881:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8872:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8886:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8872:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2930,"nodeType":"IfStatement","src":"8868:96:17","trueBody":{"id":2929,"nodeType":"Block","src":"8889:75:17","statements":[{"expression":{"id":2923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2921,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8907:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":2922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8917:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8907:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2924,"nodeType":"ExpressionStatement","src":"8907:12:17"},{"expression":{"id":2927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2925,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"8937:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":2926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8947:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8937:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2928,"nodeType":"ExpressionStatement","src":"8937:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2931,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8981:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":2932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8990:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8981:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8995:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8981:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2945,"nodeType":"IfStatement","src":"8977:96:17","trueBody":{"id":2944,"nodeType":"Block","src":"8998:75:17","statements":[{"expression":{"id":2938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9016:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":2937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9026:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9016:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2939,"nodeType":"ExpressionStatement","src":"9016:12:17"},{"expression":{"id":2942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2940,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9046:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":2941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9056:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9046:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2943,"nodeType":"ExpressionStatement","src":"9046:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2946,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9090:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":2947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9099:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9090:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9104:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9090:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2960,"nodeType":"IfStatement","src":"9086:96:17","trueBody":{"id":2959,"nodeType":"Block","src":"9107:75:17","statements":[{"expression":{"id":2953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2951,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9125:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":2952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9135:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9125:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2954,"nodeType":"ExpressionStatement","src":"9125:12:17"},{"expression":{"id":2957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2955,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9155:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":2956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9165:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9155:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2958,"nodeType":"ExpressionStatement","src":"9155:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2961,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9199:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":2962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9208:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9199:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9212:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9199:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2975,"nodeType":"IfStatement","src":"9195:93:17","trueBody":{"id":2974,"nodeType":"Block","src":"9215:73:17","statements":[{"expression":{"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2966,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9233:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":2967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9243:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9233:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2969,"nodeType":"ExpressionStatement","src":"9233:11:17"},{"expression":{"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2970,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9262:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":2971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9272:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9262:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2973,"nodeType":"ExpressionStatement","src":"9262:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2976,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9305:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":2977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9314:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9305:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9318:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9305:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2990,"nodeType":"IfStatement","src":"9301:93:17","trueBody":{"id":2989,"nodeType":"Block","src":"9321:73:17","statements":[{"expression":{"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2981,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9339:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":2982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9349:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9339:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2984,"nodeType":"ExpressionStatement","src":"9339:11:17"},{"expression":{"id":2987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2985,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9368:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":2986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9378:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9368:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2988,"nodeType":"ExpressionStatement","src":"9368:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2991,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9411:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":2992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9420:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9411:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9424:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9411:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3005,"nodeType":"IfStatement","src":"9407:93:17","trueBody":{"id":3004,"nodeType":"Block","src":"9427:73:17","statements":[{"expression":{"id":2998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2996,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9445:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"32","id":2997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9455:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9445:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2999,"nodeType":"ExpressionStatement","src":"9445:11:17"},{"expression":{"id":3002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3000,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9474:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":3001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9484:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9474:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3003,"nodeType":"ExpressionStatement","src":"9474:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3006,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9517:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":3007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9526:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9517:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9530:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9517:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3016,"nodeType":"IfStatement","src":"9513:64:17","trueBody":{"id":3015,"nodeType":"Block","src":"9533:44:17","statements":[{"expression":{"id":3013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3011,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9551:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9561:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9551:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3014,"nodeType":"ExpressionStatement","src":"9551:11:17"}]}}]},{"expression":{"id":3018,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9603:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2896,"id":3019,"nodeType":"Return","src":"9596:13:17"}]},"documentation":{"id":2890,"nodeType":"StructuredDocumentation","src":"8515:113:17","text":" @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0."},"id":3021,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"8642:4:17","nodeType":"FunctionDefinition","parameters":{"id":2893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2892,"mutability":"mutable","name":"value","nameLocation":"8655:5:17","nodeType":"VariableDeclaration","scope":3021,"src":"8647:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2891,"name":"uint256","nodeType":"ElementaryTypeName","src":"8647:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8646:15:17"},"returnParameters":{"id":2896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3021,"src":"8685:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2894,"name":"uint256","nodeType":"ElementaryTypeName","src":"8685:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8684:9:17"},"scope":3349,"src":"8633:983:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3056,"nodeType":"Block","src":"9849:165:17","statements":[{"id":3055,"nodeType":"UncheckedBlock","src":"9859:149:17","statements":[{"assignments":[3033],"declarations":[{"constant":false,"id":3033,"mutability":"mutable","name":"result","nameLocation":"9891:6:17","nodeType":"VariableDeclaration","scope":3055,"src":"9883:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3032,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3037,"initialValue":{"arguments":[{"id":3035,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"9905:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3034,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[3021,3057],"referencedDeclaration":3021,"src":"9900:4:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9900:11:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9883:28:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3038,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"9932:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":3042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3039,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3027,"src":"9942:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3040,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"9954:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":3041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9963:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"9954:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"9942:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":3043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9969:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":3044,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"9974:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9969:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3046,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"9983:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9969:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:46:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":3050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9995:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9942:54:17","trueExpression":{"hexValue":"31","id":3049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9991:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3052,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9941:56:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9932:65:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3031,"id":3054,"nodeType":"Return","src":"9925:72:17"}]}]},"documentation":{"id":3022,"nodeType":"StructuredDocumentation","src":"9622:142:17","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":3057,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"9778:4:17","nodeType":"FunctionDefinition","parameters":{"id":3028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3024,"mutability":"mutable","name":"value","nameLocation":"9791:5:17","nodeType":"VariableDeclaration","scope":3057,"src":"9783:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3023,"name":"uint256","nodeType":"ElementaryTypeName","src":"9783:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3027,"mutability":"mutable","name":"rounding","nameLocation":"9807:8:17","nodeType":"VariableDeclaration","scope":3057,"src":"9798:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":3026,"nodeType":"UserDefinedTypeName","pathNode":{"id":3025,"name":"Rounding","nameLocations":["9798:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"9798:8:17"},"referencedDeclaration":2490,"src":"9798:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"9782:34:17"},"returnParameters":{"id":3031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3057,"src":"9840:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3029,"name":"uint256","nodeType":"ElementaryTypeName","src":"9840:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9839:9:17"},"scope":3349,"src":"9769:245:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3185,"nodeType":"Block","src":"10201:854:17","statements":[{"assignments":[3066],"declarations":[{"constant":false,"id":3066,"mutability":"mutable","name":"result","nameLocation":"10219:6:17","nodeType":"VariableDeclaration","scope":3185,"src":"10211:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3065,"name":"uint256","nodeType":"ElementaryTypeName","src":"10211:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3068,"initialValue":{"hexValue":"30","id":3067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10228:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10211:18:17"},{"id":3182,"nodeType":"UncheckedBlock","src":"10239:787:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3069,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10267:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":3072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10276:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":3071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10282:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10276:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10267:17:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3085,"nodeType":"IfStatement","src":"10263:103:17","trueBody":{"id":3084,"nodeType":"Block","src":"10286:80:17","statements":[{"expression":{"id":3078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3074,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10304:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":3077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10313:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":3076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10319:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10313:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10304:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3079,"nodeType":"ExpressionStatement","src":"10304:17:17"},{"expression":{"id":3082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3080,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10339:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":3081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10339:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3083,"nodeType":"ExpressionStatement","src":"10339:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3086,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10383:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":3089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10392:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":3088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10398:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10392:8:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10383:17:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3102,"nodeType":"IfStatement","src":"10379:103:17","trueBody":{"id":3101,"nodeType":"Block","src":"10402:80:17","statements":[{"expression":{"id":3095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3091,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10420:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":3094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10429:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":3093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10435:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10429:8:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10420:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3096,"nodeType":"ExpressionStatement","src":"10420:17:17"},{"expression":{"id":3099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3097,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10455:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":3098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10465:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10455:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3100,"nodeType":"ExpressionStatement","src":"10455:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3103,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10499:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":3106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10508:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":3105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10514:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10508:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10499:17:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3119,"nodeType":"IfStatement","src":"10495:103:17","trueBody":{"id":3118,"nodeType":"Block","src":"10518:80:17","statements":[{"expression":{"id":3112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10536:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":3111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10545:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":3110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10551:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10545:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10536:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3113,"nodeType":"ExpressionStatement","src":"10536:17:17"},{"expression":{"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10571:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":3115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10581:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10571:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3117,"nodeType":"ExpressionStatement","src":"10571:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3120,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10615:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":3123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10624:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":3122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10630:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10624:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10615:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3136,"nodeType":"IfStatement","src":"10611:100:17","trueBody":{"id":3135,"nodeType":"Block","src":"10633:78:17","statements":[{"expression":{"id":3129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3125,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10651:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":3128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10660:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":3127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10666:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10660:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10651:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3130,"nodeType":"ExpressionStatement","src":"10651:16:17"},{"expression":{"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3131,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10685:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":3132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10695:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10685:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3134,"nodeType":"ExpressionStatement","src":"10685:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3137,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10728:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":3140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10737:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":3139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10743:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10737:7:17","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10728:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3153,"nodeType":"IfStatement","src":"10724:100:17","trueBody":{"id":3152,"nodeType":"Block","src":"10746:78:17","statements":[{"expression":{"id":3146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3142,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10764:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":3145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10773:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":3144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10779:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10773:7:17","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10764:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3147,"nodeType":"ExpressionStatement","src":"10764:16:17"},{"expression":{"id":3150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3148,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10798:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":3149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10808:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10798:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3151,"nodeType":"ExpressionStatement","src":"10798:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3154,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10841:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":3157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10850:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":3156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10856:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10850:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10841:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3170,"nodeType":"IfStatement","src":"10837:100:17","trueBody":{"id":3169,"nodeType":"Block","src":"10859:78:17","statements":[{"expression":{"id":3163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3159,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10877:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":3162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10886:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":3161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10892:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10886:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10877:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3164,"nodeType":"ExpressionStatement","src":"10877:16:17"},{"expression":{"id":3167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3165,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10911:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":3166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10921:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10911:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3168,"nodeType":"ExpressionStatement","src":"10911:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3171,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10954:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":3174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10963:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":3173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10969:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10963:7:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"10954:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3181,"nodeType":"IfStatement","src":"10950:66:17","trueBody":{"id":3180,"nodeType":"Block","src":"10972:44:17","statements":[{"expression":{"id":3178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3176,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10990:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11000:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10990:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3179,"nodeType":"ExpressionStatement","src":"10990:11:17"}]}}]},{"expression":{"id":3183,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"11042:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3064,"id":3184,"nodeType":"Return","src":"11035:13:17"}]},"documentation":{"id":3058,"nodeType":"StructuredDocumentation","src":"10020:114:17","text":" @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0."},"id":3186,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"10148:5:17","nodeType":"FunctionDefinition","parameters":{"id":3061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3060,"mutability":"mutable","name":"value","nameLocation":"10162:5:17","nodeType":"VariableDeclaration","scope":3186,"src":"10154:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3059,"name":"uint256","nodeType":"ElementaryTypeName","src":"10154:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10153:15:17"},"returnParameters":{"id":3064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3186,"src":"10192:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3062,"name":"uint256","nodeType":"ElementaryTypeName","src":"10192:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10191:9:17"},"scope":3349,"src":"10139:916:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3221,"nodeType":"Block","src":"11290:167:17","statements":[{"id":3220,"nodeType":"UncheckedBlock","src":"11300:151:17","statements":[{"assignments":[3198],"declarations":[{"constant":false,"id":3198,"mutability":"mutable","name":"result","nameLocation":"11332:6:17","nodeType":"VariableDeclaration","scope":3220,"src":"11324:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3197,"name":"uint256","nodeType":"ElementaryTypeName","src":"11324:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3202,"initialValue":{"arguments":[{"id":3200,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3189,"src":"11347:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3199,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[3186,3222],"referencedDeclaration":3186,"src":"11341:5:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11341:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11324:29:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3203,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3198,"src":"11374:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":3207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3204,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3192,"src":"11384:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3205,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"11396:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":3206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11405:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"11396:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"11384:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11411:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":3209,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3198,"src":"11417:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11411:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3211,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3189,"src":"11426:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11411:20:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11384:47:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":3215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11438:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11384:55:17","trueExpression":{"hexValue":"31","id":3214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11434:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11383:57:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11374:66:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3196,"id":3219,"nodeType":"Return","src":"11367:73:17"}]}]},"documentation":{"id":3187,"nodeType":"StructuredDocumentation","src":"11061:143:17","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":3222,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"11218:5:17","nodeType":"FunctionDefinition","parameters":{"id":3193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3189,"mutability":"mutable","name":"value","nameLocation":"11232:5:17","nodeType":"VariableDeclaration","scope":3222,"src":"11224:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3188,"name":"uint256","nodeType":"ElementaryTypeName","src":"11224:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3192,"mutability":"mutable","name":"rounding","nameLocation":"11248:8:17","nodeType":"VariableDeclaration","scope":3222,"src":"11239:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":3191,"nodeType":"UserDefinedTypeName","pathNode":{"id":3190,"name":"Rounding","nameLocations":["11239:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"11239:8:17"},"referencedDeclaration":2490,"src":"11239:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11223:34:17"},"returnParameters":{"id":3196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3222,"src":"11281:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3194,"name":"uint256","nodeType":"ElementaryTypeName","src":"11281:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11280:9:17"},"scope":3349,"src":"11209:248:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3308,"nodeType":"Block","src":"11771:600:17","statements":[{"assignments":[3231],"declarations":[{"constant":false,"id":3231,"mutability":"mutable","name":"result","nameLocation":"11789:6:17","nodeType":"VariableDeclaration","scope":3308,"src":"11781:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3230,"name":"uint256","nodeType":"ElementaryTypeName","src":"11781:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3233,"initialValue":{"hexValue":"30","id":3232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11798:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11781:18:17"},{"id":3305,"nodeType":"UncheckedBlock","src":"11809:533:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3234,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11837:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":3235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11846:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11837:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11852:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11837:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3248,"nodeType":"IfStatement","src":"11833:98:17","trueBody":{"id":3247,"nodeType":"Block","src":"11855:76:17","statements":[{"expression":{"id":3241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3239,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11873:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":3240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11883:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11873:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3242,"nodeType":"ExpressionStatement","src":"11873:13:17"},{"expression":{"id":3245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3243,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"11904:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":3244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11904:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3246,"nodeType":"ExpressionStatement","src":"11904:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3249,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11948:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":3250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11957:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11948:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11962:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11948:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3263,"nodeType":"IfStatement","src":"11944:95:17","trueBody":{"id":3262,"nodeType":"Block","src":"11965:74:17","statements":[{"expression":{"id":3256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3254,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11983:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":3255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11993:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11983:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3257,"nodeType":"ExpressionStatement","src":"11983:12:17"},{"expression":{"id":3260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3258,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12013:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":3259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12023:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12013:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3261,"nodeType":"ExpressionStatement","src":"12013:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3264,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12056:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":3265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12065:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12056:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12070:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12056:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3278,"nodeType":"IfStatement","src":"12052:95:17","trueBody":{"id":3277,"nodeType":"Block","src":"12073:74:17","statements":[{"expression":{"id":3271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3269,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12091:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":3270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12101:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12091:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3272,"nodeType":"ExpressionStatement","src":"12091:12:17"},{"expression":{"id":3275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3273,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12121:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":3274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12131:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"12121:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3276,"nodeType":"ExpressionStatement","src":"12121:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3279,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12164:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":3280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12173:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12164:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12178:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12164:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3293,"nodeType":"IfStatement","src":"12160:95:17","trueBody":{"id":3292,"nodeType":"Block","src":"12181:74:17","statements":[{"expression":{"id":3286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3284,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12199:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":3285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12209:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12199:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3287,"nodeType":"ExpressionStatement","src":"12199:12:17"},{"expression":{"id":3290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3288,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12229:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":3289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12239:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12229:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3291,"nodeType":"ExpressionStatement","src":"12229:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3294,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12272:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":3295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12281:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12272:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12285:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12272:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3304,"nodeType":"IfStatement","src":"12268:64:17","trueBody":{"id":3303,"nodeType":"Block","src":"12288:44:17","statements":[{"expression":{"id":3301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3299,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12306:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12316:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12306:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3302,"nodeType":"ExpressionStatement","src":"12306:11:17"}]}}]},{"expression":{"id":3306,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12358:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3229,"id":3307,"nodeType":"Return","src":"12351:13:17"}]},"documentation":{"id":3223,"nodeType":"StructuredDocumentation","src":"11463:240:17","text":" @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"id":3309,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"11717:6:17","nodeType":"FunctionDefinition","parameters":{"id":3226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3225,"mutability":"mutable","name":"value","nameLocation":"11732:5:17","nodeType":"VariableDeclaration","scope":3309,"src":"11724:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3224,"name":"uint256","nodeType":"ElementaryTypeName","src":"11724:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11723:15:17"},"returnParameters":{"id":3229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3309,"src":"11762:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3227,"name":"uint256","nodeType":"ElementaryTypeName","src":"11762:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11761:9:17"},"scope":3349,"src":"11708:663:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3347,"nodeType":"Block","src":"12608:174:17","statements":[{"id":3346,"nodeType":"UncheckedBlock","src":"12618:158:17","statements":[{"assignments":[3321],"declarations":[{"constant":false,"id":3321,"mutability":"mutable","name":"result","nameLocation":"12650:6:17","nodeType":"VariableDeclaration","scope":3346,"src":"12642:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3320,"name":"uint256","nodeType":"ElementaryTypeName","src":"12642:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3325,"initialValue":{"arguments":[{"id":3323,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3312,"src":"12666:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3322,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[3309,3348],"referencedDeclaration":3309,"src":"12659:6:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12659:13:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12642:30:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3326,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3321,"src":"12693:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":3330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3327,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3315,"src":"12703:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3328,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"12715:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":3329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12724:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"12715:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"12703:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":3331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12730:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3332,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3321,"src":"12736:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":3333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12746:1:17","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"12736:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12735:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12730:18:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3337,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3312,"src":"12751:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12730:26:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12703:53:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":3341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12763:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12703:61:17","trueExpression":{"hexValue":"31","id":3340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12759:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3343,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12702:63:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12693:72:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3319,"id":3345,"nodeType":"Return","src":"12686:79:17"}]}]},"documentation":{"id":3310,"nodeType":"StructuredDocumentation","src":"12377:144:17","text":" @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":3348,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"12535:6:17","nodeType":"FunctionDefinition","parameters":{"id":3316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3312,"mutability":"mutable","name":"value","nameLocation":"12550:5:17","nodeType":"VariableDeclaration","scope":3348,"src":"12542:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3311,"name":"uint256","nodeType":"ElementaryTypeName","src":"12542:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3315,"mutability":"mutable","name":"rounding","nameLocation":"12566:8:17","nodeType":"VariableDeclaration","scope":3348,"src":"12557:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":3314,"nodeType":"UserDefinedTypeName","pathNode":{"id":3313,"name":"Rounding","nameLocations":["12557:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"12557:8:17"},"referencedDeclaration":2490,"src":"12557:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"12541:34:17"},"returnParameters":{"id":3319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3348,"src":"12599:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3317,"name":"uint256","nodeType":"ElementaryTypeName","src":"12599:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12598:9:17"},"scope":3349,"src":"12526:256:17","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":3350,"src":"202:12582:17","usedErrors":[],"usedEvents":[]}],"src":"103:12682:17"},"id":17},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/SignedMath.sol","exportedSymbols":{"SignedMath":[3454]},"id":3455,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3351,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"109:23:18"},{"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":3352,"nodeType":"StructuredDocumentation","src":"134:80:18","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"id":3454,"linearizedBaseContracts":[3454],"name":"SignedMath","nameLocation":"223:10:18","nodeType":"ContractDefinition","nodes":[{"body":{"id":3369,"nodeType":"Block","src":"375:37:18","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3362,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"392:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3363,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3357,"src":"396:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"392:5:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3357,"src":"404:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"392:13:18","trueExpression":{"id":3365,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"400:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3361,"id":3368,"nodeType":"Return","src":"385:20:18"}]},"documentation":{"id":3353,"nodeType":"StructuredDocumentation","src":"240:66:18","text":" @dev Returns the largest of two signed numbers."},"id":3370,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"320:3:18","nodeType":"FunctionDefinition","parameters":{"id":3358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3355,"mutability":"mutable","name":"a","nameLocation":"331:1:18","nodeType":"VariableDeclaration","scope":3370,"src":"324:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3354,"name":"int256","nodeType":"ElementaryTypeName","src":"324:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3357,"mutability":"mutable","name":"b","nameLocation":"341:1:18","nodeType":"VariableDeclaration","scope":3370,"src":"334:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3356,"name":"int256","nodeType":"ElementaryTypeName","src":"334:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"323:20:18"},"returnParameters":{"id":3361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3370,"src":"367:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3359,"name":"int256","nodeType":"ElementaryTypeName","src":"367:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"366:8:18"},"scope":3454,"src":"311:101:18","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3387,"nodeType":"Block","src":"554:37:18","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3380,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3373,"src":"571:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3381,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"575:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"571:5:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3384,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"583:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"571:13:18","trueExpression":{"id":3383,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3373,"src":"579:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3379,"id":3386,"nodeType":"Return","src":"564:20:18"}]},"documentation":{"id":3371,"nodeType":"StructuredDocumentation","src":"418:67:18","text":" @dev Returns the smallest of two signed numbers."},"id":3388,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"499:3:18","nodeType":"FunctionDefinition","parameters":{"id":3376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3373,"mutability":"mutable","name":"a","nameLocation":"510:1:18","nodeType":"VariableDeclaration","scope":3388,"src":"503:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3372,"name":"int256","nodeType":"ElementaryTypeName","src":"503:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3375,"mutability":"mutable","name":"b","nameLocation":"520:1:18","nodeType":"VariableDeclaration","scope":3388,"src":"513:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3374,"name":"int256","nodeType":"ElementaryTypeName","src":"513:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"502:20:18"},"returnParameters":{"id":3379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3388,"src":"546:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3377,"name":"int256","nodeType":"ElementaryTypeName","src":"546:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"545:8:18"},"scope":3454,"src":"490:101:18","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3431,"nodeType":"Block","src":"796:162:18","statements":[{"assignments":[3399],"declarations":[{"constant":false,"id":3399,"mutability":"mutable","name":"x","nameLocation":"865:1:18","nodeType":"VariableDeclaration","scope":3431,"src":"858:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3398,"name":"int256","nodeType":"ElementaryTypeName","src":"858:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3412,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"870:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":3401,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3393,"src":"874:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:5:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3403,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"869:7:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3404,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"881:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":3405,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3393,"src":"885:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"881:5:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3407,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:7:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":3408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"891:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"880:12:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3410,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"879:14:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"869:24:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"858:35:18"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3413,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"910:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3418,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"930:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"922:7:18","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3416,"name":"uint256","nodeType":"ElementaryTypeName","src":"922:7:18","typeDescriptions":{}}},"id":3419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:10:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":3420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"936:3:18","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"922:17:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"915:6:18","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3414,"name":"int256","nodeType":"ElementaryTypeName","src":"915:6:18","typeDescriptions":{}}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:25:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3423,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"944:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":3424,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3393,"src":"948:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"944:5:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3426,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"943:7:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"915:35:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3428,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"914:37:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"910:41:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3397,"id":3430,"nodeType":"Return","src":"903:48:18"}]},"documentation":{"id":3389,"nodeType":"StructuredDocumentation","src":"597:126:18","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"id":3432,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"737:7:18","nodeType":"FunctionDefinition","parameters":{"id":3394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3391,"mutability":"mutable","name":"a","nameLocation":"752:1:18","nodeType":"VariableDeclaration","scope":3432,"src":"745:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3390,"name":"int256","nodeType":"ElementaryTypeName","src":"745:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3393,"mutability":"mutable","name":"b","nameLocation":"762:1:18","nodeType":"VariableDeclaration","scope":3432,"src":"755:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3392,"name":"int256","nodeType":"ElementaryTypeName","src":"755:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"744:20:18"},"returnParameters":{"id":3397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3432,"src":"788:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3395,"name":"int256","nodeType":"ElementaryTypeName","src":"788:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"787:8:18"},"scope":3454,"src":"728:230:18","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3452,"nodeType":"Block","src":"1102:158:18","statements":[{"id":3451,"nodeType":"UncheckedBlock","src":"1112:142:18","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3442,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"1227:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":3443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1232:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1227:6:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1240:2:18","subExpression":{"id":3446,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"1241:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1227:15:18","trueExpression":{"id":3445,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"1236:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1219:7:18","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3440,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:18","typeDescriptions":{}}},"id":3449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1219:24:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3439,"id":3450,"nodeType":"Return","src":"1212:31:18"}]}]},"documentation":{"id":3433,"nodeType":"StructuredDocumentation","src":"964:78:18","text":" @dev Returns the absolute unsigned value of a signed value."},"id":3453,"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1056:3:18","nodeType":"FunctionDefinition","parameters":{"id":3436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3435,"mutability":"mutable","name":"n","nameLocation":"1067:1:18","nodeType":"VariableDeclaration","scope":3453,"src":"1060:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3434,"name":"int256","nodeType":"ElementaryTypeName","src":"1060:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1059:10:18"},"returnParameters":{"id":3439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3453,"src":"1093:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3437,"name":"uint256","nodeType":"ElementaryTypeName","src":"1093:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1092:9:18"},"scope":3454,"src":"1047:213:18","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":3455,"src":"215:1047:18","usedErrors":[],"usedEvents":[]}],"src":"109:1154:18"},"id":18},"contracts/alpha/Alpha.v3.sol":{"ast":{"absolutePath":"contracts/alpha/Alpha.v3.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ContextMixinV2":[4823],"ERC165":[2471],"ERC721":[1145],"ERC721URIStorage":[1465],"IERC165":[2483],"IERC20":[218],"IERC4906":[137],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"NofAlphaV3":[4782],"Ownable":[112],"SignedMath":[3454],"Strings":[2081]},"id":4783,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3456,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:19"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","id":3457,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4783,"sourceUnit":219,"src":"58:56:19","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"@openzeppelin/contracts/token/ERC721/ERC721.sol","id":3458,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4783,"sourceUnit":1146,"src":"115:57:19","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","id":3459,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4783,"sourceUnit":1466,"src":"173:78:19","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","id":3460,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4783,"sourceUnit":113,"src":"252:52:19","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/alpha/ContextMixin.v2.sol","file":"./ContextMixin.v2.sol","id":3461,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":4783,"sourceUnit":4824,"src":"305:31:19","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":3462,"name":"ERC721","nameLocations":["361:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"361:6:19"},"id":3463,"nodeType":"InheritanceSpecifier","src":"361:6:19"},{"baseName":{"id":3464,"name":"ERC721URIStorage","nameLocations":["369:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"369:16:19"},"id":3465,"nodeType":"InheritanceSpecifier","src":"369:16:19"},{"baseName":{"id":3466,"name":"Ownable","nameLocations":["387:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"387:7:19"},"id":3467,"nodeType":"InheritanceSpecifier","src":"387:7:19"},{"baseName":{"id":3468,"name":"ContextMixinV2","nameLocations":["396:14:19"],"nodeType":"IdentifierPath","referencedDeclaration":4823,"src":"396:14:19"},"id":3469,"nodeType":"InheritanceSpecifier","src":"396:14:19"}],"canonicalName":"NofAlphaV3","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":4782,"linearizedBaseContracts":[4782,4823,112,1465,1145,1492,137,1261,2471,2483,1852],"name":"NofAlphaV3","nameLocation":"347:10:19","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":3471,"mutability":"mutable","name":"_tokenIdCounter","nameLocation":"433:15:19","nodeType":"VariableDeclaration","scope":4782,"src":"417:31:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3470,"name":"uint256","nodeType":"ElementaryTypeName","src":"417:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"functionSelector":"9abc8320","id":3473,"mutability":"mutable","name":"baseUri","nameLocation":"468:7:19","nodeType":"VariableDeclaration","scope":4782,"src":"454:21:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":3472,"name":"string","nodeType":"ElementaryTypeName","src":"454:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"canonicalName":"NofAlphaV3.Season","id":3488,"members":[{"constant":false,"id":3475,"mutability":"mutable","name":"price","nameLocation":"514:5:19","nodeType":"VariableDeclaration","scope":3488,"src":"506:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3474,"name":"uint","nodeType":"ElementaryTypeName","src":"506:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3478,"mutability":"mutable","name":"cards","nameLocation":"537:5:19","nodeType":"VariableDeclaration","scope":3488,"src":"529:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3476,"name":"uint","nodeType":"ElementaryTypeName","src":"529:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3477,"nodeType":"ArrayTypeName","src":"529:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3481,"mutability":"mutable","name":"albums","nameLocation":"560:6:19","nodeType":"VariableDeclaration","scope":3488,"src":"552:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3479,"name":"uint","nodeType":"ElementaryTypeName","src":"552:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3480,"nodeType":"ArrayTypeName","src":"552:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3485,"mutability":"mutable","name":"owners","nameLocation":"601:6:19","nodeType":"VariableDeclaration","scope":3488,"src":"576:31:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":3484,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3482,"name":"address","nodeType":"ElementaryTypeName","src":"584:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"576:24:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3483,"name":"bool","nodeType":"ElementaryTypeName","src":"595:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":3487,"mutability":"mutable","name":"folder","nameLocation":"624:6:19","nodeType":"VariableDeclaration","scope":3488,"src":"617:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3486,"name":"string","nodeType":"ElementaryTypeName","src":"617:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Season","nameLocation":"489:6:19","nodeType":"StructDefinition","scope":4782,"src":"482:155:19","visibility":"public"},{"canonicalName":"NofAlphaV3.Card","id":3501,"members":[{"constant":false,"id":3490,"mutability":"mutable","name":"tokenId","nameLocation":"670:7:19","nodeType":"VariableDeclaration","scope":3501,"src":"665:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3489,"name":"uint","nodeType":"ElementaryTypeName","src":"665:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3492,"mutability":"mutable","name":"class","nameLocation":"693:5:19","nodeType":"VariableDeclaration","scope":3501,"src":"687:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3491,"name":"uint","nodeType":"ElementaryTypeName","src":"687:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3494,"mutability":"mutable","name":"collection","nameLocation":"714:10:19","nodeType":"VariableDeclaration","scope":3501,"src":"708:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3493,"name":"uint","nodeType":"ElementaryTypeName","src":"708:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3496,"mutability":"mutable","name":"season","nameLocation":"742:6:19","nodeType":"VariableDeclaration","scope":3501,"src":"734:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3495,"name":"string","nodeType":"ElementaryTypeName","src":"734:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3498,"mutability":"mutable","name":"completion","nameLocation":"766:10:19","nodeType":"VariableDeclaration","scope":3501,"src":"758:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3497,"name":"uint","nodeType":"ElementaryTypeName","src":"758:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3500,"mutability":"mutable","name":"number","nameLocation":"794:6:19","nodeType":"VariableDeclaration","scope":3501,"src":"786:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3499,"name":"uint","nodeType":"ElementaryTypeName","src":"786:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Card","nameLocation":"650:4:19","nodeType":"StructDefinition","scope":4782,"src":"643:164:19","visibility":"public"},{"constant":false,"functionSelector":"627b253f","id":3503,"mutability":"mutable","name":"balanceReceiver","nameLocation":"828:15:19","nodeType":"VariableDeclaration","scope":4782,"src":"813:30:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3502,"name":"address","nodeType":"ElementaryTypeName","src":"813:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"787f0b05","id":3508,"mutability":"mutable","name":"seasons","nameLocation":"883:7:19","nodeType":"VariableDeclaration","scope":4782,"src":"849:41:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string => struct NofAlphaV3.Season)"},"typeName":{"id":3507,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3504,"name":"string","nodeType":"ElementaryTypeName","src":"858:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"849:26:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string => struct NofAlphaV3.Season)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3506,"nodeType":"UserDefinedTypeName","pathNode":{"id":3505,"name":"Season","nameLocations":["868:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":3488,"src":"868:6:19"},"referencedDeclaration":3488,"src":"868:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage_ptr","typeString":"struct NofAlphaV3.Season"}}},"visibility":"public"},{"constant":false,"functionSelector":"8dc10768","id":3513,"mutability":"mutable","name":"cards","nameLocation":"926:5:19","nodeType":"VariableDeclaration","scope":4782,"src":"896:35:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card)"},"typeName":{"id":3512,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3509,"name":"uint","nodeType":"ElementaryTypeName","src":"905:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"896:22:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3511,"nodeType":"UserDefinedTypeName","pathNode":{"id":3510,"name":"Card","nameLocations":["913:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":3501,"src":"913:4:19"},"referencedDeclaration":3501,"src":"913:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage_ptr","typeString":"struct NofAlphaV3.Card"}}},"visibility":"public"},{"constant":false,"id":3518,"mutability":"mutable","name":"winners","nameLocation":"1002:7:19","nodeType":"VariableDeclaration","scope":4782,"src":"964:45:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string => address[])"},"typeName":{"id":3517,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3514,"name":"string","nodeType":"ElementaryTypeName","src":"973:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"964:29:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string => address[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":3515,"name":"address","nodeType":"ElementaryTypeName","src":"983:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3516,"nodeType":"ArrayTypeName","src":"983:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"private"},{"constant":false,"functionSelector":"308f5987","id":3526,"mutability":"mutable","name":"cardsByUserBySeason","nameLocation":"1069:19:19","nodeType":"VariableDeclaration","scope":4782,"src":"1015:73:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string => struct NofAlphaV3.Card[]))"},"typeName":{"id":3525,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3519,"name":"address","nodeType":"ElementaryTypeName","src":"1024:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1015:46:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string => struct NofAlphaV3.Card[]))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3520,"name":"string","nodeType":"ElementaryTypeName","src":"1043:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"1035:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string => struct NofAlphaV3.Card[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":3522,"nodeType":"UserDefinedTypeName","pathNode":{"id":3521,"name":"Card","nameLocations":["1053:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":3501,"src":"1053:4:19"},"referencedDeclaration":3501,"src":"1053:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage_ptr","typeString":"struct NofAlphaV3.Card"}},"id":3523,"nodeType":"ArrayTypeName","src":"1053:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr","typeString":"struct NofAlphaV3.Card[]"}}}},"visibility":"public"},{"constant":false,"id":3538,"mutability":"mutable","name":"prizes","nameLocation":"1111:6:19","nodeType":"VariableDeclaration","scope":4782,"src":"1094:51:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$7_storage","typeString":"uint8[7]"},"typeName":{"baseType":{"id":3527,"name":"uint8","nodeType":"ElementaryTypeName","src":"1094:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3529,"length":{"hexValue":"37","id":3528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1100:1:19","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"nodeType":"ArrayTypeName","src":"1094:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$7_storage_ptr","typeString":"uint8[7]"}},"value":{"components":[{"hexValue":"3230","id":3530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1121:2:19","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},{"hexValue":"3134","id":3531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1125:2:19","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"3132","id":3532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1129:2:19","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},{"hexValue":"3130","id":3533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1133:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"38","id":3534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1137:1:19","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},{"hexValue":"36","id":3535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1140:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},{"hexValue":"35","id":3536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1143:1:19","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"id":3537,"isConstant":false,"isInlineArray":true,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1120:25:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$7_memory_ptr","typeString":"uint8[7] memory"}},"visibility":"private"},{"constant":false,"functionSelector":"61c66c16","id":3541,"mutability":"mutable","name":"seasonNames","nameLocation":"1167:11:19","nodeType":"VariableDeclaration","scope":4782,"src":"1151:27:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":3539,"name":"string","nodeType":"ElementaryTypeName","src":"1151:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3540,"nodeType":"ArrayTypeName","src":"1151:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"public"},{"constant":false,"functionSelector":"d1811d02","id":3544,"mutability":"mutable","name":"seasonPrices","nameLocation":"1201:12:19","nodeType":"VariableDeclaration","scope":4782,"src":"1184:29:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[]"},"typeName":{"baseType":{"id":3542,"name":"uint256","nodeType":"ElementaryTypeName","src":"1184:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3543,"nodeType":"ArrayTypeName","src":"1184:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"public"},{"constant":false,"functionSelector":"e5db587a","id":3546,"mutability":"mutable","name":"prizesBalance","nameLocation":"1234:13:19","nodeType":"VariableDeclaration","scope":4782,"src":"1219:28:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3545,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"e606df87","id":3548,"mutability":"mutable","name":"DAI_TOKEN","nameLocation":"1269:9:19","nodeType":"VariableDeclaration","scope":4782,"src":"1254:24:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3547,"name":"address","nodeType":"ElementaryTypeName","src":"1254:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"anonymous":false,"eventSelector":"55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c","id":3554,"name":"BuyPack","nameLocation":"1291:7:19","nodeType":"EventDefinition","parameters":{"id":3553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3550,"indexed":false,"mutability":"mutable","name":"buyer","nameLocation":"1307:5:19","nodeType":"VariableDeclaration","scope":3554,"src":"1299:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3549,"name":"address","nodeType":"ElementaryTypeName","src":"1299:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3552,"indexed":false,"mutability":"mutable","name":"seasonName","nameLocation":"1321:10:19","nodeType":"VariableDeclaration","scope":3554,"src":"1314:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3551,"name":"string","nodeType":"ElementaryTypeName","src":"1314:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1298:34:19"},"src":"1285:48:19"},{"anonymous":false,"eventSelector":"953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c96","id":3562,"name":"Winner","nameLocation":"1344:6:19","nodeType":"EventDefinition","parameters":{"id":3561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3556,"indexed":false,"mutability":"mutable","name":"winner","nameLocation":"1359:6:19","nodeType":"VariableDeclaration","scope":3562,"src":"1351:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3555,"name":"address","nodeType":"ElementaryTypeName","src":"1351:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3558,"indexed":false,"mutability":"mutable","name":"season","nameLocation":"1374:6:19","nodeType":"VariableDeclaration","scope":3562,"src":"1367:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3557,"name":"string","nodeType":"ElementaryTypeName","src":"1367:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3560,"indexed":false,"mutability":"mutable","name":"position","nameLocation":"1390:8:19","nodeType":"VariableDeclaration","scope":3562,"src":"1382:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3559,"name":"uint256","nodeType":"ElementaryTypeName","src":"1382:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1350:49:19"},"src":"1338:62:19"},{"body":{"id":3569,"nodeType":"Block","src":"1457:2:19","statements":[]},"id":3570,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"4e4f4620416c706861","id":3565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1436:11:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e2796a0cb8e28cc9b1c0edf92300b639de27344dd118982401079e8269ffd3","typeString":"literal_string \"NOF Alpha\""},"value":"NOF Alpha"},{"hexValue":"4e4f4641","id":3566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1449:6:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_995cc3acd76c6017f6f9f715e980d9acaac829892ab6a6d46caf50dc86b37609","typeString":"literal_string \"NOFA\""},"value":"NOFA"}],"id":3567,"kind":"baseConstructorSpecifier","modifierName":{"id":3564,"name":"ERC721","nameLocations":["1429:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"1429:6:19"},"nodeType":"ModifierInvocation","src":"1429:27:19"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":3563,"nodeType":"ParameterList","parameters":[],"src":"1417:2:19"},"returnParameters":{"id":3568,"nodeType":"ParameterList","parameters":[],"src":"1457:0:19"},"scope":4782,"src":"1406:53:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":3593,"nodeType":"Block","src":"1576:118:19","statements":[{"expression":{"id":3583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3581,"name":"baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3473,"src":"1586:7:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3582,"name":"__baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"1596:9:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1586:19:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3584,"nodeType":"ExpressionStatement","src":"1586:19:19"},{"expression":{"id":3587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3585,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"1615:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3586,"name":"_daiTokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3574,"src":"1627:16:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1615:28:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3588,"nodeType":"ExpressionStatement","src":"1615:28:19"},{"expression":{"id":3591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3589,"name":"balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"1653:15:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3590,"name":"_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3576,"src":"1671:16:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1653:34:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3592,"nodeType":"ExpressionStatement","src":"1653:34:19"}]},"functionSelector":"71f72fa0","id":3594,"implemented":true,"kind":"function","modifiers":[{"id":3579,"kind":"modifierInvocation","modifierName":{"id":3578,"name":"onlyOwner","nameLocations":["1566:9:19"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"1566:9:19"},"nodeType":"ModifierInvocation","src":"1566:9:19"}],"name":"init","nameLocation":"1474:4:19","nodeType":"FunctionDefinition","parameters":{"id":3577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3572,"mutability":"mutable","name":"__baseUri","nameLocation":"1494:9:19","nodeType":"VariableDeclaration","scope":3594,"src":"1480:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3571,"name":"string","nodeType":"ElementaryTypeName","src":"1480:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3574,"mutability":"mutable","name":"_daiTokenAddress","nameLocation":"1513:16:19","nodeType":"VariableDeclaration","scope":3594,"src":"1505:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3573,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3576,"mutability":"mutable","name":"_balanceReceiver","nameLocation":"1539:16:19","nodeType":"VariableDeclaration","scope":3594,"src":"1531:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3575,"name":"address","nodeType":"ElementaryTypeName","src":"1531:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1479:77:19"},"returnParameters":{"id":3580,"nodeType":"ParameterList","parameters":[],"src":"1576:0:19"},"scope":4782,"src":"1465:229:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[432],"body":{"id":3602,"nodeType":"Block","src":"1767:31:19","statements":[{"expression":{"id":3600,"name":"baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3473,"src":"1784:7:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":3599,"id":3601,"nodeType":"Return","src":"1777:14:19"}]},"id":3603,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"1709:8:19","nodeType":"FunctionDefinition","overrides":{"id":3596,"nodeType":"OverrideSpecifier","overrides":[],"src":"1734:8:19"},"parameters":{"id":3595,"nodeType":"ParameterList","parameters":[],"src":"1717:2:19"},"returnParameters":{"id":3599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3598,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3603,"src":"1752:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3597,"name":"string","nodeType":"ElementaryTypeName","src":"1752:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1751:15:19"},"scope":4782,"src":"1700:98:19","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":3682,"nodeType":"Block","src":"1947:421:19","statements":[{"assignments":[3619],"declarations":[{"constant":false,"id":3619,"mutability":"mutable","name":"tokenId","nameLocation":"1965:7:19","nodeType":"VariableDeclaration","scope":3682,"src":"1957:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3618,"name":"uint256","nodeType":"ElementaryTypeName","src":"1957:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3621,"initialValue":{"id":3620,"name":"_tokenIdCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3471,"src":"1975:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1957:33:19"},{"expression":{"id":3624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3622,"name":"_tokenIdCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3471,"src":"2000:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2019:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2000:20:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3625,"nodeType":"ExpressionStatement","src":"2000:20:19"},{"expression":{"id":3631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3626,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"2030:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":3628,"indexExpression":{"id":3627,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2036:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2030:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":3629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2045:7:19","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":3490,"src":"2030:22:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3630,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2055:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2030:32:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3632,"nodeType":"ExpressionStatement","src":"2030:32:19"},{"expression":{"id":3638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3633,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"2072:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":3635,"indexExpression":{"id":3634,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2078:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2072:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":3636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2087:5:19","memberName":"class","nodeType":"MemberAccess","referencedDeclaration":3492,"src":"2072:20:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3637,"name":"_class","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3609,"src":"2095:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2072:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3639,"nodeType":"ExpressionStatement","src":"2072:29:19"},{"expression":{"id":3645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3640,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"2111:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":3642,"indexExpression":{"id":3641,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2117:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2111:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":3643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2126:10:19","memberName":"collection","nodeType":"MemberAccess","referencedDeclaration":3494,"src":"2111:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3644,"name":"_collection","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3611,"src":"2139:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2111:39:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3646,"nodeType":"ExpressionStatement","src":"2111:39:19"},{"expression":{"id":3652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3647,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"2160:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":3649,"indexExpression":{"id":3648,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2166:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2160:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":3650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2175:6:19","memberName":"season","nodeType":"MemberAccess","referencedDeclaration":3496,"src":"2160:21:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3651,"name":"_season","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"2184:7:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2160:31:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3653,"nodeType":"ExpressionStatement","src":"2160:31:19"},{"expression":{"id":3659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":3654,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"2201:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":3656,"indexExpression":{"id":3655,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2207:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2201:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":3657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2216:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3500,"src":"2201:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3658,"name":"carNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3615,"src":"2225:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2201:33:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3660,"nodeType":"ExpressionStatement","src":"2201:33:19"},{"expression":{"arguments":[{"baseExpression":{"id":3667,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"2282:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":3669,"indexExpression":{"id":3668,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2288:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2282:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}],"expression":{"baseExpression":{"baseExpression":{"id":3661,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"2244:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":3664,"indexExpression":{"id":3662,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"2264:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2244:23:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":3665,"indexExpression":{"id":3663,"name":"_season","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"2268:7:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2244:32:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":3666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2277:4:19","memberName":"push","nodeType":"MemberAccess","src":"2244:37:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$_t_struct$_Card_$3501_storage_$returns$__$attached_to$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$","typeString":"function (struct NofAlphaV3.Card storage ref[] storage pointer,struct NofAlphaV3.Card storage ref)"}},"id":3670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2244:53:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3671,"nodeType":"ExpressionStatement","src":"2244:53:19"},{"expression":{"arguments":[{"id":3673,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"2313:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3674,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2317:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3672,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"2307:5:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":3675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2307:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3676,"nodeType":"ExpressionStatement","src":"2307:18:19"},{"expression":{"arguments":[{"id":3678,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"2348:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3679,"name":"uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"2357:3:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3677,"name":"_setTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1434,"src":"2335:12:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":3680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2335:26:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3681,"nodeType":"ExpressionStatement","src":"2335:26:19"}]},"id":3683,"implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"1813:4:19","nodeType":"FunctionDefinition","parameters":{"id":3616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3605,"mutability":"mutable","name":"to","nameLocation":"1826:2:19","nodeType":"VariableDeclaration","scope":3683,"src":"1818:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3604,"name":"address","nodeType":"ElementaryTypeName","src":"1818:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3607,"mutability":"mutable","name":"uri","nameLocation":"1844:3:19","nodeType":"VariableDeclaration","scope":3683,"src":"1830:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3606,"name":"string","nodeType":"ElementaryTypeName","src":"1830:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3609,"mutability":"mutable","name":"_class","nameLocation":"1854:6:19","nodeType":"VariableDeclaration","scope":3683,"src":"1849:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3608,"name":"uint","nodeType":"ElementaryTypeName","src":"1849:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3611,"mutability":"mutable","name":"_collection","nameLocation":"1867:11:19","nodeType":"VariableDeclaration","scope":3683,"src":"1862:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3610,"name":"uint","nodeType":"ElementaryTypeName","src":"1862:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3613,"mutability":"mutable","name":"_season","nameLocation":"1913:7:19","nodeType":"VariableDeclaration","scope":3683,"src":"1899:21:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3612,"name":"string","nodeType":"ElementaryTypeName","src":"1899:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3615,"mutability":"mutable","name":"carNumber","nameLocation":"1927:9:19","nodeType":"VariableDeclaration","scope":3683,"src":"1922:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3614,"name":"uint","nodeType":"ElementaryTypeName","src":"1922:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1817:120:19"},"returnParameters":{"id":3617,"nodeType":"ParameterList","parameters":[],"src":"1947:0:19"},"scope":4782,"src":"1804:564:19","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[1116],"body":{"id":3705,"nodeType":"Block","src":"2512:73:19","statements":[{"expression":{"arguments":[{"id":3699,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3685,"src":"2549:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3700,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3687,"src":"2555:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3701,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3689,"src":"2559:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3702,"name":"batchSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3691,"src":"2568:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3696,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2522:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofAlphaV3_$4782_$","typeString":"type(contract super NofAlphaV3)"}},"id":3698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2528:20:19","memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":1116,"src":"2522:26:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":3703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2522:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3704,"nodeType":"ExpressionStatement","src":"2522:56:19"}]},"id":3706,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"2383:20:19","nodeType":"FunctionDefinition","overrides":{"id":3694,"nodeType":"OverrideSpecifier","overrides":[{"id":3693,"name":"ERC721","nameLocations":["2500:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"2500:6:19"}],"src":"2491:16:19"},"parameters":{"id":3692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3685,"mutability":"mutable","name":"from","nameLocation":"2412:4:19","nodeType":"VariableDeclaration","scope":3706,"src":"2404:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3684,"name":"address","nodeType":"ElementaryTypeName","src":"2404:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3687,"mutability":"mutable","name":"to","nameLocation":"2426:2:19","nodeType":"VariableDeclaration","scope":3706,"src":"2418:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3686,"name":"address","nodeType":"ElementaryTypeName","src":"2418:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3689,"mutability":"mutable","name":"tokenId","nameLocation":"2438:7:19","nodeType":"VariableDeclaration","scope":3706,"src":"2430:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3688,"name":"uint256","nodeType":"ElementaryTypeName","src":"2430:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3691,"mutability":"mutable","name":"batchSize","nameLocation":"2455:9:19","nodeType":"VariableDeclaration","scope":3706,"src":"2447:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3690,"name":"uint256","nodeType":"ElementaryTypeName","src":"2447:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2403:62:19"},"returnParameters":{"id":3695,"nodeType":"ParameterList","parameters":[],"src":"2512:0:19"},"scope":4782,"src":"2374:211:19","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[886,1464],"body":{"id":3720,"nodeType":"Block","src":"2667:37:19","statements":[{"expression":{"arguments":[{"id":3717,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3708,"src":"2689:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3714,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2677:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofAlphaV3_$4782_$","typeString":"type(contract super NofAlphaV3)"}},"id":3716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2683:5:19","memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":1464,"src":"2677:11:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":3718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2677:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3719,"nodeType":"ExpressionStatement","src":"2677:20:19"}]},"id":3721,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"2600:5:19","nodeType":"FunctionDefinition","overrides":{"id":3712,"nodeType":"OverrideSpecifier","overrides":[{"id":3710,"name":"ERC721","nameLocations":["2641:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"2641:6:19"},{"id":3711,"name":"ERC721URIStorage","nameLocations":["2649:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"2649:16:19"}],"src":"2632:34:19"},"parameters":{"id":3709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3708,"mutability":"mutable","name":"tokenId","nameLocation":"2614:7:19","nodeType":"VariableDeclaration","scope":3721,"src":"2606:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3707,"name":"uint256","nodeType":"ElementaryTypeName","src":"2606:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2605:17:19"},"returnParameters":{"id":3713,"nodeType":"ParameterList","parameters":[],"src":"2667:0:19"},"scope":4782,"src":"2591:113:19","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[423,1408],"body":{"id":3736,"nodeType":"Block","src":"2852:47:19","statements":[{"expression":{"arguments":[{"id":3733,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3723,"src":"2884:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3731,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2869:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofAlphaV3_$4782_$","typeString":"type(contract super NofAlphaV3)"}},"id":3732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2875:8:19","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"2869:14:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":3734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2869:23:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3730,"id":3735,"nodeType":"Return","src":"2862:30:19"}]},"functionSelector":"c87b56dd","id":3737,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2719:8:19","nodeType":"FunctionDefinition","overrides":{"id":3727,"nodeType":"OverrideSpecifier","overrides":[{"id":3725,"name":"ERC721","nameLocations":["2790:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"2790:6:19"},{"id":3726,"name":"ERC721URIStorage","nameLocations":["2798:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"2798:16:19"}],"src":"2781:34:19"},"parameters":{"id":3724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3723,"mutability":"mutable","name":"tokenId","nameLocation":"2736:7:19","nodeType":"VariableDeclaration","scope":3737,"src":"2728:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2728:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2727:17:19"},"returnParameters":{"id":3730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3737,"src":"2833:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3728,"name":"string","nodeType":"ElementaryTypeName","src":"2833:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2832:15:19"},"scope":4782,"src":"2710:189:19","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[312,1349],"body":{"id":3752,"nodeType":"Block","src":"3050:60:19","statements":[{"expression":{"arguments":[{"id":3749,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3739,"src":"3091:11:19","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":3747,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3067:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofAlphaV3_$4782_$","typeString":"type(contract super NofAlphaV3)"}},"id":3748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3073:17:19","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":1349,"src":"3067:23:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":3750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3067:36:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3746,"id":3751,"nodeType":"Return","src":"3060:43:19"}]},"functionSelector":"01ffc9a7","id":3753,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2914:17:19","nodeType":"FunctionDefinition","overrides":{"id":3743,"nodeType":"OverrideSpecifier","overrides":[{"id":3741,"name":"ERC721","nameLocations":["2997:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"2997:6:19"},{"id":3742,"name":"ERC721URIStorage","nameLocations":["3005:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"3005:16:19"}],"src":"2988:34:19"},"parameters":{"id":3740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3739,"mutability":"mutable","name":"interfaceId","nameLocation":"2939:11:19","nodeType":"VariableDeclaration","scope":3753,"src":"2932:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":3738,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2932:6:19","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2931:20:19"},"returnParameters":{"id":3746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3753,"src":"3040:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3744,"name":"bool","nodeType":"ElementaryTypeName","src":"3040:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3039:6:19"},"scope":4782,"src":"2905:205:19","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[528,1260],"body":{"id":3781,"nodeType":"Block","src":"3241:412:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3765,"name":"_operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3757,"src":"3414:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"307835383830376261443042333736656663313246354144383661416337304537386564363764656145","id":3768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3435:42:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x58807baD0B376efc12F5AD86aAc70E78ed67deaE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3427:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3766,"name":"address","nodeType":"ElementaryTypeName","src":"3427:7:19","typeDescriptions":{}}},"id":3769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3427:51:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3414:64:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3774,"nodeType":"IfStatement","src":"3410:106:19","trueBody":{"id":3773,"nodeType":"Block","src":"3480:36:19","statements":[{"expression":{"hexValue":"74727565","id":3771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3501:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3764,"id":3772,"nodeType":"Return","src":"3494:11:19"}]}},{"expression":{"arguments":[{"id":3777,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3755,"src":"3628:6:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3778,"name":"_operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3757,"src":"3636:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3775,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"3604:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":3776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3611:16:19","memberName":"isApprovedForAll","nodeType":"MemberAccess","referencedDeclaration":528,"src":"3604:23:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":3779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3604:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3764,"id":3780,"nodeType":"Return","src":"3597:49:19"}]},"functionSelector":"e985e9c5","id":3782,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"3125:16:19","nodeType":"FunctionDefinition","overrides":{"id":3761,"nodeType":"OverrideSpecifier","overrides":[{"id":3759,"name":"ERC721","nameLocations":["3193:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"3193:6:19"},{"id":3760,"name":"IERC721","nameLocations":["3201:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"3201:7:19"}],"src":"3184:25:19"},"parameters":{"id":3758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3755,"mutability":"mutable","name":"_owner","nameLocation":"3150:6:19","nodeType":"VariableDeclaration","scope":3782,"src":"3142:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3754,"name":"address","nodeType":"ElementaryTypeName","src":"3142:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3757,"mutability":"mutable","name":"_operator","nameLocation":"3166:9:19","nodeType":"VariableDeclaration","scope":3782,"src":"3158:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3756,"name":"address","nodeType":"ElementaryTypeName","src":"3158:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3141:35:19"},"returnParameters":{"id":3764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3763,"mutability":"mutable","name":"isOperator","nameLocation":"3229:10:19","nodeType":"VariableDeclaration","scope":3782,"src":"3224:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3762,"name":"bool","nodeType":"ElementaryTypeName","src":"3224:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3223:17:19"},"scope":4782,"src":"3116:537:19","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[1834],"body":{"id":3793,"nodeType":"Block","src":"3867:50:19","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":3789,"name":"ContextMixinV2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4823,"src":"3884:14:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ContextMixinV2_$4823_$","typeString":"type(contract ContextMixinV2)"}},"id":3790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3899:9:19","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":4822,"src":"3884:24:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":3791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3884:26:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":3788,"id":3792,"nodeType":"Return","src":"3877:33:19"}]},"documentation":{"id":3783,"nodeType":"StructuredDocumentation","src":"3660:128:19","text":" This is used instead of msg.sender as transactions won't be sent by the original token owner, but by OpenSea."},"id":3794,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"3802:10:19","nodeType":"FunctionDefinition","overrides":{"id":3785,"nodeType":"OverrideSpecifier","overrides":[],"src":"3824:8:19"},"parameters":{"id":3784,"nodeType":"ParameterList","parameters":[],"src":"3812:2:19"},"returnParameters":{"id":3788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3787,"mutability":"mutable","name":"sender","nameLocation":"3855:6:19","nodeType":"VariableDeclaration","scope":3794,"src":"3847:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3786,"name":"address","nodeType":"ElementaryTypeName","src":"3847:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3846:16:19"},"scope":4782,"src":"3793:124:19","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4076,"nodeType":"Block","src":"3983:1547:19","statements":[{"expression":{"arguments":[{"id":3809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4001:33:19","subExpression":{"baseExpression":{"expression":{"baseExpression":{"id":3802,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4002:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3804,"indexExpression":{"id":3803,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4010:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4002:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3805,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4016:6:19","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":3485,"src":"4002:20:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3808,"indexExpression":{"expression":{"id":3806,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4023:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4027:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4023:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4002:32:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"59612074656e657320756e207061636b2077616368696e","id":3810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4036:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a3fadf7b5b83cfa8be0b8450b58a9c8d5b3fe4b731922b6399f6a02096c6708","typeString":"literal_string \"Ya tenes un pack wachin\""},"value":"Ya tenes un pack wachin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6a3fadf7b5b83cfa8be0b8450b58a9c8d5b3fe4b731922b6399f6a02096c6708","typeString":"literal_string \"Ya tenes un pack wachin\""}],"id":3801,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3993:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3993:69:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3812,"nodeType":"ExpressionStatement","src":"3993:69:19"},{"expression":{"id":3821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":3813,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4072:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3815,"indexExpression":{"id":3814,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4080:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4072:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4086:6:19","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":3485,"src":"4072:20:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3819,"indexExpression":{"expression":{"id":3817,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4093:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4097:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4093:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4072:32:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4107:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4072:39:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3822,"nodeType":"ExpressionStatement","src":"4072:39:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":3824,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4129:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3826,"indexExpression":{"id":3825,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4137:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4129:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4143:5:19","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":3475,"src":"4129:19:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":3828,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3796,"src":"4152:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4129:29:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53656e6420657861637420707269636520666f72205061636b","id":3830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4160:27:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_46aff5505e7887e423791622f5ba36d7ca4a9d15512f9df8e6b7f62e3722bc44","typeString":"literal_string \"Send exact price for Pack\""},"value":"Send exact price for Pack"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_46aff5505e7887e423791622f5ba36d7ca4a9d15512f9df8e6b7f62e3722bc44","typeString":"literal_string \"Send exact price for Pack\""}],"id":3823,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4121:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4121:67:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3832,"nodeType":"ExpressionStatement","src":"4121:67:19"},{"assignments":[3834],"declarations":[{"constant":false,"id":3834,"mutability":"mutable","name":"prizesAmount","nameLocation":"4206:12:19","nodeType":"VariableDeclaration","scope":4076,"src":"4198:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3833,"name":"uint256","nodeType":"ElementaryTypeName","src":"4198:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3840,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3835,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3796,"src":"4221:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3735","id":3836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4230:2:19","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"src":"4221:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":3838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4235:3:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4221:17:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4198:40:19"},{"expression":{"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3841,"name":"prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"4248:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":3842,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3834,"src":"4265:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4248:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3844,"nodeType":"ExpressionStatement","src":"4248:29:19"},{"expression":{"arguments":[{"expression":{"id":3849,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4318:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4322:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4318:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":3853,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4338:4:19","typeDescriptions":{"typeIdentifier":"t_contract$_NofAlphaV3_$4782","typeString":"contract NofAlphaV3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofAlphaV3_$4782","typeString":"contract NofAlphaV3"}],"id":3852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4330:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3851,"name":"address","nodeType":"ElementaryTypeName","src":"4330:7:19","typeDescriptions":{}}},"id":3854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4330:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3855,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3834,"src":"4345:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":3846,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"4294:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3845,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"4287:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":3847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4287:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":3848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:12:19","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":217,"src":"4287:30:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":3856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4287:71:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3857,"nodeType":"ExpressionStatement","src":"4287:71:19"},{"expression":{"arguments":[{"expression":{"id":3862,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4399:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4403:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4399:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3864,"name":"balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"4411:15:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3865,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3796,"src":"4428:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3866,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3834,"src":"4437:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4428:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":3859,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"4375:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3858,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"4368:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":3860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4368:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":3861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4386:12:19","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":217,"src":"4368:30:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":3868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4368:82:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3869,"nodeType":"ExpressionStatement","src":"4368:82:19"},{"id":3965,"nodeType":"Block","src":"4461:497:19","statements":[{"assignments":[3871],"declarations":[{"constant":false,"id":3871,"mutability":"mutable","name":"index","nameLocation":"4480:5:19","nodeType":"VariableDeclaration","scope":3965,"src":"4475:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3870,"name":"uint","nodeType":"ElementaryTypeName","src":"4475:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3888,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":3877,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4520:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4526:9:19","memberName":"timestamp","nodeType":"MemberAccess","src":"4520:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3875,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4503:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4507:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"4503:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4503:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3874,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4493:9:19","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4493:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4488:4:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3872,"name":"uint","nodeType":"ElementaryTypeName","src":"4488:4:19","typeDescriptions":{}}},"id":3881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4488:50:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"expression":{"expression":{"baseExpression":{"id":3882,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4539:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3884,"indexExpression":{"id":3883,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4547:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4539:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4553:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"4539:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4560:6:19","memberName":"length","nodeType":"MemberAccess","src":"4539:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4488:78:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4475:91:19"},{"assignments":[3890],"declarations":[{"constant":false,"id":3890,"mutability":"mutable","name":"cardNum","nameLocation":"4585:7:19","nodeType":"VariableDeclaration","scope":3965,"src":"4580:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3889,"name":"uint","nodeType":"ElementaryTypeName","src":"4580:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3897,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"id":3891,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4595:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3893,"indexExpression":{"id":3892,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4603:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4595:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4609:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"4595:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3896,"indexExpression":{"id":3895,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3871,"src":"4616:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4595:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4580:42:19"},{"expression":{"id":3916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":3898,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4636:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3900,"indexExpression":{"id":3899,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4644:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4636:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3901,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4650:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"4636:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3903,"indexExpression":{"id":3902,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3871,"src":"4657:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4636:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":3904,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4666:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3906,"indexExpression":{"id":3905,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4674:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4666:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4680:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"4666:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3915,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"baseExpression":{"id":3908,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4687:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3910,"indexExpression":{"id":3909,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4695:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4687:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4701:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"4687:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4708:6:19","memberName":"length","nodeType":"MemberAccess","src":"4687:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4717:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4687:31:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4666:53:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4636:83:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3917,"nodeType":"ExpressionStatement","src":"4636:83:19"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":3918,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4733:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3920,"indexExpression":{"id":3919,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4741:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4733:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4747:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"4733:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4754:3:19","memberName":"pop","nodeType":"MemberAccess","src":"4733:24:19","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":3923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4733:26:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3924,"nodeType":"ExpressionStatement","src":"4733:26:19"},{"expression":{"arguments":[{"expression":{"id":3926,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4778:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4782:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4778:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":3934,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4820:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3936,"indexExpression":{"id":3935,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4828:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4820:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4834:6:19","memberName":"folder","nodeType":"MemberAccess","referencedDeclaration":3487,"src":"4820:20:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":3933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4814:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3932,"name":"bytes","nodeType":"ElementaryTypeName","src":"4814:5:19","typeDescriptions":{}}},"id":3938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4814:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":3941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4849:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":3940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4843:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3939,"name":"bytes","nodeType":"ElementaryTypeName","src":"4843:5:19","typeDescriptions":{}}},"id":3942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4843:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":3946,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"4888:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3945,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4757,"src":"4879:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":3947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4879:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4873:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3943,"name":"bytes","nodeType":"ElementaryTypeName","src":"4873:5:19","typeDescriptions":{}}},"id":3948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4873:24:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"2e6a736f6e","id":3951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4905:7:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"id":3950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4899:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3949,"name":"bytes","nodeType":"ElementaryTypeName","src":"4899:5:19","typeDescriptions":{}}},"id":3952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4899:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4797:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4801:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"4797:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:117:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4790:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3928,"name":"string","nodeType":"ElementaryTypeName","src":"4790:6:19","typeDescriptions":{}}},"id":3954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:125:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":3955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4917:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3956,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"4920:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":3957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4928:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"4920:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4930:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4920:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3961,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"4933:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3962,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"4939:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3925,"name":"mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3683,"src":"4773:4:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,string memory,uint256,uint256,string memory,uint256)"}},"id":3963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4773:174:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3964,"nodeType":"ExpressionStatement","src":"4773:174:19"}]},{"body":{"id":4068,"nodeType":"Block","src":"4993:490:19","statements":[{"assignments":[3976],"declarations":[{"constant":false,"id":3976,"mutability":"mutable","name":"index","nameLocation":"5012:5:19","nodeType":"VariableDeclaration","scope":4068,"src":"5007:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3975,"name":"uint","nodeType":"ElementaryTypeName","src":"5007:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3993,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":3982,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5052:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5058:9:19","memberName":"timestamp","nodeType":"MemberAccess","src":"5052:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5035:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5039:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"5035:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5035:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3979,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5025:9:19","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5025:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5020:4:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3977,"name":"uint","nodeType":"ElementaryTypeName","src":"5020:4:19","typeDescriptions":{}}},"id":3986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5020:50:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"expression":{"expression":{"baseExpression":{"id":3987,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5071:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3989,"indexExpression":{"id":3988,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5079:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5071:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5085:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"5071:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":3991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5091:6:19","memberName":"length","nodeType":"MemberAccess","src":"5071:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5020:77:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5007:90:19"},{"assignments":[3995],"declarations":[{"constant":false,"id":3995,"mutability":"mutable","name":"cardNum","nameLocation":"5116:7:19","nodeType":"VariableDeclaration","scope":4068,"src":"5111:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3994,"name":"uint","nodeType":"ElementaryTypeName","src":"5111:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4002,"initialValue":{"baseExpression":{"expression":{"baseExpression":{"id":3996,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5126:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":3998,"indexExpression":{"id":3997,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5134:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5126:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":3999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5140:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"5126:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4001,"indexExpression":{"id":4000,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3976,"src":"5146:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5126:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5111:41:19"},{"expression":{"id":4021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":4003,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5166:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4005,"indexExpression":{"id":4004,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5174:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5166:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5180:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"5166:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4008,"indexExpression":{"id":4007,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3976,"src":"5186:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5166:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"expression":{"baseExpression":{"id":4009,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5195:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4011,"indexExpression":{"id":4010,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5203:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5195:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5209:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"5195:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4020,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"baseExpression":{"id":4013,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5215:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4015,"indexExpression":{"id":4014,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5223:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5215:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5229:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"5215:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5235:6:19","memberName":"length","nodeType":"MemberAccess","src":"5215:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":4018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5244:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5215:30:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5195:51:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5166:80:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4022,"nodeType":"ExpressionStatement","src":"5166:80:19"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":4023,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5260:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4025,"indexExpression":{"id":4024,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5268:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5260:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5274:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"5260:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5280:3:19","memberName":"pop","nodeType":"MemberAccess","src":"5260:23:19","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":4028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5260:25:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4029,"nodeType":"ExpressionStatement","src":"5260:25:19"},{"expression":{"arguments":[{"expression":{"id":4031,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5304:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5308:6:19","memberName":"sender","nodeType":"MemberAccess","src":"5304:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":4039,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5347:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4041,"indexExpression":{"id":4040,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5355:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5347:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5361:6:19","memberName":"folder","nodeType":"MemberAccess","referencedDeclaration":3487,"src":"5347:20:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":4038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5341:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4037,"name":"bytes","nodeType":"ElementaryTypeName","src":"5341:5:19","typeDescriptions":{}}},"id":4043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5341:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":4046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5376:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":4045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5370:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4044,"name":"bytes","nodeType":"ElementaryTypeName","src":"5370:5:19","typeDescriptions":{}}},"id":4047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5370:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"id":4051,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3995,"src":"5415:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4050,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4757,"src":"5406:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":4052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5406:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5400:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4048,"name":"bytes","nodeType":"ElementaryTypeName","src":"5400:5:19","typeDescriptions":{}}},"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5400:24:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"2e6a736f6e","id":4056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5432:7:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"id":4055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5426:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4054,"name":"bytes","nodeType":"ElementaryTypeName","src":"5426:5:19","typeDescriptions":{}}},"id":4057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5426:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5324:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5328:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"5324:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5324:117:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5317:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4033,"name":"string","nodeType":"ElementaryTypeName","src":"5317:6:19","typeDescriptions":{}}},"id":4059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:125:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"31","id":4060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5444:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4061,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3995,"src":"5447:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":4062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5455:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"5447:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4064,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5458:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4065,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3995,"src":"5464:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4030,"name":"mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3683,"src":"5299:4:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,string memory,uint256,uint256,string memory,uint256)"}},"id":4066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5299:173:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4067,"nodeType":"ExpressionStatement","src":"5299:173:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3969,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3967,"src":"4981:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"35","id":3970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4985:1:19","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"4981:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4069,"initializationExpression":{"assignments":[3967],"declarations":[{"constant":false,"id":3967,"mutability":"mutable","name":"i","nameLocation":"4977:1:19","nodeType":"VariableDeclaration","scope":4069,"src":"4972:6:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3966,"name":"uint","nodeType":"ElementaryTypeName","src":"4972:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3968,"nodeType":"VariableDeclarationStatement","src":"4972:6:19"},"loopExpression":{"expression":{"id":3973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4988:3:19","subExpression":{"id":3972,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3967,"src":"4988:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3974,"nodeType":"ExpressionStatement","src":"4988:3:19"},"nodeType":"ForStatement","src":"4968:515:19"},{"eventCall":{"arguments":[{"expression":{"id":4071,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5506:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5510:6:19","memberName":"sender","nodeType":"MemberAccess","src":"5506:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4073,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3798,"src":"5518:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4070,"name":"BuyPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3554,"src":"5498:7:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":4074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5498:25:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4075,"nodeType":"EmitStatement","src":"5493:30:19"}]},"functionSelector":"015db396","id":4077,"implemented":true,"kind":"function","modifiers":[],"name":"buyPack","nameLocation":"3932:7:19","nodeType":"FunctionDefinition","parameters":{"id":3799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3796,"mutability":"mutable","name":"amount","nameLocation":"3948:6:19","nodeType":"VariableDeclaration","scope":4077,"src":"3940:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3795,"name":"uint256","nodeType":"ElementaryTypeName","src":"3940:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3798,"mutability":"mutable","name":"name","nameLocation":"3970:4:19","nodeType":"VariableDeclaration","scope":4077,"src":"3956:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3797,"name":"string","nodeType":"ElementaryTypeName","src":"3956:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3939:36:19"},"returnParameters":{"id":3800,"nodeType":"ParameterList","parameters":[],"src":"3983:0:19"},"scope":4782,"src":"3923:1607:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":4168,"nodeType":"Block","src":"5639:518:19","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4091,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4081,"src":"5657:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"313030303030303030303030303030","id":4092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5666:15:19","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000_by_1","typeString":"int_const 100000000000000"},"value":"100000000000000"},"src":"5657:24:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7061636b2076616c7565206d757374206265206174206c6561737420302e3030303120444149","id":4094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5683:40:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a1865d30cf19bfaa7d7325645ef08ea1d4d4543a2f6cbfca6039b17e0b62a8b","typeString":"literal_string \"pack value must be at least 0.0001 DAI\""},"value":"pack value must be at least 0.0001 DAI"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9a1865d30cf19bfaa7d7325645ef08ea1d4d4543a2f6cbfca6039b17e0b62a8b","typeString":"literal_string \"pack value must be at least 0.0001 DAI\""}],"id":4090,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5649:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5649:75:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4096,"nodeType":"ExpressionStatement","src":"5649:75:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4098,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"5742:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"36","id":4099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5751:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"5742:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5756:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5742:15:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416d6f756e74206d757374206265206d756c7469706c65206f662036","id":4103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5759:30:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_84db3c6fb4093dae2514a973b47e2a9da9f8133d327db9a749c46cce3c3ddbd3","typeString":"literal_string \"Amount must be multiple of 6\""},"value":"Amount must be multiple of 6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_84db3c6fb4093dae2514a973b47e2a9da9f8133d327db9a749c46cce3c3ddbd3","typeString":"literal_string \"Amount must be multiple of 6\""}],"id":4097,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5734:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5734:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4105,"nodeType":"ExpressionStatement","src":"5734:56:19"},{"expression":{"id":4111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":4106,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5800:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4108,"indexExpression":{"id":4107,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4079,"src":"5808:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5800:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5814:5:19","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":3475,"src":"5800:19:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4110,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4081,"src":"5822:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5800:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4112,"nodeType":"ExpressionStatement","src":"5800:27:19"},{"expression":{"id":4118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":4113,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"5837:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4115,"indexExpression":{"id":4114,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4079,"src":"5845:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5837:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5851:6:19","memberName":"folder","nodeType":"MemberAccess","referencedDeclaration":3487,"src":"5837:20:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4117,"name":"folder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4085,"src":"5860:6:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5837:29:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4119,"nodeType":"ExpressionStatement","src":"5837:29:19"},{"expression":{"arguments":[{"id":4123,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4079,"src":"5893:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4120,"name":"seasonNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5876:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":4122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5888:4:19","memberName":"push","nodeType":"MemberAccess","src":"5876:16:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":4124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4125,"nodeType":"ExpressionStatement","src":"5876:22:19"},{"expression":{"arguments":[{"id":4129,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4081,"src":"5926:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4126,"name":"seasonPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3544,"src":"5908:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5921:4:19","memberName":"push","nodeType":"MemberAccess","src":"5908:17:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":4130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5908:24:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4131,"nodeType":"ExpressionStatement","src":"5908:24:19"},{"body":{"id":4166,"nodeType":"Block","src":"5985:166:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4142,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4133,"src":"6002:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"36","id":4143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6006:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"6002:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6011:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6002:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4164,"nodeType":"Block","src":"6081:60:19","statements":[{"expression":{"arguments":[{"id":4161,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4133,"src":"6124:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"baseExpression":{"id":4156,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"6099:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4158,"indexExpression":{"id":4157,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4079,"src":"6107:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6099:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6113:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"6099:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6119:4:19","memberName":"push","nodeType":"MemberAccess","src":"6099:24:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":4162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6099:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4163,"nodeType":"ExpressionStatement","src":"6099:27:19"}]},"id":4165,"nodeType":"IfStatement","src":"5999:142:19","trueBody":{"id":4155,"nodeType":"Block","src":"6014:61:19","statements":[{"expression":{"arguments":[{"id":4152,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4133,"src":"6058:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"baseExpression":{"id":4147,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"6032:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4149,"indexExpression":{"id":4148,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4079,"src":"6040:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6032:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6046:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"6032:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":4151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6053:4:19","memberName":"push","nodeType":"MemberAccess","src":"6032:25:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":4153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6032:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4154,"nodeType":"ExpressionStatement","src":"6032:28:19"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4136,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4133,"src":"5967:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":4137,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"5972:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5967:11:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4167,"initializationExpression":{"assignments":[4133],"declarations":[{"constant":false,"id":4133,"mutability":"mutable","name":"i","nameLocation":"5960:1:19","nodeType":"VariableDeclaration","scope":4167,"src":"5955:6:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4132,"name":"uint","nodeType":"ElementaryTypeName","src":"5955:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4135,"initialValue":{"hexValue":"31","id":4134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5964:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"5955:10:19"},"loopExpression":{"expression":{"id":4140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5980:3:19","subExpression":{"id":4139,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4133,"src":"5980:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4141,"nodeType":"ExpressionStatement","src":"5980:3:19"},"nodeType":"ForStatement","src":"5951:200:19"}]},"functionSelector":"8477919b","id":4169,"implemented":true,"kind":"function","modifiers":[{"id":4088,"kind":"modifierInvocation","modifierName":{"id":4087,"name":"onlyOwner","nameLocations":["5629:9:19"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"5629:9:19"},"nodeType":"ModifierInvocation","src":"5629:9:19"}],"name":"newSeason","nameLocation":"5545:9:19","nodeType":"FunctionDefinition","parameters":{"id":4086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4079,"mutability":"mutable","name":"name","nameLocation":"5569:4:19","nodeType":"VariableDeclaration","scope":4169,"src":"5555:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4078,"name":"string","nodeType":"ElementaryTypeName","src":"5555:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4081,"mutability":"mutable","name":"price","nameLocation":"5580:5:19","nodeType":"VariableDeclaration","scope":4169,"src":"5575:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4080,"name":"uint","nodeType":"ElementaryTypeName","src":"5575:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4083,"mutability":"mutable","name":"amount","nameLocation":"5592:6:19","nodeType":"VariableDeclaration","scope":4169,"src":"5587:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4082,"name":"uint","nodeType":"ElementaryTypeName","src":"5587:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4085,"mutability":"mutable","name":"folder","nameLocation":"5614:6:19","nodeType":"VariableDeclaration","scope":4169,"src":"5600:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4084,"name":"string","nodeType":"ElementaryTypeName","src":"5600:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5554:67:19"},"returnParameters":{"id":4089,"nodeType":"ParameterList","parameters":[],"src":"5639:0:19"},"scope":4782,"src":"5536:621:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":4182,"nodeType":"Block","src":"6243:51:19","statements":[{"expression":{"components":[{"id":4178,"name":"seasonNames","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"6261:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},{"id":4179,"name":"seasonPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3544,"src":"6274:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}}],"id":4180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6260:27:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_string_storage_$dyn_storage_$_t_array$_t_uint256_$dyn_storage_$","typeString":"tuple(string storage ref[] storage ref,uint256[] storage ref)"}},"functionReturnParameters":4177,"id":4181,"nodeType":"Return","src":"6253:34:19"}]},"functionSelector":"b773d5c1","id":4183,"implemented":true,"kind":"function","modifiers":[],"name":"getSeasonData","nameLocation":"6172:13:19","nodeType":"FunctionDefinition","parameters":{"id":4170,"nodeType":"ParameterList","parameters":[],"src":"6185:2:19"},"returnParameters":{"id":4177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4183,"src":"6208:15:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4171,"name":"string","nodeType":"ElementaryTypeName","src":"6208:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4172,"nodeType":"ArrayTypeName","src":"6208:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4176,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4183,"src":"6225:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4174,"name":"uint256","nodeType":"ElementaryTypeName","src":"6225:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4175,"nodeType":"ArrayTypeName","src":"6225:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6207:35:19"},"scope":4782,"src":"6163:131:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4196,"nodeType":"Block","src":"6430:43:19","statements":[{"expression":{"expression":{"baseExpression":{"id":4191,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"6447:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4193,"indexExpression":{"id":4192,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4185,"src":"6455:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6447:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6461:5:19","memberName":"cards","nodeType":"MemberAccess","referencedDeclaration":3478,"src":"6447:19:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"functionReturnParameters":4190,"id":4195,"nodeType":"Return","src":"6440:26:19"}]},"functionSelector":"83c73d81","id":4197,"implemented":true,"kind":"function","modifiers":[],"name":"getSeasonCards","nameLocation":"6360:14:19","nodeType":"FunctionDefinition","parameters":{"id":4186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4185,"mutability":"mutable","name":"name","nameLocation":"6389:4:19","nodeType":"VariableDeclaration","scope":4197,"src":"6375:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4184,"name":"string","nodeType":"ElementaryTypeName","src":"6375:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6374:20:19"},"returnParameters":{"id":4190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4197,"src":"6415:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4187,"name":"uint","nodeType":"ElementaryTypeName","src":"6415:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4188,"nodeType":"ArrayTypeName","src":"6415:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6414:15:19"},"scope":4782,"src":"6351:122:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4210,"nodeType":"Block","src":"6611:44:19","statements":[{"expression":{"expression":{"baseExpression":{"id":4205,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"6628:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4207,"indexExpression":{"id":4206,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4199,"src":"6636:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6628:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4208,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6642:6:19","memberName":"albums","nodeType":"MemberAccess","referencedDeclaration":3481,"src":"6628:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"functionReturnParameters":4204,"id":4209,"nodeType":"Return","src":"6621:27:19"}]},"functionSelector":"be20e5a9","id":4211,"implemented":true,"kind":"function","modifiers":[],"name":"getSeasonAlbums","nameLocation":"6540:15:19","nodeType":"FunctionDefinition","parameters":{"id":4200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4199,"mutability":"mutable","name":"name","nameLocation":"6570:4:19","nodeType":"VariableDeclaration","scope":4211,"src":"6556:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4198,"name":"string","nodeType":"ElementaryTypeName","src":"6556:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6555:20:19"},"returnParameters":{"id":4204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4211,"src":"6596:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4201,"name":"uint","nodeType":"ElementaryTypeName","src":"6596:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4202,"nodeType":"ArrayTypeName","src":"6596:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6595:15:19"},"scope":4782,"src":"6531:124:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4223,"nodeType":"Block","src":"6748:44:19","statements":[{"expression":{"baseExpression":{"id":4219,"name":"winners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3518,"src":"6765:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string memory => address[] storage ref)"}},"id":4221,"indexExpression":{"id":4220,"name":"_seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4213,"src":"6773:11:19","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6765:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"functionReturnParameters":4218,"id":4222,"nodeType":"Return","src":"6758:27:19"}]},"functionSelector":"95a4c525","id":4224,"implemented":true,"kind":"function","modifiers":[],"name":"getWinners","nameLocation":"6670:10:19","nodeType":"FunctionDefinition","parameters":{"id":4214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4213,"mutability":"mutable","name":"_seasonName","nameLocation":"6697:11:19","nodeType":"VariableDeclaration","scope":4224,"src":"6681:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":4212,"name":"string","nodeType":"ElementaryTypeName","src":"6681:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6680:29:19"},"returnParameters":{"id":4218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4224,"src":"6730:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4215,"name":"address","nodeType":"ElementaryTypeName","src":"6730:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4216,"nodeType":"ArrayTypeName","src":"6730:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6729:18:19"},"scope":4782,"src":"6661:131:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4241,"nodeType":"Block","src":"6909:63:19","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":4235,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"6926:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4237,"indexExpression":{"id":4236,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4226,"src":"6946:5:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6926:26:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4239,"indexExpression":{"id":4238,"name":"_seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4228,"src":"6953:11:19","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6926:39:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"functionReturnParameters":4234,"id":4240,"nodeType":"Return","src":"6919:46:19"}]},"functionSelector":"e9d43f7d","id":4242,"implemented":true,"kind":"function","modifiers":[],"name":"getCardsByUserBySeason","nameLocation":"6807:22:19","nodeType":"FunctionDefinition","parameters":{"id":4229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4226,"mutability":"mutable","name":"_user","nameLocation":"6838:5:19","nodeType":"VariableDeclaration","scope":4242,"src":"6830:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4225,"name":"address","nodeType":"ElementaryTypeName","src":"6830:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4228,"mutability":"mutable","name":"_seasonName","nameLocation":"6861:11:19","nodeType":"VariableDeclaration","scope":4242,"src":"6845:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":4227,"name":"string","nodeType":"ElementaryTypeName","src":"6845:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6829:44:19"},"returnParameters":{"id":4234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4242,"src":"6894:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr","typeString":"struct NofAlphaV3.Card[]"},"typeName":{"baseType":{"id":4231,"nodeType":"UserDefinedTypeName","pathNode":{"id":4230,"name":"Card","nameLocations":["6894:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":3501,"src":"6894:4:19"},"referencedDeclaration":3501,"src":"6894:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage_ptr","typeString":"struct NofAlphaV3.Card"}},"id":4232,"nodeType":"ArrayTypeName","src":"6894:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr","typeString":"struct NofAlphaV3.Card[]"}},"visibility":"internal"}],"src":"6893:15:19"},"scope":4782,"src":"6798:174:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4332,"nodeType":"Block","src":"7061:550:19","statements":[{"assignments":[4252],"declarations":[{"constant":false,"id":4252,"mutability":"mutable","name":"seasonName","nameLocation":"7085:10:19","nodeType":"VariableDeclaration","scope":4332,"src":"7071:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4251,"name":"string","nodeType":"ElementaryTypeName","src":"7071:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4257,"initialValue":{"expression":{"baseExpression":{"id":4253,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"7098:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4255,"indexExpression":{"id":4254,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4248,"src":"7104:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7098:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7113:6:19","memberName":"season","nodeType":"MemberAccess","referencedDeclaration":3496,"src":"7098:21:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7071:48:19"},{"body":{"id":4319,"nodeType":"Block","src":"7194:345:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4273,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7211:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4275,"indexExpression":{"id":4274,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4244,"src":"7231:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7211:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4277,"indexExpression":{"id":4276,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7237:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7211:37:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4279,"indexExpression":{"id":4278,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"7249:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7211:40:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7252:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3500,"src":"7211:47:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":4281,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"7262:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4283,"indexExpression":{"id":4282,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4248,"src":"7268:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7262:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7277:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3500,"src":"7262:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7211:72:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4318,"nodeType":"IfStatement","src":"7208:321:19","trueBody":{"id":4317,"nodeType":"Block","src":"7284:245:19","statements":[{"expression":{"id":4307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4286,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7302:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4290,"indexExpression":{"id":4287,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4244,"src":"7322:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7302:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4291,"indexExpression":{"id":4288,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7328:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7302:37:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4292,"indexExpression":{"id":4289,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"7340:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7302:40:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4293,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7366:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4295,"indexExpression":{"id":4294,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4244,"src":"7386:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7366:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4297,"indexExpression":{"id":4296,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7392:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7366:37:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4306,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"baseExpression":{"id":4298,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7404:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4300,"indexExpression":{"id":4299,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4244,"src":"7424:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7404:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4302,"indexExpression":{"id":4301,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7430:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7404:37:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7442:6:19","memberName":"length","nodeType":"MemberAccess","src":"7404:44:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":4304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7451:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7404:48:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7366:87:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"src":"7302:151:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4308,"nodeType":"ExpressionStatement","src":"7302:151:19"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"baseExpression":{"id":4309,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7471:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4312,"indexExpression":{"id":4310,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4244,"src":"7491:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7471:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4313,"indexExpression":{"id":4311,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7497:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7471:37:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7509:3:19","memberName":"pop","nodeType":"MemberAccess","src":"7471:41:19","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$","typeString":"function (struct NofAlphaV3.Card storage ref[] storage pointer)"}},"id":4315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7471:43:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4316,"nodeType":"ExpressionStatement","src":"7471:43:19"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4262,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"7143:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"baseExpression":{"id":4263,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7145:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4265,"indexExpression":{"id":4264,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4244,"src":"7165:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7145:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4267,"indexExpression":{"id":4266,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7171:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7145:37:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7183:6:19","memberName":"length","nodeType":"MemberAccess","src":"7145:44:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7143:46:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4320,"initializationExpression":{"assignments":[4259],"declarations":[{"constant":false,"id":4259,"mutability":"mutable","name":"i","nameLocation":"7139:1:19","nodeType":"VariableDeclaration","scope":4320,"src":"7133:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4258,"name":"uint8","nodeType":"ElementaryTypeName","src":"7133:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":4261,"initialValue":{"hexValue":"30","id":4260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7141:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7133:9:19"},"loopExpression":{"expression":{"id":4271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7190:3:19","subExpression":{"id":4270,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4259,"src":"7190:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4272,"nodeType":"ExpressionStatement","src":"7190:3:19"},"nodeType":"ForStatement","src":"7129:410:19"},{"expression":{"arguments":[{"baseExpression":{"id":4327,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"7589:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4329,"indexExpression":{"id":4328,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4248,"src":"7595:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7589:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}],"expression":{"baseExpression":{"baseExpression":{"id":4321,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"7548:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4324,"indexExpression":{"id":4322,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4246,"src":"7568:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7548:23:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4325,"indexExpression":{"id":4323,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4252,"src":"7572:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7548:35:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7584:4:19","memberName":"push","nodeType":"MemberAccess","src":"7548:40:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$_t_struct$_Card_$3501_storage_$returns$__$attached_to$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$","typeString":"function (struct NofAlphaV3.Card storage ref[] storage pointer,struct NofAlphaV3.Card storage ref)"}},"id":4330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7548:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4331,"nodeType":"ExpressionStatement","src":"7548:56:19"}]},"id":4333,"implemented":true,"kind":"function","modifiers":[],"name":"transferCardOwnership","nameLocation":"6987:21:19","nodeType":"FunctionDefinition","parameters":{"id":4249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4244,"mutability":"mutable","name":"from","nameLocation":"7017:4:19","nodeType":"VariableDeclaration","scope":4333,"src":"7009:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4243,"name":"address","nodeType":"ElementaryTypeName","src":"7009:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4246,"mutability":"mutable","name":"to","nameLocation":"7031:2:19","nodeType":"VariableDeclaration","scope":4333,"src":"7023:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4245,"name":"address","nodeType":"ElementaryTypeName","src":"7023:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4248,"mutability":"mutable","name":"tokenId","nameLocation":"7043:7:19","nodeType":"VariableDeclaration","scope":4333,"src":"7035:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4247,"name":"uint256","nodeType":"ElementaryTypeName","src":"7035:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7008:43:19"},"returnParameters":{"id":4250,"nodeType":"ParameterList","parameters":[],"src":"7061:0:19"},"scope":4782,"src":"6978:633:19","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[604,1206],"body":{"id":4408,"nodeType":"Block","src":"7747:530:19","statements":[{"assignments":[4348],"declarations":[{"constant":false,"id":4348,"mutability":"mutable","name":"seasonName","nameLocation":"7771:10:19","nodeType":"VariableDeclaration","scope":4408,"src":"7757:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4347,"name":"string","nodeType":"ElementaryTypeName","src":"7757:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4353,"initialValue":{"expression":{"baseExpression":{"id":4349,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"7784:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4351,"indexExpression":{"id":4350,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4339,"src":"7790:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7784:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7799:6:19","memberName":"season","nodeType":"MemberAccess","referencedDeclaration":3496,"src":"7784:21:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7757:48:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":4356,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4348,"src":"7839:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4355,"name":"getSeasonAlbums","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4211,"src":"7823:15:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory) view returns (uint256[] memory)"}},"id":4357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7823:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":4358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7851:6:19","memberName":"length","nodeType":"MemberAccess","src":"7823:34:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7861:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7823:39:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54686572652061726520616c62756d7320617661696c61626c6520696e207468697320736561736f6e","id":4361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7864:43:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_b68f12cbcd232c73be6408046b8bacdd39d892eb30152cae1e438e3b9ffcb162","typeString":"literal_string \"There are albums available in this season\""},"value":"There are albums available in this season"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b68f12cbcd232c73be6408046b8bacdd39d892eb30152cae1e438e3b9ffcb162","typeString":"literal_string \"There are albums available in this season\""}],"id":4354,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7815:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7815:93:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4363,"nodeType":"ExpressionStatement","src":"7815:93:19"},{"expression":{"arguments":[{"id":4367,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4335,"src":"7941:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4368,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4337,"src":"7947:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4369,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4339,"src":"7951:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4370,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4341,"src":"7960:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4364,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7918:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofAlphaV3_$4782_$","typeString":"type(contract super NofAlphaV3)"}},"id":4366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7924:16:19","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":604,"src":"7918:22:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":4371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7918:47:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4372,"nodeType":"ExpressionStatement","src":"7918:47:19"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4373,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"7978:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4375,"indexExpression":{"id":4374,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4339,"src":"7984:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7978:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7993:5:19","memberName":"class","nodeType":"MemberAccess","referencedDeclaration":3492,"src":"7978:20:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":4377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8002:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7978:25:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4400,"nodeType":"Block","src":"8113:108:19","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4391,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"8135:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4393,"indexExpression":{"id":4392,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4339,"src":"8141:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8135:14:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8150:10:19","memberName":"completion","nodeType":"MemberAccess","referencedDeclaration":3498,"src":"8135:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"35","id":4395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8164:1:19","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"8135:30:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f6e6c7920636f6d706c6574656420616c62756d732063616e206265207472616e73666572726564","id":4397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8167:42:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c0cd0be58cc286bb0e9354e9867d6529b848f34df009e50263cf8f305906b2f","typeString":"literal_string \"Only completed albums can be transferred\""},"value":"Only completed albums can be transferred"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5c0cd0be58cc286bb0e9354e9867d6529b848f34df009e50263cf8f305906b2f","typeString":"literal_string \"Only completed albums can be transferred\""}],"id":4390,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8127:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8127:83:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4399,"nodeType":"ExpressionStatement","src":"8127:83:19"}]},"id":4401,"nodeType":"IfStatement","src":"7975:246:19","trueBody":{"id":4389,"nodeType":"Block","src":"8004:103:19","statements":[{"expression":{"arguments":[{"baseExpression":{"expression":{"baseExpression":{"id":4380,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"8026:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4382,"indexExpression":{"id":4381,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4348,"src":"8034:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8026:19:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8046:6:19","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":3485,"src":"8026:26:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":4385,"indexExpression":{"id":4384,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4337,"src":"8053:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8026:30:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265636569766572206973206e6f7420706c6179696e67207468697320736561736f6e","id":4386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8058:37:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_6fb3401561c4ea771698bde988bc8c4726a4c15a319e33ca1c375fd68af39641","typeString":"literal_string \"Receiver is not playing this season\""},"value":"Receiver is not playing this season"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6fb3401561c4ea771698bde988bc8c4726a4c15a319e33ca1c375fd68af39641","typeString":"literal_string \"Receiver is not playing this season\""}],"id":4379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8018:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8018:78:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4388,"nodeType":"ExpressionStatement","src":"8018:78:19"}]}},{"expression":{"arguments":[{"id":4403,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4335,"src":"8252:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4404,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4337,"src":"8258:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4405,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4339,"src":"8262:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4402,"name":"transferCardOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4333,"src":"8230:21:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":4406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8230:40:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4407,"nodeType":"ExpressionStatement","src":"8230:40:19"}]},"functionSelector":"b88d4fde","id":4409,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"7626:16:19","nodeType":"FunctionDefinition","overrides":{"id":4345,"nodeType":"OverrideSpecifier","overrides":[{"id":4343,"name":"ERC721","nameLocations":["7729:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"7729:6:19"},{"id":4344,"name":"IERC721","nameLocations":["7737:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"7737:7:19"}],"src":"7720:25:19"},"parameters":{"id":4342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4335,"mutability":"mutable","name":"from","nameLocation":"7651:4:19","nodeType":"VariableDeclaration","scope":4409,"src":"7643:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4334,"name":"address","nodeType":"ElementaryTypeName","src":"7643:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4337,"mutability":"mutable","name":"to","nameLocation":"7665:2:19","nodeType":"VariableDeclaration","scope":4409,"src":"7657:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4336,"name":"address","nodeType":"ElementaryTypeName","src":"7657:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4339,"mutability":"mutable","name":"tokenId","nameLocation":"7677:7:19","nodeType":"VariableDeclaration","scope":4409,"src":"7669:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4338,"name":"uint256","nodeType":"ElementaryTypeName","src":"7669:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4341,"mutability":"mutable","name":"data","nameLocation":"7699:4:19","nodeType":"VariableDeclaration","scope":4409,"src":"7686:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4340,"name":"bytes","nodeType":"ElementaryTypeName","src":"7686:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7642:62:19"},"returnParameters":{"id":4346,"nodeType":"ParameterList","parameters":[],"src":"7747:0:19"},"scope":4782,"src":"7617:660:19","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[555,1226],"body":{"id":4427,"nodeType":"Block","src":"8390:52:19","statements":[{"expression":{"arguments":[{"id":4422,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4411,"src":"8417:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4423,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4413,"src":"8423:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4424,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4415,"src":"8427:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4421,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[4409,574],"referencedDeclaration":574,"src":"8400:16:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":4425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8400:35:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4426,"nodeType":"ExpressionStatement","src":"8400:35:19"}]},"functionSelector":"23b872dd","id":4428,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"8292:12:19","nodeType":"FunctionDefinition","overrides":{"id":4419,"nodeType":"OverrideSpecifier","overrides":[{"id":4417,"name":"ERC721","nameLocations":["8372:6:19"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"8372:6:19"},{"id":4418,"name":"IERC721","nameLocations":["8380:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"8380:7:19"}],"src":"8363:25:19"},"parameters":{"id":4416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4411,"mutability":"mutable","name":"from","nameLocation":"8313:4:19","nodeType":"VariableDeclaration","scope":4428,"src":"8305:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4410,"name":"address","nodeType":"ElementaryTypeName","src":"8305:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4413,"mutability":"mutable","name":"to","nameLocation":"8327:2:19","nodeType":"VariableDeclaration","scope":4428,"src":"8319:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4412,"name":"address","nodeType":"ElementaryTypeName","src":"8319:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4415,"mutability":"mutable","name":"tokenId","nameLocation":"8339:7:19","nodeType":"VariableDeclaration","scope":4428,"src":"8331:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4414,"name":"uint256","nodeType":"ElementaryTypeName","src":"8331:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8304:43:19"},"returnParameters":{"id":4420,"nodeType":"ParameterList","parameters":[],"src":"8390:0:19"},"scope":4782,"src":"8283:159:19","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":4678,"nodeType":"Block","src":"8498:1671:19","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4437,"name":"card","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4430,"src":"8524:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4436,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"8516:7:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":4438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8516:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4439,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8533:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8537:6:19","memberName":"sender","nodeType":"MemberAccess","src":"8533:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8516:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54686973206973206e6f7420796f75722063617264","id":4442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8545:23:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_c109004b669a4d72cb4eb97db002903cc0169ec4c84c949b78ec5088ec4668fe","typeString":"literal_string \"This is not your card\""},"value":"This is not your card"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c109004b669a4d72cb4eb97db002903cc0169ec4c84c949b78ec5088ec4668fe","typeString":"literal_string \"This is not your card\""}],"id":4435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8508:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8508:61:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4444,"nodeType":"ExpressionStatement","src":"8508:61:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4447,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"8595:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4446,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"8587:7:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":4448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8587:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4449,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8605:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8609:6:19","memberName":"sender","nodeType":"MemberAccess","src":"8605:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8587:28:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"54686973206973206e6f7420796f757220616c62756d","id":4452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8617:24:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cb55d0887b6e2e68566b1f2151148dcb5c2a2639658126a6a7f044d1aa26a53","typeString":"literal_string \"This is not your album\""},"value":"This is not your album"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6cb55d0887b6e2e68566b1f2151148dcb5c2a2639658126a6a7f044d1aa26a53","typeString":"literal_string \"This is not your album\""}],"id":4445,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8579:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8579:63:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4454,"nodeType":"ExpressionStatement","src":"8579:63:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4456,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"8660:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4458,"indexExpression":{"id":4457,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"8666:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8660:12:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8673:5:19","memberName":"class","nodeType":"MemberAccess","referencedDeclaration":3492,"src":"8660:18:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8682:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8660:23:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"63617264206973206e6f7420616e20616c62756d","id":4462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8685:22:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_20d8a65ab2c3e6e002e588f538284af6066809c65c417beb1fc1ab00bdd39555","typeString":"literal_string \"card is not an album\""},"value":"card is not an album"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_20d8a65ab2c3e6e002e588f538284af6066809c65c417beb1fc1ab00bdd39555","typeString":"literal_string \"card is not an album\""}],"id":4455,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8652:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8652:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4464,"nodeType":"ExpressionStatement","src":"8652:56:19"},{"assignments":[4466],"declarations":[{"constant":false,"id":4466,"mutability":"mutable","name":"seasonName","nameLocation":"8733:10:19","nodeType":"VariableDeclaration","scope":4678,"src":"8719:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4465,"name":"string","nodeType":"ElementaryTypeName","src":"8719:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4471,"initialValue":{"expression":{"baseExpression":{"id":4467,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"8746:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4469,"indexExpression":{"id":4468,"name":"card","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4430,"src":"8752:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8746:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8758:6:19","memberName":"season","nodeType":"MemberAccess","referencedDeclaration":3496,"src":"8746:18:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8719:45:19"},{"body":{"id":4539,"nodeType":"Block","src":"8845:372:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4488,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"8862:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4491,"indexExpression":{"expression":{"id":4489,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8882:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8886:6:19","memberName":"sender","nodeType":"MemberAccess","src":"8882:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8862:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4493,"indexExpression":{"id":4492,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4466,"src":"8894:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8862:43:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4495,"indexExpression":{"id":4494,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"8906:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8862:46:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4496,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8909:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3500,"src":"8862:53:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":4497,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"8919:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4499,"indexExpression":{"id":4498,"name":"card","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4430,"src":"8925:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8919:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8931:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3500,"src":"8919:18:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8862:75:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4538,"nodeType":"IfStatement","src":"8859:348:19","trueBody":{"id":4537,"nodeType":"Block","src":"8938:269:19","statements":[{"expression":{"id":4526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4502,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"8956:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4507,"indexExpression":{"expression":{"id":4503,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8976:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:6:19","memberName":"sender","nodeType":"MemberAccess","src":"8976:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8956:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4508,"indexExpression":{"id":4505,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4466,"src":"8988:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8956:43:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4509,"indexExpression":{"id":4506,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"9000:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8956:46:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4510,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"9026:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4513,"indexExpression":{"expression":{"id":4511,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9046:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9050:6:19","memberName":"sender","nodeType":"MemberAccess","src":"9046:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9026:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4515,"indexExpression":{"id":4514,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4466,"src":"9058:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9026:43:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4525,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"baseExpression":{"id":4516,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"9070:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4519,"indexExpression":{"expression":{"id":4517,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9090:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9094:6:19","memberName":"sender","nodeType":"MemberAccess","src":"9090:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9070:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4521,"indexExpression":{"id":4520,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4466,"src":"9102:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9070:43:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9114:6:19","memberName":"length","nodeType":"MemberAccess","src":"9070:50:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":4523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9123:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9070:54:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9026:99:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"src":"8956:169:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4527,"nodeType":"ExpressionStatement","src":"8956:169:19"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"baseExpression":{"id":4528,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"9143:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4532,"indexExpression":{"expression":{"id":4529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9163:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9167:6:19","memberName":"sender","nodeType":"MemberAccess","src":"9163:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9143:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4533,"indexExpression":{"id":4531,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4466,"src":"9175:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9143:43:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9187:3:19","memberName":"pop","nodeType":"MemberAccess","src":"9143:47:19","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_ptr_$","typeString":"function (struct NofAlphaV3.Card storage ref[] storage pointer)"}},"id":4535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9143:49:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4536,"nodeType":"ExpressionStatement","src":"9143:49:19"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4476,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"8788:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"baseExpression":{"id":4477,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"8790:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4480,"indexExpression":{"expression":{"id":4478,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8810:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8814:6:19","memberName":"sender","nodeType":"MemberAccess","src":"8810:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8790:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4482,"indexExpression":{"id":4481,"name":"seasonName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4466,"src":"8822:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8790:43:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8834:6:19","memberName":"length","nodeType":"MemberAccess","src":"8790:50:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8788:52:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4540,"initializationExpression":{"assignments":[4473],"declarations":[{"constant":false,"id":4473,"mutability":"mutable","name":"i","nameLocation":"8784:1:19","nodeType":"VariableDeclaration","scope":4540,"src":"8778:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4472,"name":"uint8","nodeType":"ElementaryTypeName","src":"8778:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":4475,"initialValue":{"hexValue":"30","id":4474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8786:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8778:9:19"},"loopExpression":{"expression":{"id":4486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8841:3:19","subExpression":{"id":4485,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4473,"src":"8841:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4487,"nodeType":"ExpressionStatement","src":"8841:3:19"},"nodeType":"ForStatement","src":"8774:443:19"},{"expression":{"arguments":[{"id":4542,"name":"card","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4430,"src":"9233:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4541,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[3721],"referencedDeclaration":3721,"src":"9227:5:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":4543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9227:11:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4544,"nodeType":"ExpressionStatement","src":"9227:11:19"},{"expression":{"id":4549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9248:25:19","subExpression":{"expression":{"baseExpression":{"id":4545,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"9248:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4547,"indexExpression":{"id":4546,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"9254:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9248:12:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4548,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9261:10:19","memberName":"completion","nodeType":"MemberAccess","referencedDeclaration":3498,"src":"9248:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4550,"nodeType":"ExpressionStatement","src":"9248:25:19"},{"expression":{"id":4563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9283:67:19","subExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":4551,"name":"cardsByUserBySeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3526,"src":"9283:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$_$","typeString":"mapping(address => mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref))"}},"id":4559,"indexExpression":{"expression":{"id":4552,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9303:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9307:6:19","memberName":"sender","nodeType":"MemberAccess","src":"9303:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9283:31:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_struct$_Card_$3501_storage_$dyn_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Card storage ref[] storage ref)"}},"id":4560,"indexExpression":{"expression":{"baseExpression":{"id":4554,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"9315:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4556,"indexExpression":{"id":4555,"name":"card","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4430,"src":"9321:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9315:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9327:6:19","memberName":"season","nodeType":"MemberAccess","referencedDeclaration":3496,"src":"9315:18:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9283:51:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Card_$3501_storage_$dyn_storage","typeString":"struct NofAlphaV3.Card storage ref[] storage ref"}},"id":4561,"indexExpression":{"hexValue":"30","id":4558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9283:54:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9338:10:19","memberName":"completion","nodeType":"MemberAccess","referencedDeclaration":3498,"src":"9283:65:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4564,"nodeType":"ExpressionStatement","src":"9283:67:19"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4565,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"9364:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4567,"indexExpression":{"id":4566,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"9370:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9364:12:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9377:10:19","memberName":"completion","nodeType":"MemberAccess","referencedDeclaration":3498,"src":"9364:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"35","id":4569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9391:1:19","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"9364:28:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4677,"nodeType":"IfStatement","src":"9361:800:19","trueBody":{"id":4676,"nodeType":"Block","src":"9393:768:19","statements":[{"assignments":[4572],"declarations":[{"constant":false,"id":4572,"mutability":"mutable","name":"albumSeason","nameLocation":"9421:11:19","nodeType":"VariableDeclaration","scope":4676,"src":"9407:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4571,"name":"string","nodeType":"ElementaryTypeName","src":"9407:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4577,"initialValue":{"expression":{"baseExpression":{"id":4573,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"9435:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4575,"indexExpression":{"id":4574,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"9441:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9435:12:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9448:6:19","memberName":"season","nodeType":"MemberAccess","referencedDeclaration":3496,"src":"9435:19:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9407:47:19"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4578,"name":"winners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3518,"src":"9471:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string memory => address[] storage ref)"}},"id":4580,"indexExpression":{"id":4579,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"9479:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9471:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":4581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9492:6:19","memberName":"length","nodeType":"MemberAccess","src":"9471:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"37","id":4582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9501:1:19","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"9471:31:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4631,"nodeType":"IfStatement","src":"9468:416:19","trueBody":{"id":4630,"nodeType":"Block","src":"9503:381:19","statements":[{"expression":{"arguments":[{"expression":{"id":4588,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9547:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9551:6:19","memberName":"sender","nodeType":"MemberAccess","src":"9547:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":4584,"name":"winners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3518,"src":"9521:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string memory => address[] storage ref)"}},"id":4586,"indexExpression":{"id":4585,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"9529:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9521:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":4587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9542:4:19","memberName":"push","nodeType":"MemberAccess","src":"9521:25:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":4590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9521:37:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4591,"nodeType":"ExpressionStatement","src":"9521:37:19"},{"assignments":[4593],"declarations":[{"constant":false,"id":4593,"mutability":"mutable","name":"prize","nameLocation":"9584:5:19","nodeType":"VariableDeclaration","scope":4630,"src":"9576:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4592,"name":"uint256","nodeType":"ElementaryTypeName","src":"9576:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4609,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4594,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"9592:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4596,"indexExpression":{"id":4595,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"9600:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9592:20:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9613:5:19","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":3475,"src":"9592:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"baseExpression":{"id":4598,"name":"prizes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"9621:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$7_storage","typeString":"uint8[7] storage ref"}},"id":4605,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":4599,"name":"winners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3518,"src":"9628:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string memory => address[] storage ref)"}},"id":4601,"indexExpression":{"id":4600,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"9636:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9628:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":4602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9649:6:19","memberName":"length","nodeType":"MemberAccess","src":"9628:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":4603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9658:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9628:31:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9621:39:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9592:68:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3130","id":4607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9663:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"9592:73:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9576:89:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4611,"name":"prize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4593,"src":"9691:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":4612,"name":"prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"9700:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9691:22:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5072697a65206d757374206265206c6f776572206f7220657175616c207468616e207072697a65732062616c616e6365","id":4614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9715:50:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e4d98b4b75f02e2c4a099a7c074c2e9dad88450b338cf2ea1346aa894189705","typeString":"literal_string \"Prize must be lower or equal than prizes balance\""},"value":"Prize must be lower or equal than prizes balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0e4d98b4b75f02e2c4a099a7c074c2e9dad88450b338cf2ea1346aa894189705","typeString":"literal_string \"Prize must be lower or equal than prizes balance\""}],"id":4610,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9683:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9683:83:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4616,"nodeType":"ExpressionStatement","src":"9683:83:19"},{"expression":{"id":4619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4617,"name":"prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"9784:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":4618,"name":"prize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4593,"src":"9801:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9784:22:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4620,"nodeType":"ExpressionStatement","src":"9784:22:19"},{"expression":{"arguments":[{"expression":{"id":4625,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9851:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9855:6:19","memberName":"sender","nodeType":"MemberAccess","src":"9851:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4627,"name":"prize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4593,"src":"9863:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":4622,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"9831:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4621,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"9824:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":4623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9824:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":4624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9842:8:19","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"9824:26:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":4628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9824:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4629,"nodeType":"ExpressionStatement","src":"9824:45:19"}]}},{"expression":{"arguments":[{"id":4633,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"9910:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":4640,"name":"seasons","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"9947:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Season_$3488_storage_$","typeString":"mapping(string memory => struct NofAlphaV3.Season storage ref)"}},"id":4642,"indexExpression":{"id":4641,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"9955:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9947:20:19","typeDescriptions":{"typeIdentifier":"t_struct$_Season_$3488_storage","typeString":"struct NofAlphaV3.Season storage ref"}},"id":4643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9968:6:19","memberName":"folder","nodeType":"MemberAccess","referencedDeclaration":3487,"src":"9947:27:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":4639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9941:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4638,"name":"bytes","nodeType":"ElementaryTypeName","src":"9941:5:19","typeDescriptions":{}}},"id":4644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9941:34:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":4647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10009:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":4646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10003:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4645,"name":"bytes","nodeType":"ElementaryTypeName","src":"10003:5:19","typeDescriptions":{}}},"id":4648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10003:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":4652,"name":"cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3513,"src":"10030:5:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3501_storage_$","typeString":"mapping(uint256 => struct NofAlphaV3.Card storage ref)"}},"id":4654,"indexExpression":{"id":4653,"name":"album","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4432,"src":"10036:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10030:12:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3501_storage","typeString":"struct NofAlphaV3.Card storage ref"}},"id":4655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10043:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3500,"src":"10030:19:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4651,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4757,"src":"10021:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":4656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10021:29:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10015:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4649,"name":"bytes","nodeType":"ElementaryTypeName","src":"10015:5:19","typeDescriptions":{}}},"id":4657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10015:36:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"462e6a736f6e","id":4660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10059:8:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""},"value":"F.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""}],"id":4659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10053:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4658,"name":"bytes","nodeType":"ElementaryTypeName","src":"10053:5:19","typeDescriptions":{}}},"id":4661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10053:15:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9924:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9928:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"9924:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9924:145:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9917:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4634,"name":"string","nodeType":"ElementaryTypeName","src":"9917:6:19","typeDescriptions":{}}},"id":4663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9917:153:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4632,"name":"_setTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1434,"src":"9897:12:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":4664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9897:174:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4665,"nodeType":"ExpressionStatement","src":"9897:174:19"},{"eventCall":{"arguments":[{"expression":{"id":4667,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10097:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10101:6:19","memberName":"sender","nodeType":"MemberAccess","src":"10097:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4669,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"10109:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"baseExpression":{"id":4670,"name":"winners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3518,"src":"10122:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(string memory => address[] storage ref)"}},"id":4672,"indexExpression":{"id":4671,"name":"albumSeason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"10130:11:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10122:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":4673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10143:6:19","memberName":"length","nodeType":"MemberAccess","src":"10122:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4666,"name":"Winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3562,"src":"10090:6:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,string memory,uint256)"}},"id":4674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10090:60:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4675,"nodeType":"EmitStatement","src":"10085:65:19"}]}}]},"functionSelector":"41c2c10f","id":4679,"implemented":true,"kind":"function","modifiers":[],"name":"pasteCards","nameLocation":"8457:10:19","nodeType":"FunctionDefinition","parameters":{"id":4433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4430,"mutability":"mutable","name":"card","nameLocation":"8473:4:19","nodeType":"VariableDeclaration","scope":4679,"src":"8468:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4429,"name":"uint","nodeType":"ElementaryTypeName","src":"8468:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4432,"mutability":"mutable","name":"album","nameLocation":"8484:5:19","nodeType":"VariableDeclaration","scope":4679,"src":"8479:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4431,"name":"uint","nodeType":"ElementaryTypeName","src":"8479:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8467:23:19"},"returnParameters":{"id":4434,"nodeType":"ParameterList","parameters":[],"src":"8498:0:19"},"scope":4782,"src":"8448:1721:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":4756,"nodeType":"Block","src":"10246:625:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4686,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4681,"src":"10441:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10450:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10441:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4692,"nodeType":"IfStatement","src":"10437:51:19","trueBody":{"id":4691,"nodeType":"Block","src":"10453:35:19","statements":[{"expression":{"hexValue":"30","id":4689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10474:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":4685,"id":4690,"nodeType":"Return","src":"10467:10:19"}]}},{"assignments":[4694],"declarations":[{"constant":false,"id":4694,"mutability":"mutable","name":"temp","nameLocation":"10505:4:19","nodeType":"VariableDeclaration","scope":4756,"src":"10497:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4693,"name":"uint256","nodeType":"ElementaryTypeName","src":"10497:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4696,"initialValue":{"id":4695,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4681,"src":"10512:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10497:20:19"},{"assignments":[4698],"declarations":[{"constant":false,"id":4698,"mutability":"mutable","name":"digits","nameLocation":"10535:6:19","nodeType":"VariableDeclaration","scope":4756,"src":"10527:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4697,"name":"uint256","nodeType":"ElementaryTypeName","src":"10527:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4699,"nodeType":"VariableDeclarationStatement","src":"10527:14:19"},{"body":{"id":4710,"nodeType":"Block","src":"10569:57:19","statements":[{"expression":{"id":4704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10583:8:19","subExpression":{"id":4703,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"10583:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4705,"nodeType":"ExpressionStatement","src":"10583:8:19"},{"expression":{"id":4708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4706,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"10605:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":4707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10613:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10605:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4709,"nodeType":"ExpressionStatement","src":"10605:10:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4700,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"10558:4:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10566:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10558:9:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4711,"nodeType":"WhileStatement","src":"10551:75:19"},{"assignments":[4713],"declarations":[{"constant":false,"id":4713,"mutability":"mutable","name":"buffer","nameLocation":"10648:6:19","nodeType":"VariableDeclaration","scope":4756,"src":"10635:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4712,"name":"bytes","nodeType":"ElementaryTypeName","src":"10635:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4718,"initialValue":{"arguments":[{"id":4716,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"10667:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10657:9:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":4714,"name":"bytes","nodeType":"ElementaryTypeName","src":"10661:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":4717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10657:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10635:39:19"},{"body":{"id":4749,"nodeType":"Block","src":"10703:131:19","statements":[{"expression":{"id":4724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4722,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"10717:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":4723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10727:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10717:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4725,"nodeType":"ExpressionStatement","src":"10717:11:19"},{"expression":{"id":4743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4726,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4713,"src":"10742:6:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4728,"indexExpression":{"id":4727,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4698,"src":"10749:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10742:14:19","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":4733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10772:2:19","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4736,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4681,"src":"10785:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":4737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10793:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10785:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10777:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4734,"name":"uint256","nodeType":"ElementaryTypeName","src":"10777:7:19","typeDescriptions":{}}},"id":4739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10777:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10772:24:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10766:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4731,"name":"uint8","nodeType":"ElementaryTypeName","src":"10766:5:19","typeDescriptions":{}}},"id":4741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10766:31:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10759:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":4729,"name":"bytes1","nodeType":"ElementaryTypeName","src":"10759:6:19","typeDescriptions":{}}},"id":4742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10759:39:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"10742:56:19","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":4744,"nodeType":"ExpressionStatement","src":"10742:56:19"},{"expression":{"id":4747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4745,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4681,"src":"10812:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":4746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10821:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10812:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4748,"nodeType":"ExpressionStatement","src":"10812:11:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4719,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4681,"src":"10691:5:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10700:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10691:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4750,"nodeType":"WhileStatement","src":"10684:150:19"},{"expression":{"arguments":[{"id":4753,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4713,"src":"10857:6:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10850:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4751,"name":"string","nodeType":"ElementaryTypeName","src":"10850:6:19","typeDescriptions":{}}},"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10850:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":4685,"id":4755,"nodeType":"Return","src":"10843:21:19"}]},"id":4757,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"10184:8:19","nodeType":"FunctionDefinition","parameters":{"id":4682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4681,"mutability":"mutable","name":"value","nameLocation":"10201:5:19","nodeType":"VariableDeclaration","scope":4757,"src":"10193:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4680,"name":"uint256","nodeType":"ElementaryTypeName","src":"10193:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10192:15:19"},"returnParameters":{"id":4685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4757,"src":"10231:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4683,"name":"string","nodeType":"ElementaryTypeName","src":"10231:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10230:15:19"},"scope":4782,"src":"10175:696:19","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":4768,"nodeType":"Block","src":"10951:54:19","statements":[{"expression":{"id":4766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4764,"name":"balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"10961:15:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4765,"name":"_newBalanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4759,"src":"10979:19:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10961:37:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4767,"nodeType":"ExpressionStatement","src":"10961:37:19"}]},"functionSelector":"c1f3a3bb","id":4769,"implemented":true,"kind":"function","modifiers":[{"id":4762,"kind":"modifierInvocation","modifierName":{"id":4761,"name":"onlyOwner","nameLocations":["10941:9:19"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"10941:9:19"},"nodeType":"ModifierInvocation","src":"10941:9:19"}],"name":"setBalanceReceiver","nameLocation":"10886:18:19","nodeType":"FunctionDefinition","parameters":{"id":4760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4759,"mutability":"mutable","name":"_newBalanceReceiver","nameLocation":"10913:19:19","nodeType":"VariableDeclaration","scope":4769,"src":"10905:27:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4758,"name":"address","nodeType":"ElementaryTypeName","src":"10905:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10904:29:19"},"returnParameters":{"id":4763,"nodeType":"ParameterList","parameters":[],"src":"10951:0:19"},"scope":4782,"src":"10877:128:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":4780,"nodeType":"Block","src":"11074:36:19","statements":[{"expression":{"id":4778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4776,"name":"baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3473,"src":"11084:7:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4777,"name":"__baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4771,"src":"11094:9:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11084:19:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4779,"nodeType":"ExpressionStatement","src":"11084:19:19"}]},"functionSelector":"55f804b3","id":4781,"implemented":true,"kind":"function","modifiers":[{"id":4774,"kind":"modifierInvocation","modifierName":{"id":4773,"name":"onlyOwner","nameLocations":["11064:9:19"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"11064:9:19"},"nodeType":"ModifierInvocation","src":"11064:9:19"}],"name":"setBaseURI","nameLocation":"11020:10:19","nodeType":"FunctionDefinition","parameters":{"id":4772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4771,"mutability":"mutable","name":"__baseURI","nameLocation":"11046:9:19","nodeType":"VariableDeclaration","scope":4781,"src":"11032:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4770,"name":"string","nodeType":"ElementaryTypeName","src":"11032:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11031:25:19"},"returnParameters":{"id":4775,"nodeType":"ParameterList","parameters":[],"src":"11074:0:19"},"scope":4782,"src":"11011:99:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":4783,"src":"338:10775:19","usedErrors":[],"usedEvents":[13,129,136,1160,1169,1178,3554,3562]}],"src":"32:11081:19"},"id":19},"contracts/alpha/ContextMixin.v2.sol":{"ast":{"absolutePath":"contracts/alpha/ContextMixin.v2.sol","exportedSymbols":{"ContextMixinV2":[4823]},"id":4824,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4784,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:20"},{"abstract":true,"baseContracts":[],"canonicalName":"ContextMixinV2","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":4823,"linearizedBaseContracts":[4823],"name":"ContextMixinV2","nameLocation":"76:14:20","nodeType":"ContractDefinition","nodes":[{"body":{"id":4821,"nodeType":"Block","src":"193:555:20","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4789,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"207:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"211:6:20","memberName":"sender","nodeType":"MemberAccess","src":"207:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":4793,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"229:4:20","typeDescriptions":{"typeIdentifier":"t_contract$_ContextMixinV2_$4823","typeString":"contract ContextMixinV2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ContextMixinV2_$4823","typeString":"contract ContextMixinV2"}],"id":4792,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"221:7:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4791,"name":"address","nodeType":"ElementaryTypeName","src":"221:7:20","typeDescriptions":{}}},"id":4794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"221:13:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"207:27:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4817,"nodeType":"Block","src":"666:53:20","statements":[{"expression":{"id":4815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4809,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4787,"src":"680:6:20","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4812,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"697:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"701:6:20","memberName":"sender","nodeType":"MemberAccess","src":"697:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"689:8:20","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4810,"name":"address","nodeType":"ElementaryTypeName","src":"689:8:20","stateMutability":"payable","typeDescriptions":{}}},"id":4814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"689:19:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"680:28:20","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":4816,"nodeType":"ExpressionStatement","src":"680:28:20"}]},"id":4818,"nodeType":"IfStatement","src":"203:516:20","trueBody":{"id":4808,"nodeType":"Block","src":"236:424:20","statements":[{"assignments":[4797],"declarations":[{"constant":false,"id":4797,"mutability":"mutable","name":"array","nameLocation":"263:5:20","nodeType":"VariableDeclaration","scope":4808,"src":"250:18:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4796,"name":"bytes","nodeType":"ElementaryTypeName","src":"250:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4800,"initialValue":{"expression":{"id":4798,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"271:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"275:4:20","memberName":"data","nodeType":"MemberAccess","src":"271:8:20","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"nodeType":"VariableDeclarationStatement","src":"250:29:20"},{"assignments":[4802],"declarations":[{"constant":false,"id":4802,"mutability":"mutable","name":"index","nameLocation":"301:5:20","nodeType":"VariableDeclaration","scope":4808,"src":"293:13:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4801,"name":"uint256","nodeType":"ElementaryTypeName","src":"293:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4806,"initialValue":{"expression":{"expression":{"id":4803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"309:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"313:4:20","memberName":"data","nodeType":"MemberAccess","src":"309:8:20","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":4805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"318:6:20","memberName":"length","nodeType":"MemberAccess","src":"309:15:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"293:31:20"},{"AST":{"nodeType":"YulBlock","src":"347:303:20","statements":[{"nodeType":"YulAssignment","src":"495:141:20","value":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"540:5:20"},{"name":"index","nodeType":"YulIdentifier","src":"547:5:20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"536:3:20"},"nodeType":"YulFunctionCall","src":"536:17:20"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"530:5:20"},"nodeType":"YulFunctionCall","src":"530:24:20"},{"kind":"number","nodeType":"YulLiteral","src":"576:42:20","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"505:3:20"},"nodeType":"YulFunctionCall","src":"505:131:20"},"variableNames":[{"name":"sender","nodeType":"YulIdentifier","src":"495:6:20"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":4797,"isOffset":false,"isSlot":false,"src":"540:5:20","valueSize":1},{"declaration":4802,"isOffset":false,"isSlot":false,"src":"547:5:20","valueSize":1},{"declaration":4787,"isOffset":false,"isSlot":false,"src":"495:6:20","valueSize":1}],"id":4807,"nodeType":"InlineAssembly","src":"338:312:20"}]}},{"expression":{"id":4819,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4787,"src":"735:6:20","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":4788,"id":4820,"nodeType":"Return","src":"728:13:20"}]},"id":4822,"implemented":true,"kind":"function","modifiers":[],"name":"msgSender","nameLocation":"106:9:20","nodeType":"FunctionDefinition","parameters":{"id":4785,"nodeType":"ParameterList","parameters":[],"src":"115:2:20"},"returnParameters":{"id":4788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4787,"mutability":"mutable","name":"sender","nameLocation":"181:6:20","nodeType":"VariableDeclaration","scope":4822,"src":"165:22:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":4786,"name":"address","nodeType":"ElementaryTypeName","src":"165:15:20","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"164:24:20"},"scope":4823,"src":"97:651:20","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":4824,"src":"58:692:20","usedErrors":[],"usedEvents":[]}],"src":"32:718:20"},"id":20},"contracts/gamma/GammaCards.v5.sol":{"ast":{"absolutePath":"contracts/gamma/GammaCards.v5.sol","exportedSymbols":{"CannotRemoveUserOffers":[4871],"CardLimitExceeded":[4861],"IERC20":[218],"IgammaOffersContract":[4934],"IgammaPacksContract":[4894],"IgammaTicketsContract":[4940],"IncorrectPrizeAmount":[4855],"InsufficientCards":[4867],"InsufficientFunds":[4865],"InvalidAddress":[4847],"InvalidCardNumber":[4849],"InvalidSignature":[4853],"InvalidTransfer":[4851],"LibControlMgmt":[10534],"LibPackVerifier":[10579],"LibStringUtils":[10660],"MustCompleteAlbum":[4869],"NofGammaCardsNFTV1":[7076],"NofGammaCardsV5":[7006],"NotYourPack":[4859],"OnlyGammaPacksContract":[4841],"OnlyOffersContract":[4843],"OnlyOwners":[4845],"Ownable":[112],"UserDoesNotHaveCardOrAlbum":[4863],"WrongPacksQuantity":[4857],"console":[21215]},"id":7007,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":4825,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:21"},{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","id":4827,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":113,"src":"58:67:21","symbolAliases":[{"foreign":{"id":4826,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"66:7:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","id":4829,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":219,"src":"126:70:21","symbolAliases":[{"foreign":{"id":4828,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"134:6:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibStringUtils.sol","file":"./libs/LibStringUtils.sol","id":4831,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":10661,"src":"197:57:21","symbolAliases":[{"foreign":{"id":4830,"name":"LibStringUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10660,"src":"205:14:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibPackVerifier.sol","file":"./libs/LibPackVerifier.sol","id":4833,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":10580,"src":"255:59:21","symbolAliases":[{"foreign":{"id":4832,"name":"LibPackVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10579,"src":"263:15:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","file":"./libs/LibControlMgmt.sol","id":4835,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":10535,"src":"315:57:21","symbolAliases":[{"foreign":{"id":4834,"name":"LibControlMgmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10534,"src":"323:14:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"hardhat/console.sol","file":"hardhat/console.sol","id":4837,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":21216,"src":"373:44:21","symbolAliases":[{"foreign":{"id":4836,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21215,"src":"381:7:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/GammaCardsNFT.v1.sol","file":"./GammaCardsNFT.v1.sol","id":4839,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7007,"sourceUnit":7077,"src":"418:58:21","symbolAliases":[{"foreign":{"id":4838,"name":"NofGammaCardsNFTV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7076,"src":"426:18:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"errorSelector":"7473cc70","id":4841,"name":"OnlyGammaPacksContract","nameLocation":"484:22:21","nodeType":"ErrorDefinition","parameters":{"id":4840,"nodeType":"ParameterList","parameters":[],"src":"506:2:21"},"src":"478:31:21"},{"errorSelector":"8eea8241","id":4843,"name":"OnlyOffersContract","nameLocation":"516:18:21","nodeType":"ErrorDefinition","parameters":{"id":4842,"nodeType":"ParameterList","parameters":[],"src":"534:2:21"},"src":"510:27:21"},{"errorSelector":"4289c493","id":4845,"name":"OnlyOwners","nameLocation":"544:10:21","nodeType":"ErrorDefinition","parameters":{"id":4844,"nodeType":"ParameterList","parameters":[],"src":"554:2:21"},"src":"538:19:21"},{"errorSelector":"e6c4247b","id":4847,"name":"InvalidAddress","nameLocation":"564:14:21","nodeType":"ErrorDefinition","parameters":{"id":4846,"nodeType":"ParameterList","parameters":[],"src":"578:2:21"},"src":"558:23:21"},{"errorSelector":"1a3d9e2e","id":4849,"name":"InvalidCardNumber","nameLocation":"588:17:21","nodeType":"ErrorDefinition","parameters":{"id":4848,"nodeType":"ParameterList","parameters":[],"src":"605:2:21"},"src":"582:26:21"},{"errorSelector":"2f352531","id":4851,"name":"InvalidTransfer","nameLocation":"615:15:21","nodeType":"ErrorDefinition","parameters":{"id":4850,"nodeType":"ParameterList","parameters":[],"src":"630:2:21"},"src":"609:24:21"},{"errorSelector":"8baa579f","id":4853,"name":"InvalidSignature","nameLocation":"640:16:21","nodeType":"ErrorDefinition","parameters":{"id":4852,"nodeType":"ParameterList","parameters":[],"src":"656:2:21"},"src":"634:25:21"},{"errorSelector":"4b1c6ca1","id":4855,"name":"IncorrectPrizeAmount","nameLocation":"666:20:21","nodeType":"ErrorDefinition","parameters":{"id":4854,"nodeType":"ParameterList","parameters":[],"src":"686:2:21"},"src":"660:29:21"},{"errorSelector":"b154b3b0","id":4857,"name":"WrongPacksQuantity","nameLocation":"696:18:21","nodeType":"ErrorDefinition","parameters":{"id":4856,"nodeType":"ParameterList","parameters":[],"src":"714:2:21"},"src":"690:27:21"},{"errorSelector":"7f6ecdf5","id":4859,"name":"NotYourPack","nameLocation":"724:11:21","nodeType":"ErrorDefinition","parameters":{"id":4858,"nodeType":"ParameterList","parameters":[],"src":"735:2:21"},"src":"718:20:21"},{"errorSelector":"9dcca733","id":4861,"name":"CardLimitExceeded","nameLocation":"745:17:21","nodeType":"ErrorDefinition","parameters":{"id":4860,"nodeType":"ParameterList","parameters":[],"src":"762:2:21"},"src":"739:26:21"},{"errorSelector":"843c0744","id":4863,"name":"UserDoesNotHaveCardOrAlbum","nameLocation":"772:26:21","nodeType":"ErrorDefinition","parameters":{"id":4862,"nodeType":"ParameterList","parameters":[],"src":"798:2:21"},"src":"766:35:21"},{"errorSelector":"356680b7","id":4865,"name":"InsufficientFunds","nameLocation":"808:17:21","nodeType":"ErrorDefinition","parameters":{"id":4864,"nodeType":"ParameterList","parameters":[],"src":"825:2:21"},"src":"802:26:21"},{"errorSelector":"907d371a","id":4867,"name":"InsufficientCards","nameLocation":"835:17:21","nodeType":"ErrorDefinition","parameters":{"id":4866,"nodeType":"ParameterList","parameters":[],"src":"852:2:21"},"src":"829:26:21"},{"errorSelector":"07bd0520","id":4869,"name":"MustCompleteAlbum","nameLocation":"862:17:21","nodeType":"ErrorDefinition","parameters":{"id":4868,"nodeType":"ParameterList","parameters":[],"src":"879:2:21"},"src":"856:26:21"},{"errorSelector":"e07c7c8d","id":4871,"name":"CannotRemoveUserOffers","nameLocation":"889:22:21","nodeType":"ErrorDefinition","parameters":{"id":4870,"nodeType":"ParameterList","parameters":[],"src":"911:2:21"},"src":"883:31:21"},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaPacksContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":4894,"linearizedBaseContracts":[4894],"name":"IgammaPacksContract","nameLocation":"926:19:21","nodeType":"ContractDefinition","nodes":[{"functionSelector":"d3e6a7ad","id":4878,"implemented":false,"kind":"function","modifiers":[],"name":"getPackOwner","nameLocation":"959:12:21","nodeType":"FunctionDefinition","parameters":{"id":4874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4873,"mutability":"mutable","name":"tokenId","nameLocation":"980:7:21","nodeType":"VariableDeclaration","scope":4878,"src":"972:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4872,"name":"uint256","nodeType":"ElementaryTypeName","src":"972:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"971:17:21"},"returnParameters":{"id":4877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4878,"src":"1012:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4875,"name":"address","nodeType":"ElementaryTypeName","src":"1012:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1011:9:21"},"scope":4894,"src":"950:71:21","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"80f2540b","id":4885,"implemented":false,"kind":"function","modifiers":[],"name":"openPack","nameLocation":"1034:8:21","nodeType":"FunctionDefinition","parameters":{"id":4883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4880,"mutability":"mutable","name":"tokenId","nameLocation":"1051:7:21","nodeType":"VariableDeclaration","scope":4885,"src":"1043:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4879,"name":"uint256","nodeType":"ElementaryTypeName","src":"1043:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4882,"mutability":"mutable","name":"owner","nameLocation":"1068:5:21","nodeType":"VariableDeclaration","scope":4885,"src":"1060:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4881,"name":"address","nodeType":"ElementaryTypeName","src":"1060:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1042:32:21"},"returnParameters":{"id":4884,"nodeType":"ParameterList","parameters":[],"src":"1083:0:21"},"scope":4894,"src":"1025:59:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"97f8b3d3","id":4893,"implemented":false,"kind":"function","modifiers":[],"name":"openPacks","nameLocation":"1097:9:21","nodeType":"FunctionDefinition","parameters":{"id":4891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4888,"mutability":"mutable","name":"tokenIds","nameLocation":"1124:8:21","nodeType":"VariableDeclaration","scope":4893,"src":"1107:25:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4886,"name":"uint256","nodeType":"ElementaryTypeName","src":"1107:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4887,"nodeType":"ArrayTypeName","src":"1107:9:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4890,"mutability":"mutable","name":"owner","nameLocation":"1142:5:21","nodeType":"VariableDeclaration","scope":4893,"src":"1134:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4889,"name":"address","nodeType":"ElementaryTypeName","src":"1134:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1106:42:21"},"returnParameters":{"id":4892,"nodeType":"ParameterList","parameters":[],"src":"1157:0:21"},"scope":4894,"src":"1088:70:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":7007,"src":"916:244:21","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaOffersContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":4934,"linearizedBaseContracts":[4934],"name":"IgammaOffersContract","nameLocation":"1172:20:21","nodeType":"ContractDefinition","nodes":[{"functionSelector":"2edb5fcf","id":4903,"implemented":false,"kind":"function","modifiers":[],"name":"hasOffer","nameLocation":"1206:8:21","nodeType":"FunctionDefinition","parameters":{"id":4899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4896,"mutability":"mutable","name":"user","nameLocation":"1223:4:21","nodeType":"VariableDeclaration","scope":4903,"src":"1215:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4895,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4898,"mutability":"mutable","name":"cardNumber","nameLocation":"1235:10:21","nodeType":"VariableDeclaration","scope":4903,"src":"1229:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4897,"name":"uint8","nodeType":"ElementaryTypeName","src":"1229:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1214:32:21"},"returnParameters":{"id":4902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4903,"src":"1270:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4900,"name":"bool","nodeType":"ElementaryTypeName","src":"1270:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1269:6:21"},"scope":4934,"src":"1197:79:21","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"fc9e80fc","id":4910,"implemented":false,"kind":"function","modifiers":[],"name":"removeOffersByUser","nameLocation":"1289:18:21","nodeType":"FunctionDefinition","parameters":{"id":4906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4905,"mutability":"mutable","name":"user","nameLocation":"1316:4:21","nodeType":"VariableDeclaration","scope":4910,"src":"1308:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4904,"name":"address","nodeType":"ElementaryTypeName","src":"1308:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1307:14:21"},"returnParameters":{"id":4909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4908,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4910,"src":"1340:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4907,"name":"bool","nodeType":"ElementaryTypeName","src":"1340:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1339:6:21"},"scope":4934,"src":"1280:66:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0cdb3117","id":4917,"implemented":false,"kind":"function","modifiers":[],"name":"getOffersByUserCounter","nameLocation":"1359:22:21","nodeType":"FunctionDefinition","parameters":{"id":4913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4912,"mutability":"mutable","name":"user","nameLocation":"1390:4:21","nodeType":"VariableDeclaration","scope":4917,"src":"1382:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4911,"name":"address","nodeType":"ElementaryTypeName","src":"1382:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1381:14:21"},"returnParameters":{"id":4916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4915,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4917,"src":"1419:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4914,"name":"uint256","nodeType":"ElementaryTypeName","src":"1419:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1418:9:21"},"scope":4934,"src":"1350:78:21","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9f915069","id":4933,"implemented":false,"kind":"function","modifiers":[],"name":"getOfferByUserAndCardNumber","nameLocation":"1441:27:21","nodeType":"FunctionDefinition","parameters":{"id":4922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4919,"mutability":"mutable","name":"user","nameLocation":"1482:4:21","nodeType":"VariableDeclaration","scope":4933,"src":"1474:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4918,"name":"address","nodeType":"ElementaryTypeName","src":"1474:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4921,"mutability":"mutable","name":"cardNumber","nameLocation":"1498:10:21","nodeType":"VariableDeclaration","scope":4933,"src":"1492:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4920,"name":"uint8","nodeType":"ElementaryTypeName","src":"1492:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1468:44:21"},"returnParameters":{"id":4932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4924,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4933,"src":"1536:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4923,"name":"uint256","nodeType":"ElementaryTypeName","src":"1536:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4933,"src":"1545:5:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4925,"name":"uint8","nodeType":"ElementaryTypeName","src":"1545:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4933,"src":"1552:14:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4927,"name":"uint8","nodeType":"ElementaryTypeName","src":"1552:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4928,"nodeType":"ArrayTypeName","src":"1552:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":4931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4933,"src":"1568:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4930,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1535:41:21"},"scope":4934,"src":"1432:145:21","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":7007,"src":"1162:417:21","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaTicketsContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":4940,"linearizedBaseContracts":[4940],"name":"IgammaTicketsContract","nameLocation":"1591:21:21","nodeType":"ContractDefinition","nodes":[{"functionSelector":"fa8213d3","id":4939,"implemented":false,"kind":"function","modifiers":[],"name":"generateTicket","nameLocation":"1626:14:21","nodeType":"FunctionDefinition","parameters":{"id":4937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4936,"mutability":"mutable","name":"user","nameLocation":"1649:4:21","nodeType":"VariableDeclaration","scope":4939,"src":"1641:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4935,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1640:14:21"},"returnParameters":{"id":4938,"nodeType":"ParameterList","parameters":[],"src":"1663:0:21"},"scope":4940,"src":"1617:47:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":7007,"src":"1581:85:21","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":4941,"name":"NofGammaCardsNFTV1","nameLocations":["1696:18:21"],"nodeType":"IdentifierPath","referencedDeclaration":7076,"src":"1696:18:21"},"id":4942,"nodeType":"InheritanceSpecifier","src":"1696:18:21"},{"baseName":{"id":4943,"name":"Ownable","nameLocations":["1716:7:21"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"1716:7:21"},"id":4944,"nodeType":"InheritanceSpecifier","src":"1716:7:21"}],"canonicalName":"NofGammaCardsV5","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":7006,"linearizedBaseContracts":[7006,112,7076,1309,1465,1145,1492,137,1261,2471,2483,1852],"name":"NofGammaCardsV5","nameLocation":"1677:15:21","nodeType":"ContractDefinition","nodes":[{"global":false,"id":4947,"libraryName":{"id":4945,"name":"LibStringUtils","nameLocations":["1734:14:21"],"nodeType":"IdentifierPath","referencedDeclaration":10660,"src":"1734:14:21"},"nodeType":"UsingForDirective","src":"1728:31:21","typeName":{"id":4946,"name":"uint8","nodeType":"ElementaryTypeName","src":"1753:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}},{"global":false,"id":4951,"libraryName":{"id":4948,"name":"LibControlMgmt","nameLocations":["1768:14:21"],"nodeType":"IdentifierPath","referencedDeclaration":10534,"src":"1768:14:21"},"nodeType":"UsingForDirective","src":"1762:45:21","typeName":{"id":4950,"nodeType":"UserDefinedTypeName","pathNode":{"id":4949,"name":"LibControlMgmt.Data","nameLocations":["1787:14:21","1802:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1787:19:21"},"referencedDeclaration":10343,"src":"1787:19:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}}},{"constant":false,"functionSelector":"2f9e026a","id":4954,"mutability":"mutable","name":"gammaPacksContract","nameLocation":"1838:18:21","nodeType":"VariableDeclaration","scope":7006,"src":"1811:45:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"},"typeName":{"id":4953,"nodeType":"UserDefinedTypeName","pathNode":{"id":4952,"name":"IgammaPacksContract","nameLocations":["1811:19:21"],"nodeType":"IdentifierPath","referencedDeclaration":4894,"src":"1811:19:21"},"referencedDeclaration":4894,"src":"1811:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"visibility":"public"},{"constant":false,"functionSelector":"d322b563","id":4957,"mutability":"mutable","name":"gammaOffersContract","nameLocation":"1888:19:21","nodeType":"VariableDeclaration","scope":7006,"src":"1860:47:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"},"typeName":{"id":4956,"nodeType":"UserDefinedTypeName","pathNode":{"id":4955,"name":"IgammaOffersContract","nameLocations":["1860:20:21"],"nodeType":"IdentifierPath","referencedDeclaration":4934,"src":"1860:20:21"},"referencedDeclaration":4934,"src":"1860:20:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"visibility":"public"},{"constant":false,"functionSelector":"14cca36a","id":4960,"mutability":"mutable","name":"gammaTicketsContract","nameLocation":"1940:20:21","nodeType":"VariableDeclaration","scope":7006,"src":"1911:49:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"},"typeName":{"id":4959,"nodeType":"UserDefinedTypeName","pathNode":{"id":4958,"name":"IgammaTicketsContract","nameLocations":["1911:21:21"],"nodeType":"IdentifierPath","referencedDeclaration":4940,"src":"1911:21:21"},"referencedDeclaration":4940,"src":"1911:21:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"visibility":"public"},{"constant":false,"id":4963,"mutability":"mutable","name":"ownersData","nameLocation":"1993:10:21","nodeType":"VariableDeclaration","scope":7006,"src":"1965:38:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":4962,"nodeType":"UserDefinedTypeName","pathNode":{"id":4961,"name":"LibControlMgmt.Data","nameLocations":["1965:14:21","1980:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1965:19:21"},"referencedDeclaration":10343,"src":"1965:19:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"constant":false,"id":4966,"mutability":"mutable","name":"signersData","nameLocation":"2035:11:21","nodeType":"VariableDeclaration","scope":7006,"src":"2007:39:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":4965,"nodeType":"UserDefinedTypeName","pathNode":{"id":4964,"name":"LibControlMgmt.Data","nameLocations":["2007:14:21","2022:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"2007:19:21"},"referencedDeclaration":10343,"src":"2007:19:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"constant":false,"functionSelector":"ab535160","id":4969,"mutability":"mutable","name":"s_maxPacksToOpenAtOnce","nameLocation":"2064:22:21","nodeType":"VariableDeclaration","scope":7006,"src":"2051:40:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4967,"name":"uint8","nodeType":"ElementaryTypeName","src":"2051:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3130","id":4968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2089:2:21","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"constant":false,"functionSelector":"6d0af178","id":4972,"mutability":"mutable","name":"s_lotteryPrizePercentage","nameLocation":"2108:24:21","nodeType":"VariableDeclaration","scope":7006,"src":"2095:42:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4970,"name":"uint8","nodeType":"ElementaryTypeName","src":"2095:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3530","id":4971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2135:2:21","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"constant":false,"functionSelector":"e606df87","id":4974,"mutability":"mutable","name":"DAI_TOKEN","nameLocation":"2156:9:21","nodeType":"VariableDeclaration","scope":7006,"src":"2141:24:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4973,"name":"address","nodeType":"ElementaryTypeName","src":"2141:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"82d8a118","id":4976,"mutability":"mutable","name":"s_tokenIdCounter","nameLocation":"2184:16:21","nodeType":"VariableDeclaration","scope":7006,"src":"2169:31:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4975,"name":"uint256","nodeType":"ElementaryTypeName","src":"2169:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"656bd0ad","id":4979,"mutability":"mutable","name":"s_packPrice","nameLocation":"2219:11:21","nodeType":"VariableDeclaration","scope":7006,"src":"2204:34:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4977,"name":"uint256","nodeType":"ElementaryTypeName","src":"2204:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3132653137","id":4978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2233:5:21","typeDescriptions":{"typeIdentifier":"t_rational_1200000000000000000_by_1","typeString":"int_const 1200000000000000000"},"value":"12e17"},"visibility":"public"},{"constant":false,"functionSelector":"d7093f40","id":4982,"mutability":"mutable","name":"s_prizesBalance","nameLocation":"2268:15:21","nodeType":"VariableDeclaration","scope":7006,"src":"2253:34:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4980,"name":"uint256","nodeType":"ElementaryTypeName","src":"2253:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":4981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2286:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"constant":false,"functionSelector":"21a7c6b0","id":4985,"mutability":"mutable","name":"s_mainAlbumPrize","nameLocation":"2306:16:21","nodeType":"VariableDeclaration","scope":7006,"src":"2291:39:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4983,"name":"uint256","nodeType":"ElementaryTypeName","src":"2291:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135653138","id":4984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2325:5:21","typeDescriptions":{"typeIdentifier":"t_rational_15000000000000000000_by_1","typeString":"int_const 15000000000000000000"},"value":"15e18"},"visibility":"public"},{"constant":false,"functionSelector":"b3526185","id":4988,"mutability":"mutable","name":"s_secondaryAlbumPrize","nameLocation":"2390:21:21","nodeType":"VariableDeclaration","scope":7006,"src":"2375:43:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4986,"name":"uint256","nodeType":"ElementaryTypeName","src":"2375:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31653138","id":4987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2414:4:21","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"visibility":"public"},{"constant":false,"functionSelector":"79e8dadc","id":4990,"mutability":"mutable","name":"s_mainUri","nameLocation":"2477:9:21","nodeType":"VariableDeclaration","scope":7006,"src":"2463:23:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":4989,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"4039327e","id":4992,"mutability":"mutable","name":"s_secondaryUri","nameLocation":"2504:14:21","nodeType":"VariableDeclaration","scope":7006,"src":"2490:28:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":4991,"name":"string","nodeType":"ElementaryTypeName","src":"2490:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"e8a7e31d","id":4994,"mutability":"mutable","name":"s_baseUri","nameLocation":"2536:9:21","nodeType":"VariableDeclaration","scope":7006,"src":"2522:23:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":4993,"name":"string","nodeType":"ElementaryTypeName","src":"2522:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"e4ae0b9b","id":4996,"mutability":"mutable","name":"s_requireOpenPackSignerValidation","nameLocation":"2561:33:21","nodeType":"VariableDeclaration","scope":7006,"src":"2549:45:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4995,"name":"bool","nodeType":"ElementaryTypeName","src":"2549:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":false,"functionSelector":"147baac7","id":4999,"mutability":"mutable","name":"s_requireOfferValidationInMint","nameLocation":"2610:30:21","nodeType":"VariableDeclaration","scope":7006,"src":"2598:49:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4997,"name":"bool","nodeType":"ElementaryTypeName","src":"2598:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":4998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2643:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"constant":false,"functionSelector":"9a5613ad","id":5002,"mutability":"mutable","name":"s_requireOfferValidationInTransfer","nameLocation":"2663:34:21","nodeType":"VariableDeclaration","scope":7006,"src":"2651:53:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5000,"name":"bool","nodeType":"ElementaryTypeName","src":"2651:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":5001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2700:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"canonicalName":"NofGammaCardsV5.Card","id":5013,"members":[{"constant":false,"id":5004,"mutability":"mutable","name":"tokenId","nameLocation":"2735:7:21","nodeType":"VariableDeclaration","scope":5013,"src":"2727:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5003,"name":"uint256","nodeType":"ElementaryTypeName","src":"2727:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5006,"mutability":"mutable","name":"number","nameLocation":"2756:6:21","nodeType":"VariableDeclaration","scope":5013,"src":"2748:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5005,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5008,"mutability":"mutable","name":"pasted","nameLocation":"2773:6:21","nodeType":"VariableDeclaration","scope":5013,"src":"2768:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5007,"name":"bool","nodeType":"ElementaryTypeName","src":"2768:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5010,"mutability":"mutable","name":"class","nameLocation":"2791:5:21","nodeType":"VariableDeclaration","scope":5013,"src":"2785:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5009,"name":"uint8","nodeType":"ElementaryTypeName","src":"2785:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":5012,"mutability":"mutable","name":"completion","nameLocation":"2868:10:21","nodeType":"VariableDeclaration","scope":5013,"src":"2860:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5011,"name":"uint256","nodeType":"ElementaryTypeName","src":"2860:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Card","nameLocation":"2716:4:21","nodeType":"StructDefinition","scope":7006,"src":"2709:219:21","visibility":"public"},{"constant":false,"functionSelector":"4c03cd0b","id":5018,"mutability":"mutable","name":"s_cards","nameLocation":"2972:7:21","nodeType":"VariableDeclaration","scope":7006,"src":"2932:47:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$5013_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card)"},"typeName":{"id":5017,"keyName":"tokenId","keyNameLocation":"2948:7:21","keyType":{"id":5014,"name":"uint256","nodeType":"ElementaryTypeName","src":"2940:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2932:32:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$5013_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5016,"nodeType":"UserDefinedTypeName","pathNode":{"id":5015,"name":"Card","nameLocations":["2959:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":5013,"src":"2959:4:21"},"referencedDeclaration":5013,"src":"2959:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$5013_storage_ptr","typeString":"struct NofGammaCardsV5.Card"}}},"visibility":"public"},{"constant":false,"functionSelector":"88e0ef80","id":5022,"mutability":"mutable","name":"s_cardsInventory","nameLocation":"3036:16:21","nodeType":"VariableDeclaration","scope":7006,"src":"2983:69:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":5021,"keyName":"cardNumber","keyNameLocation":"2999:10:21","keyType":{"id":5019,"name":"uint256","nodeType":"ElementaryTypeName","src":"2991:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2983:45:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"amount","valueNameLocation":"3021:6:21","valueType":{"id":5020,"name":"uint256","nodeType":"ElementaryTypeName","src":"3013:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"07b2e246","id":5026,"mutability":"mutable","name":"s_burnedCards","nameLocation":"3127:13:21","nodeType":"VariableDeclaration","scope":7006,"src":"3080:60:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":5025,"keyName":"user","keyNameLocation":"3096:4:21","keyType":{"id":5023,"name":"address","nodeType":"ElementaryTypeName","src":"3088:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3080:39:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"amount","valueNameLocation":"3112:6:21","valueType":{"id":5024,"name":"uint256","nodeType":"ElementaryTypeName","src":"3104:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"9ff26efd","id":5032,"mutability":"mutable","name":"s_cardsByUser","nameLocation":"3218:13:21","nodeType":"VariableDeclaration","scope":7006,"src":"3144:87:21","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"},"typeName":{"id":5031,"keyName":"user","keyNameLocation":"3160:4:21","keyType":{"id":5027,"name":"address","nodeType":"ElementaryTypeName","src":"3152:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3144:66:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5030,"keyName":"cardNumber","keyNameLocation":"3182:10:21","keyType":{"id":5028,"name":"uint8","nodeType":"ElementaryTypeName","src":"3176:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"3168:41:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"},"valueName":"amount","valueNameLocation":"3202:6:21","valueType":{"id":5029,"name":"uint8","nodeType":"ElementaryTypeName","src":"3196:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}}},"visibility":"public"},{"anonymous":false,"eventSelector":"538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead0","id":5036,"name":"NewGammaOffersContract","nameLocation":"3242:22:21","nodeType":"EventDefinition","parameters":{"id":5035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5034,"indexed":true,"mutability":"mutable","name":"newGammaOffersContract","nameLocation":"3281:22:21","nodeType":"VariableDeclaration","scope":5036,"src":"3265:38:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5033,"name":"address","nodeType":"ElementaryTypeName","src":"3265:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3264:40:21"},"src":"3236:69:21"},{"anonymous":false,"eventSelector":"5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f","id":5040,"name":"NewGammaPacksContract","nameLocation":"3314:21:21","nodeType":"EventDefinition","parameters":{"id":5039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5038,"indexed":true,"mutability":"mutable","name":"newGammaPacksContract","nameLocation":"3352:21:21","nodeType":"VariableDeclaration","scope":5040,"src":"3336:37:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5037,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3335:39:21"},"src":"3308:67:21"},{"anonymous":false,"eventSelector":"563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa202","id":5044,"name":"NewGammaTicketsContract","nameLocation":"3384:23:21","nodeType":"EventDefinition","parameters":{"id":5043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5042,"indexed":true,"mutability":"mutable","name":"newGammaTicketContract","nameLocation":"3424:22:21","nodeType":"VariableDeclaration","scope":5044,"src":"3408:38:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5041,"name":"address","nodeType":"ElementaryTypeName","src":"3408:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3407:40:21"},"src":"3378:70:21"},{"anonymous":false,"eventSelector":"babe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e3","id":5053,"name":"PackOpened","nameLocation":"3457:10:21","nodeType":"EventDefinition","parameters":{"id":5052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5046,"indexed":true,"mutability":"mutable","name":"player","nameLocation":"3484:6:21","nodeType":"VariableDeclaration","scope":5053,"src":"3468:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5045,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5049,"indexed":true,"mutability":"mutable","name":"packData","nameLocation":"3508:8:21","nodeType":"VariableDeclaration","scope":5053,"src":"3492:24:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5047,"name":"uint8","nodeType":"ElementaryTypeName","src":"3492:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5048,"nodeType":"ArrayTypeName","src":"3492:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":5051,"indexed":true,"mutability":"mutable","name":"packNumber","nameLocation":"3534:10:21","nodeType":"VariableDeclaration","scope":5053,"src":"3518:26:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5050,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3467:78:21"},"src":"3451:95:21"},{"anonymous":false,"eventSelector":"6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa","id":5059,"name":"AlbumCompleted","nameLocation":"3555:14:21","nodeType":"EventDefinition","parameters":{"id":5058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5055,"indexed":true,"mutability":"mutable","name":"player","nameLocation":"3586:6:21","nodeType":"VariableDeclaration","scope":5059,"src":"3570:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5054,"name":"address","nodeType":"ElementaryTypeName","src":"3570:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5057,"indexed":true,"mutability":"mutable","name":"albumClass","nameLocation":"3608:10:21","nodeType":"VariableDeclaration","scope":5059,"src":"3594:24:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5056,"name":"uint8","nodeType":"ElementaryTypeName","src":"3594:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3569:50:21"},"src":"3549:71:21"},{"anonymous":false,"eventSelector":"7ab6504e276a4cc030e62b9e8909a879d55dba80fca5fa9d909fbe6bf19798ba","id":5067,"name":"CardPasted","nameLocation":"3629:10:21","nodeType":"EventDefinition","parameters":{"id":5066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5061,"indexed":true,"mutability":"mutable","name":"player","nameLocation":"3656:6:21","nodeType":"VariableDeclaration","scope":5067,"src":"3640:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5060,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5063,"indexed":true,"mutability":"mutable","name":"cardTokenId","nameLocation":"3680:11:21","nodeType":"VariableDeclaration","scope":5067,"src":"3664:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5062,"name":"uint256","nodeType":"ElementaryTypeName","src":"3664:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5065,"indexed":true,"mutability":"mutable","name":"albumTokenId","nameLocation":"3709:12:21","nodeType":"VariableDeclaration","scope":5067,"src":"3693:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5064,"name":"uint256","nodeType":"ElementaryTypeName","src":"3693:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3639:83:21"},"src":"3623:100:21"},{"anonymous":false,"eventSelector":"23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f20","id":5073,"name":"EmergencyWithdrawal","nameLocation":"3732:19:21","nodeType":"EventDefinition","parameters":{"id":5072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5069,"indexed":true,"mutability":"mutable","name":"receiver","nameLocation":"3768:8:21","nodeType":"VariableDeclaration","scope":5073,"src":"3752:24:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5068,"name":"address","nodeType":"ElementaryTypeName","src":"3752:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5071,"indexed":true,"mutability":"mutable","name":"amount","nameLocation":"3794:6:21","nodeType":"VariableDeclaration","scope":5073,"src":"3778:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5070,"name":"uint256","nodeType":"ElementaryTypeName","src":"3778:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3751:50:21"},"src":"3726:76:21"},{"anonymous":false,"eventSelector":"ffafe5c39be83f4bcf20d7e1a150f6e21c1858ea0948315ba84b6b1c386d45bb","id":5077,"name":"NewSigner","nameLocation":"3811:9:21","nodeType":"EventDefinition","parameters":{"id":5076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5075,"indexed":true,"mutability":"mutable","name":"newSigner","nameLocation":"3837:9:21","nodeType":"VariableDeclaration","scope":5077,"src":"3821:25:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5074,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3820:27:21"},"src":"3805:43:21"},{"anonymous":false,"eventSelector":"abfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec6","id":5083,"name":"NewUris","nameLocation":"3857:7:21","nodeType":"EventDefinition","parameters":{"id":5082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5079,"indexed":true,"mutability":"mutable","name":"newMainUri","nameLocation":"3880:10:21","nodeType":"VariableDeclaration","scope":5083,"src":"3865:25:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5078,"name":"string","nodeType":"ElementaryTypeName","src":"3865:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5081,"indexed":true,"mutability":"mutable","name":"newSecondaryUri","nameLocation":"3907:15:21","nodeType":"VariableDeclaration","scope":5083,"src":"3892:30:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5080,"name":"string","nodeType":"ElementaryTypeName","src":"3892:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3864:59:21"},"src":"3851:73:21"},{"anonymous":false,"eventSelector":"52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524","id":5093,"name":"OfferCardsExchanged","nameLocation":"3933:19:21","nodeType":"EventDefinition","parameters":{"id":5092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5085,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"3969:4:21","nodeType":"VariableDeclaration","scope":5093,"src":"3953:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5084,"name":"address","nodeType":"ElementaryTypeName","src":"3953:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5087,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"3991:2:21","nodeType":"VariableDeclaration","scope":5093,"src":"3975:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5086,"name":"address","nodeType":"ElementaryTypeName","src":"3975:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5089,"indexed":false,"mutability":"mutable","name":"cardNumberFrom","nameLocation":"4001:14:21","nodeType":"VariableDeclaration","scope":5093,"src":"3995:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5088,"name":"uint8","nodeType":"ElementaryTypeName","src":"3995:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":5091,"indexed":false,"mutability":"mutable","name":"cardNumberTo","nameLocation":"4023:12:21","nodeType":"VariableDeclaration","scope":5093,"src":"4017:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5090,"name":"uint8","nodeType":"ElementaryTypeName","src":"4017:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3952:84:21"},"src":"3927:110:21"},{"anonymous":false,"eventSelector":"1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da","id":5101,"name":"CardTransfered","nameLocation":"4046:14:21","nodeType":"EventDefinition","parameters":{"id":5100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5095,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"4077:4:21","nodeType":"VariableDeclaration","scope":5101,"src":"4061:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5094,"name":"address","nodeType":"ElementaryTypeName","src":"4061:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5097,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"4099:2:21","nodeType":"VariableDeclaration","scope":5101,"src":"4083:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5096,"name":"address","nodeType":"ElementaryTypeName","src":"4083:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5099,"indexed":false,"mutability":"mutable","name":"cardNumber","nameLocation":"4109:10:21","nodeType":"VariableDeclaration","scope":5101,"src":"4103:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5098,"name":"uint8","nodeType":"ElementaryTypeName","src":"4103:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4060:60:21"},"src":"4040:81:21"},{"anonymous":false,"eventSelector":"368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b","id":5110,"name":"CardsTransfered","nameLocation":"4130:15:21","nodeType":"EventDefinition","parameters":{"id":5109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5103,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"4162:4:21","nodeType":"VariableDeclaration","scope":5110,"src":"4146:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5102,"name":"address","nodeType":"ElementaryTypeName","src":"4146:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5105,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"4184:2:21","nodeType":"VariableDeclaration","scope":5110,"src":"4168:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5104,"name":"address","nodeType":"ElementaryTypeName","src":"4168:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5108,"indexed":true,"mutability":"mutable","name":"cardNumber","nameLocation":"4204:10:21","nodeType":"VariableDeclaration","scope":5110,"src":"4188:26:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5106,"name":"uint8","nodeType":"ElementaryTypeName","src":"4188:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5107,"nodeType":"ArrayTypeName","src":"4188:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"4145:70:21"},"src":"4124:92:21"},{"anonymous":false,"eventSelector":"dbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b1","id":5117,"name":"CardsBurned","nameLocation":"4225:11:21","nodeType":"EventDefinition","parameters":{"id":5116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5112,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"4253:4:21","nodeType":"VariableDeclaration","scope":5117,"src":"4237:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5111,"name":"address","nodeType":"ElementaryTypeName","src":"4237:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5115,"indexed":true,"mutability":"mutable","name":"cardsNumber","nameLocation":"4275:11:21","nodeType":"VariableDeclaration","scope":5117,"src":"4259:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5113,"name":"uint8","nodeType":"ElementaryTypeName","src":"4259:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5114,"nodeType":"ArrayTypeName","src":"4259:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"4236:51:21"},"src":"4219:69:21"},{"body":{"id":5131,"nodeType":"Block","src":"4326:95:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5119,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4335:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4339:6:21","memberName":"sender","nodeType":"MemberAccess","src":"4335:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":5123,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4954,"src":"4357:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}],"id":5122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4349:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5121,"name":"address","nodeType":"ElementaryTypeName","src":"4349:7:21","typeDescriptions":{}}},"id":5124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4349:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4335:41:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5129,"nodeType":"IfStatement","src":"4332:77:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5126,"name":"OnlyGammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4841,"src":"4385:22:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5128,"nodeType":"RevertStatement","src":"4378:31:21"}},{"id":5130,"nodeType":"PlaceholderStatement","src":"4415:1:21"}]},"id":5132,"name":"onlyGammaPacksContract","nameLocation":"4301:22:21","nodeType":"ModifierDefinition","parameters":{"id":5118,"nodeType":"ParameterList","parameters":[],"src":"4323:2:21"},"src":"4292:129:21","virtual":false,"visibility":"internal"},{"body":{"id":5146,"nodeType":"Block","src":"4460:92:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5134,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4469:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4473:6:21","memberName":"sender","nodeType":"MemberAccess","src":"4469:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":5138,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"4491:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}],"id":5137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4483:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5136,"name":"address","nodeType":"ElementaryTypeName","src":"4483:7:21","typeDescriptions":{}}},"id":5139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4483:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4469:42:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5144,"nodeType":"IfStatement","src":"4466:74:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5141,"name":"OnlyOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4843,"src":"4520:18:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:20:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5143,"nodeType":"RevertStatement","src":"4513:27:21"}},{"id":5145,"nodeType":"PlaceholderStatement","src":"4546:1:21"}]},"id":5147,"name":"onlyGammaOffersContract","nameLocation":"4434:23:21","nodeType":"ModifierDefinition","parameters":{"id":5133,"nodeType":"ParameterList","parameters":[],"src":"4457:2:21"},"src":"4425:127:21","virtual":false,"visibility":"internal"},{"body":{"id":5160,"nodeType":"Block","src":"4578:72:21","statements":[{"condition":{"id":5154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4587:30:21","subExpression":{"baseExpression":{"expression":{"id":5149,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"4588:10:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4599:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"4588:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5153,"indexExpression":{"expression":{"id":5151,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4606:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4610:6:21","memberName":"sender","nodeType":"MemberAccess","src":"4606:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4588:29:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5158,"nodeType":"IfStatement","src":"4584:54:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5155,"name":"OnlyOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"4626:10:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:12:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5157,"nodeType":"RevertStatement","src":"4619:19:21"}},{"id":5159,"nodeType":"PlaceholderStatement","src":"4644:1:21"}]},"id":5161,"name":"onlyOwners","nameLocation":"4565:10:21","nodeType":"ModifierDefinition","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"4575:2:21"},"src":"4556:94:21","virtual":false,"visibility":"internal"},{"body":{"id":5176,"nodeType":"Block","src":"4698:68:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5165,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5163,"src":"4707:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4727:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4719:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5166,"name":"address","nodeType":"ElementaryTypeName","src":"4719:7:21","typeDescriptions":{}}},"id":5169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4719:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4707:22:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5174,"nodeType":"IfStatement","src":"4704:50:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4847,"src":"4738:14:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:16:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5173,"nodeType":"RevertStatement","src":"4731:23:21"}},{"id":5175,"nodeType":"PlaceholderStatement","src":"4760:1:21"}]},"id":5177,"name":"checkAddressZero","nameLocation":"4663:16:21","nodeType":"ModifierDefinition","parameters":{"id":5164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5163,"mutability":"mutable","name":"_address","nameLocation":"4688:8:21","nodeType":"VariableDeclaration","scope":5177,"src":"4680:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5162,"name":"address","nodeType":"ElementaryTypeName","src":"4680:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4679:18:21"},"src":"4654:112:21","virtual":false,"visibility":"internal"},{"body":{"id":5304,"nodeType":"Block","src":"4988:657:21","statements":[{"expression":{"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":5194,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"4994:10:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5005:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"4994:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5199,"indexExpression":{"expression":{"id":5196,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5012:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5016:6:21","memberName":"sender","nodeType":"MemberAccess","src":"5012:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4994:29:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5026:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4994:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5202,"nodeType":"ExpressionStatement","src":"4994:36:21"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5203,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"5037:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5204,"name":"_daiTokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5179,"src":"5049:16:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5037:28:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5206,"nodeType":"ExpressionStatement","src":"5037:28:21"},{"expression":{"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4954,"src":"5071:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5209,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5181,"src":"5112:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5208,"name":"IgammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4894,"src":"5092:19:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaPacksContract_$4894_$","typeString":"type(contract IgammaPacksContract)"}},"id":5210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5092:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"src":"5071:61:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"id":5212,"nodeType":"ExpressionStatement","src":"5071:61:21"},{"expression":{"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5213,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4960,"src":"5138:20:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5215,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5185,"src":"5183:21:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5214,"name":"IgammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4940,"src":"5161:21:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaTicketsContract_$4940_$","typeString":"type(contract IgammaTicketsContract)"}},"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"src":"5138:67:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"id":5218,"nodeType":"ExpressionStatement","src":"5138:67:21"},{"expression":{"id":5223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5219,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"5211:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5221,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5183,"src":"5254:20:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5220,"name":"IgammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4934,"src":"5233:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaOffersContract_$4934_$","typeString":"type(contract IgammaOffersContract)"}},"id":5222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5233:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"src":"5211:64:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":5224,"nodeType":"ExpressionStatement","src":"5211:64:21"},{"expression":{"id":5227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5225,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4994,"src":"5282:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5226,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5187,"src":"5294:8:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5282:20:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":5228,"nodeType":"ExpressionStatement","src":"5282:20:21"},{"expression":{"id":5252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5229,"name":"s_mainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4990,"src":"5308:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5236,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4994,"src":"5350:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":5235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5344:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5234,"name":"bytes","nodeType":"ElementaryTypeName","src":"5344:5:21","typeDescriptions":{}}},"id":5237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5344:16:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":5240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5368:3:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":5239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5362:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5238,"name":"bytes","nodeType":"ElementaryTypeName","src":"5362:5:21","typeDescriptions":{}}},"id":5241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5362:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"313230","id":5244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5380:5:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_583f4f71b32721321fd0f20e674c3938142ce9f243e802c16cfc4def7d2dc523","typeString":"literal_string \"120\""},"value":"120"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_583f4f71b32721321fd0f20e674c3938142ce9f243e802c16cfc4def7d2dc523","typeString":"literal_string \"120\""}],"id":5243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5374:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5242,"name":"bytes","nodeType":"ElementaryTypeName","src":"5374:5:21","typeDescriptions":{}}},"id":5245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5374:12:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"462e6a736f6e","id":5248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5394:8:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""},"value":"F.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""}],"id":5247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5388:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5246,"name":"bytes","nodeType":"ElementaryTypeName","src":"5388:5:21","typeDescriptions":{}}},"id":5249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5327:3:21","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5331:12:21","memberName":"encodePacked","nodeType":"MemberAccess","src":"5327:16:21","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5327:77:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5320:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5230,"name":"string","nodeType":"ElementaryTypeName","src":"5320:6:21","typeDescriptions":{}}},"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:85:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5308:97:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":5253,"nodeType":"ExpressionStatement","src":"5308:97:21"},{"expression":{"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5254,"name":"s_secondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4992,"src":"5411:14:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5261,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4994,"src":"5465:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":5260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5459:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5259,"name":"bytes","nodeType":"ElementaryTypeName","src":"5459:5:21","typeDescriptions":{}}},"id":5262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5459:16:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":5265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5483:3:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":5264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5477:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5263,"name":"bytes","nodeType":"ElementaryTypeName","src":"5477:5:21","typeDescriptions":{}}},"id":5266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5477:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"313231","id":5269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5495:5:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9aa4ff60d3edb7fbc3b53bd780c9274ed80a5ba1a237d38b011edab2b031b4a","typeString":"literal_string \"121\""},"value":"121"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b9aa4ff60d3edb7fbc3b53bd780c9274ed80a5ba1a237d38b011edab2b031b4a","typeString":"literal_string \"121\""}],"id":5268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5489:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5267,"name":"bytes","nodeType":"ElementaryTypeName","src":"5489:5:21","typeDescriptions":{}}},"id":5270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5489:12:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"462e6a736f6e","id":5273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5509:8:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""},"value":"F.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""}],"id":5272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5503:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5271,"name":"bytes","nodeType":"ElementaryTypeName","src":"5503:5:21","typeDescriptions":{}}},"id":5274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5257,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5442:3:21","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5446:12:21","memberName":"encodePacked","nodeType":"MemberAccess","src":"5442:16:21","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5442:77:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5428:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5255,"name":"string","nodeType":"ElementaryTypeName","src":"5428:6:21","typeDescriptions":{}}},"id":5276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5428:97:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5411:114:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":5278,"nodeType":"ExpressionStatement","src":"5411:114:21"},{"expression":{"id":5285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":5279,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"5531:11:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5543:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"5531:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5283,"indexExpression":{"id":5281,"name":"_signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5189,"src":"5551:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5531:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5562:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5531:35:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5286,"nodeType":"ExpressionStatement","src":"5531:35:21"},{"body":{"id":5302,"nodeType":"Block","src":"5603:38:21","statements":[{"expression":{"id":5300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5296,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"5611:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":5298,"indexExpression":{"id":5297,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5288,"src":"5628:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5611:19:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":5299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5633:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5611:23:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5301,"nodeType":"ExpressionStatement","src":"5611:23:21"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5290,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5288,"src":"5589:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313232","id":5291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5593:3:21","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"},"src":"5589:7:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5303,"initializationExpression":{"assignments":[5288],"declarations":[{"constant":false,"id":5288,"mutability":"mutable","name":"i","nameLocation":"5586:1:21","nodeType":"VariableDeclaration","scope":5303,"src":"5578:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5287,"name":"uint256","nodeType":"ElementaryTypeName","src":"5578:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5289,"nodeType":"VariableDeclarationStatement","src":"5578:9:21"},"loopExpression":{"expression":{"id":5294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5598:3:21","subExpression":{"id":5293,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5288,"src":"5598:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5295,"nodeType":"ExpressionStatement","src":"5598:3:21"},"nodeType":"ForStatement","src":"5573:68:21"}]},"functionSelector":"7de99bd9","id":5305,"implemented":true,"kind":"function","modifiers":[{"id":5192,"kind":"modifierInvocation","modifierName":{"id":5191,"name":"onlyOwner","nameLocations":["4978:9:21"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4978:9:21"},"nodeType":"ModifierInvocation","src":"4978:9:21"}],"name":"init","nameLocation":"4779:4:21","nodeType":"FunctionDefinition","parameters":{"id":5190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5179,"mutability":"mutable","name":"_daiTokenAddress","nameLocation":"4797:16:21","nodeType":"VariableDeclaration","scope":5305,"src":"4789:24:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5178,"name":"address","nodeType":"ElementaryTypeName","src":"4789:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5181,"mutability":"mutable","name":"_gammaPacksContract","nameLocation":"4827:19:21","nodeType":"VariableDeclaration","scope":5305,"src":"4819:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5180,"name":"address","nodeType":"ElementaryTypeName","src":"4819:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5183,"mutability":"mutable","name":"_gammaOffersContract","nameLocation":"4860:20:21","nodeType":"VariableDeclaration","scope":5305,"src":"4852:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5182,"name":"address","nodeType":"ElementaryTypeName","src":"4852:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5185,"mutability":"mutable","name":"_gammaTicketsContract","nameLocation":"4894:21:21","nodeType":"VariableDeclaration","scope":5305,"src":"4886:29:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5184,"name":"address","nodeType":"ElementaryTypeName","src":"4886:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5187,"mutability":"mutable","name":"_baseUri","nameLocation":"4935:8:21","nodeType":"VariableDeclaration","scope":5305,"src":"4921:22:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5186,"name":"string","nodeType":"ElementaryTypeName","src":"4921:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5189,"mutability":"mutable","name":"_signer","nameLocation":"4957:7:21","nodeType":"VariableDeclaration","scope":5305,"src":"4949:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5188,"name":"address","nodeType":"ElementaryTypeName","src":"4949:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4783:185:21"},"returnParameters":{"id":5193,"nodeType":"ParameterList","parameters":[],"src":"4988:0:21"},"scope":7006,"src":"4770:875:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5318,"nodeType":"Block","src":"5706:41:21","statements":[{"expression":{"arguments":[{"id":5315,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5307,"src":"5732:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5312,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"5712:10:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5723:8:21","memberName":"addOwner","nodeType":"MemberAccess","referencedDeclaration":10399,"src":"5712:19:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":5316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5712:30:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5317,"nodeType":"ExpressionStatement","src":"5712:30:21"}]},"functionSelector":"7065cb48","id":5319,"implemented":true,"kind":"function","modifiers":[{"id":5310,"kind":"modifierInvocation","modifierName":{"id":5309,"name":"onlyOwners","nameLocations":["5695:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"5695:10:21"},"nodeType":"ModifierInvocation","src":"5695:10:21"}],"name":"addOwner","nameLocation":"5658:8:21","nodeType":"FunctionDefinition","parameters":{"id":5308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5307,"mutability":"mutable","name":"_newOwner","nameLocation":"5675:9:21","nodeType":"VariableDeclaration","scope":5319,"src":"5667:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5306,"name":"address","nodeType":"ElementaryTypeName","src":"5667:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5666:19:21"},"returnParameters":{"id":5311,"nodeType":"ParameterList","parameters":[],"src":"5706:0:21"},"scope":7006,"src":"5649:98:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5332,"nodeType":"Block","src":"5816:49:21","statements":[{"expression":{"arguments":[{"id":5329,"name":"_ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5321,"src":"5845:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5326,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"5822:10:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5833:11:21","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":10446,"src":"5822:22:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":5330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:38:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5331,"nodeType":"ExpressionStatement","src":"5822:38:21"}]},"functionSelector":"173825d9","id":5333,"implemented":true,"kind":"function","modifiers":[{"id":5324,"kind":"modifierInvocation","modifierName":{"id":5323,"name":"onlyOwners","nameLocations":["5805:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"5805:10:21"},"nodeType":"ModifierInvocation","src":"5805:10:21"}],"name":"removeOwner","nameLocation":"5760:11:21","nodeType":"FunctionDefinition","parameters":{"id":5322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5321,"mutability":"mutable","name":"_ownerToRemove","nameLocation":"5780:14:21","nodeType":"VariableDeclaration","scope":5333,"src":"5772:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5320,"name":"address","nodeType":"ElementaryTypeName","src":"5772:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5771:24:21"},"returnParameters":{"id":5325,"nodeType":"ParameterList","parameters":[],"src":"5816:0:21"},"scope":7006,"src":"5751:114:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5346,"nodeType":"Block","src":"5928:44:21","statements":[{"expression":{"arguments":[{"id":5343,"name":"_newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5335,"src":"5956:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5340,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"5934:11:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5342,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5946:9:21","memberName":"addSigner","nodeType":"MemberAccess","referencedDeclaration":10486,"src":"5934:21:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":5344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5934:33:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5345,"nodeType":"ExpressionStatement","src":"5934:33:21"}]},"functionSelector":"eb12d61e","id":5347,"implemented":true,"kind":"function","modifiers":[{"id":5338,"kind":"modifierInvocation","modifierName":{"id":5337,"name":"onlyOwners","nameLocations":["5917:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"5917:10:21"},"nodeType":"ModifierInvocation","src":"5917:10:21"}],"name":"addSigner","nameLocation":"5878:9:21","nodeType":"FunctionDefinition","parameters":{"id":5336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5335,"mutability":"mutable","name":"_newSigner","nameLocation":"5896:10:21","nodeType":"VariableDeclaration","scope":5347,"src":"5888:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5334,"name":"address","nodeType":"ElementaryTypeName","src":"5888:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5887:20:21"},"returnParameters":{"id":5339,"nodeType":"ParameterList","parameters":[],"src":"5928:0:21"},"scope":7006,"src":"5869:103:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5360,"nodeType":"Block","src":"6043:52:21","statements":[{"expression":{"arguments":[{"id":5357,"name":"_signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5349,"src":"6074:15:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5354,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"6049:11:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6061:12:21","memberName":"removeSigner","nodeType":"MemberAccess","referencedDeclaration":10533,"src":"6049:24:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":5358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6049:41:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5359,"nodeType":"ExpressionStatement","src":"6049:41:21"}]},"functionSelector":"0e316ab7","id":5361,"implemented":true,"kind":"function","modifiers":[{"id":5352,"kind":"modifierInvocation","modifierName":{"id":5351,"name":"onlyOwners","nameLocations":["6032:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"6032:10:21"},"nodeType":"ModifierInvocation","src":"6032:10:21"}],"name":"removeSigner","nameLocation":"5985:12:21","nodeType":"FunctionDefinition","parameters":{"id":5350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5349,"mutability":"mutable","name":"_signerToRemove","nameLocation":"6006:15:21","nodeType":"VariableDeclaration","scope":5361,"src":"5998:23:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5348,"name":"address","nodeType":"ElementaryTypeName","src":"5998:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5997:25:21"},"returnParameters":{"id":5353,"nodeType":"ParameterList","parameters":[],"src":"6043:0:21"},"scope":7006,"src":"5976:119:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5381,"nodeType":"Block","src":"6220:130:21","statements":[{"expression":{"id":5375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5371,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"6226:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5373,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5363,"src":"6269:20:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5372,"name":"IgammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4934,"src":"6248:20:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaOffersContract_$4934_$","typeString":"type(contract IgammaOffersContract)"}},"id":5374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6248:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"src":"6226:64:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":5376,"nodeType":"ExpressionStatement","src":"6226:64:21"},{"eventCall":{"arguments":[{"id":5378,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5363,"src":"6324:20:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5377,"name":"NewGammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5036,"src":"6301:22:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5380,"nodeType":"EmitStatement","src":"6296:49:21"}]},"functionSelector":"128916dc","id":5382,"implemented":true,"kind":"function","modifiers":[{"id":5366,"kind":"modifierInvocation","modifierName":{"id":5365,"name":"onlyOwners","nameLocations":["6170:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"6170:10:21"},"nodeType":"ModifierInvocation","src":"6170:10:21"},{"arguments":[{"id":5368,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5363,"src":"6198:20:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5369,"kind":"modifierInvocation","modifierName":{"id":5367,"name":"checkAddressZero","nameLocations":["6181:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"6181:16:21"},"nodeType":"ModifierInvocation","src":"6181:38:21"}],"name":"setGammaOffersContract","nameLocation":"6108:22:21","nodeType":"FunctionDefinition","parameters":{"id":5364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5363,"mutability":"mutable","name":"_gammaOffersContract","nameLocation":"6139:20:21","nodeType":"VariableDeclaration","scope":5382,"src":"6131:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5362,"name":"address","nodeType":"ElementaryTypeName","src":"6131:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6130:30:21"},"returnParameters":{"id":5370,"nodeType":"ParameterList","parameters":[],"src":"6220:0:21"},"scope":7006,"src":"6099:251:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5402,"nodeType":"Block","src":"6471:125:21","statements":[{"expression":{"id":5396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5392,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4954,"src":"6477:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5394,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5384,"src":"6518:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5393,"name":"IgammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4894,"src":"6498:19:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaPacksContract_$4894_$","typeString":"type(contract IgammaPacksContract)"}},"id":5395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:40:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"src":"6477:61:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"id":5397,"nodeType":"ExpressionStatement","src":"6477:61:21"},{"eventCall":{"arguments":[{"id":5399,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5384,"src":"6571:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5398,"name":"NewGammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5040,"src":"6549:21:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6549:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5401,"nodeType":"EmitStatement","src":"6544:47:21"}]},"functionSelector":"cafaa473","id":5403,"implemented":true,"kind":"function","modifiers":[{"id":5387,"kind":"modifierInvocation","modifierName":{"id":5386,"name":"onlyOwners","nameLocations":["6423:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"6423:10:21"},"nodeType":"ModifierInvocation","src":"6423:10:21"},{"arguments":[{"id":5389,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5384,"src":"6451:19:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5390,"kind":"modifierInvocation","modifierName":{"id":5388,"name":"checkAddressZero","nameLocations":["6434:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"6434:16:21"},"nodeType":"ModifierInvocation","src":"6434:37:21"}],"name":"setGammaPacksContract","nameLocation":"6363:21:21","nodeType":"FunctionDefinition","parameters":{"id":5385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5384,"mutability":"mutable","name":"_gammaPacksContract","nameLocation":"6393:19:21","nodeType":"VariableDeclaration","scope":5403,"src":"6385:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5383,"name":"address","nodeType":"ElementaryTypeName","src":"6385:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6384:29:21"},"returnParameters":{"id":5391,"nodeType":"ParameterList","parameters":[],"src":"6471:0:21"},"scope":7006,"src":"6354:242:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5423,"nodeType":"Block","src":"6723:135:21","statements":[{"expression":{"id":5417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5413,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4960,"src":"6729:20:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5415,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5405,"src":"6774:21:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5414,"name":"IgammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4940,"src":"6752:21:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaTicketsContract_$4940_$","typeString":"type(contract IgammaTicketsContract)"}},"id":5416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6752:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"src":"6729:67:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"id":5418,"nodeType":"ExpressionStatement","src":"6729:67:21"},{"eventCall":{"arguments":[{"id":5420,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5405,"src":"6831:21:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5419,"name":"NewGammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5044,"src":"6807:23:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6807:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5422,"nodeType":"EmitStatement","src":"6802:51:21"}]},"functionSelector":"ddb975e8","id":5424,"implemented":true,"kind":"function","modifiers":[{"id":5408,"kind":"modifierInvocation","modifierName":{"id":5407,"name":"onlyOwners","nameLocations":["6673:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"6673:10:21"},"nodeType":"ModifierInvocation","src":"6673:10:21"},{"arguments":[{"id":5410,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5405,"src":"6701:21:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5411,"kind":"modifierInvocation","modifierName":{"id":5409,"name":"checkAddressZero","nameLocations":["6684:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"6684:16:21"},"nodeType":"ModifierInvocation","src":"6684:39:21"}],"name":"setGammaTicketsContract","nameLocation":"6609:23:21","nodeType":"FunctionDefinition","parameters":{"id":5406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5405,"mutability":"mutable","name":"_gammaTicketsContract","nameLocation":"6641:21:21","nodeType":"VariableDeclaration","scope":5424,"src":"6633:29:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5404,"name":"address","nodeType":"ElementaryTypeName","src":"6633:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6632:31:21"},"returnParameters":{"id":5412,"nodeType":"ParameterList","parameters":[],"src":"6723:0:21"},"scope":7006,"src":"6600:258:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5435,"nodeType":"Block","src":"6936:36:21","statements":[{"expression":{"id":5433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5431,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"6942:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":5432,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5426,"src":"6961:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6942:25:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5434,"nodeType":"ExpressionStatement","src":"6942:25:21"}]},"functionSelector":"5e31ce48","id":5436,"implemented":true,"kind":"function","modifiers":[{"id":5429,"kind":"modifierInvocation","modifierName":{"id":5428,"name":"onlyGammaPacksContract","nameLocations":["6913:22:21"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"6913:22:21"},"nodeType":"ModifierInvocation","src":"6913:22:21"}],"name":"setPrizesBalance","nameLocation":"6871:16:21","nodeType":"FunctionDefinition","parameters":{"id":5427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5426,"mutability":"mutable","name":"amount","nameLocation":"6896:6:21","nodeType":"VariableDeclaration","scope":5436,"src":"6888:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5425,"name":"uint256","nodeType":"ElementaryTypeName","src":"6888:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6887:16:21"},"returnParameters":{"id":5430,"nodeType":"ParameterList","parameters":[],"src":"6936:0:21"},"scope":7006,"src":"6862:110:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5454,"nodeType":"Block","src":"7039:87:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5443,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5438,"src":"7048:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7058:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7048:11:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5449,"nodeType":"IfStatement","src":"7045:45:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5446,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"7068:20:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7068:22:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5448,"nodeType":"RevertStatement","src":"7061:29:21"}},{"expression":{"id":5452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5450,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4985,"src":"7096:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5451,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5438,"src":"7115:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7096:25:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5453,"nodeType":"ExpressionStatement","src":"7096:25:21"}]},"functionSelector":"7232d7d4","id":5455,"implemented":true,"kind":"function","modifiers":[{"id":5441,"kind":"modifierInvocation","modifierName":{"id":5440,"name":"onlyOwners","nameLocations":["7028:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"7028:10:21"},"nodeType":"ModifierInvocation","src":"7028:10:21"}],"name":"setMainAlbumPrize","nameLocation":"6985:17:21","nodeType":"FunctionDefinition","parameters":{"id":5439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5438,"mutability":"mutable","name":"amount","nameLocation":"7011:6:21","nodeType":"VariableDeclaration","scope":5455,"src":"7003:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5437,"name":"uint256","nodeType":"ElementaryTypeName","src":"7003:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7002:16:21"},"returnParameters":{"id":5442,"nodeType":"ParameterList","parameters":[],"src":"7039:0:21"},"scope":7006,"src":"6976:150:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5473,"nodeType":"Block","src":"7198:92:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5462,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5457,"src":"7207:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7217:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7207:11:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5468,"nodeType":"IfStatement","src":"7204:45:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5465,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"7227:20:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7227:22:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5467,"nodeType":"RevertStatement","src":"7220:29:21"}},{"expression":{"id":5471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5469,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"7255:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5470,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5457,"src":"7279:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7255:30:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5472,"nodeType":"ExpressionStatement","src":"7255:30:21"}]},"functionSelector":"ba6c0fbc","id":5474,"implemented":true,"kind":"function","modifiers":[{"id":5460,"kind":"modifierInvocation","modifierName":{"id":5459,"name":"onlyOwners","nameLocations":["7187:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"7187:10:21"},"nodeType":"ModifierInvocation","src":"7187:10:21"}],"name":"setSecondaryAlbumPrize","nameLocation":"7139:22:21","nodeType":"FunctionDefinition","parameters":{"id":5458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5457,"mutability":"mutable","name":"amount","nameLocation":"7170:6:21","nodeType":"VariableDeclaration","scope":5474,"src":"7162:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5456,"name":"uint256","nodeType":"ElementaryTypeName","src":"7162:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7161:16:21"},"returnParameters":{"id":5461,"nodeType":"ParameterList","parameters":[],"src":"7198:0:21"},"scope":7006,"src":"7130:160:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5492,"nodeType":"Block","src":"7363:96:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5481,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5476,"src":"7372:6:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":5482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7381:3:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"7372:12:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5487,"nodeType":"IfStatement","src":"7369:46:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5484,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"7393:20:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7393:22:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5486,"nodeType":"RevertStatement","src":"7386:29:21"}},{"expression":{"id":5490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5488,"name":"s_lotteryPrizePercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4972,"src":"7421:24:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5489,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5476,"src":"7448:6:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7421:33:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5491,"nodeType":"ExpressionStatement","src":"7421:33:21"}]},"functionSelector":"7ce65f7b","id":5493,"implemented":true,"kind":"function","modifiers":[{"id":5479,"kind":"modifierInvocation","modifierName":{"id":5478,"name":"onlyOwners","nameLocations":["7352:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"7352:10:21"},"nodeType":"ModifierInvocation","src":"7352:10:21"}],"name":"setLotteryPrizePercentage","nameLocation":"7303:25:21","nodeType":"FunctionDefinition","parameters":{"id":5477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5476,"mutability":"mutable","name":"amount","nameLocation":"7335:6:21","nodeType":"VariableDeclaration","scope":5493,"src":"7329:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5475,"name":"uint8","nodeType":"ElementaryTypeName","src":"7329:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7328:14:21"},"returnParameters":{"id":5480,"nodeType":"ParameterList","parameters":[],"src":"7363:0:21"},"scope":7006,"src":"7294:165:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5515,"nodeType":"Block","src":"7557:118:21","statements":[{"expression":{"id":5504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5502,"name":"s_mainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4990,"src":"7563:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5503,"name":"newMainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5495,"src":"7575:10:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7563:22:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":5505,"nodeType":"ExpressionStatement","src":"7563:22:21"},{"expression":{"id":5508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5506,"name":"s_secondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4992,"src":"7591:14:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5507,"name":"newSecondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5497,"src":"7608:15:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7591:32:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":5509,"nodeType":"ExpressionStatement","src":"7591:32:21"},{"eventCall":{"arguments":[{"id":5511,"name":"newMainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5495,"src":"7642:10:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5512,"name":"newSecondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5497,"src":"7654:15:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5510,"name":"NewUris","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5083,"src":"7634:7:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":5513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7634:36:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5514,"nodeType":"EmitStatement","src":"7629:41:21"}]},"functionSelector":"9c7f707f","id":5516,"implemented":true,"kind":"function","modifiers":[{"id":5500,"kind":"modifierInvocation","modifierName":{"id":5499,"name":"onlyOwners","nameLocations":["7546:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"7546:10:21"},"nodeType":"ModifierInvocation","src":"7546:10:21"}],"name":"setUris","nameLocation":"7472:7:21","nodeType":"FunctionDefinition","parameters":{"id":5498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5495,"mutability":"mutable","name":"newMainUri","nameLocation":"7494:10:21","nodeType":"VariableDeclaration","scope":5516,"src":"7480:24:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5494,"name":"string","nodeType":"ElementaryTypeName","src":"7480:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5497,"mutability":"mutable","name":"newSecondaryUri","nameLocation":"7520:15:21","nodeType":"VariableDeclaration","scope":5516,"src":"7506:29:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5496,"name":"string","nodeType":"ElementaryTypeName","src":"7506:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7479:57:21"},"returnParameters":{"id":5501,"nodeType":"ParameterList","parameters":[],"src":"7557:0:21"},"scope":7006,"src":"7463:212:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5527,"nodeType":"Block","src":"7761:55:21","statements":[{"expression":{"id":5525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5523,"name":"s_requireOpenPackSignerValidation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4996,"src":"7767:33:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5524,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5518,"src":"7803:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7767:44:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5526,"nodeType":"ExpressionStatement","src":"7767:44:21"}]},"functionSelector":"dbfc05cf","id":5528,"implemented":true,"kind":"function","modifiers":[{"id":5521,"kind":"modifierInvocation","modifierName":{"id":5520,"name":"onlyOwners","nameLocations":["7750:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"7750:10:21"},"nodeType":"ModifierInvocation","src":"7750:10:21"}],"name":"changeRequireOpenPackSignerValidation","nameLocation":"7688:37:21","nodeType":"FunctionDefinition","parameters":{"id":5519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5518,"mutability":"mutable","name":"required","nameLocation":"7731:8:21","nodeType":"VariableDeclaration","scope":5528,"src":"7726:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5517,"name":"bool","nodeType":"ElementaryTypeName","src":"7726:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7725:15:21"},"returnParameters":{"id":5522,"nodeType":"ParameterList","parameters":[],"src":"7761:0:21"},"scope":7006,"src":"7679:137:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5539,"nodeType":"Block","src":"7899:52:21","statements":[{"expression":{"id":5537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5535,"name":"s_requireOfferValidationInMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4999,"src":"7905:30:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5536,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5530,"src":"7938:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7905:41:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5538,"nodeType":"ExpressionStatement","src":"7905:41:21"}]},"functionSelector":"f98fd283","id":5540,"implemented":true,"kind":"function","modifiers":[{"id":5533,"kind":"modifierInvocation","modifierName":{"id":5532,"name":"onlyOwners","nameLocations":["7888:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"7888:10:21"},"nodeType":"ModifierInvocation","src":"7888:10:21"}],"name":"changeRequireOfferValidationInMint","nameLocation":"7829:34:21","nodeType":"FunctionDefinition","parameters":{"id":5531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5530,"mutability":"mutable","name":"required","nameLocation":"7869:8:21","nodeType":"VariableDeclaration","scope":5540,"src":"7864:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5529,"name":"bool","nodeType":"ElementaryTypeName","src":"7864:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7863:15:21"},"returnParameters":{"id":5534,"nodeType":"ParameterList","parameters":[],"src":"7899:0:21"},"scope":7006,"src":"7820:131:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5551,"nodeType":"Block","src":"8038:56:21","statements":[{"expression":{"id":5549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5547,"name":"s_requireOfferValidationInTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"8044:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5548,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5542,"src":"8081:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8044:45:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5550,"nodeType":"ExpressionStatement","src":"8044:45:21"}]},"functionSelector":"68cc5bc1","id":5552,"implemented":true,"kind":"function","modifiers":[{"id":5545,"kind":"modifierInvocation","modifierName":{"id":5544,"name":"onlyOwners","nameLocations":["8027:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"8027:10:21"},"nodeType":"ModifierInvocation","src":"8027:10:21"}],"name":"changeRequireOfferValidationInTransfer","nameLocation":"7964:38:21","nodeType":"FunctionDefinition","parameters":{"id":5543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5542,"mutability":"mutable","name":"required","nameLocation":"8008:8:21","nodeType":"VariableDeclaration","scope":5552,"src":"8003:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5541,"name":"bool","nodeType":"ElementaryTypeName","src":"8003:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8002:15:21"},"returnParameters":{"id":5546,"nodeType":"ParameterList","parameters":[],"src":"8038:0:21"},"scope":7006,"src":"7955:139:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5563,"nodeType":"Block","src":"8177:37:21","statements":[{"expression":{"id":5561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5559,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4979,"src":"8183:11:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5560,"name":"newPackPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5554,"src":"8197:12:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8183:26:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5562,"nodeType":"ExpressionStatement","src":"8183:26:21"}]},"functionSelector":"e1883c6e","id":5564,"implemented":true,"kind":"function","modifiers":[{"id":5557,"kind":"modifierInvocation","modifierName":{"id":5556,"name":"onlyGammaPacksContract","nameLocations":["8154:22:21"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"8154:22:21"},"nodeType":"ModifierInvocation","src":"8154:22:21"}],"name":"changePackPrice","nameLocation":"8107:15:21","nodeType":"FunctionDefinition","parameters":{"id":5555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5554,"mutability":"mutable","name":"newPackPrice","nameLocation":"8131:12:21","nodeType":"VariableDeclaration","scope":5564,"src":"8123:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5553,"name":"uint256","nodeType":"ElementaryTypeName","src":"8123:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8122:22:21"},"returnParameters":{"id":5558,"nodeType":"ParameterList","parameters":[],"src":"8177:0:21"},"scope":7006,"src":"8098:116:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5575,"nodeType":"Block","src":"8303:57:21","statements":[{"expression":{"id":5573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5571,"name":"s_maxPacksToOpenAtOnce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4969,"src":"8309:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5572,"name":"_maxPacksToOpenAtOnce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5566,"src":"8334:21:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8309:46:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5574,"nodeType":"ExpressionStatement","src":"8309:46:21"}]},"functionSelector":"241a08fe","id":5576,"implemented":true,"kind":"function","modifiers":[{"id":5569,"kind":"modifierInvocation","modifierName":{"id":5568,"name":"onlyOwners","nameLocations":["8292:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"8292:10:21"},"nodeType":"ModifierInvocation","src":"8292:10:21"}],"name":"changeMaxPacksToOpenAtOnce","nameLocation":"8227:26:21","nodeType":"FunctionDefinition","parameters":{"id":5567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5566,"mutability":"mutable","name":"_maxPacksToOpenAtOnce","nameLocation":"8260:21:21","nodeType":"VariableDeclaration","scope":5576,"src":"8254:27:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5565,"name":"uint8","nodeType":"ElementaryTypeName","src":"8254:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8253:29:21"},"returnParameters":{"id":5570,"nodeType":"ParameterList","parameters":[],"src":"8303:0:21"},"scope":7006,"src":"8218:142:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5592,"nodeType":"Block","src":"8456:44:21","statements":[{"expression":{"id":5590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"8462:33:21","subExpression":{"baseExpression":{"baseExpression":{"id":5585,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"8462:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5588,"indexExpression":{"id":5586,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5578,"src":"8476:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8462:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5589,"indexExpression":{"id":5587,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5580,"src":"8482:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8462:31:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5591,"nodeType":"ExpressionStatement","src":"8462:33:21"}]},"functionSelector":"7155a3ac","id":5593,"implemented":true,"kind":"function","modifiers":[{"id":5583,"kind":"modifierInvocation","modifierName":{"id":5582,"name":"onlyGammaOffersContract","nameLocations":["8432:23:21"],"nodeType":"IdentifierPath","referencedDeclaration":5147,"src":"8432:23:21"},"nodeType":"ModifierInvocation","src":"8432:23:21"}],"name":"removeCardByOffer","nameLocation":"8373:17:21","nodeType":"FunctionDefinition","parameters":{"id":5581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5578,"mutability":"mutable","name":"user","nameLocation":"8399:4:21","nodeType":"VariableDeclaration","scope":5593,"src":"8391:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5577,"name":"address","nodeType":"ElementaryTypeName","src":"8391:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5580,"mutability":"mutable","name":"cardNumber","nameLocation":"8411:10:21","nodeType":"VariableDeclaration","scope":5593,"src":"8405:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5579,"name":"uint8","nodeType":"ElementaryTypeName","src":"8405:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8390:32:21"},"returnParameters":{"id":5584,"nodeType":"ParameterList","parameters":[],"src":"8456:0:21"},"scope":7006,"src":"8364:136:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5609,"nodeType":"Block","src":"8597:44:21","statements":[{"expression":{"id":5607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8603:33:21","subExpression":{"baseExpression":{"baseExpression":{"id":5602,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"8603:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5605,"indexExpression":{"id":5603,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5595,"src":"8617:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8603:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5606,"indexExpression":{"id":5604,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5597,"src":"8623:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8603:31:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5608,"nodeType":"ExpressionStatement","src":"8603:33:21"}]},"functionSelector":"155e2f92","id":5610,"implemented":true,"kind":"function","modifiers":[{"id":5600,"kind":"modifierInvocation","modifierName":{"id":5599,"name":"onlyGammaOffersContract","nameLocations":["8573:23:21"],"nodeType":"IdentifierPath","referencedDeclaration":5147,"src":"8573:23:21"},"nodeType":"ModifierInvocation","src":"8573:23:21"}],"name":"restoreCardByOffer","nameLocation":"8513:18:21","nodeType":"FunctionDefinition","parameters":{"id":5598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5595,"mutability":"mutable","name":"user","nameLocation":"8540:4:21","nodeType":"VariableDeclaration","scope":5610,"src":"8532:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5594,"name":"address","nodeType":"ElementaryTypeName","src":"8532:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5597,"mutability":"mutable","name":"cardNumber","nameLocation":"8552:10:21","nodeType":"VariableDeclaration","scope":5610,"src":"8546:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5596,"name":"uint8","nodeType":"ElementaryTypeName","src":"8546:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8531:32:21"},"returnParameters":{"id":5601,"nodeType":"ParameterList","parameters":[],"src":"8597:0:21"},"scope":7006,"src":"8504:137:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5629,"nodeType":"Block","src":"8770:53:21","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5621,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"8783:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5623,"indexExpression":{"id":5622,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5612,"src":"8797:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8783:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5625,"indexExpression":{"id":5624,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5614,"src":"8803:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8783:31:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8817:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8783:35:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5620,"id":5628,"nodeType":"Return","src":"8776:42:21"}]},"functionSelector":"8bf670c8","id":5630,"implemented":true,"kind":"function","modifiers":[{"id":5617,"kind":"modifierInvocation","modifierName":{"id":5616,"name":"onlyGammaOffersContract","nameLocations":["8727:23:21"],"nodeType":"IdentifierPath","referencedDeclaration":5147,"src":"8727:23:21"},"nodeType":"ModifierInvocation","src":"8727:23:21"}],"name":"hasCardByOffer","nameLocation":"8654:14:21","nodeType":"FunctionDefinition","parameters":{"id":5615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5612,"mutability":"mutable","name":"user","nameLocation":"8682:4:21","nodeType":"VariableDeclaration","scope":5630,"src":"8674:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5611,"name":"address","nodeType":"ElementaryTypeName","src":"8674:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5614,"mutability":"mutable","name":"cardNumber","nameLocation":"8698:10:21","nodeType":"VariableDeclaration","scope":5630,"src":"8692:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5613,"name":"uint8","nodeType":"ElementaryTypeName","src":"8692:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8668:44:21"},"returnParameters":{"id":5620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5619,"mutability":"mutable","name":"has","nameLocation":"8765:3:21","nodeType":"VariableDeclaration","scope":5630,"src":"8760:8:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5618,"name":"bool","nodeType":"ElementaryTypeName","src":"8760:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8759:10:21"},"scope":7006,"src":"8645:178:21","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":5650,"nodeType":"Block","src":"8927:50:21","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5642,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"8940:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5644,"indexExpression":{"id":5643,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5632,"src":"8954:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8940:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5646,"indexExpression":{"id":5645,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5634,"src":"8960:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8940:28:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8971:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8940:32:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5641,"id":5649,"nodeType":"Return","src":"8933:39:21"}]},"functionSelector":"886eb60f","id":5651,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":5637,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5632,"src":"8902:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5638,"kind":"modifierInvocation","modifierName":{"id":5636,"name":"checkAddressZero","nameLocations":["8885:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"8885:16:21"},"nodeType":"ModifierInvocation","src":"8885:22:21"}],"name":"hasCard","nameLocation":"8836:7:21","nodeType":"FunctionDefinition","parameters":{"id":5635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5632,"mutability":"mutable","name":"user","nameLocation":"8852:4:21","nodeType":"VariableDeclaration","scope":5651,"src":"8844:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5631,"name":"address","nodeType":"ElementaryTypeName","src":"8844:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5634,"mutability":"mutable","name":"cardNum","nameLocation":"8864:7:21","nodeType":"VariableDeclaration","scope":5651,"src":"8858:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5633,"name":"uint8","nodeType":"ElementaryTypeName","src":"8858:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8843:29:21"},"returnParameters":{"id":5641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5640,"mutability":"mutable","name":"has","nameLocation":"8922:3:21","nodeType":"VariableDeclaration","scope":5651,"src":"8917:8:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5639,"name":"bool","nodeType":"ElementaryTypeName","src":"8917:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8916:10:21"},"scope":7006,"src":"8827:150:21","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5663,"nodeType":"Block","src":"9041:41:21","statements":[{"expression":{"baseExpression":{"expression":{"id":5658,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"9054:10:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9065:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"9054:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5661,"indexExpression":{"id":5660,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5653,"src":"9072:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9054:23:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5657,"id":5662,"nodeType":"Return","src":"9047:30:21"}]},"functionSelector":"2f54bf6e","id":5664,"implemented":true,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"8990:7:21","nodeType":"FunctionDefinition","parameters":{"id":5654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5653,"mutability":"mutable","name":"user","nameLocation":"9006:4:21","nodeType":"VariableDeclaration","scope":5664,"src":"8998:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5652,"name":"address","nodeType":"ElementaryTypeName","src":"8998:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8997:14:21"},"returnParameters":{"id":5657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5656,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5664,"src":"9035:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5655,"name":"bool","nodeType":"ElementaryTypeName","src":"9035:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9034:6:21"},"scope":7006,"src":"8981:101:21","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":5676,"nodeType":"Block","src":"9147:43:21","statements":[{"expression":{"baseExpression":{"expression":{"id":5671,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"9160:11:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":5672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9172:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"9160:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5674,"indexExpression":{"id":5673,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5666,"src":"9180:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9160:25:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5670,"id":5675,"nodeType":"Return","src":"9153:32:21"}]},"functionSelector":"7df73e27","id":5677,"implemented":true,"kind":"function","modifiers":[],"name":"isSigner","nameLocation":"9095:8:21","nodeType":"FunctionDefinition","parameters":{"id":5667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5666,"mutability":"mutable","name":"user","nameLocation":"9112:4:21","nodeType":"VariableDeclaration","scope":5677,"src":"9104:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5665,"name":"address","nodeType":"ElementaryTypeName","src":"9104:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9103:14:21"},"returnParameters":{"id":5670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5677,"src":"9141:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5668,"name":"bool","nodeType":"ElementaryTypeName","src":"9141:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9140:6:21"},"scope":7006,"src":"9086:104:21","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":5689,"nodeType":"Block","src":"9251:68:21","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5682,"name":"s_lotteryPrizePercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4972,"src":"9265:24:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":5683,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"9292:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9265:42:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5685,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9264:44:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":5686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9311:3:21","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9264:50:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5681,"id":5688,"nodeType":"Return","src":"9257:57:21"}]},"functionSelector":"d780c477","id":5690,"implemented":true,"kind":"function","modifiers":[],"name":"getLotteryPrize","nameLocation":"9203:15:21","nodeType":"FunctionDefinition","parameters":{"id":5678,"nodeType":"ParameterList","parameters":[],"src":"9218:2:21"},"returnParameters":{"id":5681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5690,"src":"9242:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5679,"name":"uint256","nodeType":"ElementaryTypeName","src":"9242:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9241:9:21"},"scope":7006,"src":"9194:125:21","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5708,"nodeType":"Block","src":"9434:46:21","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":5702,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"9447:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5704,"indexExpression":{"id":5703,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5692,"src":"9461:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9447:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5706,"indexExpression":{"id":5705,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5694,"src":"9467:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9447:28:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":5701,"id":5707,"nodeType":"Return","src":"9440:35:21"}]},"functionSelector":"1585cc4e","id":5709,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":5697,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5692,"src":"9412:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5698,"kind":"modifierInvocation","modifierName":{"id":5696,"name":"checkAddressZero","nameLocations":["9395:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"9395:16:21"},"nodeType":"ModifierInvocation","src":"9395:22:21"}],"name":"getCardQuantityByUser","nameLocation":"9332:21:21","nodeType":"FunctionDefinition","parameters":{"id":5695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5692,"mutability":"mutable","name":"user","nameLocation":"9362:4:21","nodeType":"VariableDeclaration","scope":5709,"src":"9354:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5691,"name":"address","nodeType":"ElementaryTypeName","src":"9354:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5694,"mutability":"mutable","name":"cardNum","nameLocation":"9374:7:21","nodeType":"VariableDeclaration","scope":5709,"src":"9368:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5693,"name":"uint8","nodeType":"ElementaryTypeName","src":"9368:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9353:29:21"},"returnParameters":{"id":5701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5709,"src":"9427:5:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5699,"name":"uint8","nodeType":"ElementaryTypeName","src":"9427:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9426:7:21"},"scope":7006,"src":"9323:157:21","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5723,"nodeType":"Block","src":"9584:37:21","statements":[{"expression":{"baseExpression":{"id":5719,"name":"s_burnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"9597:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":5721,"indexExpression":{"id":5720,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5711,"src":"9611:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9597:19:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5718,"id":5722,"nodeType":"Return","src":"9590:26:21"}]},"functionSelector":"7cf86b72","id":5724,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":5714,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5711,"src":"9560:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":5715,"kind":"modifierInvocation","modifierName":{"id":5713,"name":"checkAddressZero","nameLocations":["9543:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"9543:16:21"},"nodeType":"ModifierInvocation","src":"9543:22:21"}],"name":"getBurnedCardQttyByUser","nameLocation":"9493:23:21","nodeType":"FunctionDefinition","parameters":{"id":5712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5711,"mutability":"mutable","name":"user","nameLocation":"9525:4:21","nodeType":"VariableDeclaration","scope":5724,"src":"9517:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5710,"name":"address","nodeType":"ElementaryTypeName","src":"9517:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9516:14:21"},"returnParameters":{"id":5718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5717,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5724,"src":"9575:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5716,"name":"uint256","nodeType":"ElementaryTypeName","src":"9575:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9574:9:21"},"scope":7006,"src":"9484:137:21","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5897,"nodeType":"Block","src":"9739:822:21","statements":[{"assignments":[5742],"declarations":[{"constant":false,"id":5742,"mutability":"mutable","name":"cardNumbers","nameLocation":"9760:11:21","nodeType":"VariableDeclaration","scope":5897,"src":"9745:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5740,"name":"uint8","nodeType":"ElementaryTypeName","src":"9745:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5741,"nodeType":"ArrayTypeName","src":"9745:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":5748,"initialValue":{"arguments":[{"hexValue":"313232","id":5746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9786:3:21","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"}],"id":5745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9774:11:21","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":5743,"name":"uint8","nodeType":"ElementaryTypeName","src":"9778:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5744,"nodeType":"ArrayTypeName","src":"9778:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":5747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9774:16:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9745:45:21"},{"assignments":[5753],"declarations":[{"constant":false,"id":5753,"mutability":"mutable","name":"quantities","nameLocation":"9811:10:21","nodeType":"VariableDeclaration","scope":5897,"src":"9796:25:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5751,"name":"uint8","nodeType":"ElementaryTypeName","src":"9796:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5752,"nodeType":"ArrayTypeName","src":"9796:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":5759,"initialValue":{"arguments":[{"hexValue":"313232","id":5757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836:3:21","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"}],"id":5756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9824:11:21","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":5754,"name":"uint8","nodeType":"ElementaryTypeName","src":"9828:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5755,"nodeType":"ArrayTypeName","src":"9828:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":5758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9824:16:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9796:44:21"},{"assignments":[5764],"declarations":[{"constant":false,"id":5764,"mutability":"mutable","name":"offers","nameLocation":"9860:6:21","nodeType":"VariableDeclaration","scope":5897,"src":"9846:20:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":5762,"name":"bool","nodeType":"ElementaryTypeName","src":"9846:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5763,"nodeType":"ArrayTypeName","src":"9846:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"id":5770,"initialValue":{"arguments":[{"hexValue":"313232","id":5768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9880:3:21","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"}],"id":5767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9869:10:21","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bool[] memory)"},"typeName":{"baseType":{"id":5765,"name":"bool","nodeType":"ElementaryTypeName","src":"9873:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5766,"nodeType":"ArrayTypeName","src":"9873:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}}},"id":5769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9869:15:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9846:38:21"},{"assignments":[5772],"declarations":[{"constant":false,"id":5772,"mutability":"mutable","name":"index","nameLocation":"9896:5:21","nodeType":"VariableDeclaration","scope":5897,"src":"9890:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5771,"name":"uint8","nodeType":"ElementaryTypeName","src":"9890:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5774,"initialValue":{"hexValue":"30","id":5773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9904:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9890:15:21"},{"body":{"id":5822,"nodeType":"Block","src":"9941:219:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5784,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"9953:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5786,"indexExpression":{"id":5785,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5726,"src":"9967:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9953:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5788,"indexExpression":{"id":5787,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5776,"src":"9973:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9953:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9978:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9953:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5821,"nodeType":"IfStatement","src":"9949:205:21","trueBody":{"id":5820,"nodeType":"Block","src":"9981:173:21","statements":[{"expression":{"id":5795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5791,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5742,"src":"9991:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5793,"indexExpression":{"id":5792,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10003:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9991:18:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5794,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5776,"src":"10012:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9991:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5796,"nodeType":"ExpressionStatement","src":"9991:22:21"},{"expression":{"id":5805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5797,"name":"quantities","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5753,"src":"10023:10:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5799,"indexExpression":{"id":5798,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10034:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10023:17:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":5800,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"10043:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5802,"indexExpression":{"id":5801,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5726,"src":"10057:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10043:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5804,"indexExpression":{"id":5803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5776,"src":"10063:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10043:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10023:42:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5806,"nodeType":"ExpressionStatement","src":"10023:42:21"},{"expression":{"id":5815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5807,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5764,"src":"10075:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":5809,"indexExpression":{"id":5808,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10082:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10075:13:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5812,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5726,"src":"10120:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5813,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5776,"src":"10126:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5810,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"10091:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":5811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10111:8:21","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":4903,"src":"10091:28:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":5814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10091:37:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10075:53:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5816,"nodeType":"ExpressionStatement","src":"10075:53:21"},{"expression":{"id":5818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10138:7:21","subExpression":{"id":5817,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10138:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5819,"nodeType":"ExpressionStatement","src":"10138:7:21"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5778,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5776,"src":"9926:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313231","id":5779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9931:3:21","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"src":"9926:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5823,"initializationExpression":{"assignments":[5776],"declarations":[{"constant":false,"id":5776,"mutability":"mutable","name":"i","nameLocation":"9923:1:21","nodeType":"VariableDeclaration","scope":5823,"src":"9917:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5775,"name":"uint8","nodeType":"ElementaryTypeName","src":"9917:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5777,"nodeType":"VariableDeclarationStatement","src":"9917:7:21"},"loopExpression":{"expression":{"id":5782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9936:3:21","subExpression":{"id":5781,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5776,"src":"9936:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5783,"nodeType":"ExpressionStatement","src":"9936:3:21"},"nodeType":"ForStatement","src":"9912:248:21"},{"assignments":[5828],"declarations":[{"constant":false,"id":5828,"mutability":"mutable","name":"userCardNumbers","nameLocation":"10181:15:21","nodeType":"VariableDeclaration","scope":5897,"src":"10166:30:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5826,"name":"uint8","nodeType":"ElementaryTypeName","src":"10166:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5827,"nodeType":"ArrayTypeName","src":"10166:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":5834,"initialValue":{"arguments":[{"id":5832,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10211:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":5831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10199:11:21","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":5829,"name":"uint8","nodeType":"ElementaryTypeName","src":"10203:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5830,"nodeType":"ArrayTypeName","src":"10203:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":5833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10199:18:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10166:51:21"},{"assignments":[5839],"declarations":[{"constant":false,"id":5839,"mutability":"mutable","name":"userCardsQtty","nameLocation":"10238:13:21","nodeType":"VariableDeclaration","scope":5897,"src":"10223:28:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5837,"name":"uint8","nodeType":"ElementaryTypeName","src":"10223:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5838,"nodeType":"ArrayTypeName","src":"10223:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":5845,"initialValue":{"arguments":[{"id":5843,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10266:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":5842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10254:11:21","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":5840,"name":"uint8","nodeType":"ElementaryTypeName","src":"10258:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5841,"nodeType":"ArrayTypeName","src":"10258:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":5844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10254:18:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10223:49:21"},{"assignments":[5850],"declarations":[{"constant":false,"id":5850,"mutability":"mutable","name":"userCardsOffers","nameLocation":"10292:15:21","nodeType":"VariableDeclaration","scope":5897,"src":"10278:29:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":5848,"name":"bool","nodeType":"ElementaryTypeName","src":"10278:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5849,"nodeType":"ArrayTypeName","src":"10278:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"id":5856,"initialValue":{"arguments":[{"id":5854,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10321:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":5853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10310:10:21","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bool[] memory)"},"typeName":{"baseType":{"id":5851,"name":"bool","nodeType":"ElementaryTypeName","src":"10314:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5852,"nodeType":"ArrayTypeName","src":"10314:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}}},"id":5855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10310:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10278:49:21"},{"body":{"id":5890,"nodeType":"Block","src":"10366:128:21","statements":[{"expression":{"id":5872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5866,"name":"userCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5828,"src":"10374:15:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5868,"indexExpression":{"id":5867,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10390:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10374:18:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":5869,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5742,"src":"10395:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5871,"indexExpression":{"id":5870,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10407:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10395:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10374:35:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5873,"nodeType":"ExpressionStatement","src":"10374:35:21"},{"expression":{"id":5880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5874,"name":"userCardsQtty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5839,"src":"10417:13:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5876,"indexExpression":{"id":5875,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10431:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10417:16:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":5877,"name":"quantities","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5753,"src":"10436:10:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5879,"indexExpression":{"id":5878,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10447:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10436:13:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10417:32:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5881,"nodeType":"ExpressionStatement","src":"10417:32:21"},{"expression":{"id":5888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5882,"name":"userCardsOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5850,"src":"10457:15:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":5884,"indexExpression":{"id":5883,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10473:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10457:18:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":5885,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5764,"src":"10478:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":5887,"indexExpression":{"id":5886,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10485:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10478:9:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10457:30:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5889,"nodeType":"ExpressionStatement","src":"10457:30:21"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5860,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10350:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5861,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"10354:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10350:9:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5891,"initializationExpression":{"assignments":[5858],"declarations":[{"constant":false,"id":5858,"mutability":"mutable","name":"j","nameLocation":"10347:1:21","nodeType":"VariableDeclaration","scope":5891,"src":"10339:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5857,"name":"uint256","nodeType":"ElementaryTypeName","src":"10339:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5859,"nodeType":"VariableDeclarationStatement","src":"10339:9:21"},"loopExpression":{"expression":{"id":5864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10361:3:21","subExpression":{"id":5863,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5858,"src":"10361:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5865,"nodeType":"ExpressionStatement","src":"10361:3:21"},"nodeType":"ForStatement","src":"10334:160:21"},{"expression":{"components":[{"id":5892,"name":"userCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5828,"src":"10508:15:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":5893,"name":"userCardsQtty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5839,"src":"10525:13:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":5894,"name":"userCardsOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5850,"src":"10540:15:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"id":5895,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10507:49:21","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"tuple(uint8[] memory,uint8[] memory,bool[] memory)"}},"functionReturnParameters":5737,"id":5896,"nodeType":"Return","src":"10500:56:21"}]},"functionSelector":"0435dcaf","id":5898,"implemented":true,"kind":"function","modifiers":[],"name":"getCardsByUser","nameLocation":"9634:14:21","nodeType":"FunctionDefinition","parameters":{"id":5727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5726,"mutability":"mutable","name":"user","nameLocation":"9662:4:21","nodeType":"VariableDeclaration","scope":5898,"src":"9654:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5725,"name":"address","nodeType":"ElementaryTypeName","src":"9654:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9648:22:21"},"returnParameters":{"id":5737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5898,"src":"9692:14:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5728,"name":"uint8","nodeType":"ElementaryTypeName","src":"9692:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5729,"nodeType":"ArrayTypeName","src":"9692:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":5733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5898,"src":"9708:14:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5731,"name":"uint8","nodeType":"ElementaryTypeName","src":"9708:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5732,"nodeType":"ArrayTypeName","src":"9708:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":5736,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5898,"src":"9724:13:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":5734,"name":"bool","nodeType":"ElementaryTypeName","src":"9724:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5735,"nodeType":"ArrayTypeName","src":"9724:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9691:47:21"},"scope":7006,"src":"9625:936:21","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5919,"nodeType":"Block","src":"10715:95:21","statements":[{"expression":{"arguments":[{"expression":{"id":5912,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10761:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10765:6:21","memberName":"sender","nodeType":"MemberAccess","src":"10761:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5914,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5900,"src":"10773:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5915,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5903,"src":"10785:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":5916,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5905,"src":"10795:9:21","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":5910,"name":"LibPackVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10579,"src":"10728:15:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibPackVerifier_$10579_$","typeString":"type(library LibPackVerifier)"}},"id":5911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10744:16:21","memberName":"verifyPackSigner","nodeType":"MemberAccess","referencedDeclaration":10578,"src":"10728:32:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (address,uint256,uint8[] memory,bytes memory) pure returns (address)"}},"id":5917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10728:77:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5909,"id":5918,"nodeType":"Return","src":"10721:84:21"}]},"functionSelector":"1306952c","id":5920,"implemented":true,"kind":"function","modifiers":[],"name":"verifyPackSigner","nameLocation":"10574:16:21","nodeType":"FunctionDefinition","parameters":{"id":5906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5900,"mutability":"mutable","name":"packNumber","nameLocation":"10604:10:21","nodeType":"VariableDeclaration","scope":5920,"src":"10596:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5899,"name":"uint256","nodeType":"ElementaryTypeName","src":"10596:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5903,"mutability":"mutable","name":"packData","nameLocation":"10635:8:21","nodeType":"VariableDeclaration","scope":5920,"src":"10620:23:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5901,"name":"uint8","nodeType":"ElementaryTypeName","src":"10620:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5902,"nodeType":"ArrayTypeName","src":"10620:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":5905,"mutability":"mutable","name":"signature","nameLocation":"10664:9:21","nodeType":"VariableDeclaration","scope":5920,"src":"10649:24:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5904,"name":"bytes","nodeType":"ElementaryTypeName","src":"10649:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10590:87:21"},"returnParameters":{"id":5909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5908,"mutability":"mutable","name":"signer","nameLocation":"10707:6:21","nodeType":"VariableDeclaration","scope":5920,"src":"10699:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5907,"name":"address","nodeType":"ElementaryTypeName","src":"10699:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10698:16:21"},"scope":7006,"src":"10565:245:21","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":5938,"nodeType":"Block","src":"10928:65:21","statements":[{"expression":{"arguments":[{"expression":{"id":5931,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10944:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10948:6:21","memberName":"sender","nodeType":"MemberAccess","src":"10944:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5933,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5922,"src":"10956:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5934,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5925,"src":"10968:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":5935,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5927,"src":"10978:9:21","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5930,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6123,"src":"10934:9:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,uint8[] memory,bytes calldata)"}},"id":5936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:54:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5937,"nodeType":"ExpressionStatement","src":"10934:54:21"}]},"functionSelector":"267b841d","id":5939,"implemented":true,"kind":"function","modifiers":[],"name":"openPack","nameLocation":"10823:8:21","nodeType":"FunctionDefinition","parameters":{"id":5928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5922,"mutability":"mutable","name":"packNumber","nameLocation":"10845:10:21","nodeType":"VariableDeclaration","scope":5939,"src":"10837:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5921,"name":"uint256","nodeType":"ElementaryTypeName","src":"10837:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5925,"mutability":"mutable","name":"packData","nameLocation":"10876:8:21","nodeType":"VariableDeclaration","scope":5939,"src":"10861:23:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5923,"name":"uint8","nodeType":"ElementaryTypeName","src":"10861:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5924,"nodeType":"ArrayTypeName","src":"10861:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":5927,"mutability":"mutable","name":"signature","nameLocation":"10905:9:21","nodeType":"VariableDeclaration","scope":5939,"src":"10890:24:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5926,"name":"bytes","nodeType":"ElementaryTypeName","src":"10890:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10831:87:21"},"returnParameters":{"id":5929,"nodeType":"ParameterList","parameters":[],"src":"10928:0:21"},"scope":7006,"src":"10814:179:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5990,"nodeType":"Block","src":"11153:230:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5954,"name":"packsQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5941,"src":"11162:13:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11179:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11162:18:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5957,"name":"packsQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5941,"src":"11184:13:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":5958,"name":"s_maxPacksToOpenAtOnce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4969,"src":"11200:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11184:38:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11162:60:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5964,"nodeType":"IfStatement","src":"11159:92:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5961,"name":"WrongPacksQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4857,"src":"11231:18:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11231:20:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5963,"nodeType":"RevertStatement","src":"11224:27:21"}},{"body":{"id":5988,"nodeType":"Block","src":"11298:81:21","statements":[{"expression":{"arguments":[{"expression":{"id":5975,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11316:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11320:6:21","memberName":"sender","nodeType":"MemberAccess","src":"11316:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":5977,"name":"packsNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5944,"src":"11328:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5979,"indexExpression":{"id":5978,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"11340:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11328:14:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":5980,"name":"packsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5948,"src":"11344:9:21","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptr","typeString":"uint8[] memory[] memory"}},"id":5982,"indexExpression":{"id":5981,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"11354:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11344:12:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"baseExpression":{"id":5983,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5951,"src":"11358:10:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":5985,"indexExpression":{"id":5984,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"11369:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11358:13:21","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":5974,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6123,"src":"11306:9:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,uint8[] memory,bytes calldata)"}},"id":5986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11306:66:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5987,"nodeType":"ExpressionStatement","src":"11306:66:21"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5968,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"11274:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5969,"name":"packsQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5941,"src":"11278:13:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11274:17:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5989,"initializationExpression":{"assignments":[5966],"declarations":[{"constant":false,"id":5966,"mutability":"mutable","name":"i","nameLocation":"11271:1:21","nodeType":"VariableDeclaration","scope":5989,"src":"11263:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5965,"name":"uint256","nodeType":"ElementaryTypeName","src":"11263:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5967,"nodeType":"VariableDeclarationStatement","src":"11263:9:21"},"loopExpression":{"expression":{"id":5972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11293:3:21","subExpression":{"id":5971,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5966,"src":"11293:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5973,"nodeType":"ExpressionStatement","src":"11293:3:21"},"nodeType":"ForStatement","src":"11258:121:21"}]},"functionSelector":"203335f6","id":5991,"implemented":true,"kind":"function","modifiers":[],"name":"openPacks","nameLocation":"11006:9:21","nodeType":"FunctionDefinition","parameters":{"id":5952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5941,"mutability":"mutable","name":"packsQuantity","nameLocation":"11027:13:21","nodeType":"VariableDeclaration","scope":5991,"src":"11021:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5940,"name":"uint8","nodeType":"ElementaryTypeName","src":"11021:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":5944,"mutability":"mutable","name":"packsNumber","nameLocation":"11063:11:21","nodeType":"VariableDeclaration","scope":5991,"src":"11046:28:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5942,"name":"uint256","nodeType":"ElementaryTypeName","src":"11046:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5943,"nodeType":"ArrayTypeName","src":"11046:9:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5948,"mutability":"mutable","name":"packsData","nameLocation":"11097:9:21","nodeType":"VariableDeclaration","scope":5991,"src":"11080:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptr","typeString":"uint8[][]"},"typeName":{"baseType":{"baseType":{"id":5945,"name":"uint8","nodeType":"ElementaryTypeName","src":"11080:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5946,"nodeType":"ArrayTypeName","src":"11080:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"id":5947,"nodeType":"ArrayTypeName","src":"11080:9:21","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint8_$dyn_storage_$dyn_storage_ptr","typeString":"uint8[][]"}},"visibility":"internal"},{"constant":false,"id":5951,"mutability":"mutable","name":"signatures","nameLocation":"11129:10:21","nodeType":"VariableDeclaration","scope":5991,"src":"11112:27:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":5949,"name":"bytes","nodeType":"ElementaryTypeName","src":"11112:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":5950,"nodeType":"ArrayTypeName","src":"11112:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11015:128:21"},"returnParameters":{"id":5953,"nodeType":"ParameterList","parameters":[],"src":"11153:0:21"},"scope":7006,"src":"10997:386:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":6122,"nodeType":"Block","src":"11519:1001:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6005,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5995,"src":"11560:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6003,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4954,"src":"11528:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"id":6004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11547:12:21","memberName":"getPackOwner","nodeType":"MemberAccess","referencedDeclaration":4878,"src":"11528:31:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":6006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11528:43:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":6007,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5993,"src":"11575:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11528:51:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6012,"nodeType":"IfStatement","src":"11525:76:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6009,"name":"NotYourPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11588:11:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11588:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6011,"nodeType":"RevertStatement","src":"11581:20:21"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6013,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"11610:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11619:6:21","memberName":"length","nodeType":"MemberAccess","src":"11610:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3135","id":6015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11629:2:21","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"11610:21:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6020,"nodeType":"IfStatement","src":"11607:52:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6017,"name":"CardLimitExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"11640:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11640:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6019,"nodeType":"RevertStatement","src":"11633:26:21"}},{"condition":{"id":6021,"name":"s_requireOpenPackSignerValidation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4996,"src":"11670:33:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6043,"nodeType":"IfStatement","src":"11666:319:21","trueBody":{"id":6042,"nodeType":"Block","src":"11705:280:21","statements":[{"assignments":[6023],"declarations":[{"constant":false,"id":6023,"mutability":"mutable","name":"signer","nameLocation":"11779:6:21","nodeType":"VariableDeclaration","scope":6042,"src":"11771:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6022,"name":"address","nodeType":"ElementaryTypeName","src":"11771:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":6032,"initialValue":{"arguments":[{"expression":{"id":6026,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11830:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11834:6:21","memberName":"sender","nodeType":"MemberAccess","src":"11830:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6028,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5995,"src":"11850:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6029,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"11870:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":6030,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6000,"src":"11888:9:21","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":6024,"name":"LibPackVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10579,"src":"11788:15:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibPackVerifier_$10579_$","typeString":"type(library LibPackVerifier)"}},"id":6025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11804:16:21","memberName":"verifyPackSigner","nodeType":"MemberAccess","referencedDeclaration":10578,"src":"11788:32:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (address,uint256,uint8[] memory,bytes memory) pure returns (address)"}},"id":6031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11788:117:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11771:134:21"},{"condition":{"id":6037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11923:28:21","subExpression":{"baseExpression":{"expression":{"id":6033,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"11924:11:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":6034,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11936:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"11924:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":6036,"indexExpression":{"id":6035,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6023,"src":"11944:6:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11924:27:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6041,"nodeType":"IfStatement","src":"11920:58:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6038,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"11960:16:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:18:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6040,"nodeType":"RevertStatement","src":"11953:25:21"}}]}},{"expression":{"arguments":[{"id":6047,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5995,"src":"12019:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6048,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5993,"src":"12031:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6044,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4954,"src":"11991:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"id":6046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12010:8:21","memberName":"openPack","nodeType":"MemberAccess","referencedDeclaration":4885,"src":"11991:27:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":6049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11991:45:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6050,"nodeType":"ExpressionStatement","src":"11991:45:21"},{"expression":{"id":6057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6051,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"12042:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6052,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4979,"src":"12061:11:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6053,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4979,"src":"12075:11:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":6054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12089:1:21","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"12075:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12061:29:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12042:48:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6058,"nodeType":"ExpressionStatement","src":"12042:48:21"},{"body":{"id":6114,"nodeType":"Block","src":"12140:326:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6066,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"12151:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6068,"indexExpression":{"id":6067,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"12160:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12151:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313230","id":6069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12166:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"src":"12151:18:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6092,"nodeType":"Block","src":"12254:86:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6081,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"12267:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":6085,"indexExpression":{"baseExpression":{"id":6082,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"12284:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6084,"indexExpression":{"id":6083,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"12293:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12284:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12267:29:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35303030","id":6086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12299:4:21","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"},"src":"12267:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6091,"nodeType":"IfStatement","src":"12264:67:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6088,"name":"InvalidCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4849,"src":"12312:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12312:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6090,"nodeType":"RevertStatement","src":"12305:26:21"}}]},"id":6093,"nodeType":"IfStatement","src":"12148:192:21","trueBody":{"id":6080,"nodeType":"Block","src":"12170:78:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6071,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"12183:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":6073,"indexExpression":{"hexValue":"313230","id":6072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12200:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12183:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"33303030","id":6074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12207:4:21","typeDescriptions":{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},"value":"3000"},"src":"12183:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6079,"nodeType":"IfStatement","src":"12180:59:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6076,"name":"InvalidCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4849,"src":"12220:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12220:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6078,"nodeType":"RevertStatement","src":"12213:26:21"}}]}},{"expression":{"id":6099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12347:31:21","subExpression":{"baseExpression":{"id":6094,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"12347:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":6098,"indexExpression":{"baseExpression":{"id":6095,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"12364:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6097,"indexExpression":{"id":6096,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"12373:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12364:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12347:29:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6100,"nodeType":"ExpressionStatement","src":"12347:31:21"},{"expression":{"id":6108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12386:34:21","subExpression":{"baseExpression":{"baseExpression":{"id":6101,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12386:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6106,"indexExpression":{"id":6102,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5993,"src":"12400:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12386:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6107,"indexExpression":{"baseExpression":{"id":6103,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"12406:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6105,"indexExpression":{"id":6104,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"12415:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12406:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12386:32:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6109,"nodeType":"ExpressionStatement","src":"12386:34:21"},{"id":6113,"nodeType":"UncheckedBlock","src":"12428:32:21","statements":[{"expression":{"id":6111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12448:3:21","subExpression":{"id":6110,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"12448:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6112,"nodeType":"ExpressionStatement","src":"12448:3:21"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6062,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"12118:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":6063,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"12122:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12131:6:21","memberName":"length","nodeType":"MemberAccess","src":"12122:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12118:19:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6115,"initializationExpression":{"assignments":[6060],"declarations":[{"constant":false,"id":6060,"mutability":"mutable","name":"i","nameLocation":"12115:1:21","nodeType":"VariableDeclaration","scope":6115,"src":"12107:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6059,"name":"uint256","nodeType":"ElementaryTypeName","src":"12107:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6061,"nodeType":"VariableDeclarationStatement","src":"12107:9:21"},"nodeType":"ForStatement","src":"12102:364:21"},{"eventCall":{"arguments":[{"id":6117,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5993,"src":"12488:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6118,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"12494:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":6119,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5995,"src":"12504:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6116,"name":"PackOpened","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5053,"src":"12477:10:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,uint8[] memory,uint256)"}},"id":6120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12477:38:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6121,"nodeType":"EmitStatement","src":"12472:43:21"}]},"id":6123,"implemented":true,"kind":"function","modifiers":[],"name":"_openPack","nameLocation":"11396:9:21","nodeType":"FunctionDefinition","parameters":{"id":6001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5993,"mutability":"mutable","name":"user","nameLocation":"11419:4:21","nodeType":"VariableDeclaration","scope":6123,"src":"11411:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5992,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5995,"mutability":"mutable","name":"packNumber","nameLocation":"11437:10:21","nodeType":"VariableDeclaration","scope":6123,"src":"11429:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5994,"name":"uint256","nodeType":"ElementaryTypeName","src":"11429:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5998,"mutability":"mutable","name":"packData","nameLocation":"11468:8:21","nodeType":"VariableDeclaration","scope":6123,"src":"11453:23:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5996,"name":"uint8","nodeType":"ElementaryTypeName","src":"11453:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5997,"nodeType":"ArrayTypeName","src":"11453:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":6000,"mutability":"mutable","name":"signature","nameLocation":"11497:9:21","nodeType":"VariableDeclaration","scope":6123,"src":"11482:24:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5999,"name":"bytes","nodeType":"ElementaryTypeName","src":"11482:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11405:105:21"},"returnParameters":{"id":6002,"nodeType":"ParameterList","parameters":[],"src":"11519:0:21"},"scope":7006,"src":"11387:1133:21","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":6196,"nodeType":"Block","src":"12717:367:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6142,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12726:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6144,"indexExpression":{"id":6143,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6125,"src":"12740:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12726:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6146,"indexExpression":{"id":6145,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6127,"src":"12746:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12726:35:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12765:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12726:40:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6149,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12770:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6151,"indexExpression":{"id":6150,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6129,"src":"12784:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12770:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6153,"indexExpression":{"id":6152,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6131,"src":"12788:12:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12770:31:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12805:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12770:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12726:80:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6160,"nodeType":"IfStatement","src":"12723:120:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6157,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"12815:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12815:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6159,"nodeType":"RevertStatement","src":"12808:35:21"}},{"expression":{"id":6166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"12850:37:21","subExpression":{"baseExpression":{"baseExpression":{"id":6161,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12850:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6164,"indexExpression":{"id":6162,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6125,"src":"12864:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12850:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6165,"indexExpression":{"id":6163,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6127,"src":"12870:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12850:35:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6167,"nodeType":"ExpressionStatement","src":"12850:37:21"},{"expression":{"id":6173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12893:35:21","subExpression":{"baseExpression":{"baseExpression":{"id":6168,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12893:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6171,"indexExpression":{"id":6169,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6129,"src":"12907:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12893:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6172,"indexExpression":{"id":6170,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6127,"src":"12911:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12893:33:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6174,"nodeType":"ExpressionStatement","src":"12893:35:21"},{"expression":{"id":6180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"12934:33:21","subExpression":{"baseExpression":{"baseExpression":{"id":6175,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12934:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6178,"indexExpression":{"id":6176,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6129,"src":"12948:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12934:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6179,"indexExpression":{"id":6177,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6131,"src":"12952:12:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12934:31:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6181,"nodeType":"ExpressionStatement","src":"12934:33:21"},{"expression":{"id":6187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12973:35:21","subExpression":{"baseExpression":{"baseExpression":{"id":6182,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"12973:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6185,"indexExpression":{"id":6183,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6125,"src":"12987:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12973:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6186,"indexExpression":{"id":6184,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6131,"src":"12993:12:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12973:33:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6188,"nodeType":"ExpressionStatement","src":"12973:35:21"},{"eventCall":{"arguments":[{"id":6190,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6125,"src":"13040:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6191,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6129,"src":"13046:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6192,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6127,"src":"13050:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":6193,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6131,"src":"13066:12:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":6189,"name":"OfferCardsExchanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5093,"src":"13020:19:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint8_$_t_uint8_$returns$__$","typeString":"function (address,address,uint8,uint8)"}},"id":6194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13020:59:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6195,"nodeType":"EmitStatement","src":"13015:64:21"}]},"functionSelector":"ad1684fa","id":6197,"implemented":true,"kind":"function","modifiers":[{"id":6134,"kind":"modifierInvocation","modifierName":{"id":6133,"name":"onlyGammaOffersContract","nameLocations":["12649:23:21"],"nodeType":"IdentifierPath","referencedDeclaration":5147,"src":"12649:23:21"},"nodeType":"ModifierInvocation","src":"12649:23:21"},{"arguments":[{"id":6136,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6125,"src":"12690:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":6137,"kind":"modifierInvocation","modifierName":{"id":6135,"name":"checkAddressZero","nameLocations":["12673:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"12673:16:21"},"nodeType":"ModifierInvocation","src":"12673:22:21"},{"arguments":[{"id":6139,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6129,"src":"12713:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":6140,"kind":"modifierInvocation","modifierName":{"id":6138,"name":"checkAddressZero","nameLocations":["12696:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"12696:16:21"},"nodeType":"ModifierInvocation","src":"12696:20:21"}],"name":"exchangeCardsOffer","nameLocation":"12533:18:21","nodeType":"FunctionDefinition","parameters":{"id":6132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6125,"mutability":"mutable","name":"from","nameLocation":"12565:4:21","nodeType":"VariableDeclaration","scope":6197,"src":"12557:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6124,"name":"address","nodeType":"ElementaryTypeName","src":"12557:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6127,"mutability":"mutable","name":"cardNumberFrom","nameLocation":"12581:14:21","nodeType":"VariableDeclaration","scope":6197,"src":"12575:20:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6126,"name":"uint8","nodeType":"ElementaryTypeName","src":"12575:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":6129,"mutability":"mutable","name":"to","nameLocation":"12609:2:21","nodeType":"VariableDeclaration","scope":6197,"src":"12601:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6128,"name":"address","nodeType":"ElementaryTypeName","src":"12601:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6131,"mutability":"mutable","name":"cardNumberTo","nameLocation":"12623:12:21","nodeType":"VariableDeclaration","scope":6197,"src":"12617:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6130,"name":"uint8","nodeType":"ElementaryTypeName","src":"12617:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12551:88:21"},"returnParameters":{"id":6141,"nodeType":"ParameterList","parameters":[],"src":"12717:0:21"},"scope":7006,"src":"12524:560:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":6280,"nodeType":"Block","src":"13170:815:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6207,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"13179:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6210,"indexExpression":{"expression":{"id":6208,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13193:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13197:6:21","memberName":"sender","nodeType":"MemberAccess","src":"13193:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13179:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6212,"indexExpression":{"id":6211,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"13205:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13179:37:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13220:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13179:42:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6218,"nodeType":"IfStatement","src":"13176:82:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6215,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"13230:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13230:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6217,"nodeType":"RevertStatement","src":"13223:35:21"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6219,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6199,"src":"13267:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":6220,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13273:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13277:6:21","memberName":"sender","nodeType":"MemberAccess","src":"13273:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13267:16:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6226,"nodeType":"IfStatement","src":"13264:45:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6223,"name":"InvalidTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4851,"src":"13292:15:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13292:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6225,"nodeType":"RevertStatement","src":"13285:24:21"}},{"condition":{"id":6227,"name":"s_requireOfferValidationInTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"13320:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6257,"nodeType":"IfStatement","src":"13316:529:21","trueBody":{"id":6256,"nodeType":"Block","src":"13356:489:21","statements":[{"assignments":[6229],"declarations":[{"constant":false,"id":6229,"mutability":"mutable","name":"hasOffer","nameLocation":"13369:8:21","nodeType":"VariableDeclaration","scope":6256,"src":"13364:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6228,"name":"bool","nodeType":"ElementaryTypeName","src":"13364:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6236,"initialValue":{"arguments":[{"expression":{"id":6232,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13409:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13413:6:21","memberName":"sender","nodeType":"MemberAccess","src":"13409:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6234,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"13421:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":6230,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"13380:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":6231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13400:8:21","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":4903,"src":"13380:28:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":6235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13380:52:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13364:68:21"},{"assignments":[6238],"declarations":[{"constant":false,"id":6238,"mutability":"mutable","name":"hasMoreThanOne","nameLocation":"13445:14:21","nodeType":"VariableDeclaration","scope":6256,"src":"13440:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6237,"name":"bool","nodeType":"ElementaryTypeName","src":"13440:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6247,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6239,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"13462:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6242,"indexExpression":{"expression":{"id":6240,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13476:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13480:6:21","memberName":"sender","nodeType":"MemberAccess","src":"13476:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13462:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6244,"indexExpression":{"id":6243,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"13488:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13462:37:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":6245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13502:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13462:41:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13440:63:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13783:9:21","subExpression":{"id":6249,"name":"hasOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6229,"src":"13784:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":6251,"name":"hasMoreThanOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6238,"src":"13796:14:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13783:27:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468697320636172642068617320616e206f666665722e","id":6253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13812:25:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""},"value":"This card has an offer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""}],"id":6248,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13775:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13775:63:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6255,"nodeType":"ExpressionStatement","src":"13775:63:21"}]}},{"expression":{"id":6264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"13851:39:21","subExpression":{"baseExpression":{"baseExpression":{"id":6258,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"13851:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6262,"indexExpression":{"expression":{"id":6259,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13865:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13869:6:21","memberName":"sender","nodeType":"MemberAccess","src":"13865:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13851:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6263,"indexExpression":{"id":6261,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"13877:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13851:37:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6265,"nodeType":"ExpressionStatement","src":"13851:39:21"},{"expression":{"id":6271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13896:31:21","subExpression":{"baseExpression":{"baseExpression":{"id":6266,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"13896:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6269,"indexExpression":{"id":6267,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6199,"src":"13910:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13896:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6270,"indexExpression":{"id":6268,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"13914:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13896:29:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6272,"nodeType":"ExpressionStatement","src":"13896:31:21"},{"eventCall":{"arguments":[{"expression":{"id":6274,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13953:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13957:6:21","memberName":"sender","nodeType":"MemberAccess","src":"13953:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6276,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6199,"src":"13965:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6277,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"13969:10:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":6273,"name":"CardTransfered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5101,"src":"13938:14:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,address,uint8)"}},"id":6278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13938:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6279,"nodeType":"EmitStatement","src":"13933:47:21"}]},"functionSelector":"2ca699e7","id":6281,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6204,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6199,"src":"13166:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":6205,"kind":"modifierInvocation","modifierName":{"id":6203,"name":"checkAddressZero","nameLocations":["13149:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"13149:16:21"},"nodeType":"ModifierInvocation","src":"13149:20:21"}],"name":"transferCard","nameLocation":"13097:12:21","nodeType":"FunctionDefinition","parameters":{"id":6202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6199,"mutability":"mutable","name":"to","nameLocation":"13118:2:21","nodeType":"VariableDeclaration","scope":6281,"src":"13110:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6198,"name":"address","nodeType":"ElementaryTypeName","src":"13110:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6201,"mutability":"mutable","name":"cardNumber","nameLocation":"13128:10:21","nodeType":"VariableDeclaration","scope":6281,"src":"13122:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6200,"name":"uint8","nodeType":"ElementaryTypeName","src":"13122:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"13109:30:21"},"returnParameters":{"id":6206,"nodeType":"ParameterList","parameters":[],"src":"13170:0:21"},"scope":7006,"src":"13088:897:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":6387,"nodeType":"Block","src":"14082:928:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6292,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"14091:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":6293,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14097:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14101:6:21","memberName":"sender","nodeType":"MemberAccess","src":"14097:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14091:16:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6299,"nodeType":"IfStatement","src":"14088:45:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6296,"name":"InvalidTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4851,"src":"14116:15:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14116:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6298,"nodeType":"RevertStatement","src":"14109:24:21"}},{"body":{"id":6378,"nodeType":"Block","src":"14185:766:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6310,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"14196:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6313,"indexExpression":{"expression":{"id":6311,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14210:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14214:6:21","memberName":"sender","nodeType":"MemberAccess","src":"14210:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14196:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6317,"indexExpression":{"baseExpression":{"id":6314,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14222:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6316,"indexExpression":{"id":6315,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14234:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14222:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14196:41:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14241:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14196:46:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6323,"nodeType":"IfStatement","src":"14193:86:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6320,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"14251:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14251:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6322,"nodeType":"RevertStatement","src":"14244:35:21"}},{"expression":{"id":6332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"14287:43:21","subExpression":{"baseExpression":{"baseExpression":{"id":6324,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"14287:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6330,"indexExpression":{"expression":{"id":6325,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14301:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14305:6:21","memberName":"sender","nodeType":"MemberAccess","src":"14301:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14287:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6331,"indexExpression":{"baseExpression":{"id":6327,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14313:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6329,"indexExpression":{"id":6328,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14325:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14313:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14287:41:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6333,"nodeType":"ExpressionStatement","src":"14287:43:21"},{"expression":{"id":6341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14338:35:21","subExpression":{"baseExpression":{"baseExpression":{"id":6334,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"14338:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6339,"indexExpression":{"id":6335,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"14352:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14338:17:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6340,"indexExpression":{"baseExpression":{"id":6336,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14356:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6338,"indexExpression":{"id":6337,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14368:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14356:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14338:33:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6342,"nodeType":"ExpressionStatement","src":"14338:35:21"},{"condition":{"id":6343,"name":"s_requireOfferValidationInTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"14386:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6377,"nodeType":"IfStatement","src":"14382:563:21","trueBody":{"id":6376,"nodeType":"Block","src":"14422:523:21","statements":[{"assignments":[6345],"declarations":[{"constant":false,"id":6345,"mutability":"mutable","name":"hasOffer","nameLocation":"14437:8:21","nodeType":"VariableDeclaration","scope":6376,"src":"14432:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6344,"name":"bool","nodeType":"ElementaryTypeName","src":"14432:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6354,"initialValue":{"arguments":[{"expression":{"id":6348,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14477:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14481:6:21","memberName":"sender","nodeType":"MemberAccess","src":"14477:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":6350,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14489:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6352,"indexExpression":{"id":6351,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14501:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14489:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":6346,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"14448:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":6347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14468:8:21","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":4903,"src":"14448:28:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":6353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14448:56:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14432:72:21"},{"assignments":[6356],"declarations":[{"constant":false,"id":6356,"mutability":"mutable","name":"hasMoreThanOne","nameLocation":"14519:14:21","nodeType":"VariableDeclaration","scope":6376,"src":"14514:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6355,"name":"bool","nodeType":"ElementaryTypeName","src":"14514:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6367,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6357,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"14536:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6360,"indexExpression":{"expression":{"id":6358,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14550:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:6:21","memberName":"sender","nodeType":"MemberAccess","src":"14550:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14536:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6364,"indexExpression":{"baseExpression":{"id":6361,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14562:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6363,"indexExpression":{"id":6362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14574:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14562:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14536:41:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":6365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14580:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14536:45:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14514:67:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14881:9:21","subExpression":{"id":6369,"name":"hasOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6345,"src":"14882:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":6371,"name":"hasMoreThanOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6356,"src":"14894:14:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14881:27:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468697320636172642068617320616e206f666665722e","id":6373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14910:25:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""},"value":"This card has an offer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""}],"id":6368,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14873:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14873:63:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6375,"nodeType":"ExpressionStatement","src":"14873:63:21"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6303,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14156:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":6304,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14160:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14172:6:21","memberName":"length","nodeType":"MemberAccess","src":"14160:18:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14156:22:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6379,"initializationExpression":{"assignments":[6301],"declarations":[{"constant":false,"id":6301,"mutability":"mutable","name":"i","nameLocation":"14153:1:21","nodeType":"VariableDeclaration","scope":6379,"src":"14145:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6300,"name":"uint256","nodeType":"ElementaryTypeName","src":"14145:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6302,"nodeType":"VariableDeclarationStatement","src":"14145:9:21"},"loopExpression":{"expression":{"id":6308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14180:3:21","subExpression":{"id":6307,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6301,"src":"14180:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6309,"nodeType":"ExpressionStatement","src":"14180:3:21"},"nodeType":"ForStatement","src":"14140:811:21"},{"eventCall":{"arguments":[{"expression":{"id":6381,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14977:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14981:6:21","memberName":"sender","nodeType":"MemberAccess","src":"14977:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6383,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"14989:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6384,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"14993:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}],"id":6380,"name":"CardsTransfered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5110,"src":"14961:15:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,uint8[] memory)"}},"id":6385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14961:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6386,"nodeType":"EmitStatement","src":"14956:49:21"}]},"functionSelector":"a1af8ad4","id":6388,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":6289,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6283,"src":"14078:2:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":6290,"kind":"modifierInvocation","modifierName":{"id":6288,"name":"checkAddressZero","nameLocations":["14061:16:21"],"nodeType":"IdentifierPath","referencedDeclaration":5177,"src":"14061:16:21"},"nodeType":"ModifierInvocation","src":"14061:20:21"}],"name":"transferCards","nameLocation":"13998:13:21","nodeType":"FunctionDefinition","parameters":{"id":6287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6283,"mutability":"mutable","name":"to","nameLocation":"14020:2:21","nodeType":"VariableDeclaration","scope":6388,"src":"14012:10:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6282,"name":"address","nodeType":"ElementaryTypeName","src":"14012:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6286,"mutability":"mutable","name":"cardNumbers","nameLocation":"14041:11:21","nodeType":"VariableDeclaration","scope":6388,"src":"14024:28:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":6284,"name":"uint8","nodeType":"ElementaryTypeName","src":"14024:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6285,"nodeType":"ArrayTypeName","src":"14024:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"14011:42:21"},"returnParameters":{"id":6291,"nodeType":"ParameterList","parameters":[],"src":"14082:0:21"},"scope":7006,"src":"13989:1021:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":6517,"nodeType":"Block","src":"15175:1120:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6393,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"15240:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6396,"indexExpression":{"expression":{"id":6394,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15254:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15258:6:21","memberName":"sender","nodeType":"MemberAccess","src":"15254:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15240:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6398,"indexExpression":{"hexValue":"313230","id":6397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15266:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15240:30:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15274:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15240:35:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6404,"nodeType":"IfStatement","src":"15237:75:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6401,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"15284:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6403,"nodeType":"RevertStatement","src":"15277:35:21"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6405,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"15321:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6406,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4985,"src":"15339:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15321:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6411,"nodeType":"IfStatement","src":"15318:68:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6408,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"15364:20:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15364:22:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6410,"nodeType":"RevertStatement","src":"15357:29:21"}},{"assignments":[6413],"declarations":[{"constant":false,"id":6413,"mutability":"mutable","name":"contractBalance","nameLocation":"15401:15:21","nodeType":"VariableDeclaration","scope":6517,"src":"15393:23:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6412,"name":"uint256","nodeType":"ElementaryTypeName","src":"15393:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6423,"initialValue":{"arguments":[{"arguments":[{"id":6420,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15455:4:21","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaCardsV5_$7006","typeString":"contract NofGammaCardsV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaCardsV5_$7006","typeString":"contract NofGammaCardsV5"}],"id":6419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15447:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6418,"name":"address","nodeType":"ElementaryTypeName","src":"15447:7:21","typeDescriptions":{}}},"id":6421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15447:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6415,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"15426:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6414,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"15419:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":6416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15419:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":6417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15437:9:21","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":175,"src":"15419:27:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":6422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15419:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15393:68:21"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6424,"name":"contractBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6413,"src":"15470:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6425,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4985,"src":"15488:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15470:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6430,"nodeType":"IfStatement","src":"15467:65:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6427,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4865,"src":"15513:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15513:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6429,"nodeType":"RevertStatement","src":"15506:26:21"}},{"assignments":[6432],"declarations":[{"constant":false,"id":6432,"mutability":"mutable","name":"unfinished","nameLocation":"15604:10:21","nodeType":"VariableDeclaration","scope":6517,"src":"15599:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6431,"name":"bool","nodeType":"ElementaryTypeName","src":"15599:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6433,"nodeType":"VariableDeclarationStatement","src":"15599:15:21"},{"body":{"id":6467,"nodeType":"Block","src":"15650:181:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6440,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"15662:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6443,"indexExpression":{"expression":{"id":6441,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15676:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15680:6:21","memberName":"sender","nodeType":"MemberAccess","src":"15676:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15662:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6445,"indexExpression":{"id":6444,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6435,"src":"15688:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15662:28:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15694:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15662:33:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6454,"nodeType":"IfStatement","src":"15658:90:21","trueBody":{"id":6453,"nodeType":"Block","src":"15697:51:21","statements":[{"expression":{"id":6450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6448,"name":"unfinished","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6432,"src":"15707:10:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15720:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15707:17:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6451,"nodeType":"ExpressionStatement","src":"15707:17:21"},{"id":6452,"nodeType":"Break","src":"15734:5:21"}]}},{"expression":{"id":6461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"15755:30:21","subExpression":{"baseExpression":{"baseExpression":{"id":6455,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"15755:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6459,"indexExpression":{"expression":{"id":6456,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15769:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15773:6:21","memberName":"sender","nodeType":"MemberAccess","src":"15769:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15755:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6460,"indexExpression":{"id":6458,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6435,"src":"15781:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15755:28:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6462,"nodeType":"ExpressionStatement","src":"15755:30:21"},{"id":6466,"nodeType":"UncheckedBlock","src":"15793:32:21","statements":[{"expression":{"id":6464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15813:3:21","subExpression":{"id":6463,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6435,"src":"15813:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6465,"nodeType":"ExpressionStatement","src":"15813:3:21"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6437,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6435,"src":"15639:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313230","id":6438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15644:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"src":"15639:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6468,"initializationExpression":{"assignments":[6435],"declarations":[{"constant":false,"id":6435,"mutability":"mutable","name":"i","nameLocation":"15636:1:21","nodeType":"VariableDeclaration","scope":6468,"src":"15630:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6434,"name":"uint8","nodeType":"ElementaryTypeName","src":"15630:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":6436,"nodeType":"VariableDeclarationStatement","src":"15630:7:21"},"nodeType":"ForStatement","src":"15625:206:21"},{"condition":{"id":6469,"name":"unfinished","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6432,"src":"15839:10:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6473,"nodeType":"IfStatement","src":"15836:41:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6470,"name":"MustCompleteAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"15858:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15858:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6472,"nodeType":"RevertStatement","src":"15851:26:21"}},{"expression":{"arguments":[{"expression":{"id":6475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15926:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15930:6:21","memberName":"sender","nodeType":"MemberAccess","src":"15926:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6477,"name":"s_mainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4990,"src":"15938:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"hexValue":"313230","id":6478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15949:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"32","id":6479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15954:1:21","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":6474,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6862,"src":"15917:8:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":6480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15917:39:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6481,"nodeType":"ExpressionStatement","src":"15917:39:21"},{"expression":{"arguments":[{"expression":{"id":6486,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16020:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16024:6:21","memberName":"sender","nodeType":"MemberAccess","src":"16020:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6488,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4985,"src":"16032:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6483,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"16000:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6482,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"15993:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":6484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15993:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":6485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16011:8:21","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"15993:26:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":6489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15993:56:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6490,"nodeType":"ExpressionStatement","src":"15993:56:21"},{"expression":{"id":6493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6491,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"16055:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":6492,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4985,"src":"16074:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16055:35:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6494,"nodeType":"ExpressionStatement","src":"16055:35:21"},{"assignments":[6496],"declarations":[{"constant":false,"id":6496,"mutability":"mutable","name":"userOffersRemoved","nameLocation":"16102:17:21","nodeType":"VariableDeclaration","scope":6517,"src":"16097:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6495,"name":"bool","nodeType":"ElementaryTypeName","src":"16097:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6502,"initialValue":{"arguments":[{"expression":{"id":6499,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16161:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16165:6:21","memberName":"sender","nodeType":"MemberAccess","src":"16161:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6497,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"16122:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":6498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16142:18:21","memberName":"removeOffersByUser","nodeType":"MemberAccess","referencedDeclaration":4910,"src":"16122:38:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) external returns (bool)"}},"id":6501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16122:50:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16097:75:21"},{"condition":{"id":6504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16181:18:21","subExpression":{"id":6503,"name":"userOffersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6496,"src":"16182:17:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6508,"nodeType":"IfStatement","src":"16178:54:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6505,"name":"CannotRemoveUserOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"16208:22:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16208:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6507,"nodeType":"RevertStatement","src":"16201:31:21"}},{"eventCall":{"arguments":[{"expression":{"id":6510,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16259:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16263:6:21","memberName":"sender","nodeType":"MemberAccess","src":"16259:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":6512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16271:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":6509,"name":"AlbumCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5059,"src":"16244:14:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8)"}},"id":6513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16244:29:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6514,"nodeType":"EmitStatement","src":"16239:34:21"},{"expression":{"hexValue":"74727565","id":6515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16286:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":6392,"id":6516,"nodeType":"Return","src":"16279:11:21"}]},"functionSelector":"9038f414","id":6518,"implemented":true,"kind":"function","modifiers":[],"name":"finishAlbum","nameLocation":"15139:11:21","nodeType":"FunctionDefinition","parameters":{"id":6389,"nodeType":"ParameterList","parameters":[],"src":"15150:2:21"},"returnParameters":{"id":6392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6518,"src":"15169:4:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6390,"name":"bool","nodeType":"ElementaryTypeName","src":"15169:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15168:6:21"},"scope":7006,"src":"15130:1165:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":6718,"nodeType":"Block","src":"16473:1508:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6524,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"16482:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6527,"indexExpression":{"expression":{"id":6525,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16496:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16500:6:21","memberName":"sender","nodeType":"MemberAccess","src":"16496:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16482:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6529,"indexExpression":{"hexValue":"313231","id":6528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16508:3:21","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16482:30:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16516:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16482:35:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6535,"nodeType":"IfStatement","src":"16479:75:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6532,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"16526:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16526:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6534,"nodeType":"RevertStatement","src":"16519:35:21"}},{"assignments":[6537],"declarations":[{"constant":false,"id":6537,"mutability":"mutable","name":"totalUserBurnedCards","nameLocation":"16568:20:21","nodeType":"VariableDeclaration","scope":6718,"src":"16560:28:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6536,"name":"uint256","nodeType":"ElementaryTypeName","src":"16560:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6545,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6538,"name":"s_burnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"16591:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":6541,"indexExpression":{"expression":{"id":6539,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16605:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16609:6:21","memberName":"sender","nodeType":"MemberAccess","src":"16605:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16591:25:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":6542,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"16619:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16631:6:21","memberName":"length","nodeType":"MemberAccess","src":"16619:18:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16591:46:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16560:77:21"},{"assignments":[6547],"declarations":[{"constant":false,"id":6547,"mutability":"mutable","name":"mustPayPrize","nameLocation":"16648:12:21","nodeType":"VariableDeclaration","scope":6718,"src":"16643:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6546,"name":"bool","nodeType":"ElementaryTypeName","src":"16643:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6548,"nodeType":"VariableDeclarationStatement","src":"16643:17:21"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6549,"name":"totalUserBurnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6537,"src":"16671:20:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3630","id":6550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16695:2:21","typeDescriptions":{"typeIdentifier":"t_rational_60_by_1","typeString":"int_const 60"},"value":"60"},"src":"16671:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6580,"nodeType":"IfStatement","src":"16667:263:21","trueBody":{"id":6579,"nodeType":"Block","src":"16699:231:21","statements":[{"assignments":[6553],"declarations":[{"constant":false,"id":6553,"mutability":"mutable","name":"contractBalance","nameLocation":"16715:15:21","nodeType":"VariableDeclaration","scope":6579,"src":"16707:23:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6552,"name":"uint256","nodeType":"ElementaryTypeName","src":"16707:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6563,"initialValue":{"arguments":[{"arguments":[{"id":6560,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16769:4:21","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaCardsV5_$7006","typeString":"contract NofGammaCardsV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaCardsV5_$7006","typeString":"contract NofGammaCardsV5"}],"id":6559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16761:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6558,"name":"address","nodeType":"ElementaryTypeName","src":"16761:7:21","typeDescriptions":{}}},"id":6561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16761:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6555,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"16740:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6554,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"16733:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":6556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16733:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":6557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16751:9:21","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":175,"src":"16733:27:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":6562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16733:42:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16707:68:21"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6564,"name":"contractBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6553,"src":"16786:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6565,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"16804:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16786:39:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6567,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"16829:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6568,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"16847:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16829:39:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16786:82:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6574,"nodeType":"IfStatement","src":"16783:113:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6571,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4865,"src":"16877:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16877:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6573,"nodeType":"RevertStatement","src":"16870:26:21"}},{"expression":{"id":6577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6575,"name":"mustPayPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6547,"src":"16904:12:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16919:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16904:19:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6578,"nodeType":"ExpressionStatement","src":"16904:19:21"}]}},{"assignments":[6582],"declarations":[{"constant":false,"id":6582,"mutability":"mutable","name":"userHasOffers","nameLocation":"16941:13:21","nodeType":"VariableDeclaration","scope":6718,"src":"16936:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6581,"name":"bool","nodeType":"ElementaryTypeName","src":"16936:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6591,"initialValue":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":6585,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17001:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17005:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17001:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6583,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"16958:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":6584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16978:22:21","memberName":"getOffersByUserCounter","nodeType":"MemberAccess","referencedDeclaration":4917,"src":"16958:42:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":6587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16958:54:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17015:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16958:58:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":6590,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16957:60:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16936:81:21"},{"assignments":[6593],"declarations":[{"constant":false,"id":6593,"mutability":"mutable","name":"cardNumbersLength","nameLocation":"17031:17:21","nodeType":"VariableDeclaration","scope":6718,"src":"17023:25:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6592,"name":"uint256","nodeType":"ElementaryTypeName","src":"17023:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6596,"initialValue":{"expression":{"id":6594,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"17051:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17063:6:21","memberName":"length","nodeType":"MemberAccess","src":"17051:18:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17023:46:21"},{"body":{"id":6658,"nodeType":"Block","src":"17115:396:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6603,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"17126:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6606,"indexExpression":{"expression":{"id":6604,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17140:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17144:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17140:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17126:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6610,"indexExpression":{"baseExpression":{"id":6607,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"17152:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6609,"indexExpression":{"id":6608,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6598,"src":"17164:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17152:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17126:41:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17171:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17126:46:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6616,"nodeType":"IfStatement","src":"17123:86:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6613,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"17181:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17181:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6615,"nodeType":"RevertStatement","src":"17174:35:21"}},{"condition":{"id":6617,"name":"userHasOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6582,"src":"17221:13:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6643,"nodeType":"IfStatement","src":"17217:198:21","trueBody":{"id":6642,"nodeType":"Block","src":"17236:179:21","statements":[{"condition":{"arguments":[{"expression":{"id":6620,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17279:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17283:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17279:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":6622,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"17291:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6624,"indexExpression":{"id":6623,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6598,"src":"17303:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17291:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":6618,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"17250:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":6619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17270:8:21","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":4903,"src":"17250:28:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":6625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17250:56:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6641,"nodeType":"IfStatement","src":"17246:161:21","trueBody":{"id":6640,"nodeType":"Block","src":"17308:99:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6626,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"17323:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6629,"indexExpression":{"expression":{"id":6627,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17337:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17341:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17337:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17323:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6633,"indexExpression":{"baseExpression":{"id":6630,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"17349:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6632,"indexExpression":{"id":6631,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6598,"src":"17361:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17349:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17323:41:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"32","id":6634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17367:1:21","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"17323:45:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6639,"nodeType":"IfStatement","src":"17320:76:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6636,"name":"InsufficientCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4867,"src":"17377:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17377:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6638,"nodeType":"RevertStatement","src":"17370:26:21"}}]}}]}},{"expression":{"id":6652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"17422:43:21","subExpression":{"baseExpression":{"baseExpression":{"id":6644,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"17422:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6650,"indexExpression":{"expression":{"id":6645,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17436:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17440:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17436:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17422:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6651,"indexExpression":{"baseExpression":{"id":6647,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"17448:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":6649,"indexExpression":{"id":6648,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6598,"src":"17460:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17448:14:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17422:41:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6653,"nodeType":"ExpressionStatement","src":"17422:43:21"},{"id":6657,"nodeType":"UncheckedBlock","src":"17473:32:21","statements":[{"expression":{"id":6655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17493:3:21","subExpression":{"id":6654,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6598,"src":"17493:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6656,"nodeType":"ExpressionStatement","src":"17493:3:21"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6600,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6598,"src":"17091:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6601,"name":"cardNumbersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6593,"src":"17095:17:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17091:21:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6659,"initializationExpression":{"assignments":[6598],"declarations":[{"constant":false,"id":6598,"mutability":"mutable","name":"i","nameLocation":"17088:1:21","nodeType":"VariableDeclaration","scope":6659,"src":"17080:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6597,"name":"uint256","nodeType":"ElementaryTypeName","src":"17080:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6599,"nodeType":"VariableDeclarationStatement","src":"17080:9:21"},"nodeType":"ForStatement","src":"17075:436:21"},{"expression":{"id":6665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":6660,"name":"s_burnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"17517:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":6663,"indexExpression":{"expression":{"id":6661,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17531:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17535:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17531:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17517:25:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":6664,"name":"cardNumbersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6593,"src":"17546:17:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17517:46:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6666,"nodeType":"ExpressionStatement","src":"17517:46:21"},{"eventCall":{"arguments":[{"expression":{"id":6668,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17586:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17590:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17586:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6670,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6521,"src":"17598:11:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}],"id":6667,"name":"CardsBurned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5117,"src":"17574:11:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint8[] memory)"}},"id":6671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17574:36:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6672,"nodeType":"EmitStatement","src":"17569:41:21"},{"condition":{"id":6673,"name":"mustPayPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6547,"src":"17621:12:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6717,"nodeType":"IfStatement","src":"17617:360:21","trueBody":{"id":6716,"nodeType":"Block","src":"17635:342:21","statements":[{"expression":{"id":6680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"17643:32:21","subExpression":{"baseExpression":{"baseExpression":{"id":6674,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"17643:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6678,"indexExpression":{"expression":{"id":6675,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17657:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17661:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17657:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17643:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6679,"indexExpression":{"hexValue":"313231","id":6677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17669:3:21","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17643:30:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6681,"nodeType":"ExpressionStatement","src":"17643:32:21"},{"expression":{"arguments":[{"expression":{"id":6683,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17692:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17696:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17692:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6685,"name":"s_secondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4992,"src":"17704:14:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"hexValue":"313231","id":6686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17720:3:21","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},{"hexValue":"32","id":6687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17725:1:21","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":6682,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6862,"src":"17683:8:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":6688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:44:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6689,"nodeType":"ExpressionStatement","src":"17683:44:21"},{"expression":{"id":6692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6690,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"17763:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":6691,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"17782:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17763:40:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6693,"nodeType":"ExpressionStatement","src":"17763:40:21"},{"expression":{"arguments":[{"expression":{"id":6698,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17838:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17842:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17838:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6700,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4988,"src":"17850:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6695,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"17818:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6694,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"17811:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":6696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17811:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":6697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17829:8:21","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"17811:26:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":6701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17811:61:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6702,"nodeType":"ExpressionStatement","src":"17811:61:21"},{"expression":{"arguments":[{"expression":{"id":6706,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17917:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17921:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17917:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6703,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4960,"src":"17881:20:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$4940","typeString":"contract IgammaTicketsContract"}},"id":6705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17902:14:21","memberName":"generateTicket","nodeType":"MemberAccess","referencedDeclaration":4939,"src":"17881:35:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17881:47:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6709,"nodeType":"ExpressionStatement","src":"17881:47:21"},{"eventCall":{"arguments":[{"expression":{"id":6711,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17956:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17960:6:21","memberName":"sender","nodeType":"MemberAccess","src":"17956:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"32","id":6713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17968:1:21","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":6710,"name":"AlbumCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5059,"src":"17941:14:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8)"}},"id":6714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17941:29:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6715,"nodeType":"EmitStatement","src":"17936:34:21"}]}}]},"functionSelector":"20965a5f","id":6719,"implemented":true,"kind":"function","modifiers":[],"name":"burnCards","nameLocation":"16426:9:21","nodeType":"FunctionDefinition","parameters":{"id":6522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6521,"mutability":"mutable","name":"cardNumbers","nameLocation":"16453:11:21","nodeType":"VariableDeclaration","scope":6719,"src":"16436:28:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":6519,"name":"uint8","nodeType":"ElementaryTypeName","src":"16436:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6520,"nodeType":"ArrayTypeName","src":"16436:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"16435:30:21"},"returnParameters":{"id":6523,"nodeType":"ParameterList","parameters":[],"src":"16473:0:21"},"scope":7006,"src":"16417:1564:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":6810,"nodeType":"Block","src":"18025:838:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6724,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"18034:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6727,"indexExpression":{"expression":{"id":6725,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18048:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18052:6:21","memberName":"sender","nodeType":"MemberAccess","src":"18048:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18034:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6729,"indexExpression":{"id":6728,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6721,"src":"18060:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18034:34:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":6730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18072:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18034:39:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6735,"nodeType":"IfStatement","src":"18031:79:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6732,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4863,"src":"18082:26:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18082:28:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6734,"nodeType":"RevertStatement","src":"18075:35:21"}},{"condition":{"id":6736,"name":"s_requireOfferValidationInMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4999,"src":"18121:30:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6766,"nodeType":"IfStatement","src":"18117:519:21","trueBody":{"id":6765,"nodeType":"Block","src":"18153:483:21","statements":[{"assignments":[6738],"declarations":[{"constant":false,"id":6738,"mutability":"mutable","name":"hasOffer","nameLocation":"18166:8:21","nodeType":"VariableDeclaration","scope":6765,"src":"18161:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6737,"name":"bool","nodeType":"ElementaryTypeName","src":"18161:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6745,"initialValue":{"arguments":[{"expression":{"id":6741,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18206:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18210:6:21","memberName":"sender","nodeType":"MemberAccess","src":"18206:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6743,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6721,"src":"18218:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":6739,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4957,"src":"18177:19:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$4934","typeString":"contract IgammaOffersContract"}},"id":6740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18197:8:21","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":4903,"src":"18177:28:21","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":6744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18177:49:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18161:65:21"},{"assignments":[6747],"declarations":[{"constant":false,"id":6747,"mutability":"mutable","name":"hasMoreThanOne","nameLocation":"18239:14:21","nodeType":"VariableDeclaration","scope":6765,"src":"18234:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6746,"name":"bool","nodeType":"ElementaryTypeName","src":"18234:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6756,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":6748,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"18256:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6751,"indexExpression":{"expression":{"id":6749,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18270:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18274:6:21","memberName":"sender","nodeType":"MemberAccess","src":"18270:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18256:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6753,"indexExpression":{"id":6752,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6721,"src":"18282:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18256:34:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":6754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18293:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18256:38:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18234:60:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18574:9:21","subExpression":{"id":6758,"name":"hasOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6738,"src":"18575:8:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":6760,"name":"hasMoreThanOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6747,"src":"18587:14:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18574:27:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468697320636172642068617320616e206f666665722e","id":6762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18603:25:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""},"value":"This card has an offer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""}],"id":6757,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18566:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18566:63:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6764,"nodeType":"ExpressionStatement","src":"18566:63:21"}]}},{"expression":{"id":6773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"18642:36:21","subExpression":{"baseExpression":{"baseExpression":{"id":6767,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"18642:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6771,"indexExpression":{"expression":{"id":6768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18656:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18660:6:21","memberName":"sender","nodeType":"MemberAccess","src":"18656:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18642:25:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6772,"indexExpression":{"id":6770,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6721,"src":"18668:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18642:34:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6774,"nodeType":"ExpressionStatement","src":"18642:36:21"},{"assignments":[6776],"declarations":[{"constant":false,"id":6776,"mutability":"mutable","name":"uri","nameLocation":"18699:3:21","nodeType":"VariableDeclaration","scope":6810,"src":"18685:17:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6775,"name":"string","nodeType":"ElementaryTypeName","src":"18685:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":6801,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":6783,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4994,"src":"18742:9:21","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":6782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18736:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":6781,"name":"bytes","nodeType":"ElementaryTypeName","src":"18736:5:21","typeDescriptions":{}}},"id":6784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18736:16:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":6787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18760:3:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":6786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18754:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":6785,"name":"bytes","nodeType":"ElementaryTypeName","src":"18754:5:21","typeDescriptions":{}}},"id":6788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18754:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6791,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6721,"src":"18772:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18780:8:21","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":10659,"src":"18772:16:21","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":6793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18772:18:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18766:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":6789,"name":"bytes","nodeType":"ElementaryTypeName","src":"18766:5:21","typeDescriptions":{}}},"id":6794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18766:25:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"2e6a736f6e","id":6797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18799:7:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"id":6796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18793:5:21","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":6795,"name":"bytes","nodeType":"ElementaryTypeName","src":"18793:5:21","typeDescriptions":{}}},"id":6798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18793:14:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18719:3:21","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18723:12:21","memberName":"encodePacked","nodeType":"MemberAccess","src":"18719:16:21","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18719:89:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18705:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":6777,"name":"string","nodeType":"ElementaryTypeName","src":"18705:6:21","typeDescriptions":{}}},"id":6800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18705:109:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"18685:129:21"},{"expression":{"arguments":[{"expression":{"id":6803,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18830:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18834:6:21","memberName":"sender","nodeType":"MemberAccess","src":"18830:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6805,"name":"uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6776,"src":"18842:3:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6806,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6721,"src":"18847:7:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"31","id":6807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18856:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":6802,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6862,"src":"18821:8:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":6808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18821:37:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6809,"nodeType":"ExpressionStatement","src":"18821:37:21"}]},"functionSelector":"bf400a6a","id":6811,"implemented":true,"kind":"function","modifiers":[],"name":"mintCard","nameLocation":"17994:8:21","nodeType":"FunctionDefinition","parameters":{"id":6722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6721,"mutability":"mutable","name":"cardNum","nameLocation":"18009:7:21","nodeType":"VariableDeclaration","scope":6811,"src":"18003:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6720,"name":"uint8","nodeType":"ElementaryTypeName","src":"18003:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"18002:15:21"},"returnParameters":{"id":6723,"nodeType":"ParameterList","parameters":[],"src":"18025:0:21"},"scope":7006,"src":"17985:878:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":6861,"nodeType":"Block","src":"18958:250:21","statements":[{"assignments":[6823],"declarations":[{"constant":false,"id":6823,"mutability":"mutable","name":"tokenId","nameLocation":"18972:7:21","nodeType":"VariableDeclaration","scope":6861,"src":"18964:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6822,"name":"uint256","nodeType":"ElementaryTypeName","src":"18964:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6825,"initialValue":{"id":6824,"name":"s_tokenIdCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4976,"src":"18982:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18964:34:21"},{"expression":{"id":6831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":6826,"name":"s_cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5018,"src":"19004:7:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$5013_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card storage ref)"}},"id":6828,"indexExpression":{"id":6827,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6823,"src":"19012:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19004:16:21","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$5013_storage","typeString":"struct NofGammaCardsV5.Card storage ref"}},"id":6829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19021:7:21","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":5004,"src":"19004:24:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6830,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6823,"src":"19031:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19004:34:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6832,"nodeType":"ExpressionStatement","src":"19004:34:21"},{"expression":{"id":6838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":6833,"name":"s_cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5018,"src":"19044:7:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$5013_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card storage ref)"}},"id":6835,"indexExpression":{"id":6834,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6823,"src":"19052:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19044:16:21","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$5013_storage","typeString":"struct NofGammaCardsV5.Card storage ref"}},"id":6836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19061:6:21","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":5006,"src":"19044:23:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6837,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6817,"src":"19070:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19044:33:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6839,"nodeType":"ExpressionStatement","src":"19044:33:21"},{"expression":{"id":6845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":6840,"name":"s_cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5018,"src":"19083:7:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$5013_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card storage ref)"}},"id":6842,"indexExpression":{"id":6841,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6823,"src":"19091:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19083:16:21","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$5013_storage","typeString":"struct NofGammaCardsV5.Card storage ref"}},"id":6843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19100:5:21","memberName":"class","nodeType":"MemberAccess","referencedDeclaration":5010,"src":"19083:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6844,"name":"_class","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6819,"src":"19108:6:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"19083:31:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6846,"nodeType":"ExpressionStatement","src":"19083:31:21"},{"expression":{"arguments":[{"id":6848,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6813,"src":"19130:3:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6849,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6823,"src":"19135:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6847,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[713,742],"referencedDeclaration":713,"src":"19120:9:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":6850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19120:23:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6851,"nodeType":"ExpressionStatement","src":"19120:23:21"},{"expression":{"arguments":[{"id":6853,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6823,"src":"19162:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6854,"name":"_uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6815,"src":"19171:4:21","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6852,"name":"_setTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1434,"src":"19149:12:21","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":6855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19149:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6856,"nodeType":"ExpressionStatement","src":"19149:27:21"},{"expression":{"id":6859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6857,"name":"s_tokenIdCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4976,"src":"19182:16:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":6858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19202:1:21","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19182:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6860,"nodeType":"ExpressionStatement","src":"19182:21:21"}]},"id":6862,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"18876:8:21","nodeType":"FunctionDefinition","parameters":{"id":6820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6813,"mutability":"mutable","name":"_to","nameLocation":"18893:3:21","nodeType":"VariableDeclaration","scope":6862,"src":"18885:11:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6812,"name":"address","nodeType":"ElementaryTypeName","src":"18885:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6815,"mutability":"mutable","name":"_uri","nameLocation":"18912:4:21","nodeType":"VariableDeclaration","scope":6862,"src":"18898:18:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6814,"name":"string","nodeType":"ElementaryTypeName","src":"18898:6:21","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6817,"mutability":"mutable","name":"_number","nameLocation":"18926:7:21","nodeType":"VariableDeclaration","scope":6862,"src":"18918:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6816,"name":"uint256","nodeType":"ElementaryTypeName","src":"18918:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6819,"mutability":"mutable","name":"_class","nameLocation":"18941:6:21","nodeType":"VariableDeclaration","scope":6862,"src":"18935:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6818,"name":"uint8","nodeType":"ElementaryTypeName","src":"18935:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"18884:64:21"},"returnParameters":{"id":6821,"nodeType":"ParameterList","parameters":[],"src":"18958:0:21"},"scope":7006,"src":"18867:341:21","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":6900,"nodeType":"Block","src":"19314:208:21","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":6872,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19341:4:21","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaCardsV5_$7006","typeString":"contract NofGammaCardsV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaCardsV5_$7006","typeString":"contract NofGammaCardsV5"}],"id":6871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19333:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6870,"name":"address","nodeType":"ElementaryTypeName","src":"19333:7:21","typeDescriptions":{}}},"id":6873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19333:13:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6869,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":336,"src":"19323:9:21","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":6874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19323:24:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6875,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"19350:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19323:33:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6880,"nodeType":"IfStatement","src":"19320:64:21","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6877,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4865,"src":"19365:17:21","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19365:19:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6879,"nodeType":"RevertStatement","src":"19358:26:21"}},{"expression":{"id":6883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6881,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"19390:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":6882,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"19409:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19390:25:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6884,"nodeType":"ExpressionStatement","src":"19390:25:21"},{"expression":{"arguments":[{"expression":{"id":6889,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19448:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19452:6:21","memberName":"sender","nodeType":"MemberAccess","src":"19448:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6891,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"19460:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6886,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4974,"src":"19428:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6885,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"19421:6:21","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":6887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19421:17:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":6888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19439:8:21","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"19421:26:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":6892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19421:46:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6893,"nodeType":"ExpressionStatement","src":"19421:46:21"},{"eventCall":{"arguments":[{"expression":{"id":6895,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19498:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19502:6:21","memberName":"sender","nodeType":"MemberAccess","src":"19498:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6897,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6864,"src":"19510:6:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6894,"name":"EmergencyWithdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5073,"src":"19478:19:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":6898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19478:39:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6899,"nodeType":"EmitStatement","src":"19473:44:21"}]},"functionSelector":"5312ea8e","id":6901,"implemented":true,"kind":"function","modifiers":[{"id":6867,"kind":"modifierInvocation","modifierName":{"id":6866,"name":"onlyOwners","nameLocations":["19303:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"19303:10:21"},"nodeType":"ModifierInvocation","src":"19303:10:21"}],"name":"emergencyWithdraw","nameLocation":"19262:17:21","nodeType":"FunctionDefinition","parameters":{"id":6865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6864,"mutability":"mutable","name":"amount","nameLocation":"19288:6:21","nodeType":"VariableDeclaration","scope":6901,"src":"19280:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6863,"name":"uint256","nodeType":"ElementaryTypeName","src":"19280:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19279:16:21"},"returnParameters":{"id":6868,"nodeType":"ParameterList","parameters":[],"src":"19314:0:21"},"scope":7006,"src":"19253:269:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":6926,"nodeType":"Block","src":"19637:129:21","statements":[{"body":{"id":6924,"nodeType":"Block","src":"19670:92:21","statements":[{"expression":{"id":6922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19729:24:21","subExpression":{"baseExpression":{"baseExpression":{"id":6917,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"19729:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6920,"indexExpression":{"id":6918,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6903,"src":"19743:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19729:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6921,"indexExpression":{"id":6919,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6909,"src":"19749:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19729:22:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6923,"nodeType":"ExpressionStatement","src":"19729:24:21"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6911,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6909,"src":"19658:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313231","id":6912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19661:3:21","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"src":"19658:6:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6925,"initializationExpression":{"assignments":[6909],"declarations":[{"constant":false,"id":6909,"mutability":"mutable","name":"i","nameLocation":"19655:1:21","nodeType":"VariableDeclaration","scope":6925,"src":"19649:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":6908,"name":"uint8","nodeType":"ElementaryTypeName","src":"19649:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":6910,"nodeType":"VariableDeclarationStatement","src":"19649:7:21"},"loopExpression":{"expression":{"id":6915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19666:3:21","subExpression":{"id":6914,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6909,"src":"19666:1:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6916,"nodeType":"ExpressionStatement","src":"19666:3:21"},"nodeType":"ForStatement","src":"19645:117:21"}]},"functionSelector":"a419811d","id":6927,"implemented":true,"kind":"function","modifiers":[{"id":6906,"kind":"modifierInvocation","modifierName":{"id":6905,"name":"onlyOwners","nameLocations":["19626:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"19626:10:21"},"nodeType":"ModifierInvocation","src":"19626:10:21"}],"name":"testAddCards","nameLocation":"19592:12:21","nodeType":"FunctionDefinition","parameters":{"id":6904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6903,"mutability":"mutable","name":"user","nameLocation":"19613:4:21","nodeType":"VariableDeclaration","scope":6927,"src":"19605:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6902,"name":"address","nodeType":"ElementaryTypeName","src":"19605:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19604:14:21"},"returnParameters":{"id":6907,"nodeType":"ParameterList","parameters":[],"src":"19637:0:21"},"scope":7006,"src":"19583:183:21","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":7004,"nodeType":"Block","src":"19871:472:21","statements":[{"expression":{"arguments":[{"id":6942,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6931,"src":"19909:10:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6943,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6929,"src":"19921:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6939,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4954,"src":"19881:18:21","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$4894","typeString":"contract IgammaPacksContract"}},"id":6941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19900:8:21","memberName":"openPack","nodeType":"MemberAccess","referencedDeclaration":4885,"src":"19881:27:21","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":6944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19881:45:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6945,"nodeType":"ExpressionStatement","src":"19881:45:21"},{"expression":{"id":6952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6946,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4982,"src":"19936:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6947,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4979,"src":"19955:11:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6948,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4979,"src":"19969:11:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":6949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19983:1:21","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"19969:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19955:29:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19936:48:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6953,"nodeType":"ExpressionStatement","src":"19936:48:21"},{"body":{"id":7002,"nodeType":"Block","src":"20033:304:21","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":6969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6965,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6934,"src":"20055:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6967,"indexExpression":{"id":6966,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"20064:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20055:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313230","id":6968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20070:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"src":"20055:18:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6975,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"20107:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":6979,"indexExpression":{"baseExpression":{"id":6976,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6934,"src":"20124:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6978,"indexExpression":{"id":6977,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"20133:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20124:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20107:29:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"35303031","id":6980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20139:4:21","typeDescriptions":{"typeIdentifier":"t_rational_5001_by_1","typeString":"int_const 5001"},"value":"5001"},"src":"20107:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20055:88:21","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":6970,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"20076:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":6972,"indexExpression":{"hexValue":"313230","id":6971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20093:3:21","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20076:21:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"33303031","id":6973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20100:4:21","typeDescriptions":{"typeIdentifier":"t_rational_3001_by_1","typeString":"int_const 3001"},"value":"3001"},"src":"20076:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"696e76616c69642063617264496e76656e746f727920706f736974696f6e","id":6983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20162:32:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8","typeString":"literal_string \"invalid cardInventory position\""},"value":"invalid cardInventory position"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8","typeString":"literal_string \"invalid cardInventory position\""}],"id":6964,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20047:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20047:148:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6985,"nodeType":"ExpressionStatement","src":"20047:148:21"},{"expression":{"id":6991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20209:31:21","subExpression":{"baseExpression":{"id":6986,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"20209:16:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":6990,"indexExpression":{"baseExpression":{"id":6987,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6934,"src":"20226:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6989,"indexExpression":{"id":6988,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"20235:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20226:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20209:29:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6992,"nodeType":"ExpressionStatement","src":"20209:31:21"},{"expression":{"id":7000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20273:34:21","subExpression":{"baseExpression":{"baseExpression":{"id":6993,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5032,"src":"20273:13:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":6998,"indexExpression":{"id":6994,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6929,"src":"20287:4:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20273:19:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":6999,"indexExpression":{"baseExpression":{"id":6995,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6934,"src":"20293:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6997,"indexExpression":{"id":6996,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"20302:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20293:11:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20273:32:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7001,"nodeType":"ExpressionStatement","src":"20273:34:21"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6957,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"20010:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":6958,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6934,"src":"20012:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":6959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20021:6:21","memberName":"length","nodeType":"MemberAccess","src":"20012:15:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20010:17:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7003,"initializationExpression":{"assignments":[6955],"declarations":[{"constant":false,"id":6955,"mutability":"mutable","name":"i","nameLocation":"20007:1:21","nodeType":"VariableDeclaration","scope":7003,"src":"19999:9:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6954,"name":"uint256","nodeType":"ElementaryTypeName","src":"19999:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6956,"nodeType":"VariableDeclarationStatement","src":"19999:9:21"},"loopExpression":{"expression":{"id":6962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20029:3:21","subExpression":{"id":6961,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"20029:1:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6963,"nodeType":"ExpressionStatement","src":"20029:3:21"},"nodeType":"ForStatement","src":"19995:342:21"}]},"functionSelector":"30f5cc58","id":7005,"implemented":true,"kind":"function","modifiers":[{"id":6937,"kind":"modifierInvocation","modifierName":{"id":6936,"name":"onlyOwners","nameLocations":["19860:10:21"],"nodeType":"IdentifierPath","referencedDeclaration":5161,"src":"19860:10:21"},"nodeType":"ModifierInvocation","src":"19860:10:21"}],"name":"testOpenPack","nameLocation":"19779:12:21","nodeType":"FunctionDefinition","parameters":{"id":6935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6929,"mutability":"mutable","name":"user","nameLocation":"19800:4:21","nodeType":"VariableDeclaration","scope":7005,"src":"19792:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6928,"name":"address","nodeType":"ElementaryTypeName","src":"19792:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6931,"mutability":"mutable","name":"packNumber","nameLocation":"19814:10:21","nodeType":"VariableDeclaration","scope":7005,"src":"19806:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6930,"name":"uint256","nodeType":"ElementaryTypeName","src":"19806:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6934,"mutability":"mutable","name":"packData","nameLocation":"19841:8:21","nodeType":"VariableDeclaration","scope":7005,"src":"19826:23:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":6932,"name":"uint8","nodeType":"ElementaryTypeName","src":"19826:5:21","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":6933,"nodeType":"ArrayTypeName","src":"19826:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"19791:59:21"},"returnParameters":{"id":6938,"nodeType":"ParameterList","parameters":[],"src":"19871:0:21"},"scope":7006,"src":"19770:573:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":7007,"src":"1668:18731:21","usedErrors":[4841,4843,4845,4847,4849,4851,4853,4855,4857,4859,4861,4863,4865,4867,4869,4871],"usedEvents":[13,129,136,1160,1169,1178,5036,5040,5044,5053,5059,5067,5073,5077,5083,5093,5101,5110,5117]}],"src":"32:20368:21"},"id":21},"contracts/gamma/GammaCardsNFT.v1.sol":{"ast":{"absolutePath":"contracts/gamma/GammaCardsNFT.v1.sol","exportedSymbols":{"ERC721":[1145],"ERC721Burnable":[1309],"ERC721URIStorage":[1465],"NofGammaCardsNFTV1":[7076]},"id":7077,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7008,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:22"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"@openzeppelin/contracts/token/ERC721/ERC721.sol","id":7010,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7077,"sourceUnit":1146,"src":"58:71:22","symbolAliases":[{"foreign":{"id":7009,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"66:6:22","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","id":7012,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7077,"sourceUnit":1466,"src":"130:102:22","symbolAliases":[{"foreign":{"id":7011,"name":"ERC721URIStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1465,"src":"138:16:22","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","id":7014,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":7077,"sourceUnit":1310,"src":"233:98:22","symbolAliases":[{"foreign":{"id":7013,"name":"ERC721Burnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"241:14:22","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":7015,"name":"ERC721","nameLocations":["364:6:22"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"364:6:22"},"id":7016,"nodeType":"InheritanceSpecifier","src":"364:6:22"},{"baseName":{"id":7017,"name":"ERC721URIStorage","nameLocations":["372:16:22"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"372:16:22"},"id":7018,"nodeType":"InheritanceSpecifier","src":"372:16:22"},{"baseName":{"id":7019,"name":"ERC721Burnable","nameLocations":["390:14:22"],"nodeType":"IdentifierPath","referencedDeclaration":1309,"src":"390:14:22"},"id":7020,"nodeType":"InheritanceSpecifier","src":"390:14:22"}],"canonicalName":"NofGammaCardsNFTV1","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":7076,"linearizedBaseContracts":[7076,1309,1465,1145,1492,137,1261,2471,2483,1852],"name":"NofGammaCardsNFTV1","nameLocation":"342:18:22","nodeType":"ContractDefinition","nodes":[{"body":{"id":7027,"nodeType":"Block","src":"457:2:22","statements":[]},"id":7028,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"47616d6d614361726473","id":7023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"433:12:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_08e769a9d293abdacc40b084f84d4380cbaaf73461944eb3f34daf9fed6c07e7","typeString":"literal_string \"GammaCards\""},"value":"GammaCards"},{"hexValue":"4e4f465f4743","id":7024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"447:8:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7f918eba56aee1e5ed39fb369bdef1bfd5ed12a0360c4730fa49007d201a169","typeString":"literal_string \"NOF_GC\""},"value":"NOF_GC"}],"id":7025,"kind":"baseConstructorSpecifier","modifierName":{"id":7022,"name":"ERC721","nameLocations":["426:6:22"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"426:6:22"},"nodeType":"ModifierInvocation","src":"426:30:22"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":7021,"nodeType":"ParameterList","parameters":[],"src":"423:2:22"},"returnParameters":{"id":7026,"nodeType":"ParameterList","parameters":[],"src":"457:0:22"},"scope":7076,"src":"412:47:22","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[886,1464],"body":{"id":7042,"nodeType":"Block","src":"541:37:22","statements":[{"expression":{"arguments":[{"id":7039,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7030,"src":"563:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7036,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"551:5:22","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofGammaCardsNFTV1_$7076_$","typeString":"type(contract super NofGammaCardsNFTV1)"}},"id":7038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"557:5:22","memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":1464,"src":"551:11:22","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":7040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"551:20:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7041,"nodeType":"ExpressionStatement","src":"551:20:22"}]},"id":7043,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"474:5:22","nodeType":"FunctionDefinition","overrides":{"id":7034,"nodeType":"OverrideSpecifier","overrides":[{"id":7032,"name":"ERC721","nameLocations":["515:6:22"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"515:6:22"},{"id":7033,"name":"ERC721URIStorage","nameLocations":["523:16:22"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"523:16:22"}],"src":"506:34:22"},"parameters":{"id":7031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7030,"mutability":"mutable","name":"tokenId","nameLocation":"488:7:22","nodeType":"VariableDeclaration","scope":7043,"src":"480:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7029,"name":"uint256","nodeType":"ElementaryTypeName","src":"480:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"479:17:22"},"returnParameters":{"id":7035,"nodeType":"ParameterList","parameters":[],"src":"541:0:22"},"scope":7076,"src":"465:113:22","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[423,1408],"body":{"id":7058,"nodeType":"Block","src":"702:47:22","statements":[{"expression":{"arguments":[{"id":7055,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7045,"src":"734:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7053,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"719:5:22","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofGammaCardsNFTV1_$7076_$","typeString":"type(contract super NofGammaCardsNFTV1)"}},"id":7054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"725:8:22","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"719:14:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":7056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"719:23:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7052,"id":7057,"nodeType":"Return","src":"712:30:22"}]},"functionSelector":"c87b56dd","id":7059,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"593:8:22","nodeType":"FunctionDefinition","overrides":{"id":7049,"nodeType":"OverrideSpecifier","overrides":[{"id":7047,"name":"ERC721","nameLocations":["640:6:22"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"640:6:22"},{"id":7048,"name":"ERC721URIStorage","nameLocations":["648:16:22"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"648:16:22"}],"src":"631:34:22"},"parameters":{"id":7046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7045,"mutability":"mutable","name":"tokenId","nameLocation":"610:7:22","nodeType":"VariableDeclaration","scope":7059,"src":"602:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7044,"name":"uint256","nodeType":"ElementaryTypeName","src":"602:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"601:17:22"},"returnParameters":{"id":7052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7059,"src":"683:13:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7050,"name":"string","nodeType":"ElementaryTypeName","src":"683:6:22","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"682:15:22"},"scope":7076,"src":"584:165:22","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[312,1349],"body":{"id":7074,"nodeType":"Block","src":"876:60:22","statements":[{"expression":{"arguments":[{"id":7071,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7061,"src":"917:11:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":7069,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"893:5:22","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofGammaCardsNFTV1_$7076_$","typeString":"type(contract super NofGammaCardsNFTV1)"}},"id":7070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"899:17:22","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":1349,"src":"893:23:22","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":7072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"893:36:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7068,"id":7073,"nodeType":"Return","src":"886:43:22"}]},"functionSelector":"01ffc9a7","id":7075,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"764:17:22","nodeType":"FunctionDefinition","overrides":{"id":7065,"nodeType":"OverrideSpecifier","overrides":[{"id":7063,"name":"ERC721","nameLocations":["823:6:22"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"823:6:22"},{"id":7064,"name":"ERC721URIStorage","nameLocations":["831:16:22"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"831:16:22"}],"src":"814:34:22"},"parameters":{"id":7062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7061,"mutability":"mutable","name":"interfaceId","nameLocation":"789:11:22","nodeType":"VariableDeclaration","scope":7075,"src":"782:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7060,"name":"bytes4","nodeType":"ElementaryTypeName","src":"782:6:22","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"781:20:22"},"returnParameters":{"id":7068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7067,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7075,"src":"866:4:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7066,"name":"bool","nodeType":"ElementaryTypeName","src":"866:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"865:6:22"},"scope":7076,"src":"755:181:22","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":7077,"src":"333:606:22","usedErrors":[],"usedEvents":[129,136,1160,1169,1178]}],"src":"32:908:22"},"id":22},"contracts/gamma/GammaOffers.v4.sol":{"ast":{"absolutePath":"contracts/gamma/GammaOffers.v4.sol","exportedSymbols":{"ExchangeError":[7116],"GammaCardsContractNotSet":[7092],"IGammaCardsContract":[7151],"InvalidAddress":[7090],"InvalidCard":[7108],"InvalidCardNumber":[7098],"InvalidOfferId":[7102],"LibControlMgmt":[10534],"NofGammaOffersV4":[8669],"OfferAlreadyExists":[7100],"OfferDoesNotExists":[7104],"OfferNotDeleted":[7110],"OffersMaximumAllowed":[7094],"OnlyCardsContract":[7086],"OnlyOwners":[7088],"Ownable":[112],"RemoveOfferFromCardNumberMapping_DoNotMatch":[7114],"RemoveOfferFromUserMapping_DoNotMatch":[7112],"UserAlreadyHasCard":[7106],"UserDoesNotHaveCard":[7096],"console":[21215]},"id":8670,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":7078,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:23"},{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","id":7080,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8670,"sourceUnit":113,"src":"58:67:23","symbolAliases":[{"foreign":{"id":7079,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"66:7:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","file":"./libs/LibControlMgmt.sol","id":7082,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8670,"sourceUnit":10535,"src":"126:57:23","symbolAliases":[{"foreign":{"id":7081,"name":"LibControlMgmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10534,"src":"134:14:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"hardhat/console.sol","file":"hardhat/console.sol","id":7084,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":8670,"sourceUnit":21216,"src":"184:44:23","symbolAliases":[{"foreign":{"id":7083,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21215,"src":"192:7:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"errorSelector":"a71ed6c7","id":7086,"name":"OnlyCardsContract","nameLocation":"236:17:23","nodeType":"ErrorDefinition","parameters":{"id":7085,"nodeType":"ParameterList","parameters":[],"src":"253:2:23"},"src":"230:26:23"},{"errorSelector":"4289c493","id":7088,"name":"OnlyOwners","nameLocation":"263:10:23","nodeType":"ErrorDefinition","parameters":{"id":7087,"nodeType":"ParameterList","parameters":[],"src":"273:2:23"},"src":"257:19:23"},{"errorSelector":"e6c4247b","id":7090,"name":"InvalidAddress","nameLocation":"283:14:23","nodeType":"ErrorDefinition","parameters":{"id":7089,"nodeType":"ParameterList","parameters":[],"src":"297:2:23"},"src":"277:23:23"},{"errorSelector":"cfdf3505","id":7092,"name":"GammaCardsContractNotSet","nameLocation":"307:24:23","nodeType":"ErrorDefinition","parameters":{"id":7091,"nodeType":"ParameterList","parameters":[],"src":"331:2:23"},"src":"301:33:23"},{"errorSelector":"182a7d77","id":7094,"name":"OffersMaximumAllowed","nameLocation":"341:20:23","nodeType":"ErrorDefinition","parameters":{"id":7093,"nodeType":"ParameterList","parameters":[],"src":"361:2:23"},"src":"335:29:23"},{"errorSelector":"285a8f42","id":7096,"name":"UserDoesNotHaveCard","nameLocation":"371:19:23","nodeType":"ErrorDefinition","parameters":{"id":7095,"nodeType":"ParameterList","parameters":[],"src":"390:2:23"},"src":"365:28:23"},{"errorSelector":"1a3d9e2e","id":7098,"name":"InvalidCardNumber","nameLocation":"400:17:23","nodeType":"ErrorDefinition","parameters":{"id":7097,"nodeType":"ParameterList","parameters":[],"src":"417:2:23"},"src":"394:26:23"},{"errorSelector":"eeee5c8b","id":7100,"name":"OfferAlreadyExists","nameLocation":"427:18:23","nodeType":"ErrorDefinition","parameters":{"id":7099,"nodeType":"ParameterList","parameters":[],"src":"445:2:23"},"src":"421:27:23"},{"errorSelector":"a2539562","id":7102,"name":"InvalidOfferId","nameLocation":"455:14:23","nodeType":"ErrorDefinition","parameters":{"id":7101,"nodeType":"ParameterList","parameters":[],"src":"469:2:23"},"src":"449:23:23"},{"errorSelector":"3bda4526","id":7104,"name":"OfferDoesNotExists","nameLocation":"479:18:23","nodeType":"ErrorDefinition","parameters":{"id":7103,"nodeType":"ParameterList","parameters":[],"src":"497:2:23"},"src":"473:27:23"},{"errorSelector":"22ef652a","id":7106,"name":"UserAlreadyHasCard","nameLocation":"507:18:23","nodeType":"ErrorDefinition","parameters":{"id":7105,"nodeType":"ParameterList","parameters":[],"src":"525:2:23"},"src":"501:27:23"},{"errorSelector":"1ddf446e","id":7108,"name":"InvalidCard","nameLocation":"535:11:23","nodeType":"ErrorDefinition","parameters":{"id":7107,"nodeType":"ParameterList","parameters":[],"src":"546:2:23"},"src":"529:20:23"},{"errorSelector":"1b440351","id":7110,"name":"OfferNotDeleted","nameLocation":"556:15:23","nodeType":"ErrorDefinition","parameters":{"id":7109,"nodeType":"ParameterList","parameters":[],"src":"571:2:23"},"src":"550:24:23"},{"errorSelector":"b7f2d833","id":7112,"name":"RemoveOfferFromUserMapping_DoNotMatch","nameLocation":"581:37:23","nodeType":"ErrorDefinition","parameters":{"id":7111,"nodeType":"ParameterList","parameters":[],"src":"618:2:23"},"src":"575:46:23"},{"errorSelector":"af5d70c6","id":7114,"name":"RemoveOfferFromCardNumberMapping_DoNotMatch","nameLocation":"628:43:23","nodeType":"ErrorDefinition","parameters":{"id":7113,"nodeType":"ParameterList","parameters":[],"src":"671:2:23"},"src":"622:52:23"},{"errorSelector":"fc9716b9","id":7116,"name":"ExchangeError","nameLocation":"681:13:23","nodeType":"ErrorDefinition","parameters":{"id":7115,"nodeType":"ParameterList","parameters":[],"src":"694:2:23"},"src":"675:22:23"},{"abstract":false,"baseContracts":[],"canonicalName":"IGammaCardsContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":7151,"linearizedBaseContracts":[7151],"name":"IGammaCardsContract","nameLocation":"709:19:23","nodeType":"ContractDefinition","nodes":[{"functionSelector":"8bf670c8","id":7125,"implemented":false,"kind":"function","modifiers":[],"name":"hasCardByOffer","nameLocation":"742:14:23","nodeType":"FunctionDefinition","parameters":{"id":7121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7118,"mutability":"mutable","name":"user","nameLocation":"765:4:23","nodeType":"VariableDeclaration","scope":7125,"src":"757:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7117,"name":"address","nodeType":"ElementaryTypeName","src":"757:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7120,"mutability":"mutable","name":"cardNumber","nameLocation":"777:10:23","nodeType":"VariableDeclaration","scope":7125,"src":"771:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7119,"name":"uint8","nodeType":"ElementaryTypeName","src":"771:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"756:32:23"},"returnParameters":{"id":7124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7123,"mutability":"mutable","name":"has","nameLocation":"812:3:23","nodeType":"VariableDeclaration","scope":7125,"src":"807:8:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7122,"name":"bool","nodeType":"ElementaryTypeName","src":"807:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"806:10:23"},"scope":7151,"src":"733:84:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"7155a3ac","id":7132,"implemented":false,"kind":"function","modifiers":[],"name":"removeCardByOffer","nameLocation":"830:17:23","nodeType":"FunctionDefinition","parameters":{"id":7130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7127,"mutability":"mutable","name":"user","nameLocation":"856:4:23","nodeType":"VariableDeclaration","scope":7132,"src":"848:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7126,"name":"address","nodeType":"ElementaryTypeName","src":"848:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7129,"mutability":"mutable","name":"cardNumber","nameLocation":"868:10:23","nodeType":"VariableDeclaration","scope":7132,"src":"862:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7128,"name":"uint8","nodeType":"ElementaryTypeName","src":"862:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"847:32:23"},"returnParameters":{"id":7131,"nodeType":"ParameterList","parameters":[],"src":"888:0:23"},"scope":7151,"src":"821:68:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"155e2f92","id":7139,"implemented":false,"kind":"function","modifiers":[],"name":"restoreCardByOffer","nameLocation":"902:18:23","nodeType":"FunctionDefinition","parameters":{"id":7137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7134,"mutability":"mutable","name":"user","nameLocation":"929:4:23","nodeType":"VariableDeclaration","scope":7139,"src":"921:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7133,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7136,"mutability":"mutable","name":"cardNumber","nameLocation":"941:10:23","nodeType":"VariableDeclaration","scope":7139,"src":"935:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7135,"name":"uint8","nodeType":"ElementaryTypeName","src":"935:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"920:32:23"},"returnParameters":{"id":7138,"nodeType":"ParameterList","parameters":[],"src":"961:0:23"},"scope":7151,"src":"893:69:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"ad1684fa","id":7150,"implemented":false,"kind":"function","modifiers":[],"name":"exchangeCardsOffer","nameLocation":"975:18:23","nodeType":"FunctionDefinition","parameters":{"id":7148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7141,"mutability":"mutable","name":"from","nameLocation":"1007:4:23","nodeType":"VariableDeclaration","scope":7150,"src":"999:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7140,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7143,"mutability":"mutable","name":"cardNumberFrom","nameLocation":"1023:14:23","nodeType":"VariableDeclaration","scope":7150,"src":"1017:20:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7142,"name":"uint8","nodeType":"ElementaryTypeName","src":"1017:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7145,"mutability":"mutable","name":"to","nameLocation":"1051:2:23","nodeType":"VariableDeclaration","scope":7150,"src":"1043:10:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7144,"name":"address","nodeType":"ElementaryTypeName","src":"1043:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7147,"mutability":"mutable","name":"cardNumberTo","nameLocation":"1065:12:23","nodeType":"VariableDeclaration","scope":7150,"src":"1059:18:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7146,"name":"uint8","nodeType":"ElementaryTypeName","src":"1059:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"993:88:23"},"returnParameters":{"id":7149,"nodeType":"ParameterList","parameters":[],"src":"1090:0:23"},"scope":7151,"src":"966:125:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":8670,"src":"699:394:23","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":7152,"name":"Ownable","nameLocations":["1124:7:23"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"1124:7:23"},"id":7153,"nodeType":"InheritanceSpecifier","src":"1124:7:23"}],"canonicalName":"NofGammaOffersV4","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":8669,"linearizedBaseContracts":[8669,112,1852],"name":"NofGammaOffersV4","nameLocation":"1104:16:23","nodeType":"ContractDefinition","nodes":[{"global":false,"id":7157,"libraryName":{"id":7154,"name":"LibControlMgmt","nameLocations":["1142:14:23"],"nodeType":"IdentifierPath","referencedDeclaration":10534,"src":"1142:14:23"},"nodeType":"UsingForDirective","src":"1136:45:23","typeName":{"id":7156,"nodeType":"UserDefinedTypeName","pathNode":{"id":7155,"name":"LibControlMgmt.Data","nameLocations":["1161:14:23","1176:4:23"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1161:19:23"},"referencedDeclaration":10343,"src":"1161:19:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}}},{"constant":false,"functionSelector":"d250f03a","id":7160,"mutability":"mutable","name":"gammaCardsContract","nameLocation":"1212:18:23","nodeType":"VariableDeclaration","scope":8669,"src":"1185:45:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"},"typeName":{"id":7159,"nodeType":"UserDefinedTypeName","pathNode":{"id":7158,"name":"IGammaCardsContract","nameLocations":["1185:19:23"],"nodeType":"IdentifierPath","referencedDeclaration":7151,"src":"1185:19:23"},"referencedDeclaration":7151,"src":"1185:19:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"visibility":"public"},{"constant":false,"id":7163,"mutability":"mutable","name":"ownersData","nameLocation":"1262:10:23","nodeType":"VariableDeclaration","scope":8669,"src":"1234:38:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":7162,"nodeType":"UserDefinedTypeName","pathNode":{"id":7161,"name":"LibControlMgmt.Data","nameLocations":["1234:14:23","1249:4:23"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1234:19:23"},"referencedDeclaration":10343,"src":"1234:19:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"constant":false,"id":7169,"mutability":"mutable","name":"maxOffersAllowed","nameLocation":"1285:16:23","nodeType":"VariableDeclaration","scope":8669,"src":"1277:40:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7164,"name":"uint256","nodeType":"ElementaryTypeName","src":"1277:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"35303030","id":7167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1312:4:23","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"}],"id":7166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1304:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7165,"name":"uint256","nodeType":"ElementaryTypeName","src":"1304:7:23","typeDescriptions":{}}},"id":7168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1304:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7175,"mutability":"mutable","name":"maxOffersByUserAllowed","nameLocation":"1329:22:23","nodeType":"VariableDeclaration","scope":8669,"src":"1321:43:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7170,"name":"uint256","nodeType":"ElementaryTypeName","src":"1321:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"35","id":7173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1362:1:23","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":7172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1354:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7171,"name":"uint256","nodeType":"ElementaryTypeName","src":"1354:7:23","typeDescriptions":{}}},"id":7174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1354:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7181,"mutability":"mutable","name":"maxCardNumbersAllowed","nameLocation":"1376:21:23","nodeType":"VariableDeclaration","scope":8669,"src":"1368:44:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7176,"name":"uint256","nodeType":"ElementaryTypeName","src":"1368:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"313230","id":7179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1408:3:23","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"}],"id":7178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1400:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7177,"name":"uint256","nodeType":"ElementaryTypeName","src":"1400:7:23","typeDescriptions":{}}},"id":7180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1400:12:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7184,"mutability":"mutable","name":"removeCardInInventoryWhenOffer","nameLocation":"1421:30:23","nodeType":"VariableDeclaration","scope":8669,"src":"1416:43:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7182,"name":"bool","nodeType":"ElementaryTypeName","src":"1416:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"66616c7365","id":7183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1454:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"visibility":"internal"},{"canonicalName":"NofGammaOffersV4.Offer","id":7196,"members":[{"constant":false,"id":7186,"mutability":"mutable","name":"offerId","nameLocation":"1490:7:23","nodeType":"VariableDeclaration","scope":7196,"src":"1483:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":7185,"name":"string","nodeType":"ElementaryTypeName","src":"1483:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7188,"mutability":"mutable","name":"cardNumber","nameLocation":"1509:10:23","nodeType":"VariableDeclaration","scope":7196,"src":"1503:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7187,"name":"uint8","nodeType":"ElementaryTypeName","src":"1503:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7191,"mutability":"mutable","name":"wantedCardNumbers","nameLocation":"1533:17:23","nodeType":"VariableDeclaration","scope":7196,"src":"1525:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":7189,"name":"uint8","nodeType":"ElementaryTypeName","src":"1525:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7190,"nodeType":"ArrayTypeName","src":"1525:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":7193,"mutability":"mutable","name":"owner","nameLocation":"1564:5:23","nodeType":"VariableDeclaration","scope":7196,"src":"1556:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7192,"name":"address","nodeType":"ElementaryTypeName","src":"1556:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7195,"mutability":"mutable","name":"timestamp","nameLocation":"1583:9:23","nodeType":"VariableDeclaration","scope":7196,"src":"1575:17:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7194,"name":"uint256","nodeType":"ElementaryTypeName","src":"1575:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Offer","nameLocation":"1471:5:23","nodeType":"StructDefinition","scope":8669,"src":"1464:133:23","visibility":"public"},{"constant":false,"functionSelector":"8a72ea6a","id":7200,"mutability":"mutable","name":"offers","nameLocation":"1616:6:23","nodeType":"VariableDeclaration","scope":8669,"src":"1601:21:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":7198,"nodeType":"UserDefinedTypeName","pathNode":{"id":7197,"name":"Offer","nameLocations":["1601:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"1601:5:23"},"referencedDeclaration":7196,"src":"1601:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7199,"nodeType":"ArrayTypeName","src":"1601:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"public"},{"constant":false,"id":7206,"mutability":"mutable","name":"offersByUser","nameLocation":"1659:12:23","nodeType":"VariableDeclaration","scope":8669,"src":"1626:45:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer[])"},"typeName":{"id":7205,"keyName":"user","keyNameLocation":"1642:4:23","keyType":{"id":7201,"name":"address","nodeType":"ElementaryTypeName","src":"1634:7:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1626:32:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":7203,"nodeType":"UserDefinedTypeName","pathNode":{"id":7202,"name":"Offer","nameLocations":["1650:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"1650:5:23"},"referencedDeclaration":7196,"src":"1650:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7204,"nodeType":"ArrayTypeName","src":"1650:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}}},"visibility":"internal"},{"constant":false,"id":7212,"mutability":"mutable","name":"offersByCardNumber","nameLocation":"1712:18:23","nodeType":"VariableDeclaration","scope":8669,"src":"1675:55:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(uint8 => struct NofGammaOffersV4.Offer[])"},"typeName":{"id":7211,"keyName":"cardNumber","keyNameLocation":"1689:10:23","keyType":{"id":7207,"name":"uint8","nodeType":"ElementaryTypeName","src":"1683:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"1675:36:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(uint8 => struct NofGammaOffersV4.Offer[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":7209,"nodeType":"UserDefinedTypeName","pathNode":{"id":7208,"name":"Offer","nameLocations":["1703:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"1703:5:23"},"referencedDeclaration":7196,"src":"1703:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7210,"nodeType":"ArrayTypeName","src":"1703:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}}},"visibility":"internal"},{"constant":false,"functionSelector":"7594a6ed","id":7216,"mutability":"mutable","name":"offersByUserCounter","nameLocation":"1769:19:23","nodeType":"VariableDeclaration","scope":8669,"src":"1734:54:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":7215,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":7213,"name":"address","nodeType":"ElementaryTypeName","src":"1742:7:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1734:27:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":7214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1753:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"d827a8f4","id":7220,"mutability":"mutable","name":"offersByCardNumberCounter","nameLocation":"1825:25:23","nodeType":"VariableDeclaration","scope":8669,"src":"1792:58:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"typeName":{"id":7219,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":7217,"name":"uint8","nodeType":"ElementaryTypeName","src":"1800:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"1792:25:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":7218,"name":"uint256","nodeType":"ElementaryTypeName","src":"1809:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"5a919aeb","id":7222,"mutability":"mutable","name":"offersTotalCounter","nameLocation":"1869:18:23","nodeType":"VariableDeclaration","scope":8669,"src":"1854:33:23","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7221,"name":"uint256","nodeType":"ElementaryTypeName","src":"1854:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"anonymous":false,"eventSelector":"45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa","id":7226,"name":"NewGammaCardsContract","nameLocation":"1898:21:23","nodeType":"EventDefinition","parameters":{"id":7225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7224,"indexed":false,"mutability":"mutable","name":"newGammaCardsContract","nameLocation":"1928:21:23","nodeType":"VariableDeclaration","scope":7226,"src":"1920:29:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7223,"name":"address","nodeType":"ElementaryTypeName","src":"1920:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1919:31:23"},"src":"1892:59:23"},{"anonymous":false,"eventSelector":"ed750964f1f81f105e56dfd1121427e0898e7bc23d6c10e92d851a2d35e0cfc5","id":7235,"name":"OfferCreated","nameLocation":"1960:12:23","nodeType":"EventDefinition","parameters":{"id":7234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7228,"indexed":false,"mutability":"mutable","name":"user","nameLocation":"1981:4:23","nodeType":"VariableDeclaration","scope":7235,"src":"1973:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7227,"name":"address","nodeType":"ElementaryTypeName","src":"1973:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7230,"indexed":false,"mutability":"mutable","name":"cardNumber","nameLocation":"1993:10:23","nodeType":"VariableDeclaration","scope":7235,"src":"1987:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7229,"name":"uint8","nodeType":"ElementaryTypeName","src":"1987:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7233,"indexed":false,"mutability":"mutable","name":"wantedCardNumbers","nameLocation":"2013:17:23","nodeType":"VariableDeclaration","scope":7235,"src":"2005:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":7231,"name":"uint8","nodeType":"ElementaryTypeName","src":"2005:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7232,"nodeType":"ArrayTypeName","src":"2005:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"1972:59:23"},"src":"1954:78:23"},{"anonymous":false,"eventSelector":"7911e34642eae38762395a3dd0fa3308d0f8908b92fe36c41543d635ab7cb8f5","id":7241,"name":"OfferRemoved","nameLocation":"2041:12:23","nodeType":"EventDefinition","parameters":{"id":7240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7237,"indexed":false,"mutability":"mutable","name":"user","nameLocation":"2062:4:23","nodeType":"VariableDeclaration","scope":7241,"src":"2054:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7236,"name":"address","nodeType":"ElementaryTypeName","src":"2054:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7239,"indexed":false,"mutability":"mutable","name":"cardNumber","nameLocation":"2074:10:23","nodeType":"VariableDeclaration","scope":7241,"src":"2068:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7238,"name":"uint8","nodeType":"ElementaryTypeName","src":"2068:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2053:32:23"},"src":"2035:51:23"},{"anonymous":false,"eventSelector":"65419c67e554142d50c59abd004485123ca498611a223f842e75dd96225ba4c8","id":7245,"name":"UserOffersRemoved","nameLocation":"2095:17:23","nodeType":"EventDefinition","parameters":{"id":7244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7243,"indexed":false,"mutability":"mutable","name":"user","nameLocation":"2121:4:23","nodeType":"VariableDeclaration","scope":7245,"src":"2113:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7242,"name":"address","nodeType":"ElementaryTypeName","src":"2113:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2112:14:23"},"src":"2089:38:23"},{"anonymous":false,"eventSelector":"47e81efc038e27bb296dec5d44262943d2c2bbec28f461787a9cc53885694cb0","id":7247,"name":"AllOffersRemoved","nameLocation":"2136:16:23","nodeType":"EventDefinition","parameters":{"id":7246,"nodeType":"ParameterList","parameters":[],"src":"2152:2:23"},"src":"2130:25:23"},{"body":{"id":7261,"nodeType":"Block","src":"2188:91:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7249,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2198:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2202:6:23","memberName":"sender","nodeType":"MemberAccess","src":"2198:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":7253,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"2220:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}],"id":7252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2212:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7251,"name":"address","nodeType":"ElementaryTypeName","src":"2212:7:23","typeDescriptions":{}}},"id":7254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2212:27:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2198:41:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7259,"nodeType":"IfStatement","src":"2194:73:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7256,"name":"OnlyCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7086,"src":"2248:17:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2248:19:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7258,"nodeType":"RevertStatement","src":"2241:26:23"}},{"id":7260,"nodeType":"PlaceholderStatement","src":"2273:1:23"}]},"id":7262,"name":"onlyCardsContract","nameLocation":"2168:17:23","nodeType":"ModifierDefinition","parameters":{"id":7248,"nodeType":"ParameterList","parameters":[],"src":"2185:2:23"},"src":"2159:120:23","virtual":false,"visibility":"internal"},{"body":{"id":7275,"nodeType":"Block","src":"2305:73:23","statements":[{"condition":{"id":7269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2315:30:23","subExpression":{"baseExpression":{"expression":{"id":7264,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7163,"src":"2316:10:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":7265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2327:6:23","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"2316:17:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":7268,"indexExpression":{"expression":{"id":7266,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2334:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2338:6:23","memberName":"sender","nodeType":"MemberAccess","src":"2334:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2316:29:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7273,"nodeType":"IfStatement","src":"2311:55:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7270,"name":"OnlyOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7088,"src":"2354:10:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2354:12:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7272,"nodeType":"RevertStatement","src":"2347:19:23"}},{"id":7274,"nodeType":"PlaceholderStatement","src":"2372:1:23"}]},"id":7276,"name":"onlyOwners","nameLocation":"2292:10:23","nodeType":"ModifierDefinition","parameters":{"id":7263,"nodeType":"ParameterList","parameters":[],"src":"2302:2:23"},"src":"2283:95:23","virtual":false,"visibility":"internal"},{"body":{"id":7308,"nodeType":"Block","src":"2439:172:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7283,"name":"_cardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7278,"src":"2449:14:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2475:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2467:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7284,"name":"address","nodeType":"ElementaryTypeName","src":"2467:7:23","typeDescriptions":{}}},"id":7287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2467:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2449:28:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7292,"nodeType":"IfStatement","src":"2445:57:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7289,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"2486:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2486:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7291,"nodeType":"RevertStatement","src":"2479:23:23"}},{"expression":{"id":7297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7293,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"2508:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7295,"name":"_cardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7278,"src":"2549:14:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7294,"name":"IGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7151,"src":"2529:19:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGammaCardsContract_$7151_$","typeString":"type(contract IGammaCardsContract)"}},"id":7296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2529:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"src":"2508:56:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":7298,"nodeType":"ExpressionStatement","src":"2508:56:23"},{"expression":{"id":7306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":7299,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7163,"src":"2570:10:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":7303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2581:6:23","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"2570:17:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":7304,"indexExpression":{"expression":{"id":7301,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2588:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2592:6:23","memberName":"sender","nodeType":"MemberAccess","src":"2588:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2570:29:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":7305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2602:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2570:36:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7307,"nodeType":"ExpressionStatement","src":"2570:36:23"}]},"functionSelector":"19ab453c","id":7309,"implemented":true,"kind":"function","modifiers":[{"id":7281,"kind":"modifierInvocation","modifierName":{"id":7280,"name":"onlyOwner","nameLocations":["2429:9:23"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"2429:9:23"},"nodeType":"ModifierInvocation","src":"2429:9:23"}],"name":"init","nameLocation":"2391:4:23","nodeType":"FunctionDefinition","parameters":{"id":7279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7278,"mutability":"mutable","name":"_cardsContract","nameLocation":"2404:14:23","nodeType":"VariableDeclaration","scope":7309,"src":"2396:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7277,"name":"address","nodeType":"ElementaryTypeName","src":"2396:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2395:24:23"},"returnParameters":{"id":7282,"nodeType":"ParameterList","parameters":[],"src":"2439:0:23"},"scope":8669,"src":"2382:229:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7322,"nodeType":"Block","src":"2672:41:23","statements":[{"expression":{"arguments":[{"id":7319,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7311,"src":"2698:9:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7316,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7163,"src":"2678:10:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":7318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2689:8:23","memberName":"addOwner","nodeType":"MemberAccess","referencedDeclaration":10399,"src":"2678:19:23","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":7320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2678:30:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7321,"nodeType":"ExpressionStatement","src":"2678:30:23"}]},"functionSelector":"7065cb48","id":7323,"implemented":true,"kind":"function","modifiers":[{"id":7314,"kind":"modifierInvocation","modifierName":{"id":7313,"name":"onlyOwners","nameLocations":["2661:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"2661:10:23"},"nodeType":"ModifierInvocation","src":"2661:10:23"}],"name":"addOwner","nameLocation":"2624:8:23","nodeType":"FunctionDefinition","parameters":{"id":7312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7311,"mutability":"mutable","name":"_newOwner","nameLocation":"2641:9:23","nodeType":"VariableDeclaration","scope":7323,"src":"2633:17:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7310,"name":"address","nodeType":"ElementaryTypeName","src":"2633:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2632:19:23"},"returnParameters":{"id":7315,"nodeType":"ParameterList","parameters":[],"src":"2672:0:23"},"scope":8669,"src":"2615:98:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7336,"nodeType":"Block","src":"2782:49:23","statements":[{"expression":{"arguments":[{"id":7333,"name":"_ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7325,"src":"2811:14:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7330,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7163,"src":"2788:10:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":7332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2799:11:23","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":10446,"src":"2788:22:23","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":7334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2788:38:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7335,"nodeType":"ExpressionStatement","src":"2788:38:23"}]},"functionSelector":"173825d9","id":7337,"implemented":true,"kind":"function","modifiers":[{"id":7328,"kind":"modifierInvocation","modifierName":{"id":7327,"name":"onlyOwners","nameLocations":["2771:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"2771:10:23"},"nodeType":"ModifierInvocation","src":"2771:10:23"}],"name":"removeOwner","nameLocation":"2726:11:23","nodeType":"FunctionDefinition","parameters":{"id":7326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7325,"mutability":"mutable","name":"_ownerToRemove","nameLocation":"2746:14:23","nodeType":"VariableDeclaration","scope":7337,"src":"2738:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7324,"name":"address","nodeType":"ElementaryTypeName","src":"2738:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2737:24:23"},"returnParameters":{"id":7329,"nodeType":"ParameterList","parameters":[],"src":"2782:0:23"},"scope":8669,"src":"2717:114:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7364,"nodeType":"Block","src":"2913:193:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7344,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7339,"src":"2923:19:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2946:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7345,"name":"address","nodeType":"ElementaryTypeName","src":"2946:7:23","typeDescriptions":{}}},"id":7348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2946:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2923:33:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7353,"nodeType":"IfStatement","src":"2919:62:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7350,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"2965:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2965:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7352,"nodeType":"RevertStatement","src":"2958:23:23"}},{"expression":{"id":7358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7354,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"2987:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7356,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7339,"src":"3028:19:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7355,"name":"IGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7151,"src":"3008:19:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGammaCardsContract_$7151_$","typeString":"type(contract IGammaCardsContract)"}},"id":7357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3008:40:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"src":"2987:61:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":7359,"nodeType":"ExpressionStatement","src":"2987:61:23"},{"eventCall":{"arguments":[{"id":7361,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7339,"src":"3081:19:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7360,"name":"NewGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7226,"src":"3059:21:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":7362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3059:42:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7363,"nodeType":"EmitStatement","src":"3054:47:23"}]},"functionSelector":"4c7a7ad3","id":7365,"implemented":true,"kind":"function","modifiers":[{"id":7342,"kind":"modifierInvocation","modifierName":{"id":7341,"name":"onlyOwners","nameLocations":["2902:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"2902:10:23"},"nodeType":"ModifierInvocation","src":"2902:10:23"}],"name":"setGammaCardsContract","nameLocation":"2844:21:23","nodeType":"FunctionDefinition","parameters":{"id":7340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7339,"mutability":"mutable","name":"_gammaCardsContract","nameLocation":"2874:19:23","nodeType":"VariableDeclaration","scope":7365,"src":"2866:27:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7338,"name":"address","nodeType":"ElementaryTypeName","src":"2866:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2865:29:23"},"returnParameters":{"id":7343,"nodeType":"ParameterList","parameters":[],"src":"2913:0:23"},"scope":8669,"src":"2835:271:23","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":7376,"nodeType":"Block","src":"3186:47:23","statements":[{"expression":{"id":7374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7372,"name":"maxOffersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7169,"src":"3192:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7373,"name":"_maxOffersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7367,"src":"3211:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3192:36:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7375,"nodeType":"ExpressionStatement","src":"3192:36:23"}]},"functionSelector":"e5e5f732","id":7377,"implemented":true,"kind":"function","modifiers":[{"id":7370,"kind":"modifierInvocation","modifierName":{"id":7369,"name":"onlyOwners","nameLocations":["3175:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"3175:10:23"},"nodeType":"ModifierInvocation","src":"3175:10:23"}],"name":"setMaxOffersAllowed","nameLocation":"3119:19:23","nodeType":"FunctionDefinition","parameters":{"id":7368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7367,"mutability":"mutable","name":"_maxOffersAllowed","nameLocation":"3147:17:23","nodeType":"VariableDeclaration","scope":7377,"src":"3139:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7366,"name":"uint256","nodeType":"ElementaryTypeName","src":"3139:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3138:27:23"},"returnParameters":{"id":7371,"nodeType":"ParameterList","parameters":[],"src":"3186:0:23"},"scope":8669,"src":"3110:123:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7388,"nodeType":"Block","src":"3325:59:23","statements":[{"expression":{"id":7386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7384,"name":"maxOffersByUserAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"3331:22:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7385,"name":"_maxOffersByUserAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7379,"src":"3356:23:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3331:48:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7387,"nodeType":"ExpressionStatement","src":"3331:48:23"}]},"functionSelector":"3808dfe7","id":7389,"implemented":true,"kind":"function","modifiers":[{"id":7382,"kind":"modifierInvocation","modifierName":{"id":7381,"name":"onlyOwners","nameLocations":["3314:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"3314:10:23"},"nodeType":"ModifierInvocation","src":"3314:10:23"}],"name":"setMaxOffersByUserAllowed","nameLocation":"3246:25:23","nodeType":"FunctionDefinition","parameters":{"id":7380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7379,"mutability":"mutable","name":"_maxOffersByUserAllowed","nameLocation":"3280:23:23","nodeType":"VariableDeclaration","scope":7389,"src":"3272:31:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7378,"name":"uint256","nodeType":"ElementaryTypeName","src":"3272:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3271:33:23"},"returnParameters":{"id":7383,"nodeType":"ParameterList","parameters":[],"src":"3325:0:23"},"scope":8669,"src":"3237:147:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7400,"nodeType":"Block","src":"3474:57:23","statements":[{"expression":{"id":7398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7396,"name":"maxCardNumbersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7181,"src":"3480:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7397,"name":"_maxCardNumbersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7391,"src":"3504:22:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3480:46:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7399,"nodeType":"ExpressionStatement","src":"3480:46:23"}]},"functionSelector":"e02f9723","id":7401,"implemented":true,"kind":"function","modifiers":[{"id":7394,"kind":"modifierInvocation","modifierName":{"id":7393,"name":"onlyOwners","nameLocations":["3463:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"3463:10:23"},"nodeType":"ModifierInvocation","src":"3463:10:23"}],"name":"setMaxCardNumbersAllowed","nameLocation":"3397:24:23","nodeType":"FunctionDefinition","parameters":{"id":7392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7391,"mutability":"mutable","name":"_maxCardNumbersAllowed","nameLocation":"3430:22:23","nodeType":"VariableDeclaration","scope":7401,"src":"3422:30:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7390,"name":"uint256","nodeType":"ElementaryTypeName","src":"3422:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3421:32:23"},"returnParameters":{"id":7395,"nodeType":"ParameterList","parameters":[],"src":"3474:0:23"},"scope":8669,"src":"3388:143:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7412,"nodeType":"Block","src":"3614:50:23","statements":[{"expression":{"id":7410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7408,"name":"removeCardInInventoryWhenOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"3620:30:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7409,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"3653:6:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3620:39:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7411,"nodeType":"ExpressionStatement","src":"3620:39:23"}]},"functionSelector":"58e57ebb","id":7413,"implemented":true,"kind":"function","modifiers":[{"id":7406,"kind":"modifierInvocation","modifierName":{"id":7405,"name":"onlyOwners","nameLocations":["3603:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"3603:10:23"},"nodeType":"ModifierInvocation","src":"3603:10:23"}],"name":"changeRemoveCardinInventoryWhenOffer","nameLocation":"3544:36:23","nodeType":"FunctionDefinition","parameters":{"id":7404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7403,"mutability":"mutable","name":"_value","nameLocation":"3586:6:23","nodeType":"VariableDeclaration","scope":7413,"src":"3581:11:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7402,"name":"bool","nodeType":"ElementaryTypeName","src":"3581:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3580:13:23"},"returnParameters":{"id":7407,"nodeType":"ParameterList","parameters":[],"src":"3614:0:23"},"scope":8669,"src":"3535:129:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":7431,"nodeType":"Block","src":"3787:83:23","statements":[{"expression":{"arguments":[{"id":7424,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7415,"src":"3814:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":7425,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3823:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3827:6:23","memberName":"sender","nodeType":"MemberAccess","src":"3823:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7427,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7417,"src":"3835:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":7428,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7420,"src":"3847:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}],"id":7423,"name":"_createOfferWithUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7620,"src":"3793:20:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint8_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,address,uint8,uint8[] memory)"}},"id":7429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3793:72:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7430,"nodeType":"ExpressionStatement","src":"3793:72:23"}]},"functionSelector":"3e293e16","id":7432,"implemented":true,"kind":"function","modifiers":[],"name":"createOffer","nameLocation":"3677:11:23","nodeType":"FunctionDefinition","parameters":{"id":7421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7415,"mutability":"mutable","name":"offerId","nameLocation":"3708:7:23","nodeType":"VariableDeclaration","scope":7432,"src":"3694:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7414,"name":"string","nodeType":"ElementaryTypeName","src":"3694:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7417,"mutability":"mutable","name":"cardNumber","nameLocation":"3727:10:23","nodeType":"VariableDeclaration","scope":7432,"src":"3721:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7416,"name":"uint8","nodeType":"ElementaryTypeName","src":"3721:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7420,"mutability":"mutable","name":"wantedCardNumbers","nameLocation":"3758:17:23","nodeType":"VariableDeclaration","scope":7432,"src":"3743:32:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":7418,"name":"uint8","nodeType":"ElementaryTypeName","src":"3743:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7419,"nodeType":"ArrayTypeName","src":"3743:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"3688:91:23"},"returnParameters":{"id":7422,"nodeType":"ParameterList","parameters":[],"src":"3787:0:23"},"scope":8669,"src":"3668:202:23","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":7453,"nodeType":"Block","src":"4031:77:23","statements":[{"expression":{"arguments":[{"id":7447,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7434,"src":"4058:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7448,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7436,"src":"4067:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7449,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7438,"src":"4073:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":7450,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7441,"src":"4085:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}],"id":7446,"name":"_createOfferWithUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7620,"src":"4037:20:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint8_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,address,uint8,uint8[] memory)"}},"id":7451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4037:66:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7452,"nodeType":"ExpressionStatement","src":"4037:66:23"}]},"functionSelector":"17a1fed9","id":7454,"implemented":true,"kind":"function","modifiers":[{"id":7444,"kind":"modifierInvocation","modifierName":{"id":7443,"name":"onlyOwners","nameLocations":["4020:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"4020:10:23"},"nodeType":"ModifierInvocation","src":"4020:10:23"}],"name":"createOfferWithoUser","nameLocation":"3883:20:23","nodeType":"FunctionDefinition","parameters":{"id":7442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7434,"mutability":"mutable","name":"offerId","nameLocation":"3923:7:23","nodeType":"VariableDeclaration","scope":7454,"src":"3909:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7433,"name":"string","nodeType":"ElementaryTypeName","src":"3909:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7436,"mutability":"mutable","name":"user","nameLocation":"3944:4:23","nodeType":"VariableDeclaration","scope":7454,"src":"3936:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7435,"name":"address","nodeType":"ElementaryTypeName","src":"3936:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7438,"mutability":"mutable","name":"cardNumber","nameLocation":"3960:10:23","nodeType":"VariableDeclaration","scope":7454,"src":"3954:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7437,"name":"uint8","nodeType":"ElementaryTypeName","src":"3954:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7441,"mutability":"mutable","name":"wantedCardNumbers","nameLocation":"3991:17:23","nodeType":"VariableDeclaration","scope":7454,"src":"3976:32:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":7439,"name":"uint8","nodeType":"ElementaryTypeName","src":"3976:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7440,"nodeType":"ArrayTypeName","src":"3976:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"3903:109:23"},"returnParameters":{"id":7445,"nodeType":"ParameterList","parameters":[],"src":"4031:0:23"},"scope":8669,"src":"3874:234:23","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":7619,"nodeType":"Block","src":"4259:1182:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7468,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"4277:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}],"id":7467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4269:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7466,"name":"address","nodeType":"ElementaryTypeName","src":"4269:7:23","typeDescriptions":{}}},"id":7469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4269:27:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4308:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4300:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7470,"name":"address","nodeType":"ElementaryTypeName","src":"4300:7:23","typeDescriptions":{}}},"id":7473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4300:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4269:41:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7478,"nodeType":"IfStatement","src":"4265:80:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7475,"name":"GammaCardsContractNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7092,"src":"4319:24:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7477,"nodeType":"RevertStatement","src":"4312:33:23"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":7479,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"4355:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":7481,"indexExpression":{"id":7480,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"4375:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4355:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":7482,"name":"maxOffersByUserAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"4384:22:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4355:51:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7487,"nodeType":"IfStatement","src":"4351:86:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7484,"name":"OffersMaximumAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7094,"src":"4415:20:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4415:22:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7486,"nodeType":"RevertStatement","src":"4408:29:23"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7488,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"4447:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":7489,"name":"maxOffersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7169,"src":"4469:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4447:38:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7494,"nodeType":"IfStatement","src":"4443:73:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7491,"name":"OffersMaximumAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7094,"src":"4494:20:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4494:22:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7493,"nodeType":"RevertStatement","src":"4487:29:23"}},{"assignments":[7496],"declarations":[{"constant":false,"id":7496,"mutability":"mutable","name":"userHasCard","nameLocation":"4528:11:23","nodeType":"VariableDeclaration","scope":7619,"src":"4523:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7495,"name":"bool","nodeType":"ElementaryTypeName","src":"4523:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":7502,"initialValue":{"arguments":[{"id":7499,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"4576:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7500,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"4582:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":7497,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"4542:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":7498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4561:14:23","memberName":"hasCardByOffer","nodeType":"MemberAccess","referencedDeclaration":7125,"src":"4542:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) external returns (bool)"}},"id":7501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4542:51:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"4523:70:23"},{"condition":{"id":7504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4603:12:23","subExpression":{"id":7503,"name":"userHasCard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7496,"src":"4604:11:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7508,"nodeType":"IfStatement","src":"4599:46:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7505,"name":"UserDoesNotHaveCard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7096,"src":"4624:19:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4624:21:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7507,"nodeType":"RevertStatement","src":"4617:28:23"}},{"body":{"id":7529,"nodeType":"Block","src":"4705:81:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":7524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":7520,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7463,"src":"4717:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":7522,"indexExpression":{"id":7521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7510,"src":"4735:1:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4717:20:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7523,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"4741:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"4717:34:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7528,"nodeType":"IfStatement","src":"4713:66:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7525,"name":"InvalidCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7098,"src":"4760:17:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4760:19:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7527,"nodeType":"RevertStatement","src":"4753:26:23"}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7510,"src":"4670:1:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7514,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7463,"src":"4674:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":7515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4692:6:23","memberName":"length","nodeType":"MemberAccess","src":"4674:24:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4670:28:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7530,"initializationExpression":{"assignments":[7510],"declarations":[{"constant":false,"id":7510,"mutability":"mutable","name":"i","nameLocation":"4663:1:23","nodeType":"VariableDeclaration","scope":7530,"src":"4657:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7509,"name":"uint8","nodeType":"ElementaryTypeName","src":"4657:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":7512,"initialValue":{"hexValue":"30","id":7511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4667:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4657:11:23"},"loopExpression":{"expression":{"id":7518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4700:3:23","subExpression":{"id":7517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7510,"src":"4700:1:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7519,"nodeType":"ExpressionStatement","src":"4700:3:23"},"nodeType":"ForStatement","src":"4652:134:23"},{"assignments":[7533],"declarations":[{"constant":false,"id":7533,"mutability":"mutable","name":"existingOffer","nameLocation":"4805:13:23","nodeType":"VariableDeclaration","scope":7619,"src":"4792:26:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":7532,"nodeType":"UserDefinedTypeName","pathNode":{"id":7531,"name":"Offer","nameLocations":["4792:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"4792:5:23"},"referencedDeclaration":7196,"src":"4792:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"id":7538,"initialValue":{"arguments":[{"id":7535,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"4849:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7536,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"4855:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":7534,"name":"getOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7871,"src":"4821:27:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint8_$returns$_t_struct$_Offer_$7196_memory_ptr_$","typeString":"function (address,uint8) view returns (struct NofGammaOffersV4.Offer memory)"}},"id":7537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4821:45:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"nodeType":"VariableDeclarationStatement","src":"4792:74:23"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7539,"name":"existingOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7533,"src":"4876:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":7540,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4890:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"4876:19:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":7543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4907:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4899:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7541,"name":"address","nodeType":"ElementaryTypeName","src":"4899:7:23","typeDescriptions":{}}},"id":7544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4899:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4876:33:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7549,"nodeType":"IfStatement","src":"4872:66:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7546,"name":"OfferAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7100,"src":"4918:18:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4918:20:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7548,"nodeType":"RevertStatement","src":"4911:27:23"}},{"expression":{"id":7554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":7550,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"4945:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":7552,"indexExpression":{"id":7551,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"4965:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4945:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":7553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4974:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4945:30:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7555,"nodeType":"ExpressionStatement","src":"4945:30:23"},{"expression":{"id":7560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":7556,"name":"offersByCardNumberCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7220,"src":"4981:25:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":7558,"indexExpression":{"id":7557,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"5007:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4981:37:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":7559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5022:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4981:42:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7561,"nodeType":"ExpressionStatement","src":"4981:42:23"},{"expression":{"id":7564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7562,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"5029:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":7563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5051:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5029:23:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7565,"nodeType":"ExpressionStatement","src":"5029:23:23"},{"expression":{"arguments":[{"arguments":[{"id":7570,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7456,"src":"5077:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7571,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"5086:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":7572,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7463,"src":"5098:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":7573,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"5117:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":7574,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5123:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":7575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5129:9:23","memberName":"timestamp","nodeType":"MemberAccess","src":"5123:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7569,"name":"Offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"5071:5:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Offer_$7196_storage_ptr_$","typeString":"type(struct NofGammaOffersV4.Offer storage pointer)"}},"id":7576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5071:68:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}],"expression":{"id":7566,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"5059:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5066:4:23","memberName":"push","nodeType":"MemberAccess","src":"5059:11:23","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$_t_struct$_Offer_$7196_storage_$returns$__$attached_to$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaOffersV4.Offer storage ref[] storage pointer,struct NofGammaOffersV4.Offer storage ref)"}},"id":7577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5059:81:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7578,"nodeType":"ExpressionStatement","src":"5059:81:23"},{"expression":{"arguments":[{"baseExpression":{"id":7583,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"5170:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7588,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7584,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"5177:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5184:6:23","memberName":"length","nodeType":"MemberAccess","src":"5177:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":7586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5193:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5177:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5170:25:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}],"expression":{"baseExpression":{"id":7579,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"5146:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":7581,"indexExpression":{"id":7580,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"5159:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5146:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5165:4:23","memberName":"push","nodeType":"MemberAccess","src":"5146:23:23","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$_t_struct$_Offer_$7196_storage_$returns$__$attached_to$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaOffersV4.Offer storage ref[] storage pointer,struct NofGammaOffersV4.Offer storage ref)"}},"id":7589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5146:50:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7590,"nodeType":"ExpressionStatement","src":"5146:50:23"},{"expression":{"arguments":[{"baseExpression":{"id":7595,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"5238:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7600,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7596,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"5245:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5252:6:23","memberName":"length","nodeType":"MemberAccess","src":"5245:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":7598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5245:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5238:25:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}],"expression":{"baseExpression":{"id":7591,"name":"offersByCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7212,"src":"5202:18:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(uint8 => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":7593,"indexExpression":{"id":7592,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"5221:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5202:30:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5233:4:23","memberName":"push","nodeType":"MemberAccess","src":"5202:35:23","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$_t_struct$_Offer_$7196_storage_$returns$__$attached_to$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaOffersV4.Offer storage ref[] storage pointer,struct NofGammaOffersV4.Offer storage ref)"}},"id":7601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5202:62:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7602,"nodeType":"ExpressionStatement","src":"5202:62:23"},{"condition":{"id":7603,"name":"removeCardInInventoryWhenOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"5275:30:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7612,"nodeType":"IfStatement","src":"5271:105:23","trueBody":{"id":7611,"nodeType":"Block","src":"5307:69:23","statements":[{"expression":{"arguments":[{"id":7607,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"5352:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7608,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"5358:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":7604,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"5315:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":7606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5334:17:23","memberName":"removeCardByOffer","nodeType":"MemberAccess","referencedDeclaration":7132,"src":"5315:36:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8) external"}},"id":7609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5315:54:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7610,"nodeType":"ExpressionStatement","src":"5315:54:23"}]}},{"eventCall":{"arguments":[{"id":7614,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7458,"src":"5400:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7615,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7460,"src":"5406:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":7616,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7463,"src":"5418:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}],"id":7613,"name":"OfferCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7235,"src":"5387:12:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint8,uint8[] memory)"}},"id":7617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5387:49:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7618,"nodeType":"EmitStatement","src":"5382:54:23"}]},"id":7620,"implemented":true,"kind":"function","modifiers":[],"name":"_createOfferWithUser","nameLocation":"4121:20:23","nodeType":"FunctionDefinition","parameters":{"id":7464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7456,"mutability":"mutable","name":"offerId","nameLocation":"4161:7:23","nodeType":"VariableDeclaration","scope":7620,"src":"4147:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7455,"name":"string","nodeType":"ElementaryTypeName","src":"4147:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7458,"mutability":"mutable","name":"user","nameLocation":"4182:4:23","nodeType":"VariableDeclaration","scope":7620,"src":"4174:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7457,"name":"address","nodeType":"ElementaryTypeName","src":"4174:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7460,"mutability":"mutable","name":"cardNumber","nameLocation":"4198:10:23","nodeType":"VariableDeclaration","scope":7620,"src":"4192:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7459,"name":"uint8","nodeType":"ElementaryTypeName","src":"4192:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7463,"mutability":"mutable","name":"wantedCardNumbers","nameLocation":"4229:17:23","nodeType":"VariableDeclaration","scope":7620,"src":"4214:32:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":7461,"name":"uint8","nodeType":"ElementaryTypeName","src":"4214:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7462,"nodeType":"ArrayTypeName","src":"4214:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"4141:109:23"},"returnParameters":{"id":7465,"nodeType":"ParameterList","parameters":[],"src":"4259:0:23"},"scope":8669,"src":"4112:1329:23","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":7632,"nodeType":"Block","src":"5505:41:23","statements":[{"expression":{"baseExpression":{"expression":{"id":7627,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7163,"src":"5518:10:23","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":7628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5529:6:23","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"5518:17:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":7630,"indexExpression":{"id":7629,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7622,"src":"5536:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5518:23:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7626,"id":7631,"nodeType":"Return","src":"5511:30:23"}]},"functionSelector":"2f54bf6e","id":7633,"implemented":true,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"5454:7:23","nodeType":"FunctionDefinition","parameters":{"id":7623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7622,"mutability":"mutable","name":"user","nameLocation":"5470:4:23","nodeType":"VariableDeclaration","scope":7633,"src":"5462:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7621,"name":"address","nodeType":"ElementaryTypeName","src":"5462:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5461:14:23"},"returnParameters":{"id":7626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7633,"src":"5499:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7624,"name":"bool","nodeType":"ElementaryTypeName","src":"5499:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5498:6:23"},"scope":8669,"src":"5445:101:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7654,"nodeType":"Block","src":"5628:96:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7640,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7635,"src":"5638:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5654:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5646:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7641,"name":"address","nodeType":"ElementaryTypeName","src":"5646:7:23","typeDescriptions":{}}},"id":7644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5646:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5638:18:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7649,"nodeType":"IfStatement","src":"5634:47:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7646,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"5665:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5665:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7648,"nodeType":"RevertStatement","src":"5658:23:23"}},{"expression":{"baseExpression":{"id":7650,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"5694:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":7652,"indexExpression":{"id":7651,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7635,"src":"5714:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5694:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7639,"id":7653,"nodeType":"Return","src":"5687:32:23"}]},"functionSelector":"0cdb3117","id":7655,"implemented":true,"kind":"function","modifiers":[],"name":"getOffersByUserCounter","nameLocation":"5559:22:23","nodeType":"FunctionDefinition","parameters":{"id":7636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7635,"mutability":"mutable","name":"user","nameLocation":"5590:4:23","nodeType":"VariableDeclaration","scope":7655,"src":"5582:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7634,"name":"address","nodeType":"ElementaryTypeName","src":"5582:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5581:14:23"},"returnParameters":{"id":7639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7638,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7655,"src":"5619:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7637,"name":"uint256","nodeType":"ElementaryTypeName","src":"5619:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5618:9:23"},"scope":8669,"src":"5550:174:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7666,"nodeType":"Block","src":"5816:55:23","statements":[{"expression":{"baseExpression":{"id":7662,"name":"offersByCardNumberCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7220,"src":"5829:25:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":7664,"indexExpression":{"id":7663,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7657,"src":"5855:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5829:37:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7661,"id":7665,"nodeType":"Return","src":"5822:44:23"}]},"functionSelector":"ce7483d5","id":7667,"implemented":true,"kind":"function","modifiers":[],"name":"getOffersByCardNumberCounter","nameLocation":"5737:28:23","nodeType":"FunctionDefinition","parameters":{"id":7658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7657,"mutability":"mutable","name":"cardNumber","nameLocation":"5772:10:23","nodeType":"VariableDeclaration","scope":7667,"src":"5766:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7656,"name":"uint8","nodeType":"ElementaryTypeName","src":"5766:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5765:18:23"},"returnParameters":{"id":7661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7660,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7667,"src":"5807:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7659,"name":"uint256","nodeType":"ElementaryTypeName","src":"5807:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5806:9:23"},"scope":8669,"src":"5728:143:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7674,"nodeType":"Block","src":"5935:36:23","statements":[{"expression":{"id":7672,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"5948:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7671,"id":7673,"nodeType":"Return","src":"5941:25:23"}]},"functionSelector":"cf86f8e5","id":7675,"implemented":true,"kind":"function","modifiers":[],"name":"getOffersCounter","nameLocation":"5884:16:23","nodeType":"FunctionDefinition","parameters":{"id":7668,"nodeType":"ParameterList","parameters":[],"src":"5900:2:23"},"returnParameters":{"id":7671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7675,"src":"5926:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7669,"name":"uint256","nodeType":"ElementaryTypeName","src":"5926:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5925:9:23"},"scope":8669,"src":"5875:96:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7682,"nodeType":"Block","src":"6038:34:23","statements":[{"expression":{"id":7680,"name":"maxOffersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7169,"src":"6051:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7679,"id":7681,"nodeType":"Return","src":"6044:23:23"}]},"functionSelector":"90222aa1","id":7683,"implemented":true,"kind":"function","modifiers":[],"name":"getMaxOffersAllowed","nameLocation":"5984:19:23","nodeType":"FunctionDefinition","parameters":{"id":7676,"nodeType":"ParameterList","parameters":[],"src":"6003:2:23"},"returnParameters":{"id":7679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7683,"src":"6029:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7677,"name":"uint256","nodeType":"ElementaryTypeName","src":"6029:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6028:9:23"},"scope":8669,"src":"5975:97:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7690,"nodeType":"Block","src":"6145:40:23","statements":[{"expression":{"id":7688,"name":"maxOffersByUserAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"6158:22:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7687,"id":7689,"nodeType":"Return","src":"6151:29:23"}]},"functionSelector":"ba79b77b","id":7691,"implemented":true,"kind":"function","modifiers":[],"name":"getMaxOffersByUserAllowed","nameLocation":"6085:25:23","nodeType":"FunctionDefinition","parameters":{"id":7684,"nodeType":"ParameterList","parameters":[],"src":"6110:2:23"},"returnParameters":{"id":7687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7691,"src":"6136:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7685,"name":"uint256","nodeType":"ElementaryTypeName","src":"6136:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6135:9:23"},"scope":8669,"src":"6076:109:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7700,"nodeType":"Block","src":"6249:24:23","statements":[{"expression":{"id":7698,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"6262:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"functionReturnParameters":7697,"id":7699,"nodeType":"Return","src":"6255:13:23"}]},"functionSelector":"3ee992ee","id":7701,"implemented":true,"kind":"function","modifiers":[],"name":"getOffers","nameLocation":"6198:9:23","nodeType":"FunctionDefinition","parameters":{"id":7692,"nodeType":"ParameterList","parameters":[],"src":"6207:2:23"},"returnParameters":{"id":7697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7696,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7701,"src":"6233:14:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":7694,"nodeType":"UserDefinedTypeName","pathNode":{"id":7693,"name":"Offer","nameLocations":["6233:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"6233:5:23"},"referencedDeclaration":7196,"src":"6233:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7695,"nodeType":"ArrayTypeName","src":"6233:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"src":"6232:16:23"},"scope":8669,"src":"6189:84:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7721,"nodeType":"Block","src":"6352:88:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7709,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7703,"src":"6362:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":7710,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"6371:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6378:6:23","memberName":"length","nodeType":"MemberAccess","src":"6371:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6362:22:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7716,"nodeType":"IfStatement","src":"6358:51:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7713,"name":"InvalidOfferId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7102,"src":"6393:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6393:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7715,"nodeType":"RevertStatement","src":"6386:23:23"}},{"expression":{"baseExpression":{"id":7717,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"6422:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7719,"indexExpression":{"id":7718,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7703,"src":"6429:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6422:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"functionReturnParameters":7708,"id":7720,"nodeType":"Return","src":"6415:20:23"}]},"functionSelector":"e359a0a1","id":7722,"implemented":true,"kind":"function","modifiers":[],"name":"getOfferByIndex","nameLocation":"6286:15:23","nodeType":"FunctionDefinition","parameters":{"id":7704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7703,"mutability":"mutable","name":"index","nameLocation":"6310:5:23","nodeType":"VariableDeclaration","scope":7722,"src":"6302:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7702,"name":"uint256","nodeType":"ElementaryTypeName","src":"6302:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6301:15:23"},"returnParameters":{"id":7708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7722,"src":"6338:12:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":7706,"nodeType":"UserDefinedTypeName","pathNode":{"id":7705,"name":"Offer","nameLocations":["6338:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"6338:5:23"},"referencedDeclaration":7196,"src":"6338:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"src":"6337:14:23"},"scope":8669,"src":"6277:163:23","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":7769,"nodeType":"Block","src":"6531:223:23","statements":[{"body":{"id":7764,"nodeType":"Block","src":"6581:143:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":7744,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"6620:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7746,"indexExpression":{"id":7745,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7731,"src":"6627:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6620:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":7747,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6630:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"6620:17:23","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":7742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6603:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6607:12:23","memberName":"encodePacked","nodeType":"MemberAccess","src":"6603:16:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6603:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7741,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6593:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6593:46:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":7753,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7724,"src":"6670:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7751,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6653:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6657:12:23","memberName":"encodePacked","nodeType":"MemberAccess","src":"6653:16:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6653:25:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7750,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6643:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6643:36:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6593:86:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7763,"nodeType":"IfStatement","src":"6589:129:23","trueBody":{"id":7762,"nodeType":"Block","src":"6681:37:23","statements":[{"expression":{"components":[{"baseExpression":{"id":7757,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"6699:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7759,"indexExpression":{"id":7758,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7731,"src":"6706:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6699:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}}],"id":7760,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6698:11:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"functionReturnParameters":7729,"id":7761,"nodeType":"Return","src":"6691:18:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7734,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7731,"src":"6557:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7735,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"6561:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6568:6:23","memberName":"length","nodeType":"MemberAccess","src":"6561:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6557:17:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7765,"initializationExpression":{"assignments":[7731],"declarations":[{"constant":false,"id":7731,"mutability":"mutable","name":"i","nameLocation":"6550:1:23","nodeType":"VariableDeclaration","scope":7765,"src":"6542:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7730,"name":"uint256","nodeType":"ElementaryTypeName","src":"6542:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7733,"initialValue":{"hexValue":"30","id":7732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6554:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6542:13:23"},"loopExpression":{"expression":{"id":7739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6576:3:23","subExpression":{"id":7738,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7731,"src":"6576:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7740,"nodeType":"ExpressionStatement","src":"6576:3:23"},"nodeType":"ForStatement","src":"6537:187:23"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":7766,"name":"_emptyOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8644,"src":"6736:11:23","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_Offer_$7196_memory_ptr_$","typeString":"function () pure returns (struct NofGammaOffersV4.Offer memory)"}},"id":7767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6736:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"functionReturnParameters":7729,"id":7768,"nodeType":"Return","src":"6729:20:23"}]},"functionSelector":"e2b36596","id":7770,"implemented":true,"kind":"function","modifiers":[],"name":"getOfferByOfferId","nameLocation":"6453:17:23","nodeType":"FunctionDefinition","parameters":{"id":7725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7724,"mutability":"mutable","name":"offerId","nameLocation":"6485:7:23","nodeType":"VariableDeclaration","scope":7770,"src":"6471:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7723,"name":"string","nodeType":"ElementaryTypeName","src":"6471:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6470:23:23"},"returnParameters":{"id":7729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7770,"src":"6517:12:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":7727,"nodeType":"UserDefinedTypeName","pathNode":{"id":7726,"name":"Offer","nameLocations":["6517:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"6517:5:23"},"referencedDeclaration":7196,"src":"6517:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"src":"6516:14:23"},"scope":8669,"src":"6444:310:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7793,"nodeType":"Block","src":"6836:89:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7779,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7772,"src":"6846:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6862:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6854:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7780,"name":"address","nodeType":"ElementaryTypeName","src":"6854:7:23","typeDescriptions":{}}},"id":7783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6854:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6846:18:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7788,"nodeType":"IfStatement","src":"6842:47:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7785,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"6873:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6873:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7787,"nodeType":"RevertStatement","src":"6866:23:23"}},{"expression":{"baseExpression":{"id":7789,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"6902:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":7791,"indexExpression":{"id":7790,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7772,"src":"6915:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6902:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"functionReturnParameters":7778,"id":7792,"nodeType":"Return","src":"6895:25:23"}]},"functionSelector":"9618b333","id":7794,"implemented":true,"kind":"function","modifiers":[],"name":"getOffersByUser","nameLocation":"6767:15:23","nodeType":"FunctionDefinition","parameters":{"id":7773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7772,"mutability":"mutable","name":"user","nameLocation":"6791:4:23","nodeType":"VariableDeclaration","scope":7794,"src":"6783:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7771,"name":"address","nodeType":"ElementaryTypeName","src":"6783:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6782:14:23"},"returnParameters":{"id":7778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7794,"src":"6820:14:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":7775,"nodeType":"UserDefinedTypeName","pathNode":{"id":7774,"name":"Offer","nameLocations":["6820:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"6820:5:23"},"referencedDeclaration":7196,"src":"6820:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7776,"nodeType":"ArrayTypeName","src":"6820:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"src":"6819:16:23"},"scope":8669,"src":"6758:167:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7807,"nodeType":"Block","src":"7017:48:23","statements":[{"expression":{"baseExpression":{"id":7803,"name":"offersByCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7212,"src":"7030:18:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(uint8 => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":7805,"indexExpression":{"id":7804,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7796,"src":"7049:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7030:30:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"functionReturnParameters":7802,"id":7806,"nodeType":"Return","src":"7023:37:23"}]},"functionSelector":"8400a189","id":7808,"implemented":true,"kind":"function","modifiers":[],"name":"getOffersByCardNumber","nameLocation":"6938:21:23","nodeType":"FunctionDefinition","parameters":{"id":7797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7796,"mutability":"mutable","name":"cardNumber","nameLocation":"6966:10:23","nodeType":"VariableDeclaration","scope":7808,"src":"6960:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7795,"name":"uint8","nodeType":"ElementaryTypeName","src":"6960:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"6959:18:23"},"returnParameters":{"id":7802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7801,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7808,"src":"7001:14:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":7799,"nodeType":"UserDefinedTypeName","pathNode":{"id":7798,"name":"Offer","nameLocations":["7001:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"7001:5:23"},"referencedDeclaration":7196,"src":"7001:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7800,"nodeType":"ArrayTypeName","src":"7001:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"src":"7000:16:23"},"scope":8669,"src":"6929:136:23","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":7870,"nodeType":"Block","src":"7185:361:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7818,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7810,"src":"7195:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7211:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7203:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7819,"name":"address","nodeType":"ElementaryTypeName","src":"7203:7:23","typeDescriptions":{}}},"id":7822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7203:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7195:18:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7827,"nodeType":"IfStatement","src":"7191:47:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7824,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"7222:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7222:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7826,"nodeType":"RevertStatement","src":"7215:23:23"}},{"assignments":[7832],"declarations":[{"constant":false,"id":7832,"mutability":"mutable","name":"userOffers","nameLocation":"7261:10:23","nodeType":"VariableDeclaration","scope":7870,"src":"7245:26:23","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":7830,"nodeType":"UserDefinedTypeName","pathNode":{"id":7829,"name":"Offer","nameLocations":["7245:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"7245:5:23"},"referencedDeclaration":7196,"src":"7245:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":7831,"nodeType":"ArrayTypeName","src":"7245:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"id":7836,"initialValue":{"baseExpression":{"id":7833,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"7274:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":7835,"indexExpression":{"id":7834,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7810,"src":"7287:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7274:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7245:47:23"},{"assignments":[7838],"declarations":[{"constant":false,"id":7838,"mutability":"mutable","name":"currentUserOffersCounter","nameLocation":"7306:24:23","nodeType":"VariableDeclaration","scope":7870,"src":"7298:32:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7837,"name":"uint256","nodeType":"ElementaryTypeName","src":"7298:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7842,"initialValue":{"baseExpression":{"id":7839,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"7333:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":7841,"indexExpression":{"id":7840,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7810,"src":"7353:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7333:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7298:60:23"},{"body":{"id":7865,"nodeType":"Block","src":"7419:97:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":7858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":7853,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7832,"src":"7431:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":7855,"indexExpression":{"id":7854,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7844,"src":"7442:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7431:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":7856,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7445:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"7431:24:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7857,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7812,"src":"7459:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7431:38:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7864,"nodeType":"IfStatement","src":"7427:83:23","trueBody":{"id":7863,"nodeType":"Block","src":"7471:39:23","statements":[{"expression":{"baseExpression":{"id":7859,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7832,"src":"7488:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":7861,"indexExpression":{"id":7860,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7844,"src":"7499:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7488:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"functionReturnParameters":7817,"id":7862,"nodeType":"Return","src":"7481:20:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7847,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7844,"src":"7384:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":7848,"name":"currentUserOffersCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7838,"src":"7388:24:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7384:28:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7866,"initializationExpression":{"assignments":[7844],"declarations":[{"constant":false,"id":7844,"mutability":"mutable","name":"i","nameLocation":"7377:1:23","nodeType":"VariableDeclaration","scope":7866,"src":"7369:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7843,"name":"uint256","nodeType":"ElementaryTypeName","src":"7369:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7846,"initialValue":{"hexValue":"30","id":7845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7381:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7369:13:23"},"loopExpression":{"expression":{"id":7851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7414:3:23","subExpression":{"id":7850,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7844,"src":"7414:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7852,"nodeType":"ExpressionStatement","src":"7414:3:23"},"nodeType":"ForStatement","src":"7364:152:23"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":7867,"name":"_emptyOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8644,"src":"7528:11:23","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_struct$_Offer_$7196_memory_ptr_$","typeString":"function () pure returns (struct NofGammaOffersV4.Offer memory)"}},"id":7868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"functionReturnParameters":7817,"id":7869,"nodeType":"Return","src":"7521:20:23"}]},"functionSelector":"9f915069","id":7871,"implemented":true,"kind":"function","modifiers":[],"name":"getOfferByUserAndCardNumber","nameLocation":"7078:27:23","nodeType":"FunctionDefinition","parameters":{"id":7813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7810,"mutability":"mutable","name":"user","nameLocation":"7119:4:23","nodeType":"VariableDeclaration","scope":7871,"src":"7111:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7809,"name":"address","nodeType":"ElementaryTypeName","src":"7111:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7812,"mutability":"mutable","name":"cardNumber","nameLocation":"7135:10:23","nodeType":"VariableDeclaration","scope":7871,"src":"7129:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7811,"name":"uint8","nodeType":"ElementaryTypeName","src":"7129:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7105:44:23"},"returnParameters":{"id":7817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7816,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7871,"src":"7171:12:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":7815,"nodeType":"UserDefinedTypeName","pathNode":{"id":7814,"name":"Offer","nameLocations":["7171:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"7171:5:23"},"referencedDeclaration":7196,"src":"7171:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"src":"7170:14:23"},"scope":8669,"src":"7069:477:23","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":7884,"nodeType":"Block","src":"7620:68:23","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7878,"name":"maxOffersByUserAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"7633:22:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"baseExpression":{"id":7879,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"7658:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":7881,"indexExpression":{"id":7880,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7873,"src":"7678:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7658:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7633:50:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7877,"id":7883,"nodeType":"Return","src":"7626:57:23"}]},"functionSelector":"29d3f60b","id":7885,"implemented":true,"kind":"function","modifiers":[],"name":"canUserPublishOffer","nameLocation":"7559:19:23","nodeType":"FunctionDefinition","parameters":{"id":7874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7873,"mutability":"mutable","name":"user","nameLocation":"7587:4:23","nodeType":"VariableDeclaration","scope":7885,"src":"7579:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7872,"name":"address","nodeType":"ElementaryTypeName","src":"7579:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7578:14:23"},"returnParameters":{"id":7877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7885,"src":"7614:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7875,"name":"bool","nodeType":"ElementaryTypeName","src":"7614:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7613:6:23"},"scope":8669,"src":"7550:138:23","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":7894,"nodeType":"Block","src":"7753:55:23","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7890,"name":"maxOffersAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7169,"src":"7766:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7891,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"7785:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7766:37:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7889,"id":7893,"nodeType":"Return","src":"7759:44:23"}]},"functionSelector":"619980dc","id":7895,"implemented":true,"kind":"function","modifiers":[],"name":"canAnyUserPublishOffer","nameLocation":"7701:22:23","nodeType":"FunctionDefinition","parameters":{"id":7886,"nodeType":"ParameterList","parameters":[],"src":"7723:2:23"},"returnParameters":{"id":7889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7888,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7895,"src":"7747:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7887,"name":"bool","nodeType":"ElementaryTypeName","src":"7747:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7746:6:23"},"scope":8669,"src":"7692:116:23","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":7942,"nodeType":"Block","src":"7889:233:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7904,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"7899:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7915:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":7906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7907:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7905,"name":"address","nodeType":"ElementaryTypeName","src":"7907:7:23","typeDescriptions":{}}},"id":7908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7907:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7899:18:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7913,"nodeType":"IfStatement","src":"7895:47:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7910,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"7926:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7926:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7912,"nodeType":"RevertStatement","src":"7919:23:23"}},{"body":{"id":7938,"nodeType":"Block","src":"8004:96:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":7933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"baseExpression":{"id":7926,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"8016:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":7928,"indexExpression":{"id":7927,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"8029:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8016:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":7930,"indexExpression":{"id":7929,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"8035:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8016:21:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":7931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8038:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"8016:32:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7932,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7899,"src":"8052:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8016:46:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7937,"nodeType":"IfStatement","src":"8012:82:23","trueBody":{"id":7936,"nodeType":"Block","src":"8064:30:23","statements":[{"expression":{"hexValue":"74727565","id":7934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8081:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":7903,"id":7935,"nodeType":"Return","src":"8074:11:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7918,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"7968:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"baseExpression":{"id":7919,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"7972:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":7921,"indexExpression":{"id":7920,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"7992:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7972:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7968:29:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7939,"initializationExpression":{"assignments":[7915],"declarations":[{"constant":false,"id":7915,"mutability":"mutable","name":"i","nameLocation":"7961:1:23","nodeType":"VariableDeclaration","scope":7939,"src":"7953:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7914,"name":"uint256","nodeType":"ElementaryTypeName","src":"7953:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7917,"initialValue":{"hexValue":"30","id":7916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7965:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7953:13:23"},"loopExpression":{"expression":{"id":7924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7999:3:23","subExpression":{"id":7923,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"7999:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7925,"nodeType":"ExpressionStatement","src":"7999:3:23"},"nodeType":"ForStatement","src":"7948:152:23"},{"expression":{"hexValue":"66616c7365","id":7940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8112:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":7903,"id":7941,"nodeType":"Return","src":"8105:12:23"}]},"functionSelector":"2edb5fcf","id":7943,"implemented":true,"kind":"function","modifiers":[],"name":"hasOffer","nameLocation":"7821:8:23","nodeType":"FunctionDefinition","parameters":{"id":7900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7897,"mutability":"mutable","name":"user","nameLocation":"7838:4:23","nodeType":"VariableDeclaration","scope":7943,"src":"7830:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7896,"name":"address","nodeType":"ElementaryTypeName","src":"7830:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7899,"mutability":"mutable","name":"cardNumber","nameLocation":"7850:10:23","nodeType":"VariableDeclaration","scope":7943,"src":"7844:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7898,"name":"uint8","nodeType":"ElementaryTypeName","src":"7844:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7829:32:23"},"returnParameters":{"id":7903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7943,"src":"7883:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7901,"name":"bool","nodeType":"ElementaryTypeName","src":"7883:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7882:6:23"},"scope":8669,"src":"7812:310:23","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":8071,"nodeType":"Block","src":"8267:1236:23","statements":[{"assignments":[7956],"declarations":[{"constant":false,"id":7956,"mutability":"mutable","name":"offer","nameLocation":"8286:5:23","nodeType":"VariableDeclaration","scope":8071,"src":"8273:18:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":7955,"nodeType":"UserDefinedTypeName","pathNode":{"id":7954,"name":"Offer","nameLocations":["8273:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"8273:5:23"},"referencedDeclaration":7196,"src":"8273:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"id":7961,"initialValue":{"arguments":[{"id":7958,"name":"offerWallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"8322:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7959,"name":"offerCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7951,"src":"8335:15:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":7957,"name":"getOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7871,"src":"8294:27:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint8_$returns$_t_struct$_Offer_$7196_memory_ptr_$","typeString":"function (address,uint8) view returns (struct NofGammaOffersV4.Offer memory)"}},"id":7960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8294:57:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"nodeType":"VariableDeclarationStatement","src":"8273:78:23"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7962,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7956,"src":"8361:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":7963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8367:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"8361:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":7964,"name":"offerWallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"8376:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8361:26:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7969,"nodeType":"IfStatement","src":"8357:59:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7966,"name":"OfferDoesNotExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7104,"src":"8396:18:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8396:20:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7968,"nodeType":"RevertStatement","src":"8389:27:23"}},{"assignments":[7974],"declarations":[{"constant":false,"id":7974,"mutability":"mutable","name":"wantedCardNumbers","nameLocation":"8438:17:23","nodeType":"VariableDeclaration","scope":8071,"src":"8423:32:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":7972,"name":"uint8","nodeType":"ElementaryTypeName","src":"8423:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7973,"nodeType":"ArrayTypeName","src":"8423:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":7977,"initialValue":{"expression":{"id":7975,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7956,"src":"8458:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":7976,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8464:17:23","memberName":"wantedCardNumbers","nodeType":"MemberAccess","referencedDeclaration":7191,"src":"8458:23:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:58:23"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7978,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7974,"src":"8491:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":7979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8509:6:23","memberName":"length","nodeType":"MemberAccess","src":"8491:24:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":7980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8519:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8491:29:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":8027,"nodeType":"Block","src":"8698:337:23","statements":[{"assignments":[7993],"declarations":[{"constant":false,"id":7993,"mutability":"mutable","name":"foundCardWanted","nameLocation":"8769:15:23","nodeType":"VariableDeclaration","scope":8027,"src":"8764:20:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7992,"name":"bool","nodeType":"ElementaryTypeName","src":"8764:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":7995,"initialValue":{"hexValue":"66616c7365","id":7994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8787:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"8764:28:23"},{"body":{"id":8019,"nodeType":"Block","src":"8853:126:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":8011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":8007,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7974,"src":"8867:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":8009,"indexExpression":{"id":8008,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7997,"src":"8885:1:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8867:20:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":8010,"name":"cardNumberWanted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"8891:16:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8867:40:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8018,"nodeType":"IfStatement","src":"8863:108:23","trueBody":{"id":8017,"nodeType":"Block","src":"8909:62:23","statements":[{"expression":{"id":8014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8012,"name":"foundCardWanted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"8921:15:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":8013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8939:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8921:22:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8015,"nodeType":"ExpressionStatement","src":"8921:22:23"},{"id":8016,"nodeType":"Break","src":"8955:5:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8000,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7997,"src":"8818:1:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8001,"name":"wantedCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7974,"src":"8822:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":8002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8840:6:23","memberName":"length","nodeType":"MemberAccess","src":"8822:24:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8818:28:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8020,"initializationExpression":{"assignments":[7997],"declarations":[{"constant":false,"id":7997,"mutability":"mutable","name":"j","nameLocation":"8811:1:23","nodeType":"VariableDeclaration","scope":8020,"src":"8805:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7996,"name":"uint8","nodeType":"ElementaryTypeName","src":"8805:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":7999,"initialValue":{"hexValue":"30","id":7998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8815:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8805:11:23"},"loopExpression":{"expression":{"id":8005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8848:3:23","subExpression":{"id":8004,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7997,"src":"8848:1:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":8006,"nodeType":"ExpressionStatement","src":"8848:3:23"},"nodeType":"ForStatement","src":"8800:179:23"},{"condition":{"id":8022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8990:16:23","subExpression":{"id":8021,"name":"foundCardWanted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"8991:15:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8026,"nodeType":"IfStatement","src":"8986:42:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8023,"name":"InvalidCard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"9015:11:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9015:13:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8025,"nodeType":"RevertStatement","src":"9008:20:23"}}]},"id":8028,"nodeType":"IfStatement","src":"8487:548:23","trueBody":{"id":7991,"nodeType":"Block","src":"8522:170:23","statements":[{"condition":{"arguments":[{"id":7984,"name":"offerWallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"8618:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7985,"name":"cardNumberWanted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"8631:16:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":7982,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"8584:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":7983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8603:14:23","memberName":"hasCardByOffer","nodeType":"MemberAccess","referencedDeclaration":7125,"src":"8584:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) external returns (bool)"}},"id":7986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8584:64:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7990,"nodeType":"IfStatement","src":"8580:105:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":7987,"name":"UserAlreadyHasCard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"8665:18:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":7988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8665:20:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7989,"nodeType":"RevertStatement","src":"8658:27:23"}}]}},{"assignments":[8030],"declarations":[{"constant":false,"id":8030,"mutability":"mutable","name":"offerDeleted","nameLocation":"9046:12:23","nodeType":"VariableDeclaration","scope":8071,"src":"9041:17:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8029,"name":"bool","nodeType":"ElementaryTypeName","src":"9041:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":8038,"initialValue":{"arguments":[{"id":8032,"name":"offerWallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"9100:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8033,"name":"offerCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7951,"src":"9119:15:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":8034,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7956,"src":"9142:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":8035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9148:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"9142:13:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"74727565","id":8036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9163:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8031,"name":"_removeOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8388,"src":"9061:31:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_bool_$","typeString":"function (address,uint8,string memory,bool) returns (bool)"}},"id":8037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9061:112:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"9041:132:23"},{"condition":{"id":8040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9183:13:23","subExpression":{"id":8039,"name":"offerDeleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8030,"src":"9184:12:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8044,"nodeType":"IfStatement","src":"9179:43:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8041,"name":"OfferNotDeleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7110,"src":"9205:15:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9205:17:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8043,"nodeType":"RevertStatement","src":"9198:24:23"}},{"expression":{"arguments":[{"id":8048,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"9267:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8049,"name":"cardNumberWanted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"9273:16:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":8050,"name":"offerWallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"9291:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8051,"name":"offerCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7951,"src":"9304:15:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":8045,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"9229:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":8047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9248:18:23","memberName":"exchangeCardsOffer","nodeType":"MemberAccess","referencedDeclaration":7150,"src":"9229:37:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8,address,uint8) external"}},"id":8052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9229:91:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8053,"nodeType":"ExpressionStatement","src":"9229:91:23"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9337:57:23","subExpression":{"arguments":[{"id":8056,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"9372:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8057,"name":"offerCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7951,"src":"9378:15:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":8054,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"9338:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":8055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9357:14:23","memberName":"hasCardByOffer","nodeType":"MemberAccess","referencedDeclaration":7125,"src":"9338:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) external returns (bool)"}},"id":8058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9338:56:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":8065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9404:65:23","subExpression":{"arguments":[{"id":8062,"name":"offerWallet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7949,"src":"9439:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8063,"name":"cardNumberWanted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"9452:16:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":8060,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"9405:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":8061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9424:14:23","memberName":"hasCardByOffer","nodeType":"MemberAccess","referencedDeclaration":7125,"src":"9405:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) external returns (bool)"}},"id":8064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9405:64:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9337:132:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8070,"nodeType":"IfStatement","src":"9326:172:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8067,"name":"ExchangeError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7116,"src":"9483:13:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9483:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8069,"nodeType":"RevertStatement","src":"9476:22:23"}}]},"functionSelector":"c08029e7","id":8072,"implemented":true,"kind":"function","modifiers":[],"name":"confirmOfferExchange","nameLocation":"8135:20:23","nodeType":"FunctionDefinition","parameters":{"id":7952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7945,"mutability":"mutable","name":"from","nameLocation":"8169:4:23","nodeType":"VariableDeclaration","scope":8072,"src":"8161:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7944,"name":"address","nodeType":"ElementaryTypeName","src":"8161:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7947,"mutability":"mutable","name":"cardNumberWanted","nameLocation":"8185:16:23","nodeType":"VariableDeclaration","scope":8072,"src":"8179:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7946,"name":"uint8","nodeType":"ElementaryTypeName","src":"8179:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":7949,"mutability":"mutable","name":"offerWallet","nameLocation":"8215:11:23","nodeType":"VariableDeclaration","scope":8072,"src":"8207:19:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7948,"name":"address","nodeType":"ElementaryTypeName","src":"8207:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7951,"mutability":"mutable","name":"offerCardNumber","nameLocation":"8238:15:23","nodeType":"VariableDeclaration","scope":8072,"src":"8232:21:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7950,"name":"uint8","nodeType":"ElementaryTypeName","src":"8232:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8155:102:23"},"returnParameters":{"id":7953,"nodeType":"ParameterList","parameters":[],"src":"8267:0:23"},"scope":8669,"src":"8126:1377:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8134,"nodeType":"Block","src":"9554:345:23","statements":[{"body":{"id":8122,"nodeType":"Block","src":"9604:214:23","statements":[{"expression":{"id":8094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"9612:36:23","subExpression":{"baseExpression":{"id":8088,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"9619:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":8093,"indexExpression":{"expression":{"baseExpression":{"id":8089,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"9632:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8091,"indexExpression":{"id":8090,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"9639:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9632:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9642:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"9632:15:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9619:29:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8095,"nodeType":"ExpressionStatement","src":"9612:36:23"},{"expression":{"id":8103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8096,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"9656:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":8101,"indexExpression":{"expression":{"baseExpression":{"id":8097,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"9676:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8099,"indexExpression":{"id":8098,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"9683:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9676:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9686:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"9676:15:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9656:36:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":8102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9695:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9656:40:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8104,"nodeType":"ExpressionStatement","src":"9656:40:23"},{"expression":{"id":8111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"9705:47:23","subExpression":{"baseExpression":{"id":8105,"name":"offersByCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7212,"src":"9712:18:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(uint8 => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":8110,"indexExpression":{"expression":{"baseExpression":{"id":8106,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"9731:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8108,"indexExpression":{"id":8107,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"9738:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9731:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9741:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"9731:20:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9712:40:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8112,"nodeType":"ExpressionStatement","src":"9705:47:23"},{"expression":{"id":8120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8113,"name":"offersByCardNumberCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7220,"src":"9760:25:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":8118,"indexExpression":{"expression":{"baseExpression":{"id":8114,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"9786:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8116,"indexExpression":{"id":8115,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"9793:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9786:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9796:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"9786:20:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9760:47:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":8119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9810:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9760:51:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8121,"nodeType":"ExpressionStatement","src":"9760:51:23"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8081,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"9580:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8082,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"9584:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9591:6:23","memberName":"length","nodeType":"MemberAccess","src":"9584:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9580:17:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8123,"initializationExpression":{"assignments":[8078],"declarations":[{"constant":false,"id":8078,"mutability":"mutable","name":"i","nameLocation":"9573:1:23","nodeType":"VariableDeclaration","scope":8123,"src":"9565:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8077,"name":"uint256","nodeType":"ElementaryTypeName","src":"9565:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8080,"initialValue":{"hexValue":"30","id":8079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9577:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9565:13:23"},"loopExpression":{"expression":{"id":8086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9599:3:23","subExpression":{"id":8085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"9599:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8087,"nodeType":"ExpressionStatement","src":"9599:3:23"},"nodeType":"ForStatement","src":"9560:258:23"},{"expression":{"id":8126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8124,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"9823:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":8125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9844:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9823:22:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8127,"nodeType":"ExpressionStatement","src":"9823:22:23"},{"expression":{"id":8129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"9851:13:23","subExpression":{"id":8128,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"9858:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8130,"nodeType":"ExpressionStatement","src":"9851:13:23"},{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8131,"name":"AllOffersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7247,"src":"9876:16:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":8132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9876:18:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8133,"nodeType":"EmitStatement","src":"9871:23:23"}]},"functionSelector":"322fba27","id":8135,"implemented":true,"kind":"function","modifiers":[{"id":8075,"kind":"modifierInvocation","modifierName":{"id":8074,"name":"onlyOwners","nameLocations":["9543:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"9543:10:23"},"nodeType":"ModifierInvocation","src":"9543:10:23"}],"name":"deleteAllOffers","nameLocation":"9516:15:23","nodeType":"FunctionDefinition","parameters":{"id":8073,"nodeType":"ParameterList","parameters":[],"src":"9531:2:23"},"returnParameters":{"id":8076,"nodeType":"ParameterList","parameters":[],"src":"9554:0:23"},"scope":8669,"src":"9507:392:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8173,"nodeType":"Block","src":"9978:262:23","statements":[{"assignments":[8144],"declarations":[{"constant":false,"id":8144,"mutability":"mutable","name":"offer","nameLocation":"9997:5:23","nodeType":"VariableDeclaration","scope":8173,"src":"9984:18:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":8143,"nodeType":"UserDefinedTypeName","pathNode":{"id":8142,"name":"Offer","nameLocations":["9984:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"9984:5:23"},"referencedDeclaration":7196,"src":"9984:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"id":8150,"initialValue":{"arguments":[{"expression":{"id":8146,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10033:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":8147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10037:6:23","memberName":"sender","nodeType":"MemberAccess","src":"10033:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8148,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8137,"src":"10045:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":8145,"name":"getOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7871,"src":"10005:27:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint8_$returns$_t_struct$_Offer_$7196_memory_ptr_$","typeString":"function (address,uint8) view returns (struct NofGammaOffersV4.Offer memory)"}},"id":8149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:51:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"nodeType":"VariableDeclarationStatement","src":"9984:72:23"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8151,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8144,"src":"10066:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":8152,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10072:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"10066:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":8153,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10081:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":8154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10085:6:23","memberName":"sender","nodeType":"MemberAccess","src":"10081:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10066:25:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8159,"nodeType":"IfStatement","src":"10062:58:23","trueBody":{"id":8158,"nodeType":"Block","src":"10093:27:23","statements":[{"expression":{"hexValue":"66616c7365","id":8156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10108:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":8141,"id":8157,"nodeType":"Return","src":"10101:12:23"}]}},{"assignments":[8161],"declarations":[{"constant":false,"id":8161,"mutability":"mutable","name":"result","nameLocation":"10130:6:23","nodeType":"VariableDeclaration","scope":8173,"src":"10125:11:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8160,"name":"bool","nodeType":"ElementaryTypeName","src":"10125:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":8170,"initialValue":{"arguments":[{"expression":{"id":8163,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10171:3:23","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":8164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10175:6:23","memberName":"sender","nodeType":"MemberAccess","src":"10171:10:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8165,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8137,"src":"10183:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":8166,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8144,"src":"10195:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":8167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10201:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"10195:13:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":8168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10210:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8162,"name":"_removeOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8388,"src":"10139:31:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_bool_$","typeString":"function (address,uint8,string memory,bool) returns (bool)"}},"id":8169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10139:77:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"10125:91:23"},{"expression":{"id":8171,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8161,"src":"10229:6:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8141,"id":8172,"nodeType":"Return","src":"10222:13:23"}]},"functionSelector":"3a027073","id":8174,"implemented":true,"kind":"function","modifiers":[],"name":"removeOfferByCardNumber","nameLocation":"9912:23:23","nodeType":"FunctionDefinition","parameters":{"id":8138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8137,"mutability":"mutable","name":"cardNumber","nameLocation":"9942:10:23","nodeType":"VariableDeclaration","scope":8174,"src":"9936:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8136,"name":"uint8","nodeType":"ElementaryTypeName","src":"9936:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9935:18:23"},"returnParameters":{"id":8141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8174,"src":"9972:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8139,"name":"bool","nodeType":"ElementaryTypeName","src":"9972:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9971:6:23"},"scope":8669,"src":"9903:337:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8213,"nodeType":"Block","src":"10361:244:23","statements":[{"assignments":[8187],"declarations":[{"constant":false,"id":8187,"mutability":"mutable","name":"offer","nameLocation":"10380:5:23","nodeType":"VariableDeclaration","scope":8213,"src":"10367:18:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":8186,"nodeType":"UserDefinedTypeName","pathNode":{"id":8185,"name":"Offer","nameLocations":["10367:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"10367:5:23"},"referencedDeclaration":7196,"src":"10367:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"id":8192,"initialValue":{"arguments":[{"id":8189,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8176,"src":"10416:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8190,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8178,"src":"10422:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":8188,"name":"getOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7871,"src":"10388:27:23","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint8_$returns$_t_struct$_Offer_$7196_memory_ptr_$","typeString":"function (address,uint8) view returns (struct NofGammaOffersV4.Offer memory)"}},"id":8191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10388:45:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"nodeType":"VariableDeclarationStatement","src":"10367:66:23"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8193,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8187,"src":"10443:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":8194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10449:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"10443:11:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8195,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8176,"src":"10458:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10443:19:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8200,"nodeType":"IfStatement","src":"10439:52:23","trueBody":{"id":8199,"nodeType":"Block","src":"10464:27:23","statements":[{"expression":{"hexValue":"66616c7365","id":8197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10479:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":8184,"id":8198,"nodeType":"Return","src":"10472:12:23"}]}},{"assignments":[8202],"declarations":[{"constant":false,"id":8202,"mutability":"mutable","name":"result","nameLocation":"10501:6:23","nodeType":"VariableDeclaration","scope":8213,"src":"10496:11:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8201,"name":"bool","nodeType":"ElementaryTypeName","src":"10496:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":8210,"initialValue":{"arguments":[{"id":8204,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8176,"src":"10542:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8205,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8178,"src":"10548:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"expression":{"id":8206,"name":"offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8187,"src":"10560:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"id":8207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10566:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"10560:13:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"66616c7365","id":8208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10575:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8203,"name":"_removeOfferByUserAndCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8388,"src":"10510:31:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_bool_$","typeString":"function (address,uint8,string memory,bool) returns (bool)"}},"id":8209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10510:71:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"10496:85:23"},{"expression":{"id":8211,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8202,"src":"10594:6:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8184,"id":8212,"nodeType":"Return","src":"10587:13:23"}]},"functionSelector":"5bbfbfd6","id":8214,"implemented":true,"kind":"function","modifiers":[{"id":8181,"kind":"modifierInvocation","modifierName":{"id":8180,"name":"onlyOwners","nameLocations":["10335:10:23"],"nodeType":"IdentifierPath","referencedDeclaration":7276,"src":"10335:10:23"},"nodeType":"ModifierInvocation","src":"10335:10:23"}],"name":"removeOfferByUserAndCardNumber","nameLocation":"10253:30:23","nodeType":"FunctionDefinition","parameters":{"id":8179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8176,"mutability":"mutable","name":"user","nameLocation":"10297:4:23","nodeType":"VariableDeclaration","scope":8214,"src":"10289:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8175,"name":"address","nodeType":"ElementaryTypeName","src":"10289:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8178,"mutability":"mutable","name":"cardNumber","nameLocation":"10313:10:23","nodeType":"VariableDeclaration","scope":8214,"src":"10307:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8177,"name":"uint8","nodeType":"ElementaryTypeName","src":"10307:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"10283:44:23"},"returnParameters":{"id":8184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8214,"src":"10355:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8182,"name":"bool","nodeType":"ElementaryTypeName","src":"10355:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10354:6:23"},"scope":8669,"src":"10244:361:23","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":8311,"nodeType":"Block","src":"10693:656:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8223,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"10703:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10719:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10711:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8224,"name":"address","nodeType":"ElementaryTypeName","src":"10711:7:23","typeDescriptions":{}}},"id":8227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10711:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10703:18:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8232,"nodeType":"IfStatement","src":"10699:47:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8229,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"10730:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10730:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8231,"nodeType":"RevertStatement","src":"10723:23:23"}},{"assignments":[8237],"declarations":[{"constant":false,"id":8237,"mutability":"mutable","name":"userOffers","nameLocation":"10769:10:23","nodeType":"VariableDeclaration","scope":8311,"src":"10753:26:23","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":8235,"nodeType":"UserDefinedTypeName","pathNode":{"id":8234,"name":"Offer","nameLocations":["10753:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"10753:5:23"},"referencedDeclaration":7196,"src":"10753:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":8236,"nodeType":"ArrayTypeName","src":"10753:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"id":8241,"initialValue":{"baseExpression":{"id":8238,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"10782:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":8240,"indexExpression":{"id":8239,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"10795:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10782:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10753:47:23"},{"assignments":[8243],"declarations":[{"constant":false,"id":8243,"mutability":"mutable","name":"currentUserOffersCounter","nameLocation":"10814:24:23","nodeType":"VariableDeclaration","scope":8311,"src":"10806:32:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8242,"name":"uint256","nodeType":"ElementaryTypeName","src":"10806:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8247,"initialValue":{"baseExpression":{"id":8244,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"10841:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":8246,"indexExpression":{"id":8245,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"10861:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10841:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10806:60:23"},{"body":{"id":8292,"nodeType":"Block","src":"10928:298:23","statements":[{"assignments":[8259],"declarations":[{"constant":false,"id":8259,"mutability":"mutable","name":"offerId","nameLocation":"10950:7:23","nodeType":"VariableDeclaration","scope":8292,"src":"10936:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8258,"name":"string","nodeType":"ElementaryTypeName","src":"10936:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":8264,"initialValue":{"expression":{"baseExpression":{"id":8260,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8237,"src":"10960:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8262,"indexExpression":{"id":8261,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8249,"src":"10971:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10960:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10974:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"10960:21:23","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10936:45:23"},{"assignments":[8266],"declarations":[{"constant":false,"id":8266,"mutability":"mutable","name":"cardNumber","nameLocation":"10995:10:23","nodeType":"VariableDeclaration","scope":8292,"src":"10989:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8265,"name":"uint8","nodeType":"ElementaryTypeName","src":"10989:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":8271,"initialValue":{"expression":{"baseExpression":{"id":8267,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8237,"src":"11008:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8269,"indexExpression":{"id":8268,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8249,"src":"11019:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11008:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11022:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"11008:24:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"10989:43:23"},{"expression":{"arguments":[{"id":8273,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"11074:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8274,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8266,"src":"11080:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":8275,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8259,"src":"11092:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8272,"name":"_removeOfferFromCardNumberMapping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8555,"src":"11040:33:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint8,string memory)"}},"id":8276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11040:60:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8277,"nodeType":"ExpressionStatement","src":"11040:60:23"},{"expression":{"arguments":[{"id":8279,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8259,"src":"11130:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8278,"name":"_removeOfferByOfferId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8622,"src":"11108:21:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory) returns (bool)"}},"id":8280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11108:30:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8281,"nodeType":"ExpressionStatement","src":"11108:30:23"},{"expression":{"id":8286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8282,"name":"offersByCardNumberCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7220,"src":"11146:25:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":8284,"indexExpression":{"id":8283,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8266,"src":"11172:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11146:37:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":8285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11187:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11146:42:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8287,"nodeType":"ExpressionStatement","src":"11146:42:23"},{"expression":{"id":8290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8288,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"11196:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":8289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11218:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11196:23:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8291,"nodeType":"ExpressionStatement","src":"11196:23:23"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8252,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8249,"src":"10893:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8253,"name":"currentUserOffersCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8243,"src":"10897:24:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10893:28:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8293,"initializationExpression":{"assignments":[8249],"declarations":[{"constant":false,"id":8249,"mutability":"mutable","name":"i","nameLocation":"10886:1:23","nodeType":"VariableDeclaration","scope":8293,"src":"10878:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8248,"name":"uint256","nodeType":"ElementaryTypeName","src":"10878:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8251,"initialValue":{"hexValue":"30","id":8250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10890:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10878:13:23"},"loopExpression":{"expression":{"id":8256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10923:3:23","subExpression":{"id":8255,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8249,"src":"10923:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8257,"nodeType":"ExpressionStatement","src":"10923:3:23"},"nodeType":"ForStatement","src":"10873:353:23"},{"expression":{"id":8297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11232:25:23","subExpression":{"baseExpression":{"id":8294,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"11239:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":8296,"indexExpression":{"id":8295,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"11252:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11239:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8298,"nodeType":"ExpressionStatement","src":"11232:25:23"},{"expression":{"id":8303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8299,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"11263:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":8301,"indexExpression":{"id":8300,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"11283:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11263:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":8302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11291:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11263:29:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8304,"nodeType":"ExpressionStatement","src":"11263:29:23"},{"eventCall":{"arguments":[{"id":8306,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8216,"src":"11322:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8305,"name":"UserOffersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7245,"src":"11304:17:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":8307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11304:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8308,"nodeType":"EmitStatement","src":"11299:28:23"},{"expression":{"hexValue":"74727565","id":8309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11340:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":8222,"id":8310,"nodeType":"Return","src":"11333:11:23"}]},"functionSelector":"fc9e80fc","id":8312,"implemented":true,"kind":"function","modifiers":[{"id":8219,"kind":"modifierInvocation","modifierName":{"id":8218,"name":"onlyCardsContract","nameLocations":["10660:17:23"],"nodeType":"IdentifierPath","referencedDeclaration":7262,"src":"10660:17:23"},"nodeType":"ModifierInvocation","src":"10660:17:23"}],"name":"removeOffersByUser","nameLocation":"10618:18:23","nodeType":"FunctionDefinition","parameters":{"id":8217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8216,"mutability":"mutable","name":"user","nameLocation":"10645:4:23","nodeType":"VariableDeclaration","scope":8312,"src":"10637:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8215,"name":"address","nodeType":"ElementaryTypeName","src":"10637:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10636:14:23"},"returnParameters":{"id":8222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8312,"src":"10687:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8220,"name":"bool","nodeType":"ElementaryTypeName","src":"10687:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10686:6:23"},"scope":8669,"src":"10609:740:23","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8387,"nodeType":"Block","src":"11523:534:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8325,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8314,"src":"11533:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11541:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8326,"name":"address","nodeType":"ElementaryTypeName","src":"11541:7:23","typeDescriptions":{}}},"id":8329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11541:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11533:18:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8334,"nodeType":"IfStatement","src":"11529:47:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8331,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7090,"src":"11560:14:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11560:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8333,"nodeType":"RevertStatement","src":"11553:23:23"}},{"expression":{"arguments":[{"id":8336,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8314,"src":"11611:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8337,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"11617:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":8338,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8318,"src":"11629:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8335,"name":"_removeOfferFromUserMapping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8472,"src":"11583:27:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint8,string memory)"}},"id":8339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11583:54:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8340,"nodeType":"ExpressionStatement","src":"11583:54:23"},{"expression":{"arguments":[{"id":8342,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8314,"src":"11677:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8343,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"11683:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":8344,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8318,"src":"11695:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8341,"name":"_removeOfferFromCardNumberMapping","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8555,"src":"11643:33:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint8,string memory)"}},"id":8345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11643:60:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8346,"nodeType":"ExpressionStatement","src":"11643:60:23"},{"expression":{"arguments":[{"id":8348,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8318,"src":"11731:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8347,"name":"_removeOfferByOfferId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8622,"src":"11709:21:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory) returns (bool)"}},"id":8349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11709:30:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8350,"nodeType":"ExpressionStatement","src":"11709:30:23"},{"expression":{"id":8355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8351,"name":"offersByUserCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7216,"src":"11745:19:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":8353,"indexExpression":{"id":8352,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8314,"src":"11765:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11745:25:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":8354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11774:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11745:30:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8356,"nodeType":"ExpressionStatement","src":"11745:30:23"},{"expression":{"id":8361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8357,"name":"offersByCardNumberCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7220,"src":"11781:25:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint256_$","typeString":"mapping(uint8 => uint256)"}},"id":8359,"indexExpression":{"id":8358,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"11807:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11781:37:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":8360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11822:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11781:42:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8362,"nodeType":"ExpressionStatement","src":"11781:42:23"},{"expression":{"id":8365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8363,"name":"offersTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7222,"src":"11829:18:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":8364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11851:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11829:23:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8366,"nodeType":"ExpressionStatement","src":"11829:23:23"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8367,"name":"removeCardInInventoryWhenOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"11863:30:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11897:25:23","subExpression":{"id":8368,"name":"fromConfirmOfferExchange","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8320,"src":"11898:24:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11863:59:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8379,"nodeType":"IfStatement","src":"11859:135:23","trueBody":{"id":8378,"nodeType":"Block","src":"11924:70:23","statements":[{"expression":{"arguments":[{"id":8374,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8314,"src":"11970:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8375,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"11976:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":8371,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"11932:18:23","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$7151","typeString":"contract IGammaCardsContract"}},"id":8373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11951:18:23","memberName":"restoreCardByOffer","nodeType":"MemberAccess","referencedDeclaration":7139,"src":"11932:37:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8) external"}},"id":8376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11932:55:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8377,"nodeType":"ExpressionStatement","src":"11932:55:23"}]}},{"eventCall":{"arguments":[{"id":8381,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8314,"src":"12018:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8382,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"12024:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":8380,"name":"OfferRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"12005:12:23","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8)"}},"id":8383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12005:30:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8384,"nodeType":"EmitStatement","src":"12000:35:23"},{"expression":{"hexValue":"74727565","id":8385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12048:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":8324,"id":8386,"nodeType":"Return","src":"12041:11:23"}]},"id":8388,"implemented":true,"kind":"function","modifiers":[],"name":"_removeOfferByUserAndCardNumber","nameLocation":"11362:31:23","nodeType":"FunctionDefinition","parameters":{"id":8321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8314,"mutability":"mutable","name":"user","nameLocation":"11407:4:23","nodeType":"VariableDeclaration","scope":8388,"src":"11399:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8313,"name":"address","nodeType":"ElementaryTypeName","src":"11399:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8316,"mutability":"mutable","name":"cardNumber","nameLocation":"11423:10:23","nodeType":"VariableDeclaration","scope":8388,"src":"11417:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8315,"name":"uint8","nodeType":"ElementaryTypeName","src":"11417:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8318,"mutability":"mutable","name":"offerId","nameLocation":"11453:7:23","nodeType":"VariableDeclaration","scope":8388,"src":"11439:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8317,"name":"string","nodeType":"ElementaryTypeName","src":"11439:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8320,"mutability":"mutable","name":"fromConfirmOfferExchange","nameLocation":"11471:24:23","nodeType":"VariableDeclaration","scope":8388,"src":"11466:29:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8319,"name":"bool","nodeType":"ElementaryTypeName","src":"11466:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11393:106:23"},"returnParameters":{"id":8324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8388,"src":"11517:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8322,"name":"bool","nodeType":"ElementaryTypeName","src":"11517:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11516:6:23"},"scope":8669,"src":"11353:704:23","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":8471,"nodeType":"Block","src":"12177:480:23","statements":[{"assignments":[8401],"declarations":[{"constant":false,"id":8401,"mutability":"mutable","name":"userOffers","nameLocation":"12199:10:23","nodeType":"VariableDeclaration","scope":8471,"src":"12183:26:23","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":8399,"nodeType":"UserDefinedTypeName","pathNode":{"id":8398,"name":"Offer","nameLocations":["12183:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"12183:5:23"},"referencedDeclaration":7196,"src":"12183:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":8400,"nodeType":"ArrayTypeName","src":"12183:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"id":8405,"initialValue":{"baseExpression":{"id":8402,"name":"offersByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"12212:12:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":8404,"indexExpression":{"id":8403,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8390,"src":"12225:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12212:18:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12183:47:23"},{"body":{"id":8469,"nodeType":"Block","src":"12284:369:23","statements":[{"condition":{"arguments":[{"expression":{"baseExpression":{"id":8418,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12309:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8420,"indexExpression":{"id":8419,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12320:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12309:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12323:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"12309:21:23","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"id":8422,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8394,"src":"12332:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8417,"name":"_sameOfferId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8668,"src":"12296:12:23","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":8423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12296:44:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8468,"nodeType":"IfStatement","src":"12292:355:23","trueBody":{"id":8467,"nodeType":"Block","src":"12342:305:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":8424,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12356:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8426,"indexExpression":{"id":8425,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12367:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12356:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12370:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"12356:19:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8428,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8390,"src":"12379:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12356:27:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":8435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":8430,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12387:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8432,"indexExpression":{"id":8431,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12398:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12387:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12401:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"12387:24:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8434,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8392,"src":"12415:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12387:38:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12356:69:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8440,"nodeType":"IfStatement","src":"12352:131:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8437,"name":"RemoveOfferFromUserMapping_DoNotMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7112,"src":"12444:37:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12444:39:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8439,"nodeType":"RevertStatement","src":"12437:46:23"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8441,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12497:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8442,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12502:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12513:6:23","memberName":"length","nodeType":"MemberAccess","src":"12502:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12522:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12502:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8446,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12501:23:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12497:27:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8460,"nodeType":"IfStatement","src":"12493:105:23","trueBody":{"id":8459,"nodeType":"Block","src":"12526:72:23","statements":[{"expression":{"id":8457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8448,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12538:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8450,"indexExpression":{"id":8449,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12549:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12538:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":8451,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12554:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8456,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8452,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12565:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12576:6:23","memberName":"length","nodeType":"MemberAccess","src":"12565:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12585:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12565:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12554:33:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"src":"12538:49:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8458,"nodeType":"ExpressionStatement","src":"12538:49:23"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8461,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12607:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12618:3:23","memberName":"pop","nodeType":"MemberAccess","src":"12607:14:23","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaOffersV4.Offer storage ref[] storage pointer)"}},"id":8464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12607:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8465,"nodeType":"ExpressionStatement","src":"12607:16:23"},{"id":8466,"nodeType":"Break","src":"12633:5:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8410,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12256:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8411,"name":"userOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8401,"src":"12260:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12271:6:23","memberName":"length","nodeType":"MemberAccess","src":"12260:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12256:21:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8470,"initializationExpression":{"assignments":[8407],"declarations":[{"constant":false,"id":8407,"mutability":"mutable","name":"i","nameLocation":"12249:1:23","nodeType":"VariableDeclaration","scope":8470,"src":"12241:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8406,"name":"uint256","nodeType":"ElementaryTypeName","src":"12241:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8409,"initialValue":{"hexValue":"30","id":8408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12253:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12241:13:23"},"loopExpression":{"expression":{"id":8415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12279:3:23","subExpression":{"id":8414,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8407,"src":"12279:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8416,"nodeType":"ExpressionStatement","src":"12279:3:23"},"nodeType":"ForStatement","src":"12236:417:23"}]},"id":8472,"implemented":true,"kind":"function","modifiers":[],"name":"_removeOfferFromUserMapping","nameLocation":"12070:27:23","nodeType":"FunctionDefinition","parameters":{"id":8395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8390,"mutability":"mutable","name":"user","nameLocation":"12111:4:23","nodeType":"VariableDeclaration","scope":8472,"src":"12103:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8389,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8392,"mutability":"mutable","name":"cardNumber","nameLocation":"12127:10:23","nodeType":"VariableDeclaration","scope":8472,"src":"12121:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8391,"name":"uint8","nodeType":"ElementaryTypeName","src":"12121:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8394,"mutability":"mutable","name":"offerId","nameLocation":"12157:7:23","nodeType":"VariableDeclaration","scope":8472,"src":"12143:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8393,"name":"string","nodeType":"ElementaryTypeName","src":"12143:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12097:71:23"},"returnParameters":{"id":8396,"nodeType":"ParameterList","parameters":[],"src":"12177:0:23"},"scope":8669,"src":"12061:596:23","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":8554,"nodeType":"Block","src":"12783:498:23","statements":[{"assignments":[8485],"declarations":[{"constant":false,"id":8485,"mutability":"mutable","name":"cardOffers","nameLocation":"12805:10:23","nodeType":"VariableDeclaration","scope":8554,"src":"12789:26:23","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"},"typeName":{"baseType":{"id":8483,"nodeType":"UserDefinedTypeName","pathNode":{"id":8482,"name":"Offer","nameLocations":["12789:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"12789:5:23"},"referencedDeclaration":7196,"src":"12789:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"id":8484,"nodeType":"ArrayTypeName","src":"12789:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer[]"}},"visibility":"internal"}],"id":8489,"initialValue":{"baseExpression":{"id":8486,"name":"offersByCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7212,"src":"12818:18:23","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_$","typeString":"mapping(uint8 => struct NofGammaOffersV4.Offer storage ref[] storage ref)"}},"id":8488,"indexExpression":{"id":8487,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"12837:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12818:30:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12789:59:23"},{"body":{"id":8552,"nodeType":"Block","src":"12903:374:23","statements":[{"condition":{"arguments":[{"expression":{"baseExpression":{"id":8502,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"12928:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8504,"indexExpression":{"id":8503,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"12939:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12928:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12942:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"12928:21:23","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"id":8506,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8478,"src":"12951:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8501,"name":"_sameOfferId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8668,"src":"12915:12:23","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":8507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12915:44:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8551,"nodeType":"IfStatement","src":"12911:360:23","trueBody":{"id":8550,"nodeType":"Block","src":"12961:310:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":8508,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"12975:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8510,"indexExpression":{"id":8509,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"12986:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12975:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12989:5:23","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":7193,"src":"12975:19:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8512,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8474,"src":"12998:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12975:27:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":8519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":8514,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"13006:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8516,"indexExpression":{"id":8515,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"13017:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13006:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13020:10:23","memberName":"cardNumber","nodeType":"MemberAccess","referencedDeclaration":7188,"src":"13006:24:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8518,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8476,"src":"13034:10:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"13006:38:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12975:69:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8524,"nodeType":"IfStatement","src":"12971:137:23","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8521,"name":"RemoveOfferFromCardNumberMapping_DoNotMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7114,"src":"13063:43:23","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13063:45:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8523,"nodeType":"RevertStatement","src":"13056:52:23"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8525,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"13123:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8526,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"13127:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13138:6:23","memberName":"length","nodeType":"MemberAccess","src":"13127:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13147:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13127:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13123:25:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8543,"nodeType":"IfStatement","src":"13119:103:23","trueBody":{"id":8542,"nodeType":"Block","src":"13150:72:23","statements":[{"expression":{"id":8540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8531,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"13162:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8533,"indexExpression":{"id":8532,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"13173:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13162:13:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":8534,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"13178:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8539,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8535,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"13189:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13200:6:23","memberName":"length","nodeType":"MemberAccess","src":"13189:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13209:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13189:21:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13178:33:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"src":"13162:49:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8541,"nodeType":"ExpressionStatement","src":"13162:49:23"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8544,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"13231:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13242:3:23","memberName":"pop","nodeType":"MemberAccess","src":"13231:14:23","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaOffersV4.Offer storage ref[] storage pointer)"}},"id":8547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13231:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8548,"nodeType":"ExpressionStatement","src":"13231:16:23"},{"id":8549,"nodeType":"Break","src":"13257:5:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8494,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"12875:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8495,"name":"cardOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8485,"src":"12879:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage pointer"}},"id":8496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12890:6:23","memberName":"length","nodeType":"MemberAccess","src":"12879:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12875:21:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8553,"initializationExpression":{"assignments":[8491],"declarations":[{"constant":false,"id":8491,"mutability":"mutable","name":"i","nameLocation":"12868:1:23","nodeType":"VariableDeclaration","scope":8553,"src":"12860:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8490,"name":"uint256","nodeType":"ElementaryTypeName","src":"12860:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8493,"initialValue":{"hexValue":"30","id":8492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12872:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12860:13:23"},"loopExpression":{"expression":{"id":8499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12898:3:23","subExpression":{"id":8498,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8491,"src":"12898:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8500,"nodeType":"ExpressionStatement","src":"12898:3:23"},"nodeType":"ForStatement","src":"12855:422:23"}]},"id":8555,"implemented":true,"kind":"function","modifiers":[],"name":"_removeOfferFromCardNumberMapping","nameLocation":"12670:33:23","nodeType":"FunctionDefinition","parameters":{"id":8479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8474,"mutability":"mutable","name":"user","nameLocation":"12717:4:23","nodeType":"VariableDeclaration","scope":8555,"src":"12709:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8473,"name":"address","nodeType":"ElementaryTypeName","src":"12709:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8476,"mutability":"mutable","name":"cardNumber","nameLocation":"12733:10:23","nodeType":"VariableDeclaration","scope":8555,"src":"12727:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8475,"name":"uint8","nodeType":"ElementaryTypeName","src":"12727:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":8478,"mutability":"mutable","name":"offerId","nameLocation":"12763:7:23","nodeType":"VariableDeclaration","scope":8555,"src":"12749:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8477,"name":"string","nodeType":"ElementaryTypeName","src":"12749:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12703:71:23"},"returnParameters":{"id":8480,"nodeType":"ParameterList","parameters":[],"src":"12783:0:23"},"scope":8669,"src":"12661:620:23","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":8621,"nodeType":"Block","src":"13362:324:23","statements":[{"assignments":[8563],"declarations":[{"constant":false,"id":8563,"mutability":"mutable","name":"deleted","nameLocation":"13373:7:23","nodeType":"VariableDeclaration","scope":8621,"src":"13368:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8562,"name":"bool","nodeType":"ElementaryTypeName","src":"13368:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":8565,"initialValue":{"hexValue":"66616c7365","id":8564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13383:5:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"13368:20:23"},{"body":{"id":8617,"nodeType":"Block","src":"13438:224:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8577,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"13450:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8578,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13454:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13461:6:23","memberName":"length","nodeType":"MemberAccess","src":"13454:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13450:17:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"expression":{"baseExpression":{"id":8582,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13484:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8584,"indexExpression":{"id":8583,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"13491:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13484:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13494:7:23","memberName":"offerId","nodeType":"MemberAccess","referencedDeclaration":7186,"src":"13484:17:23","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"id":8586,"name":"offerId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8557,"src":"13503:7:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8581,"name":"_sameOfferId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8668,"src":"13471:12:23","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":8587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13471:40:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13450:61:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8616,"nodeType":"IfStatement","src":"13446:210:23","trueBody":{"id":8615,"nodeType":"Block","src":"13513:143:23","statements":[{"expression":{"id":8592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"13523:16:23","subExpression":{"baseExpression":{"id":8589,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13530:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8591,"indexExpression":{"id":8590,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"13537:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13530:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8593,"nodeType":"ExpressionStatement","src":"13523:16:23"},{"expression":{"id":8603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":8594,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13549:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8596,"indexExpression":{"id":8595,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"13556:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13549:9:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":8597,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13561:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8602,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8598,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13568:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13575:6:23","memberName":"length","nodeType":"MemberAccess","src":"13568:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":8600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13584:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13568:17:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13561:25:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"src":"13549:37:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage","typeString":"struct NofGammaOffersV4.Offer storage ref"}},"id":8604,"nodeType":"ExpressionStatement","src":"13549:37:23"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":8605,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13596:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13603:3:23","memberName":"pop","nodeType":"MemberAccess","src":"13596:10:23","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_struct$_Offer_$7196_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaOffersV4.Offer storage ref[] storage pointer)"}},"id":8608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13596:12:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8609,"nodeType":"ExpressionStatement","src":"13596:12:23"},{"expression":{"id":8612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8610,"name":"deleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8563,"src":"13618:7:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":8611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13628:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13618:14:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8613,"nodeType":"ExpressionStatement","src":"13618:14:23"},{"id":8614,"nodeType":"Break","src":"13642:5:23"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8570,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"13414:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8571,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"13418:6:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Offer_$7196_storage_$dyn_storage","typeString":"struct NofGammaOffersV4.Offer storage ref[] storage ref"}},"id":8572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13425:6:23","memberName":"length","nodeType":"MemberAccess","src":"13418:13:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13414:17:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8618,"initializationExpression":{"assignments":[8567],"declarations":[{"constant":false,"id":8567,"mutability":"mutable","name":"j","nameLocation":"13407:1:23","nodeType":"VariableDeclaration","scope":8618,"src":"13399:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8566,"name":"uint256","nodeType":"ElementaryTypeName","src":"13399:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8569,"initialValue":{"hexValue":"30","id":8568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13411:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13399:13:23"},"loopExpression":{"expression":{"id":8575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13433:3:23","subExpression":{"id":8574,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8567,"src":"13433:1:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8576,"nodeType":"ExpressionStatement","src":"13433:3:23"},"nodeType":"ForStatement","src":"13394:268:23"},{"expression":{"id":8619,"name":"deleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8563,"src":"13674:7:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8561,"id":8620,"nodeType":"Return","src":"13667:14:23"}]},"id":8622,"implemented":true,"kind":"function","modifiers":[],"name":"_removeOfferByOfferId","nameLocation":"13294:21:23","nodeType":"FunctionDefinition","parameters":{"id":8558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8557,"mutability":"mutable","name":"offerId","nameLocation":"13330:7:23","nodeType":"VariableDeclaration","scope":8622,"src":"13316:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8556,"name":"string","nodeType":"ElementaryTypeName","src":"13316:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13315:23:23"},"returnParameters":{"id":8561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8622,"src":"13356:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8559,"name":"bool","nodeType":"ElementaryTypeName","src":"13356:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13355:6:23"},"scope":8669,"src":"13285:401:23","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":8643,"nodeType":"Block","src":"13750:61:23","statements":[{"expression":{"arguments":[{"hexValue":"","id":8629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13769:2:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":8630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13773:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":8634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13788:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13776:11:23","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":8631,"name":"uint8","nodeType":"ElementaryTypeName","src":"13780:5:23","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":8632,"nodeType":"ArrayTypeName","src":"13780:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":8635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13776:14:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"arguments":[{"hexValue":"30","id":8638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13800:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13792:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8636,"name":"address","nodeType":"ElementaryTypeName","src":"13792:7:23","typeDescriptions":{}}},"id":8639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13792:10:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":8640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13804:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8628,"name":"Offer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"13763:5:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Offer_$7196_storage_ptr_$","typeString":"type(struct NofGammaOffersV4.Offer storage pointer)"}},"id":8641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13763:43:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer memory"}},"functionReturnParameters":8627,"id":8642,"nodeType":"Return","src":"13756:50:23"}]},"id":8644,"implemented":true,"kind":"function","modifiers":[],"name":"_emptyOffer","nameLocation":"13699:11:23","nodeType":"FunctionDefinition","parameters":{"id":8623,"nodeType":"ParameterList","parameters":[],"src":"13710:2:23"},"returnParameters":{"id":8627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8644,"src":"13736:12:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_memory_ptr","typeString":"struct NofGammaOffersV4.Offer"},"typeName":{"id":8625,"nodeType":"UserDefinedTypeName","pathNode":{"id":8624,"name":"Offer","nameLocations":["13736:5:23"],"nodeType":"IdentifierPath","referencedDeclaration":7196,"src":"13736:5:23"},"referencedDeclaration":7196,"src":"13736:5:23","typeDescriptions":{"typeIdentifier":"t_struct$_Offer_$7196_storage_ptr","typeString":"struct NofGammaOffersV4.Offer"}},"visibility":"internal"}],"src":"13735:14:23"},"scope":8669,"src":"13690:121:23","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8667,"nodeType":"Block","src":"13926:96:23","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":8656,"name":"offerId1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8646,"src":"13966:8:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13949:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13953:12:23","memberName":"encodePacked","nodeType":"MemberAccess","src":"13949:16:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13949:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8653,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"13939:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13939:37:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":8662,"name":"offerId2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8648,"src":"14007:8:23","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13990:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13994:12:23","memberName":"encodePacked","nodeType":"MemberAccess","src":"13990:16:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13990:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8659,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"13980:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13980:37:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13939:78:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8652,"id":8666,"nodeType":"Return","src":"13932:85:23"}]},"id":8668,"implemented":true,"kind":"function","modifiers":[],"name":"_sameOfferId","nameLocation":"13824:12:23","nodeType":"FunctionDefinition","parameters":{"id":8649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8646,"mutability":"mutable","name":"offerId1","nameLocation":"13856:8:23","nodeType":"VariableDeclaration","scope":8668,"src":"13842:22:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8645,"name":"string","nodeType":"ElementaryTypeName","src":"13842:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8648,"mutability":"mutable","name":"offerId2","nameLocation":"13884:8:23","nodeType":"VariableDeclaration","scope":8668,"src":"13870:22:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8647,"name":"string","nodeType":"ElementaryTypeName","src":"13870:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13836:60:23"},"returnParameters":{"id":8652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8651,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8668,"src":"13920:4:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8650,"name":"bool","nodeType":"ElementaryTypeName","src":"13920:4:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13919:6:23"},"scope":8669,"src":"13815:207:23","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":8670,"src":"1095:12929:23","usedErrors":[7086,7088,7090,7092,7094,7096,7098,7100,7102,7104,7106,7108,7110,7112,7114,7116],"usedEvents":[13,7226,7235,7241,7245,7247]}],"src":"32:13993:23"},"id":23},"contracts/gamma/GammaPacks.v3.sol":{"ast":{"absolutePath":"contracts/gamma/GammaPacks.v3.sol","exportedSymbols":{"ContractAddressNotSet":[8701],"IERC20":[218],"IGammaCardsContract":[8712],"IgammaTicketsContract":[8727],"InsufficientAllowance":[8695],"InsufficientBalance":[8697],"InsufficientPacksAvailable":[8689],"InvalidAddress":[8685],"InvalidNumberOfPacks":[8687],"LibControlMgmt":[10534],"NofGammaPacksV3":[9825],"NotGammaCardsContract":[8681],"NotYourPack":[8699],"Ownable":[112],"OwnlyOwners":[8683],"TransferPrizeError":[8693],"console":[21215]},"id":9826,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":8671,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:24"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","id":8673,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9826,"sourceUnit":219,"src":"58:70:24","symbolAliases":[{"foreign":{"id":8672,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"66:6:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","id":8675,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9826,"sourceUnit":113,"src":"129:67:24","symbolAliases":[{"foreign":{"id":8674,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"137:7:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","file":"./libs/LibControlMgmt.sol","id":8677,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9826,"sourceUnit":10535,"src":"197:57:24","symbolAliases":[{"foreign":{"id":8676,"name":"LibControlMgmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10534,"src":"205:14:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"hardhat/console.sol","file":"hardhat/console.sol","id":8679,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":9826,"sourceUnit":21216,"src":"255:44:24","symbolAliases":[{"foreign":{"id":8678,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21215,"src":"263:7:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"errorSelector":"f8d39bd0","id":8681,"name":"NotGammaCardsContract","nameLocation":"307:21:24","nodeType":"ErrorDefinition","parameters":{"id":8680,"nodeType":"ParameterList","parameters":[],"src":"328:2:24"},"src":"301:30:24"},{"errorSelector":"c19d0f48","id":8683,"name":"OwnlyOwners","nameLocation":"338:11:24","nodeType":"ErrorDefinition","parameters":{"id":8682,"nodeType":"ParameterList","parameters":[],"src":"349:2:24"},"src":"332:20:24"},{"errorSelector":"e6c4247b","id":8685,"name":"InvalidAddress","nameLocation":"359:14:24","nodeType":"ErrorDefinition","parameters":{"id":8684,"nodeType":"ParameterList","parameters":[],"src":"373:2:24"},"src":"353:23:24"},{"errorSelector":"2ec760a5","id":8687,"name":"InvalidNumberOfPacks","nameLocation":"383:20:24","nodeType":"ErrorDefinition","parameters":{"id":8686,"nodeType":"ParameterList","parameters":[],"src":"403:2:24"},"src":"377:29:24"},{"errorSelector":"7c5a3c39","id":8689,"name":"InsufficientPacksAvailable","nameLocation":"413:26:24","nodeType":"ErrorDefinition","parameters":{"id":8688,"nodeType":"ParameterList","parameters":[],"src":"439:2:24"},"src":"407:35:24"},{"errorSelector":"2f5f923c","id":8693,"name":"TransferPrizeError","nameLocation":"449:18:24","nodeType":"ErrorDefinition","parameters":{"id":8692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8691,"mutability":"mutable","name":"_to","nameLocation":"476:3:24","nodeType":"VariableDeclaration","scope":8693,"src":"468:11:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8690,"name":"address","nodeType":"ElementaryTypeName","src":"468:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"467:13:24"},"src":"443:38:24"},{"errorSelector":"13be252b","id":8695,"name":"InsufficientAllowance","nameLocation":"488:21:24","nodeType":"ErrorDefinition","parameters":{"id":8694,"nodeType":"ParameterList","parameters":[],"src":"509:2:24"},"src":"482:30:24"},{"errorSelector":"f4d678b8","id":8697,"name":"InsufficientBalance","nameLocation":"519:19:24","nodeType":"ErrorDefinition","parameters":{"id":8696,"nodeType":"ParameterList","parameters":[],"src":"538:2:24"},"src":"513:28:24"},{"errorSelector":"7f6ecdf5","id":8699,"name":"NotYourPack","nameLocation":"548:11:24","nodeType":"ErrorDefinition","parameters":{"id":8698,"nodeType":"ParameterList","parameters":[],"src":"559:2:24"},"src":"542:20:24"},{"errorSelector":"9802ff18","id":8701,"name":"ContractAddressNotSet","nameLocation":"569:21:24","nodeType":"ErrorDefinition","parameters":{"id":8700,"nodeType":"ParameterList","parameters":[],"src":"590:2:24"},"src":"563:30:24"},{"abstract":false,"baseContracts":[],"canonicalName":"IGammaCardsContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":8712,"linearizedBaseContracts":[8712],"name":"IGammaCardsContract","nameLocation":"605:19:24","nodeType":"ContractDefinition","nodes":[{"functionSelector":"5e31ce48","id":8706,"implemented":false,"kind":"function","modifiers":[],"name":"setPrizesBalance","nameLocation":"638:16:24","nodeType":"FunctionDefinition","parameters":{"id":8704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8703,"mutability":"mutable","name":"amount","nameLocation":"663:6:24","nodeType":"VariableDeclaration","scope":8706,"src":"655:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8702,"name":"uint256","nodeType":"ElementaryTypeName","src":"655:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"654:16:24"},"returnParameters":{"id":8705,"nodeType":"ParameterList","parameters":[],"src":"679:0:24"},"scope":8712,"src":"629:51:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"e1883c6e","id":8711,"implemented":false,"kind":"function","modifiers":[],"name":"changePackPrice","nameLocation":"693:15:24","nodeType":"FunctionDefinition","parameters":{"id":8709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8708,"mutability":"mutable","name":"amount","nameLocation":"717:6:24","nodeType":"VariableDeclaration","scope":8711,"src":"709:14:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8707,"name":"uint256","nodeType":"ElementaryTypeName","src":"709:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"708:16:24"},"returnParameters":{"id":8710,"nodeType":"ParameterList","parameters":[],"src":"733:0:24"},"scope":8712,"src":"684:50:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":9826,"src":"595:141:24","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaTicketsContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":8727,"linearizedBaseContracts":[8727],"name":"IgammaTicketsContract","nameLocation":"748:21:24","nodeType":"ContractDefinition","nodes":[{"functionSelector":"b2d55c1c","id":8723,"implemented":false,"kind":"function","modifiers":[],"name":"getLotteryWinner","nameLocation":"783:16:24","nodeType":"FunctionDefinition","parameters":{"id":8713,"nodeType":"ParameterList","parameters":[],"src":"799:2:24"},"returnParameters":{"id":8722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8715,"mutability":"mutable","name":"timestamp","nameLocation":"836:9:24","nodeType":"VariableDeclaration","scope":8723,"src":"828:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8714,"name":"uint256","nodeType":"ElementaryTypeName","src":"828:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8717,"mutability":"mutable","name":"ticketId","nameLocation":"855:8:24","nodeType":"VariableDeclaration","scope":8723,"src":"847:16:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"847:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8719,"mutability":"mutable","name":"ticketCounter","nameLocation":"873:13:24","nodeType":"VariableDeclaration","scope":8723,"src":"865:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8718,"name":"uint256","nodeType":"ElementaryTypeName","src":"865:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8721,"mutability":"mutable","name":"user","nameLocation":"896:4:24","nodeType":"VariableDeclaration","scope":8723,"src":"888:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8720,"name":"address","nodeType":"ElementaryTypeName","src":"888:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"827:74:24"},"scope":8727,"src":"774:128:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"306e4118","id":8726,"implemented":false,"kind":"function","modifiers":[],"name":"deleteAllTickets","nameLocation":"915:16:24","nodeType":"FunctionDefinition","parameters":{"id":8724,"nodeType":"ParameterList","parameters":[],"src":"931:2:24"},"returnParameters":{"id":8725,"nodeType":"ParameterList","parameters":[],"src":"942:0:24"},"scope":8727,"src":"906:37:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":9826,"src":"738:207:24","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":8728,"name":"Ownable","nameLocations":["975:7:24"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"975:7:24"},"id":8729,"nodeType":"InheritanceSpecifier","src":"975:7:24"}],"canonicalName":"NofGammaPacksV3","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":9825,"linearizedBaseContracts":[9825,112,1852],"name":"NofGammaPacksV3","nameLocation":"956:15:24","nodeType":"ContractDefinition","nodes":[{"global":false,"id":8733,"libraryName":{"id":8730,"name":"LibControlMgmt","nameLocations":["993:14:24"],"nodeType":"IdentifierPath","referencedDeclaration":10534,"src":"993:14:24"},"nodeType":"UsingForDirective","src":"987:45:24","typeName":{"id":8732,"nodeType":"UserDefinedTypeName","pathNode":{"id":8731,"name":"LibControlMgmt.Data","nameLocations":["1012:14:24","1027:4:24"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1012:19:24"},"referencedDeclaration":10343,"src":"1012:19:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}}},{"constant":false,"functionSelector":"d250f03a","id":8736,"mutability":"mutable","name":"gammaCardsContract","nameLocation":"1063:18:24","nodeType":"VariableDeclaration","scope":9825,"src":"1036:45:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"},"typeName":{"id":8735,"nodeType":"UserDefinedTypeName","pathNode":{"id":8734,"name":"IGammaCardsContract","nameLocations":["1036:19:24"],"nodeType":"IdentifierPath","referencedDeclaration":8712,"src":"1036:19:24"},"referencedDeclaration":8712,"src":"1036:19:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"visibility":"public"},{"constant":false,"functionSelector":"14cca36a","id":8739,"mutability":"mutable","name":"gammaTicketsContract","nameLocation":"1114:20:24","nodeType":"VariableDeclaration","scope":9825,"src":"1085:49:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"},"typeName":{"id":8738,"nodeType":"UserDefinedTypeName","pathNode":{"id":8737,"name":"IgammaTicketsContract","nameLocations":["1085:21:24"],"nodeType":"IdentifierPath","referencedDeclaration":8727,"src":"1085:21:24"},"referencedDeclaration":8727,"src":"1085:21:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"visibility":"public"},{"constant":false,"id":8742,"mutability":"mutable","name":"ownersData","nameLocation":"1167:10:24","nodeType":"VariableDeclaration","scope":9825,"src":"1139:38:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":8741,"nodeType":"UserDefinedTypeName","pathNode":{"id":8740,"name":"LibControlMgmt.Data","nameLocations":["1139:14:24","1154:4:24"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1139:19:24"},"referencedDeclaration":10343,"src":"1139:19:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"constant":false,"functionSelector":"e606df87","id":8744,"mutability":"mutable","name":"DAI_TOKEN","nameLocation":"1197:9:24","nodeType":"VariableDeclaration","scope":9825,"src":"1182:24:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8743,"name":"address","nodeType":"ElementaryTypeName","src":"1182:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"c34e8af4","id":8746,"mutability":"mutable","name":"s_balanceReceiver","nameLocation":"1225:17:24","nodeType":"VariableDeclaration","scope":9825,"src":"1210:32:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8745,"name":"address","nodeType":"ElementaryTypeName","src":"1210:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":true,"functionSelector":"94a08c69","id":8749,"mutability":"constant","name":"TOTALSUPPLY","nameLocation":"1270:11:24","nodeType":"VariableDeclaration","scope":9825,"src":"1246:43:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8747,"name":"uint256","nodeType":"ElementaryTypeName","src":"1246:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3530303030","id":8748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1284:5:24","typeDescriptions":{"typeIdentifier":"t_rational_50000_by_1","typeString":"int_const 50000"},"value":"50000"},"visibility":"public"},{"constant":false,"functionSelector":"656bd0ad","id":8752,"mutability":"mutable","name":"s_packPrice","nameLocation":"1308:11:24","nodeType":"VariableDeclaration","scope":9825,"src":"1293:34:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8750,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3132653137","id":8751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1322:5:24","typeDescriptions":{"typeIdentifier":"t_rational_1200000000000000000_by_1","typeString":"int_const 1200000000000000000"},"value":"12e17"},"visibility":"public"},{"constant":false,"id":8755,"mutability":"mutable","name":"s_packsCounter","nameLocation":"1358:14:24","nodeType":"VariableDeclaration","scope":9825,"src":"1342:34:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8753,"name":"uint256","nodeType":"ElementaryTypeName","src":"1342:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":8754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1375:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":false,"id":8758,"mutability":"mutable","name":"s_transferDai","nameLocation":"1385:13:24","nodeType":"VariableDeclaration","scope":9825,"src":"1380:25:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8756,"name":"bool","nodeType":"ElementaryTypeName","src":"1380:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":8757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1401:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"internal"},{"constant":false,"functionSelector":"3cd626fd","id":8762,"mutability":"mutable","name":"s_packs","nameLocation":"1459:7:24","nodeType":"VariableDeclaration","scope":9825,"src":"1410:56:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":8761,"keyName":"tokenId","keyNameLocation":"1426:7:24","keyType":{"id":8759,"name":"uint256","nodeType":"ElementaryTypeName","src":"1418:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1410:41:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"owner","valueNameLocation":"1445:5:24","valueType":{"id":8760,"name":"address","nodeType":"ElementaryTypeName","src":"1437:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"constant":false,"functionSelector":"d9e8221e","id":8767,"mutability":"mutable","name":"s_packsByUser","nameLocation":"1522:13:24","nodeType":"VariableDeclaration","scope":9825,"src":"1470:65:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":8766,"keyName":"owner","keyNameLocation":"1486:5:24","keyType":{"id":8763,"name":"address","nodeType":"ElementaryTypeName","src":"1478:7:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1470:44:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"tokenIds","valueNameLocation":"1505:8:24","valueType":{"baseType":{"id":8764,"name":"uint256","nodeType":"ElementaryTypeName","src":"1495:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8765,"nodeType":"ArrayTypeName","src":"1495:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa","id":8771,"name":"NewGammaCardsContract","nameLocation":"1546:21:24","nodeType":"EventDefinition","parameters":{"id":8770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8769,"indexed":true,"mutability":"mutable","name":"newCardsContract","nameLocation":"1584:16:24","nodeType":"VariableDeclaration","scope":8771,"src":"1568:32:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8768,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:34:24"},"src":"1540:62:24"},{"anonymous":false,"eventSelector":"563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa202","id":8775,"name":"NewGammaTicketsContract","nameLocation":"1611:23:24","nodeType":"EventDefinition","parameters":{"id":8774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8773,"indexed":true,"mutability":"mutable","name":"newGammaTicketContract","nameLocation":"1651:22:24","nodeType":"VariableDeclaration","scope":8775,"src":"1635:38:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8772,"name":"address","nodeType":"ElementaryTypeName","src":"1635:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1634:40:24"},"src":"1605:70:24"},{"anonymous":false,"eventSelector":"7161c7a7090d78e8031fca87e845a86b39e0eb9c15436933d2d4ce7f4520c4a5","id":8779,"name":"NewBalanceReceiver","nameLocation":"1684:18:24","nodeType":"EventDefinition","parameters":{"id":8778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8777,"indexed":true,"mutability":"mutable","name":"balanceReceiver","nameLocation":"1719:15:24","nodeType":"VariableDeclaration","scope":8779,"src":"1703:31:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8776,"name":"address","nodeType":"ElementaryTypeName","src":"1703:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1702:33:24"},"src":"1678:58:24"},{"anonymous":false,"eventSelector":"c79cad949a408373456da7a9e88e8114102aa00e03a69733c70e3a0d95944ca7","id":8785,"name":"PackPurchased","nameLocation":"1745:13:24","nodeType":"EventDefinition","parameters":{"id":8784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8781,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"1775:5:24","nodeType":"VariableDeclaration","scope":8785,"src":"1759:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8780,"name":"address","nodeType":"ElementaryTypeName","src":"1759:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8783,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1798:7:24","nodeType":"VariableDeclaration","scope":8785,"src":"1782:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8782,"name":"uint256","nodeType":"ElementaryTypeName","src":"1782:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1758:48:24"},"src":"1739:68:24"},{"anonymous":false,"eventSelector":"8ae8b18ed6d499ec84f68235bf3512b3db155f7911789805d36093467e5971c9","id":8792,"name":"PacksPurchased","nameLocation":"1816:14:24","nodeType":"EventDefinition","parameters":{"id":8791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8787,"indexed":true,"mutability":"mutable","name":"buyer","nameLocation":"1847:5:24","nodeType":"VariableDeclaration","scope":8792,"src":"1831:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8786,"name":"address","nodeType":"ElementaryTypeName","src":"1831:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8790,"indexed":true,"mutability":"mutable","name":"tokenIds","nameLocation":"1872:8:24","nodeType":"VariableDeclaration","scope":8792,"src":"1854:26:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":8788,"name":"uint256","nodeType":"ElementaryTypeName","src":"1854:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8789,"nodeType":"ArrayTypeName","src":"1854:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1830:51:24"},"src":"1810:72:24"},{"anonymous":false,"eventSelector":"16e5698e3d85c69c8d8cdb9a21893b33518e24d8cb69d9944d4bfd233464c3a2","id":8800,"name":"PackTransfered","nameLocation":"1891:14:24","nodeType":"EventDefinition","parameters":{"id":8799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8794,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1922:4:24","nodeType":"VariableDeclaration","scope":8800,"src":"1906:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8793,"name":"address","nodeType":"ElementaryTypeName","src":"1906:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8796,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"1944:2:24","nodeType":"VariableDeclaration","scope":8800,"src":"1928:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8795,"name":"address","nodeType":"ElementaryTypeName","src":"1928:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8798,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1964:7:24","nodeType":"VariableDeclaration","scope":8800,"src":"1948:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8797,"name":"uint256","nodeType":"ElementaryTypeName","src":"1948:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1905:67:24"},"src":"1885:88:24"},{"anonymous":false,"eventSelector":"1affae2fd35738ec8f6a4212f337c673b41aa2231f1bd5cfeb94463a93ace1f1","id":8809,"name":"PacksTransfered","nameLocation":"1982:15:24","nodeType":"EventDefinition","parameters":{"id":8808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8802,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2014:4:24","nodeType":"VariableDeclaration","scope":8809,"src":"1998:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8801,"name":"address","nodeType":"ElementaryTypeName","src":"1998:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8804,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2036:2:24","nodeType":"VariableDeclaration","scope":8809,"src":"2020:18:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8803,"name":"address","nodeType":"ElementaryTypeName","src":"2020:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8807,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2058:7:24","nodeType":"VariableDeclaration","scope":8809,"src":"2040:25:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":8805,"name":"uint256","nodeType":"ElementaryTypeName","src":"2040:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8806,"nodeType":"ArrayTypeName","src":"2040:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1997:69:24"},"src":"1976:91:24"},{"anonymous":false,"eventSelector":"459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c","id":8815,"name":"PackOpened","nameLocation":"2076:10:24","nodeType":"EventDefinition","parameters":{"id":8814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8811,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"2103:4:24","nodeType":"VariableDeclaration","scope":8815,"src":"2087:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8810,"name":"address","nodeType":"ElementaryTypeName","src":"2087:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8813,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"2125:7:24","nodeType":"VariableDeclaration","scope":8815,"src":"2109:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8812,"name":"uint256","nodeType":"ElementaryTypeName","src":"2109:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2086:47:24"},"src":"2070:64:24"},{"anonymous":false,"eventSelector":"270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b7","id":8819,"name":"NewPrice","nameLocation":"2143:8:24","nodeType":"EventDefinition","parameters":{"id":8818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8817,"indexed":true,"mutability":"mutable","name":"newPrice","nameLocation":"2168:8:24","nodeType":"VariableDeclaration","scope":8819,"src":"2152:24:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8816,"name":"uint256","nodeType":"ElementaryTypeName","src":"2152:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2151:26:24"},"src":"2137:41:24"},{"body":{"id":8833,"nodeType":"Block","src":"2216:95:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8821,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2226:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":8822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2230:6:24","memberName":"sender","nodeType":"MemberAccess","src":"2226:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":8825,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"2248:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}],"id":8824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2240:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8823,"name":"address","nodeType":"ElementaryTypeName","src":"2240:7:24","typeDescriptions":{}}},"id":8826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2240:27:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2226:41:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8831,"nodeType":"IfStatement","src":"2222:77:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8828,"name":"NotGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8681,"src":"2276:21:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2276:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8830,"nodeType":"RevertStatement","src":"2269:30:24"}},{"id":8832,"nodeType":"PlaceholderStatement","src":"2305:1:24"}]},"id":8834,"name":"onlyGammaCardsContract","nameLocation":"2191:22:24","nodeType":"ModifierDefinition","parameters":{"id":8820,"nodeType":"ParameterList","parameters":[],"src":"2213:2:24"},"src":"2182:129:24","virtual":false,"visibility":"internal"},{"body":{"id":8847,"nodeType":"Block","src":"2337:74:24","statements":[{"condition":{"id":8841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2347:30:24","subExpression":{"baseExpression":{"expression":{"id":8836,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"2348:10:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":8837,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2359:6:24","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"2348:17:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":8840,"indexExpression":{"expression":{"id":8838,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2366:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":8839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2370:6:24","memberName":"sender","nodeType":"MemberAccess","src":"2366:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2348:29:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8845,"nodeType":"IfStatement","src":"2343:56:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8842,"name":"OwnlyOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8683,"src":"2386:11:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2386:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8844,"nodeType":"RevertStatement","src":"2379:20:24"}},{"id":8846,"nodeType":"PlaceholderStatement","src":"2405:1:24"}]},"id":8848,"name":"onlyOwners","nameLocation":"2324:10:24","nodeType":"ModifierDefinition","parameters":{"id":8835,"nodeType":"ParameterList","parameters":[],"src":"2334:2:24"},"src":"2315:96:24","virtual":false,"visibility":"internal"},{"body":{"id":8914,"nodeType":"Block","src":"2580:430:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8861,"name":"_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8852,"src":"2597:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2625:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2617:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8862,"name":"address","nodeType":"ElementaryTypeName","src":"2617:7:24","typeDescriptions":{}}},"id":8865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2617:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2597:30:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8867,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8854,"src":"2637:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2668:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2660:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8868,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:24","typeDescriptions":{}}},"id":8871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2660:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2637:33:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2597:73:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8874,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8856,"src":"2680:21:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2713:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2705:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8875,"name":"address","nodeType":"ElementaryTypeName","src":"2705:7:24","typeDescriptions":{}}},"id":8878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2705:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2680:35:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2597:118:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8884,"nodeType":"IfStatement","src":"2586:159:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8881,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"2729:14:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2729:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8883,"nodeType":"RevertStatement","src":"2722:23:24"}},{"expression":{"id":8887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8885,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8744,"src":"2752:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8886,"name":"_daiTokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8850,"src":"2764:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2752:28:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8888,"nodeType":"ExpressionStatement","src":"2752:28:24"},{"expression":{"id":8891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8889,"name":"s_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8746,"src":"2786:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8890,"name":"_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8852,"src":"2806:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2786:36:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8892,"nodeType":"ExpressionStatement","src":"2786:36:24"},{"expression":{"id":8897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8893,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"2828:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8895,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8854,"src":"2869:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8894,"name":"IGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8712,"src":"2849:19:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGammaCardsContract_$8712_$","typeString":"type(contract IGammaCardsContract)"}},"id":8896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2849:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"src":"2828:61:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"id":8898,"nodeType":"ExpressionStatement","src":"2828:61:24"},{"expression":{"id":8903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8899,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8739,"src":"2895:20:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8901,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8856,"src":"2940:21:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8900,"name":"IgammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8727,"src":"2918:21:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaTicketsContract_$8727_$","typeString":"type(contract IgammaTicketsContract)"}},"id":8902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2918:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"src":"2895:67:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"id":8904,"nodeType":"ExpressionStatement","src":"2895:67:24"},{"expression":{"id":8912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":8905,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"2969:10:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":8909,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2980:6:24","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"2969:17:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":8910,"indexExpression":{"expression":{"id":8907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2987:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":8908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2991:6:24","memberName":"sender","nodeType":"MemberAccess","src":"2987:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2969:29:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":8911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3001:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2969:36:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8913,"nodeType":"ExpressionStatement","src":"2969:36:24"}]},"functionSelector":"06552ff3","id":8915,"implemented":true,"kind":"function","modifiers":[{"id":8859,"kind":"modifierInvocation","modifierName":{"id":8858,"name":"onlyOwner","nameLocations":["2570:9:24"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"2570:9:24"},"nodeType":"ModifierInvocation","src":"2570:9:24"}],"name":"init","nameLocation":"2424:4:24","nodeType":"FunctionDefinition","parameters":{"id":8857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8850,"mutability":"mutable","name":"_daiTokenAddress","nameLocation":"2442:16:24","nodeType":"VariableDeclaration","scope":8915,"src":"2434:24:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8849,"name":"address","nodeType":"ElementaryTypeName","src":"2434:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8852,"mutability":"mutable","name":"_balanceReceiver","nameLocation":"2472:16:24","nodeType":"VariableDeclaration","scope":8915,"src":"2464:24:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8851,"name":"address","nodeType":"ElementaryTypeName","src":"2464:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8854,"mutability":"mutable","name":"_gammaCardsContract","nameLocation":"2502:19:24","nodeType":"VariableDeclaration","scope":8915,"src":"2494:27:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8853,"name":"address","nodeType":"ElementaryTypeName","src":"2494:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8856,"mutability":"mutable","name":"_gammaTicketsContract","nameLocation":"2535:21:24","nodeType":"VariableDeclaration","scope":8915,"src":"2527:29:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8855,"name":"address","nodeType":"ElementaryTypeName","src":"2527:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2428:132:24"},"returnParameters":{"id":8860,"nodeType":"ParameterList","parameters":[],"src":"2580:0:24"},"scope":9825,"src":"2415:595:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8928,"nodeType":"Block","src":"3071:41:24","statements":[{"expression":{"arguments":[{"id":8925,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8917,"src":"3097:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8922,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"3077:10:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":8924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3088:8:24","memberName":"addOwner","nodeType":"MemberAccess","referencedDeclaration":10399,"src":"3077:19:24","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":8926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3077:30:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8927,"nodeType":"ExpressionStatement","src":"3077:30:24"}]},"functionSelector":"7065cb48","id":8929,"implemented":true,"kind":"function","modifiers":[{"id":8920,"kind":"modifierInvocation","modifierName":{"id":8919,"name":"onlyOwners","nameLocations":["3060:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"3060:10:24"},"nodeType":"ModifierInvocation","src":"3060:10:24"}],"name":"addOwner","nameLocation":"3023:8:24","nodeType":"FunctionDefinition","parameters":{"id":8918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8917,"mutability":"mutable","name":"_newOwner","nameLocation":"3040:9:24","nodeType":"VariableDeclaration","scope":8929,"src":"3032:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8916,"name":"address","nodeType":"ElementaryTypeName","src":"3032:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3031:19:24"},"returnParameters":{"id":8921,"nodeType":"ParameterList","parameters":[],"src":"3071:0:24"},"scope":9825,"src":"3014:98:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8942,"nodeType":"Block","src":"3181:49:24","statements":[{"expression":{"arguments":[{"id":8939,"name":"_ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8931,"src":"3210:14:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8936,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"3187:10:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":8938,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3198:11:24","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":10446,"src":"3187:22:24","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":8940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3187:38:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8941,"nodeType":"ExpressionStatement","src":"3187:38:24"}]},"functionSelector":"173825d9","id":8943,"implemented":true,"kind":"function","modifiers":[{"id":8934,"kind":"modifierInvocation","modifierName":{"id":8933,"name":"onlyOwners","nameLocations":["3170:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"3170:10:24"},"nodeType":"ModifierInvocation","src":"3170:10:24"}],"name":"removeOwner","nameLocation":"3125:11:24","nodeType":"FunctionDefinition","parameters":{"id":8932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8931,"mutability":"mutable","name":"_ownerToRemove","nameLocation":"3145:14:24","nodeType":"VariableDeclaration","scope":8943,"src":"3137:22:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8930,"name":"address","nodeType":"ElementaryTypeName","src":"3137:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3136:24:24"},"returnParameters":{"id":8935,"nodeType":"ParameterList","parameters":[],"src":"3181:0:24"},"scope":9825,"src":"3116:114:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8968,"nodeType":"Block","src":"3314:168:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":8955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8950,"name":"_newBalanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"3324:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3355:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":8952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3347:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8951,"name":"address","nodeType":"ElementaryTypeName","src":"3347:7:24","typeDescriptions":{}}},"id":8954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3347:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3324:33:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8959,"nodeType":"IfStatement","src":"3320:62:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":8956,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"3366:14:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":8957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3366:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8958,"nodeType":"RevertStatement","src":"3359:23:24"}},{"expression":{"id":8962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8960,"name":"s_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8746,"src":"3388:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8961,"name":"_newBalanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"3408:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3388:39:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8963,"nodeType":"ExpressionStatement","src":"3388:39:24"},{"eventCall":{"arguments":[{"id":8965,"name":"_newBalanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"3457:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8964,"name":"NewBalanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8779,"src":"3438:18:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":8966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3438:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8967,"nodeType":"EmitStatement","src":"3433:44:24"}]},"functionSelector":"e0f78307","id":8969,"implemented":true,"kind":"function","modifiers":[{"id":8948,"kind":"modifierInvocation","modifierName":{"id":8947,"name":"onlyOwners","nameLocations":["3303:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"3303:10:24"},"nodeType":"ModifierInvocation","src":"3303:10:24"}],"name":"changeBalanceReceiver","nameLocation":"3243:21:24","nodeType":"FunctionDefinition","parameters":{"id":8946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8945,"mutability":"mutable","name":"_newBalanceReceiver","nameLocation":"3273:19:24","nodeType":"VariableDeclaration","scope":8969,"src":"3265:27:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8944,"name":"address","nodeType":"ElementaryTypeName","src":"3265:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3264:29:24"},"returnParameters":{"id":8949,"nodeType":"ParameterList","parameters":[],"src":"3314:0:24"},"scope":9825,"src":"3234:248:24","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":8990,"nodeType":"Block","src":"3544:115:24","statements":[{"expression":{"id":8978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8976,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8752,"src":"3550:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8977,"name":"_newPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8971,"src":"3564:9:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3550:23:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8979,"nodeType":"ExpressionStatement","src":"3550:23:24"},{"expression":{"arguments":[{"id":8983,"name":"_newPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8971,"src":"3614:9:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8980,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"3579:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"id":8982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3598:15:24","memberName":"changePackPrice","nodeType":"MemberAccess","referencedDeclaration":8711,"src":"3579:34:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":8984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3579:45:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8985,"nodeType":"ExpressionStatement","src":"3579:45:24"},{"eventCall":{"arguments":[{"id":8987,"name":"_newPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8971,"src":"3644:9:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8986,"name":"NewPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8819,"src":"3635:8:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":8988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:19:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8989,"nodeType":"EmitStatement","src":"3630:24:24"}]},"functionSelector":"a2b40d19","id":8991,"implemented":true,"kind":"function","modifiers":[{"id":8974,"kind":"modifierInvocation","modifierName":{"id":8973,"name":"onlyOwners","nameLocations":["3533:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"3533:10:24"},"nodeType":"ModifierInvocation","src":"3533:10:24"}],"name":"changePrice","nameLocation":"3495:11:24","nodeType":"FunctionDefinition","parameters":{"id":8972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8971,"mutability":"mutable","name":"_newPrice","nameLocation":"3515:9:24","nodeType":"VariableDeclaration","scope":8991,"src":"3507:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8970,"name":"uint256","nodeType":"ElementaryTypeName","src":"3507:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3506:19:24"},"returnParameters":{"id":8975,"nodeType":"ParameterList","parameters":[],"src":"3544:0:24"},"scope":9825,"src":"3486:173:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9002,"nodeType":"Block","src":"3731:39:24","statements":[{"expression":{"id":9000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8998,"name":"s_transferDai","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8758,"src":"3737:13:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":8999,"name":"_transferDai","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8993,"src":"3753:12:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3737:28:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9001,"nodeType":"ExpressionStatement","src":"3737:28:24"}]},"functionSelector":"99e5f896","id":9003,"implemented":true,"kind":"function","modifiers":[{"id":8996,"kind":"modifierInvocation","modifierName":{"id":8995,"name":"onlyOwners","nameLocations":["3720:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"3720:10:24"},"nodeType":"ModifierInvocation","src":"3720:10:24"}],"name":"changeTransferDaiFlag","nameLocation":"3672:21:24","nodeType":"FunctionDefinition","parameters":{"id":8994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8993,"mutability":"mutable","name":"_transferDai","nameLocation":"3699:12:24","nodeType":"VariableDeclaration","scope":9003,"src":"3694:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8992,"name":"bool","nodeType":"ElementaryTypeName","src":"3694:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3693:19:24"},"returnParameters":{"id":8997,"nodeType":"ParameterList","parameters":[],"src":"3731:0:24"},"scope":9825,"src":"3663:107:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9030,"nodeType":"Block","src":"3852:193:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9010,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9005,"src":"3862:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3893:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3885:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9011,"name":"address","nodeType":"ElementaryTypeName","src":"3885:7:24","typeDescriptions":{}}},"id":9014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3885:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3862:33:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9019,"nodeType":"IfStatement","src":"3858:62:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9016,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"3904:14:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3904:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9018,"nodeType":"RevertStatement","src":"3897:23:24"}},{"expression":{"id":9024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9020,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"3926:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9022,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9005,"src":"3967:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9021,"name":"IGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8712,"src":"3947:19:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGammaCardsContract_$8712_$","typeString":"type(contract IGammaCardsContract)"}},"id":9023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3947:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"src":"3926:61:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"id":9025,"nodeType":"ExpressionStatement","src":"3926:61:24"},{"eventCall":{"arguments":[{"id":9027,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9005,"src":"4020:19:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9026,"name":"NewGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8771,"src":"3998:21:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3998:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9029,"nodeType":"EmitStatement","src":"3993:47:24"}]},"functionSelector":"4c7a7ad3","id":9031,"implemented":true,"kind":"function","modifiers":[{"id":9008,"kind":"modifierInvocation","modifierName":{"id":9007,"name":"onlyOwners","nameLocations":["3841:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"3841:10:24"},"nodeType":"ModifierInvocation","src":"3841:10:24"}],"name":"setGammaCardsContract","nameLocation":"3783:21:24","nodeType":"FunctionDefinition","parameters":{"id":9006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9005,"mutability":"mutable","name":"_gammaCardsContract","nameLocation":"3813:19:24","nodeType":"VariableDeclaration","scope":9031,"src":"3805:27:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9004,"name":"address","nodeType":"ElementaryTypeName","src":"3805:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3804:29:24"},"returnParameters":{"id":9009,"nodeType":"ParameterList","parameters":[],"src":"3852:0:24"},"scope":9825,"src":"3774:271:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9058,"nodeType":"Block","src":"4131:205:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9038,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9033,"src":"4141:21:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4174:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4166:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9039,"name":"address","nodeType":"ElementaryTypeName","src":"4166:7:24","typeDescriptions":{}}},"id":9042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4166:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4141:35:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9047,"nodeType":"IfStatement","src":"4137:64:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9044,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"4185:14:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4185:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9046,"nodeType":"RevertStatement","src":"4178:23:24"}},{"expression":{"id":9052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9048,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8739,"src":"4207:20:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9050,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9033,"src":"4252:21:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9049,"name":"IgammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8727,"src":"4230:21:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaTicketsContract_$8727_$","typeString":"type(contract IgammaTicketsContract)"}},"id":9051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4230:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"src":"4207:67:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"id":9053,"nodeType":"ExpressionStatement","src":"4207:67:24"},{"eventCall":{"arguments":[{"id":9055,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9033,"src":"4309:21:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9054,"name":"NewGammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8775,"src":"4285:23:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":9056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4285:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9057,"nodeType":"EmitStatement","src":"4280:51:24"}]},"functionSelector":"ddb975e8","id":9059,"implemented":true,"kind":"function","modifiers":[{"id":9036,"kind":"modifierInvocation","modifierName":{"id":9035,"name":"onlyOwners","nameLocations":["4120:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"4120:10:24"},"nodeType":"ModifierInvocation","src":"4120:10:24"}],"name":"setGammaTicketsContract","nameLocation":"4058:23:24","nodeType":"FunctionDefinition","parameters":{"id":9034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9033,"mutability":"mutable","name":"_gammaTicketsContract","nameLocation":"4090:21:24","nodeType":"VariableDeclaration","scope":9059,"src":"4082:29:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9032,"name":"address","nodeType":"ElementaryTypeName","src":"4082:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4081:31:24"},"returnParameters":{"id":9037,"nodeType":"ParameterList","parameters":[],"src":"4131:0:24"},"scope":9825,"src":"4049:287:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9071,"nodeType":"Block","src":"4400:41:24","statements":[{"expression":{"baseExpression":{"expression":{"id":9066,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8742,"src":"4413:10:24","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":9067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4424:6:24","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"4413:17:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":9069,"indexExpression":{"id":9068,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9061,"src":"4431:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4413:23:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":9065,"id":9070,"nodeType":"Return","src":"4406:30:24"}]},"functionSelector":"2f54bf6e","id":9072,"implemented":true,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"4349:7:24","nodeType":"FunctionDefinition","parameters":{"id":9062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9061,"mutability":"mutable","name":"user","nameLocation":"4365:4:24","nodeType":"VariableDeclaration","scope":9072,"src":"4357:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9060,"name":"address","nodeType":"ElementaryTypeName","src":"4357:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4356:14:24"},"returnParameters":{"id":9065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9072,"src":"4394:4:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9063,"name":"bool","nodeType":"ElementaryTypeName","src":"4394:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4393:6:24"},"scope":9825,"src":"4340:101:24","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":9089,"nodeType":"Block","src":"4532:67:24","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9079,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8752,"src":"4546:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9080,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8752,"src":"4561:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":9081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4575:1:24","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"4561:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9083,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4560:17:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4546:31:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9085,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4545:33:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":9086,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9074,"src":"4581:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4545:49:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9078,"id":9088,"nodeType":"Return","src":"4538:56:24"}]},"functionSelector":"3f6ecd48","id":9090,"implemented":true,"kind":"function","modifiers":[],"name":"getPrizeAmountToBuyPacks","nameLocation":"4454:24:24","nodeType":"FunctionDefinition","parameters":{"id":9075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9074,"mutability":"mutable","name":"numberOfPacks","nameLocation":"4487:13:24","nodeType":"VariableDeclaration","scope":9090,"src":"4479:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9073,"name":"uint256","nodeType":"ElementaryTypeName","src":"4479:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4478:23:24"},"returnParameters":{"id":9078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9090,"src":"4523:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9076,"name":"uint256","nodeType":"ElementaryTypeName","src":"4523:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4522:9:24"},"scope":9825,"src":"4445:154:24","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9110,"nodeType":"Block","src":"4700:130:24","statements":[{"assignments":[9098],"declarations":[{"constant":false,"id":9098,"mutability":"mutable","name":"prizesAmount","nameLocation":"4714:12:24","nodeType":"VariableDeclaration","scope":9110,"src":"4706:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9097,"name":"uint256","nodeType":"ElementaryTypeName","src":"4706:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9102,"initialValue":{"arguments":[{"id":9100,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9092,"src":"4754:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9099,"name":"getPrizeAmountToBuyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"4729:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":9101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4729:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4706:62:24"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9103,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8752,"src":"4782:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":9104,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9092,"src":"4796:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4782:27:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9106,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4781:29:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9107,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9098,"src":"4813:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4781:44:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9096,"id":9109,"nodeType":"Return","src":"4774:51:24"}]},"functionSelector":"01321c4d","id":9111,"implemented":true,"kind":"function","modifiers":[],"name":"getPrizeNoFAccountAmountToBuyPacks","nameLocation":"4612:34:24","nodeType":"FunctionDefinition","parameters":{"id":9093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9092,"mutability":"mutable","name":"numberOfPacks","nameLocation":"4655:13:24","nodeType":"VariableDeclaration","scope":9111,"src":"4647:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9091,"name":"uint256","nodeType":"ElementaryTypeName","src":"4647:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4646:23:24"},"returnParameters":{"id":9096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9095,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9111,"src":"4691:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9094,"name":"uint256","nodeType":"ElementaryTypeName","src":"4691:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4690:9:24"},"scope":9825,"src":"4603:227:24","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9134,"nodeType":"Block","src":"4924:199:24","statements":[{"assignments":[9119],"declarations":[{"constant":false,"id":9119,"mutability":"mutable","name":"prizesAmount","nameLocation":"4938:12:24","nodeType":"VariableDeclaration","scope":9134,"src":"4930:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9118,"name":"uint256","nodeType":"ElementaryTypeName","src":"4930:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9123,"initialValue":{"arguments":[{"id":9121,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9113,"src":"4978:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9120,"name":"getPrizeAmountToBuyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"4953:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":9122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4953:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4930:62:24"},{"assignments":[9125],"declarations":[{"constant":false,"id":9125,"mutability":"mutable","name":"NoFAccountAmount","nameLocation":"5006:16:24","nodeType":"VariableDeclaration","scope":9134,"src":"4998:24:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9124,"name":"uint256","nodeType":"ElementaryTypeName","src":"4998:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9129,"initialValue":{"arguments":[{"id":9127,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9113,"src":"5060:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9126,"name":"getPrizeNoFAccountAmountToBuyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9111,"src":"5025:34:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":9128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5025:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4998:76:24"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9130,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9119,"src":"5087:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9131,"name":"NoFAccountAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9125,"src":"5102:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5087:31:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9117,"id":9133,"nodeType":"Return","src":"5080:38:24"}]},"functionSelector":"b48ce653","id":9135,"implemented":true,"kind":"function","modifiers":[],"name":"getAmountRequiredToBuyPacks","nameLocation":"4843:27:24","nodeType":"FunctionDefinition","parameters":{"id":9114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9113,"mutability":"mutable","name":"numberOfPacks","nameLocation":"4879:13:24","nodeType":"VariableDeclaration","scope":9135,"src":"4871:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9112,"name":"uint256","nodeType":"ElementaryTypeName","src":"4871:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4870:23:24"},"returnParameters":{"id":9117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9135,"src":"4915:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9115,"name":"uint256","nodeType":"ElementaryTypeName","src":"4915:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4914:9:24"},"scope":9825,"src":"4834:289:24","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9147,"nodeType":"Block","src":"5205:38:24","statements":[{"expression":{"baseExpression":{"id":9143,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"5218:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9145,"indexExpression":{"id":9144,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9137,"src":"5232:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5218:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"functionReturnParameters":9142,"id":9146,"nodeType":"Return","src":"5211:27:24"}]},"functionSelector":"8fd5baf7","id":9148,"implemented":true,"kind":"function","modifiers":[],"name":"getPacksByUser","nameLocation":"5136:14:24","nodeType":"FunctionDefinition","parameters":{"id":9138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9137,"mutability":"mutable","name":"owner","nameLocation":"5159:5:24","nodeType":"VariableDeclaration","scope":9148,"src":"5151:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9136,"name":"address","nodeType":"ElementaryTypeName","src":"5151:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5150:15:24"},"returnParameters":{"id":9142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9141,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9148,"src":"5187:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9139,"name":"uint256","nodeType":"ElementaryTypeName","src":"5187:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9140,"nodeType":"ArrayTypeName","src":"5187:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5186:18:24"},"scope":9825,"src":"5127:116:24","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9159,"nodeType":"Block","src":"5316:34:24","statements":[{"expression":{"baseExpression":{"id":9155,"name":"s_packs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8762,"src":"5329:7:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":9157,"indexExpression":{"id":9156,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9150,"src":"5337:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5329:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":9154,"id":9158,"nodeType":"Return","src":"5322:23:24"}]},"functionSelector":"d3e6a7ad","id":9160,"implemented":true,"kind":"function","modifiers":[],"name":"getPackOwner","nameLocation":"5256:12:24","nodeType":"FunctionDefinition","parameters":{"id":9151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9150,"mutability":"mutable","name":"tokenId","nameLocation":"5277:7:24","nodeType":"VariableDeclaration","scope":9160,"src":"5269:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9149,"name":"uint256","nodeType":"ElementaryTypeName","src":"5269:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5268:17:24"},"returnParameters":{"id":9154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9160,"src":"5307:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9152,"name":"address","nodeType":"ElementaryTypeName","src":"5307:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5306:9:24"},"scope":9825,"src":"5247:103:24","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9181,"nodeType":"Block","src":"5441:123:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9167,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9162,"src":"5451:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5468:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5451:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9173,"nodeType":"IfStatement","src":"5447:53:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9170,"name":"InvalidNumberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8687,"src":"5478:20:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5478:22:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9172,"nodeType":"RevertStatement","src":"5471:29:24"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9174,"name":"s_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"5514:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9175,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9162,"src":"5531:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5514:30:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9177,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5513:32:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9178,"name":"TOTALSUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8749,"src":"5548:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5513:46:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":9166,"id":9180,"nodeType":"Return","src":"5506:53:24"}]},"functionSelector":"d6a4c3e4","id":9182,"implemented":true,"kind":"function","modifiers":[],"name":"meetQuantityConditionsToBuy","nameLocation":"5363:27:24","nodeType":"FunctionDefinition","parameters":{"id":9163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9162,"mutability":"mutable","name":"numberOfPacks","nameLocation":"5399:13:24","nodeType":"VariableDeclaration","scope":9182,"src":"5391:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9161,"name":"uint256","nodeType":"ElementaryTypeName","src":"5391:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5390:23:24"},"returnParameters":{"id":9166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9182,"src":"5435:4:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9164,"name":"bool","nodeType":"ElementaryTypeName","src":"5435:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5434:6:24"},"scope":9825,"src":"5354:210:24","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":9192,"nodeType":"Block","src":"5612:38:24","statements":[{"expression":{"arguments":[{"expression":{"id":9188,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5634:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5638:6:24","memberName":"sender","nodeType":"MemberAccess","src":"5634:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9187,"name":"_buyPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9262,"src":"5625:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":9190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5625:20:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9186,"id":9191,"nodeType":"Return","src":"5618:27:24"}]},"functionSelector":"c37b9bcd","id":9193,"implemented":true,"kind":"function","modifiers":[],"name":"buyPack","nameLocation":"5577:7:24","nodeType":"FunctionDefinition","parameters":{"id":9183,"nodeType":"ParameterList","parameters":[],"src":"5584:2:24"},"returnParameters":{"id":9186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9193,"src":"5603:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9184,"name":"uint256","nodeType":"ElementaryTypeName","src":"5603:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5602:9:24"},"scope":9825,"src":"5568:82:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9207,"nodeType":"Block","src":"5729:54:24","statements":[{"expression":{"arguments":[{"expression":{"id":9202,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5752:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5756:6:24","memberName":"sender","nodeType":"MemberAccess","src":"5752:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9204,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9195,"src":"5764:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9201,"name":"_buyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9398,"src":"5742:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address,uint256) returns (uint256[] memory)"}},"id":9205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5742:36:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":9200,"id":9206,"nodeType":"Return","src":"5735:43:24"}]},"functionSelector":"6adbaf75","id":9208,"implemented":true,"kind":"function","modifiers":[],"name":"buyPacks","nameLocation":"5663:8:24","nodeType":"FunctionDefinition","parameters":{"id":9196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9195,"mutability":"mutable","name":"numberOfPacks","nameLocation":"5680:13:24","nodeType":"VariableDeclaration","scope":9208,"src":"5672:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9194,"name":"uint256","nodeType":"ElementaryTypeName","src":"5672:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5671:23:24"},"returnParameters":{"id":9200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9208,"src":"5711:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9197,"name":"uint256","nodeType":"ElementaryTypeName","src":"5711:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9198,"nodeType":"ArrayTypeName","src":"5711:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5710:18:24"},"scope":9825,"src":"5654:129:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9221,"nodeType":"Block","src":"5860:32:24","statements":[{"expression":{"arguments":[{"id":9218,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9210,"src":"5882:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9217,"name":"_buyPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9262,"src":"5873:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":9219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5873:14:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9216,"id":9220,"nodeType":"Return","src":"5866:21:24"}]},"functionSelector":"967ed63d","id":9222,"implemented":true,"kind":"function","modifiers":[{"id":9213,"kind":"modifierInvocation","modifierName":{"id":9212,"name":"onlyOwners","nameLocations":["5831:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"5831:10:24"},"nodeType":"ModifierInvocation","src":"5831:10:24"}],"name":"buyPackByUser","nameLocation":"5796:13:24","nodeType":"FunctionDefinition","parameters":{"id":9211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9210,"mutability":"mutable","name":"user","nameLocation":"5818:4:24","nodeType":"VariableDeclaration","scope":9222,"src":"5810:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9209,"name":"address","nodeType":"ElementaryTypeName","src":"5810:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5809:14:24"},"returnParameters":{"id":9216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9222,"src":"5851:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9214,"name":"uint256","nodeType":"ElementaryTypeName","src":"5851:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5850:9:24"},"scope":9825,"src":"5787:105:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9239,"nodeType":"Block","src":"6014:48:24","statements":[{"expression":{"arguments":[{"id":9235,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9224,"src":"6037:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9236,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9226,"src":"6043:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9234,"name":"_buyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9398,"src":"6027:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address,uint256) returns (uint256[] memory)"}},"id":9237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6027:30:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":9233,"id":9238,"nodeType":"Return","src":"6020:37:24"}]},"functionSelector":"62e21878","id":9240,"implemented":true,"kind":"function","modifiers":[{"id":9229,"kind":"modifierInvocation","modifierName":{"id":9228,"name":"onlyOwners","nameLocations":["5976:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"5976:10:24"},"nodeType":"ModifierInvocation","src":"5976:10:24"}],"name":"buyPacksByUser","nameLocation":"5905:14:24","nodeType":"FunctionDefinition","parameters":{"id":9227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9224,"mutability":"mutable","name":"user","nameLocation":"5933:4:24","nodeType":"VariableDeclaration","scope":9240,"src":"5925:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9223,"name":"address","nodeType":"ElementaryTypeName","src":"5925:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9226,"mutability":"mutable","name":"numberOfPacks","nameLocation":"5951:13:24","nodeType":"VariableDeclaration","scope":9240,"src":"5943:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9225,"name":"uint256","nodeType":"ElementaryTypeName","src":"5943:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5919:49:24"},"returnParameters":{"id":9233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9232,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9240,"src":"5996:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9230,"name":"uint256","nodeType":"ElementaryTypeName","src":"5996:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9231,"nodeType":"ArrayTypeName","src":"5996:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5995:18:24"},"scope":9825,"src":"5896:166:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9261,"nodeType":"Block","src":"6124:81:24","statements":[{"assignments":[9251],"declarations":[{"constant":false,"id":9251,"mutability":"mutable","name":"tokenIds","nameLocation":"6147:8:24","nodeType":"VariableDeclaration","scope":9261,"src":"6130:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9249,"name":"uint256","nodeType":"ElementaryTypeName","src":"6130:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9250,"nodeType":"ArrayTypeName","src":"6130:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":9256,"initialValue":{"arguments":[{"id":9253,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9242,"src":"6168:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":9254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6174:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":9252,"name":"_buyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9398,"src":"6158:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address,uint256) returns (uint256[] memory)"}},"id":9255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6158:18:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6130:46:24"},{"expression":{"baseExpression":{"id":9257,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9251,"src":"6189:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9259,"indexExpression":{"hexValue":"30","id":9258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6198:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6189:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9246,"id":9260,"nodeType":"Return","src":"6182:18:24"}]},"id":9262,"implemented":true,"kind":"function","modifiers":[],"name":"_buyPack","nameLocation":"6075:8:24","nodeType":"FunctionDefinition","parameters":{"id":9243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9242,"mutability":"mutable","name":"user","nameLocation":"6092:4:24","nodeType":"VariableDeclaration","scope":9262,"src":"6084:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9241,"name":"address","nodeType":"ElementaryTypeName","src":"6084:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6083:14:24"},"returnParameters":{"id":9246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9262,"src":"6115:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9244,"name":"uint256","nodeType":"ElementaryTypeName","src":"6115:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6114:9:24"},"scope":9825,"src":"6066:139:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9397,"nodeType":"Block","src":"6300:1000:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9272,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"6310:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6326:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6318:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9273,"name":"address","nodeType":"ElementaryTypeName","src":"6318:7:24","typeDescriptions":{}}},"id":9276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6318:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6310:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9281,"nodeType":"IfStatement","src":"6306:47:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9278,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"6337:14:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6337:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9280,"nodeType":"RevertStatement","src":"6330:23:24"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9282,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"6363:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6380:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6363:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9285,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"6385:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":9286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6401:3:24","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"6385:19:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6363:41:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9292,"nodeType":"IfStatement","src":"6359:76:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9289,"name":"InvalidNumberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8687,"src":"6413:20:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6413:22:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9291,"nodeType":"RevertStatement","src":"6406:29:24"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9293,"name":"s_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"6446:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9294,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"6463:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6446:30:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9296,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6445:32:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":9297,"name":"TOTALSUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8749,"src":"6481:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6445:47:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9302,"nodeType":"IfStatement","src":"6441:88:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9299,"name":"InsufficientPacksAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8689,"src":"6501:26:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6501:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9301,"nodeType":"RevertStatement","src":"6494:35:24"}},{"assignments":[9307],"declarations":[{"constant":false,"id":9307,"mutability":"mutable","name":"tokenIds","nameLocation":"6552:8:24","nodeType":"VariableDeclaration","scope":9397,"src":"6535:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9305,"name":"uint256","nodeType":"ElementaryTypeName","src":"6535:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9306,"nodeType":"ArrayTypeName","src":"6535:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":9313,"initialValue":{"arguments":[{"id":9311,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"6577:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6563:13:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":9308,"name":"uint256","nodeType":"ElementaryTypeName","src":"6567:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9309,"nodeType":"ArrayTypeName","src":"6567:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":9312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6563:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6535:56:24"},{"assignments":[9315],"declarations":[{"constant":false,"id":9315,"mutability":"mutable","name":"m_packsCounter","nameLocation":"6605:14:24","nodeType":"VariableDeclaration","scope":9397,"src":"6597:22:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9314,"name":"uint256","nodeType":"ElementaryTypeName","src":"6597:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9317,"initialValue":{"id":9316,"name":"s_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"6622:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6597:39:24"},{"body":{"id":9357,"nodeType":"Block","src":"6679:271:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9324,"name":"m_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"6691:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":9325,"name":"TOTALSUPPLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8749,"src":"6709:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6691:29:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9330,"nodeType":"IfStatement","src":"6687:70:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9327,"name":"InsufficientPacksAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8689,"src":"6729:26:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6729:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9329,"nodeType":"RevertStatement","src":"6722:35:24"}},{"expression":{"id":9335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9331,"name":"s_packs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8762,"src":"6765:7:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":9333,"indexExpression":{"id":9332,"name":"m_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"6773:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6765:23:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9334,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"6791:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6765:30:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9336,"nodeType":"ExpressionStatement","src":"6765:30:24"},{"expression":{"arguments":[{"id":9341,"name":"m_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"6828:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":9337,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"6803:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9339,"indexExpression":{"id":9338,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"6817:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6803:19:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6823:4:24","memberName":"push","nodeType":"MemberAccess","src":"6803:24:24","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":9342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6803:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9343,"nodeType":"ExpressionStatement","src":"6803:40:24"},{"expression":{"id":9348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9344,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"6851:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9346,"indexExpression":{"id":9345,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9319,"src":"6860:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6851:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9347,"name":"m_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"6865:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6851:28:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9349,"nodeType":"ExpressionStatement","src":"6851:28:24"},{"expression":{"id":9351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6887:16:24","subExpression":{"id":9350,"name":"m_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"6887:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9352,"nodeType":"ExpressionStatement","src":"6887:16:24"},{"id":9356,"nodeType":"UncheckedBlock","src":"6911:33:24","statements":[{"expression":{"id":9354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6932:3:24","subExpression":{"id":9353,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9319,"src":"6932:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9355,"nodeType":"ExpressionStatement","src":"6932:3:24"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9321,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9319,"src":"6659:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9322,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"6663:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6659:17:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9358,"initializationExpression":{"assignments":[9319],"declarations":[{"constant":false,"id":9319,"mutability":"mutable","name":"i","nameLocation":"6656:1:24","nodeType":"VariableDeclaration","scope":9358,"src":"6648:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9318,"name":"uint256","nodeType":"ElementaryTypeName","src":"6648:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9320,"nodeType":"VariableDeclarationStatement","src":"6648:9:24"},"nodeType":"ForStatement","src":"6643:307:24"},{"expression":{"id":9361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9359,"name":"s_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8755,"src":"6960:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9360,"name":"m_packsCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9315,"src":"6977:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6960:31:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9362,"nodeType":"ExpressionStatement","src":"6960:31:24"},{"assignments":[9364],"declarations":[{"constant":false,"id":9364,"mutability":"mutable","name":"transferPrizeResult","nameLocation":"7003:19:24","nodeType":"VariableDeclaration","scope":9397,"src":"6998:24:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9363,"name":"bool","nodeType":"ElementaryTypeName","src":"6998:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9369,"initialValue":{"arguments":[{"id":9366,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"7048:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9367,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"7054:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9365,"name":"_transferPrizesAmounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9510,"src":"7025:22:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":9368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7025:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6998:70:24"},{"condition":{"id":9371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7078:20:24","subExpression":{"id":9370,"name":"transferPrizeResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9364,"src":"7079:19:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9376,"nodeType":"IfStatement","src":"7074:57:24","trueBody":{"errorCall":{"arguments":[{"id":9373,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"7126:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9372,"name":"TransferPrizeError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8693,"src":"7107:18:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":9374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7107:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9375,"nodeType":"RevertStatement","src":"7100:31:24"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9377,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9266,"src":"7142:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":9378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7159:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7142:18:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9393,"nodeType":"Block","src":"7220:50:24","statements":[{"eventCall":{"arguments":[{"id":9389,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"7248:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9390,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7254:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":9388,"name":"PacksPurchased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8792,"src":"7233:14:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint256[] memory)"}},"id":9391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7233:30:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9392,"nodeType":"EmitStatement","src":"7228:35:24"}]},"id":9394,"nodeType":"IfStatement","src":"7138:132:24","trueBody":{"id":9387,"nodeType":"Block","src":"7162:52:24","statements":[{"eventCall":{"arguments":[{"id":9381,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9264,"src":"7189:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":9382,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7195:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9384,"indexExpression":{"hexValue":"30","id":9383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7204:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7195:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9380,"name":"PackPurchased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8785,"src":"7175:13:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":9385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7175:32:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9386,"nodeType":"EmitStatement","src":"7170:37:24"}]}},{"expression":{"id":9395,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7287:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":9271,"id":9396,"nodeType":"Return","src":"7280:15:24"}]},"id":9398,"implemented":true,"kind":"function","modifiers":[],"name":"_buyPacks","nameLocation":"6218:9:24","nodeType":"FunctionDefinition","parameters":{"id":9267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9264,"mutability":"mutable","name":"user","nameLocation":"6236:4:24","nodeType":"VariableDeclaration","scope":9398,"src":"6228:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9263,"name":"address","nodeType":"ElementaryTypeName","src":"6228:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9266,"mutability":"mutable","name":"numberOfPacks","nameLocation":"6250:13:24","nodeType":"VariableDeclaration","scope":9398,"src":"6242:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9265,"name":"uint256","nodeType":"ElementaryTypeName","src":"6242:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6227:37:24"},"returnParameters":{"id":9271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9398,"src":"6282:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9268,"name":"uint256","nodeType":"ElementaryTypeName","src":"6282:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9269,"nodeType":"ArrayTypeName","src":"6282:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6281:18:24"},"scope":9825,"src":"6209:1091:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9509,"nodeType":"Block","src":"7396:993:24","statements":[{"assignments":[9408],"declarations":[{"constant":false,"id":9408,"mutability":"mutable","name":"prizesAmount","nameLocation":"7410:12:24","nodeType":"VariableDeclaration","scope":9509,"src":"7402:20:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9407,"name":"uint256","nodeType":"ElementaryTypeName","src":"7402:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9412,"initialValue":{"arguments":[{"id":9410,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9402,"src":"7450:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9409,"name":"getPrizeAmountToBuyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"7425:24:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":9411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7425:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7402:62:24"},{"assignments":[9414],"declarations":[{"constant":false,"id":9414,"mutability":"mutable","name":"prizeNoFAccount","nameLocation":"7478:15:24","nodeType":"VariableDeclaration","scope":9509,"src":"7470:23:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9413,"name":"uint256","nodeType":"ElementaryTypeName","src":"7470:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9418,"initialValue":{"arguments":[{"id":9416,"name":"numberOfPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9402,"src":"7531:13:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9415,"name":"getPrizeNoFAccountAmountToBuyPacks","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9111,"src":"7496:34:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":9417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7496:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7470:75:24"},{"expression":{"arguments":[{"id":9422,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9408,"src":"7587:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9419,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"7551:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}},"id":9421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7570:16:24","memberName":"setPrizesBalance","nodeType":"MemberAccess","referencedDeclaration":8706,"src":"7551:35:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":9423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7551:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9424,"nodeType":"ExpressionStatement","src":"7551:49:24"},{"condition":{"id":9425,"name":"s_transferDai","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8758,"src":"7611:13:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9506,"nodeType":"IfStatement","src":"7607:761:24","trueBody":{"id":9505,"nodeType":"Block","src":"7626:742:24","statements":[{"assignments":[9428],"declarations":[{"constant":false,"id":9428,"mutability":"mutable","name":"erc20Token","nameLocation":"7641:10:24","nodeType":"VariableDeclaration","scope":9505,"src":"7634:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"},"typeName":{"id":9427,"nodeType":"UserDefinedTypeName","pathNode":{"id":9426,"name":"IERC20","nameLocations":["7634:6:24"],"nodeType":"IdentifierPath","referencedDeclaration":218,"src":"7634:6:24"},"referencedDeclaration":218,"src":"7634:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"visibility":"internal"}],"id":9432,"initialValue":{"arguments":[{"id":9430,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8744,"src":"7661:9:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9429,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"7654:6:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":9431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7654:17:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"nodeType":"VariableDeclarationStatement","src":"7634:37:24"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9435,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9400,"src":"7705:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9438,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7719:4:24","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaPacksV3_$9825","typeString":"contract NofGammaPacksV3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaPacksV3_$9825","typeString":"contract NofGammaPacksV3"}],"id":9437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7711:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9436,"name":"address","nodeType":"ElementaryTypeName","src":"7711:7:24","typeDescriptions":{}}},"id":9439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7711:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9433,"name":"erc20Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"7684:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":9434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7695:9:24","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":195,"src":"7684:20:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":9440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7684:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9441,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9408,"src":"7729:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9442,"name":"prizeNoFAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9414,"src":"7744:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7729:30:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7728:32:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7684:76:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9449,"nodeType":"IfStatement","src":"7680:112:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9446,"name":"InsufficientAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8695,"src":"7769:21:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7769:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9448,"nodeType":"RevertStatement","src":"7762:30:24"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9452,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9400,"src":"7825:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9450,"name":"erc20Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"7804:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":9451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7815:9:24","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":175,"src":"7804:20:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":9453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7804:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9454,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9408,"src":"7833:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7804:41:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9458,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9400,"src":"7870:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9456,"name":"erc20Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"7849:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":9457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7860:9:24","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":175,"src":"7849:20:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":9459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7849:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9460,"name":"prizeNoFAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9414,"src":"7878:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7849:44:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7804:89:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9466,"nodeType":"IfStatement","src":"7800:131:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9463,"name":"InsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8697,"src":"7910:19:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7910:21:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9465,"nodeType":"RevertStatement","src":"7903:28:24"}},{"assignments":[9468],"declarations":[{"constant":false,"id":9468,"mutability":"mutable","name":"successTx1","nameLocation":"7993:10:24","nodeType":"VariableDeclaration","scope":9505,"src":"7988:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9467,"name":"bool","nodeType":"ElementaryTypeName","src":"7988:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9478,"initialValue":{"arguments":[{"id":9471,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9400,"src":"8030:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9474,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"8044:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}],"id":9473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8036:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9472,"name":"address","nodeType":"ElementaryTypeName","src":"8036:7:24","typeDescriptions":{}}},"id":9475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8036:27:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9476,"name":"prizesAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9408,"src":"8065:12:24","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":9469,"name":"erc20Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"8006:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8017:12:24","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":217,"src":"8006:23:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":9477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8006:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"7988:90:24"},{"condition":{"id":9480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8090:11:24","subExpression":{"id":9479,"name":"successTx1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9468,"src":"8091:10:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9488,"nodeType":"IfStatement","src":"8086:71:24","trueBody":{"errorCall":{"arguments":[{"arguments":[{"id":9484,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8736,"src":"8137:18:24","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGammaCardsContract_$8712","typeString":"contract IGammaCardsContract"}],"id":9483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8129:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9482,"name":"address","nodeType":"ElementaryTypeName","src":"8129:7:24","typeDescriptions":{}}},"id":9485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8129:27:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9481,"name":"TransferPrizeError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8693,"src":"8110:18:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":9486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8110:47:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9487,"nodeType":"RevertStatement","src":"8103:54:24"}},{"assignments":[9490],"declarations":[{"constant":false,"id":9490,"mutability":"mutable","name":"successTx2","nameLocation":"8214:10:24","nodeType":"VariableDeclaration","scope":9505,"src":"8209:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9489,"name":"bool","nodeType":"ElementaryTypeName","src":"8209:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9497,"initialValue":{"arguments":[{"id":9493,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9400,"src":"8251:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9494,"name":"s_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8746,"src":"8257:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9495,"name":"prizeNoFAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9414,"src":"8276:15:24","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":9491,"name":"erc20Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"8227:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":9492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8238:12:24","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":217,"src":"8227:23:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":9496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8227:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"8209:83:24"},{"condition":{"id":9499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"8304:11:24","subExpression":{"id":9498,"name":"successTx2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9490,"src":"8305:10:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9504,"nodeType":"IfStatement","src":"8300:61:24","trueBody":{"errorCall":{"arguments":[{"id":9501,"name":"s_balanceReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8746,"src":"8343:17:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9500,"name":"TransferPrizeError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8693,"src":"8324:18:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":9502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8324:37:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9503,"nodeType":"RevertStatement","src":"8317:44:24"}}]}},{"expression":{"hexValue":"74727565","id":9507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8380:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":9406,"id":9508,"nodeType":"Return","src":"8373:11:24"}]},"id":9510,"implemented":true,"kind":"function","modifiers":[],"name":"_transferPrizesAmounts","nameLocation":"7313:22:24","nodeType":"FunctionDefinition","parameters":{"id":9403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9400,"mutability":"mutable","name":"user","nameLocation":"7344:4:24","nodeType":"VariableDeclaration","scope":9510,"src":"7336:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9399,"name":"address","nodeType":"ElementaryTypeName","src":"7336:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9402,"mutability":"mutable","name":"numberOfPacks","nameLocation":"7358:13:24","nodeType":"VariableDeclaration","scope":9510,"src":"7350:21:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9401,"name":"uint256","nodeType":"ElementaryTypeName","src":"7350:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7335:37:24"},"returnParameters":{"id":9406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9510,"src":"7390:4:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9404,"name":"bool","nodeType":"ElementaryTypeName","src":"7390:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7389:6:24"},"scope":9825,"src":"7304:1085:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9568,"nodeType":"Block","src":"8457:318:24","statements":[{"assignments":[9518],"declarations":[{"constant":false,"id":9518,"mutability":"mutable","name":"packsByUserLength","nameLocation":"8471:17:24","nodeType":"VariableDeclaration","scope":9568,"src":"8463:25:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9517,"name":"uint256","nodeType":"ElementaryTypeName","src":"8463:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9523,"initialValue":{"expression":{"baseExpression":{"id":9519,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"8491:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9521,"indexExpression":{"id":9520,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9514,"src":"8505:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8491:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8512:6:24","memberName":"length","nodeType":"MemberAccess","src":"8491:27:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8463:55:24"},{"body":{"id":9566,"nodeType":"Block","src":"8568:203:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":9533,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"8580:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9535,"indexExpression":{"id":9534,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9514,"src":"8594:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8580:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9537,"indexExpression":{"id":9536,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8601:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8580:23:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":9538,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9512,"src":"8607:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8580:34:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9565,"nodeType":"IfStatement","src":"8576:189:24","trueBody":{"id":9564,"nodeType":"Block","src":"8616:149:24","statements":[{"expression":{"id":9555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":9540,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"8626:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9543,"indexExpression":{"id":9541,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9514,"src":"8640:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8626:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9544,"indexExpression":{"id":9542,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8647:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8626:23:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":9545,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"8652:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9547,"indexExpression":{"id":9546,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9514,"src":"8666:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8652:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9554,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":9548,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"8673:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9550,"indexExpression":{"id":9549,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9514,"src":"8687:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8673:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8694:6:24","memberName":"length","nodeType":"MemberAccess","src":"8673:27:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":9552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8703:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8673:31:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8652:53:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8626:79:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9556,"nodeType":"ExpressionStatement","src":"8626:79:24"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":9557,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"8715:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9559,"indexExpression":{"id":9558,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9514,"src":"8729:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8715:20:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8736:3:24","memberName":"pop","nodeType":"MemberAccess","src":"8715:24:24","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer)"}},"id":9561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8715:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9562,"nodeType":"ExpressionStatement","src":"8715:26:24"},{"id":9563,"nodeType":"Break","src":"8751:5:24"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8540:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9528,"name":"packsByUserLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9518,"src":"8544:17:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8540:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9567,"initializationExpression":{"assignments":[9525],"declarations":[{"constant":false,"id":9525,"mutability":"mutable","name":"i","nameLocation":"8537:1:24","nodeType":"VariableDeclaration","scope":9567,"src":"8529:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9524,"name":"uint256","nodeType":"ElementaryTypeName","src":"8529:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9526,"nodeType":"VariableDeclarationStatement","src":"8529:9:24"},"loopExpression":{"expression":{"id":9531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8563:3:24","subExpression":{"id":9530,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8563:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9532,"nodeType":"ExpressionStatement","src":"8563:3:24"},"nodeType":"ForStatement","src":"8524:247:24"}]},"id":9569,"implemented":true,"kind":"function","modifiers":[],"name":"deleteTokenId","nameLocation":"8402:13:24","nodeType":"FunctionDefinition","parameters":{"id":9515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9512,"mutability":"mutable","name":"tokenId","nameLocation":"8424:7:24","nodeType":"VariableDeclaration","scope":9569,"src":"8416:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9511,"name":"uint256","nodeType":"ElementaryTypeName","src":"8416:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9514,"mutability":"mutable","name":"owner","nameLocation":"8441:5:24","nodeType":"VariableDeclaration","scope":9569,"src":"8433:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9513,"name":"address","nodeType":"ElementaryTypeName","src":"8433:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8415:32:24"},"returnParameters":{"id":9516,"nodeType":"ParameterList","parameters":[],"src":"8457:0:24"},"scope":9825,"src":"8393:382:24","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":9581,"nodeType":"Block","src":"8837:37:24","statements":[{"expression":{"arguments":[{"id":9577,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9571,"src":"8857:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9578,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9573,"src":"8861:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9576,"name":"_transferPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9676,"src":"8843:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":9579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8843:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9580,"nodeType":"ExpressionStatement","src":"8843:26:24"}]},"functionSelector":"d611713e","id":9582,"implemented":true,"kind":"function","modifiers":[],"name":"transferPack","nameLocation":"8788:12:24","nodeType":"FunctionDefinition","parameters":{"id":9574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9571,"mutability":"mutable","name":"to","nameLocation":"8809:2:24","nodeType":"VariableDeclaration","scope":9582,"src":"8801:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9570,"name":"address","nodeType":"ElementaryTypeName","src":"8801:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9573,"mutability":"mutable","name":"tokenId","nameLocation":"8821:7:24","nodeType":"VariableDeclaration","scope":9582,"src":"8813:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9572,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8800:29:24"},"returnParameters":{"id":9575,"nodeType":"ParameterList","parameters":[],"src":"8837:0:24"},"scope":9825,"src":"8779:95:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9621,"nodeType":"Block","src":"8947:186:24","statements":[{"body":{"id":9612,"nodeType":"Block","src":"8999:78:24","statements":[{"assignments":[9602],"declarations":[{"constant":false,"id":9602,"mutability":"mutable","name":"tokenId","nameLocation":"9015:7:24","nodeType":"VariableDeclaration","scope":9612,"src":"9007:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9601,"name":"uint256","nodeType":"ElementaryTypeName","src":"9007:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9606,"initialValue":{"baseExpression":{"id":9603,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9587,"src":"9025:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9605,"indexExpression":{"id":9604,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9591,"src":"9034:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9025:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9007:29:24"},{"expression":{"arguments":[{"id":9608,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9058:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9609,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9602,"src":"9062:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9607,"name":"_transferPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9676,"src":"9044:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":9610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9044:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9611,"nodeType":"ExpressionStatement","src":"9044:26:24"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9594,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9591,"src":"8973:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9595,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9587,"src":"8977:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8986:6:24","memberName":"length","nodeType":"MemberAccess","src":"8977:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8973:19:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9613,"initializationExpression":{"assignments":[9591],"declarations":[{"constant":false,"id":9591,"mutability":"mutable","name":"i","nameLocation":"8966:1:24","nodeType":"VariableDeclaration","scope":9613,"src":"8958:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9590,"name":"uint256","nodeType":"ElementaryTypeName","src":"8958:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9593,"initialValue":{"hexValue":"30","id":9592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8970:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8958:13:24"},"loopExpression":{"expression":{"id":9599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8994:3:24","subExpression":{"id":9598,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9591,"src":"8994:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9600,"nodeType":"ExpressionStatement","src":"8994:3:24"},"nodeType":"ForStatement","src":"8953:124:24"},{"eventCall":{"arguments":[{"expression":{"id":9615,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9103:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9107:6:24","memberName":"sender","nodeType":"MemberAccess","src":"9103:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9617,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9584,"src":"9115:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9618,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9587,"src":"9119:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":9614,"name":"PacksTransfered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8809,"src":"9087:15:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,uint256[] memory)"}},"id":9619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9087:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9620,"nodeType":"EmitStatement","src":"9082:46:24"}]},"functionSelector":"ab4bdbc8","id":9622,"implemented":true,"kind":"function","modifiers":[],"name":"transferPacks","nameLocation":"8887:13:24","nodeType":"FunctionDefinition","parameters":{"id":9588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9584,"mutability":"mutable","name":"to","nameLocation":"8909:2:24","nodeType":"VariableDeclaration","scope":9622,"src":"8901:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9583,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9587,"mutability":"mutable","name":"tokenIds","nameLocation":"8930:8:24","nodeType":"VariableDeclaration","scope":9622,"src":"8913:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9585,"name":"uint256","nodeType":"ElementaryTypeName","src":"8913:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9586,"nodeType":"ArrayTypeName","src":"8913:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8900:39:24"},"returnParameters":{"id":9589,"nodeType":"ParameterList","parameters":[],"src":"8947:0:24"},"scope":9825,"src":"8878:255:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9675,"nodeType":"Block","src":"9197:272:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9629,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9624,"src":"9207:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9221:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9213:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9630,"name":"address","nodeType":"ElementaryTypeName","src":"9213:7:24","typeDescriptions":{}}},"id":9633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9213:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9207:16:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9638,"nodeType":"IfStatement","src":"9203:45:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9635,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"9232:14:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9232:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9637,"nodeType":"RevertStatement","src":"9225:23:24"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":9639,"name":"s_packs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8762,"src":"9258:7:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":9641,"indexExpression":{"id":9640,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9626,"src":"9266:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9258:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":9642,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9278:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9282:6:24","memberName":"sender","nodeType":"MemberAccess","src":"9278:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9258:30:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9648,"nodeType":"IfStatement","src":"9254:56:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9645,"name":"NotYourPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8699,"src":"9297:11:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9297:13:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9647,"nodeType":"RevertStatement","src":"9290:20:24"}},{"expression":{"id":9653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":9649,"name":"s_packs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8762,"src":"9316:7:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":9651,"indexExpression":{"id":9650,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9626,"src":"9324:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9316:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9652,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9624,"src":"9335:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9316:21:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9654,"nodeType":"ExpressionStatement","src":"9316:21:24"},{"expression":{"arguments":[{"id":9656,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9626,"src":"9357:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9657,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9366:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9370:6:24","memberName":"sender","nodeType":"MemberAccess","src":"9366:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9655,"name":"deleteTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9569,"src":"9343:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":9659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9343:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9660,"nodeType":"ExpressionStatement","src":"9343:34:24"},{"expression":{"arguments":[{"id":9665,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9626,"src":"9406:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":9661,"name":"s_packsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8767,"src":"9383:13:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":9663,"indexExpression":{"id":9662,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9624,"src":"9397:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9383:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":9664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9401:4:24","memberName":"push","nodeType":"MemberAccess","src":"9383:22:24","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":9666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9383:31:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9667,"nodeType":"ExpressionStatement","src":"9383:31:24"},{"eventCall":{"arguments":[{"expression":{"id":9669,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9440:3:24","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9444:6:24","memberName":"sender","nodeType":"MemberAccess","src":"9440:10:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9671,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9624,"src":"9452:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9672,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9626,"src":"9456:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9668,"name":"PackTransfered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8800,"src":"9425:14:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":9673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9425:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9674,"nodeType":"EmitStatement","src":"9420:44:24"}]},"id":9676,"implemented":true,"kind":"function","modifiers":[],"name":"_transferPack","nameLocation":"9146:13:24","nodeType":"FunctionDefinition","parameters":{"id":9627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9624,"mutability":"mutable","name":"to","nameLocation":"9168:2:24","nodeType":"VariableDeclaration","scope":9676,"src":"9160:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9623,"name":"address","nodeType":"ElementaryTypeName","src":"9160:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9626,"mutability":"mutable","name":"tokenId","nameLocation":"9180:7:24","nodeType":"VariableDeclaration","scope":9676,"src":"9172:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9625,"name":"uint256","nodeType":"ElementaryTypeName","src":"9172:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9159:29:24"},"returnParameters":{"id":9628,"nodeType":"ParameterList","parameters":[],"src":"9197:0:24"},"scope":9825,"src":"9137:332:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9690,"nodeType":"Block","src":"9553:36:24","statements":[{"expression":{"arguments":[{"id":9686,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9678,"src":"9569:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9687,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9680,"src":"9578:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9685,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9749,"src":"9559:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":9688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9559:25:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9689,"nodeType":"ExpressionStatement","src":"9559:25:24"}]},"functionSelector":"80f2540b","id":9691,"implemented":true,"kind":"function","modifiers":[{"id":9683,"kind":"modifierInvocation","modifierName":{"id":9682,"name":"onlyGammaCardsContract","nameLocations":["9530:22:24"],"nodeType":"IdentifierPath","referencedDeclaration":8834,"src":"9530:22:24"},"nodeType":"ModifierInvocation","src":"9530:22:24"}],"name":"openPack","nameLocation":"9482:8:24","nodeType":"FunctionDefinition","parameters":{"id":9681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9678,"mutability":"mutable","name":"tokenId","nameLocation":"9499:7:24","nodeType":"VariableDeclaration","scope":9691,"src":"9491:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9677,"name":"uint256","nodeType":"ElementaryTypeName","src":"9491:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9680,"mutability":"mutable","name":"owner","nameLocation":"9516:5:24","nodeType":"VariableDeclaration","scope":9691,"src":"9508:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9679,"name":"address","nodeType":"ElementaryTypeName","src":"9508:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9490:32:24"},"returnParameters":{"id":9684,"nodeType":"ParameterList","parameters":[],"src":"9553:0:24"},"scope":9825,"src":"9473:116:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9725,"nodeType":"Block","src":"9684:133:24","statements":[{"body":{"id":9723,"nodeType":"Block","src":"9736:77:24","statements":[{"assignments":[9713],"declarations":[{"constant":false,"id":9713,"mutability":"mutable","name":"tokenId","nameLocation":"9752:7:24","nodeType":"VariableDeclaration","scope":9723,"src":"9744:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9712,"name":"uint256","nodeType":"ElementaryTypeName","src":"9744:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9717,"initialValue":{"baseExpression":{"id":9714,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9694,"src":"9762:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9716,"indexExpression":{"id":9715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9702,"src":"9771:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9762:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9744:29:24"},{"expression":{"arguments":[{"id":9719,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9713,"src":"9791:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9720,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9696,"src":"9800:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9718,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9749,"src":"9781:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":9721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9781:25:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9722,"nodeType":"ExpressionStatement","src":"9781:25:24"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9705,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9702,"src":"9710:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9706,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9694,"src":"9714:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9723:6:24","memberName":"length","nodeType":"MemberAccess","src":"9714:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9710:19:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9724,"initializationExpression":{"assignments":[9702],"declarations":[{"constant":false,"id":9702,"mutability":"mutable","name":"i","nameLocation":"9703:1:24","nodeType":"VariableDeclaration","scope":9724,"src":"9695:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9701,"name":"uint256","nodeType":"ElementaryTypeName","src":"9695:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9704,"initialValue":{"hexValue":"30","id":9703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9707:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9695:13:24"},"loopExpression":{"expression":{"id":9710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9731:3:24","subExpression":{"id":9709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9702,"src":"9731:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9711,"nodeType":"ExpressionStatement","src":"9731:3:24"},"nodeType":"ForStatement","src":"9690:123:24"}]},"functionSelector":"97f8b3d3","id":9726,"implemented":true,"kind":"function","modifiers":[{"id":9699,"kind":"modifierInvocation","modifierName":{"id":9698,"name":"onlyGammaCardsContract","nameLocations":["9661:22:24"],"nodeType":"IdentifierPath","referencedDeclaration":8834,"src":"9661:22:24"},"nodeType":"ModifierInvocation","src":"9661:22:24"}],"name":"openPacks","nameLocation":"9602:9:24","nodeType":"FunctionDefinition","parameters":{"id":9697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9694,"mutability":"mutable","name":"tokenIds","nameLocation":"9629:8:24","nodeType":"VariableDeclaration","scope":9726,"src":"9612:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9692,"name":"uint256","nodeType":"ElementaryTypeName","src":"9612:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9693,"nodeType":"ArrayTypeName","src":"9612:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":9696,"mutability":"mutable","name":"owner","nameLocation":"9647:5:24","nodeType":"VariableDeclaration","scope":9726,"src":"9639:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9695,"name":"address","nodeType":"ElementaryTypeName","src":"9639:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9611:42:24"},"returnParameters":{"id":9700,"nodeType":"ParameterList","parameters":[],"src":"9684:0:24"},"scope":9825,"src":"9593:224:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9748,"nodeType":"Block","src":"9880:106:24","statements":[{"expression":{"arguments":[{"id":9734,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9728,"src":"9900:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9735,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9730,"src":"9909:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9733,"name":"deleteTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9569,"src":"9886:13:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":9736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9886:29:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9737,"nodeType":"ExpressionStatement","src":"9886:29:24"},{"expression":{"id":9741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"9921:23:24","subExpression":{"baseExpression":{"id":9738,"name":"s_packs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8762,"src":"9928:7:24","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":9740,"indexExpression":{"id":9739,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9728,"src":"9936:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9928:16:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9742,"nodeType":"ExpressionStatement","src":"9921:23:24"},{"eventCall":{"arguments":[{"id":9744,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9730,"src":"9966:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9745,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9728,"src":"9973:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9743,"name":"PackOpened","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8815,"src":"9955:10:24","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":9746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9955:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9747,"nodeType":"EmitStatement","src":"9950:31:24"}]},"id":9749,"implemented":true,"kind":"function","modifiers":[],"name":"_openPack","nameLocation":"9830:9:24","nodeType":"FunctionDefinition","parameters":{"id":9731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9728,"mutability":"mutable","name":"tokenId","nameLocation":"9848:7:24","nodeType":"VariableDeclaration","scope":9749,"src":"9840:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9727,"name":"uint256","nodeType":"ElementaryTypeName","src":"9840:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9730,"mutability":"mutable","name":"owner","nameLocation":"9865:5:24","nodeType":"VariableDeclaration","scope":9749,"src":"9857:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9729,"name":"address","nodeType":"ElementaryTypeName","src":"9857:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9839:32:24"},"returnParameters":{"id":9732,"nodeType":"ParameterList","parameters":[],"src":"9880:0:24"},"scope":9825,"src":"9821:165:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9773,"nodeType":"Block","src":"10018:472:24","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9754,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8739,"src":"10036:20:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}],"id":9753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10028:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9752,"name":"address","nodeType":"ElementaryTypeName","src":"10028:7:24","typeDescriptions":{}}},"id":9755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10028:29:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10069:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10061:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9756,"name":"address","nodeType":"ElementaryTypeName","src":"10061:7:24","typeDescriptions":{}}},"id":9759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10061:10:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10028:43:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9764,"nodeType":"IfStatement","src":"10024:79:24","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9761,"name":"ContractAddressNotSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8701,"src":"10080:21:24","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10080:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9763,"nodeType":"RevertStatement","src":"10073:30:24"}},{"condition":{"id":9765,"name":"s_transferDai","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8758,"src":"10318:13:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9767,"nodeType":"IfStatement","src":"10314:74:24","trueBody":{"id":9766,"nodeType":"Block","src":"10333:55:24","statements":[]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9768,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8739,"src":"10446:20:24","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$8727","typeString":"contract IgammaTicketsContract"}},"id":9770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10467:16:24","memberName":"deleteAllTickets","nodeType":"MemberAccess","referencedDeclaration":8726,"src":"10446:37:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10446:39:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9772,"nodeType":"ExpressionStatement","src":"10446:39:24"}]},"id":9774,"implemented":true,"kind":"function","modifiers":[],"name":"_lottery","nameLocation":"9999:8:24","nodeType":"FunctionDefinition","parameters":{"id":9750,"nodeType":"ParameterList","parameters":[],"src":"10007:2:24"},"returnParameters":{"id":9751,"nodeType":"ParameterList","parameters":[],"src":"10018:0:24"},"scope":9825,"src":"9990:500:24","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":9788,"nodeType":"Block","src":"10626:36:24","statements":[{"expression":{"arguments":[{"id":9784,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9776,"src":"10642:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9785,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9778,"src":"10651:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9783,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9749,"src":"10632:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":9786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10632:25:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9787,"nodeType":"ExpressionStatement","src":"10632:25:24"}]},"functionSelector":"39e8d3ec","id":9789,"implemented":true,"kind":"function","modifiers":[{"id":9781,"kind":"modifierInvocation","modifierName":{"id":9780,"name":"onlyOwners","nameLocations":["10615:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"10615:10:24"},"nodeType":"ModifierInvocation","src":"10615:10:24"}],"name":"testOpenPack","nameLocation":"10563:12:24","nodeType":"FunctionDefinition","parameters":{"id":9779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9776,"mutability":"mutable","name":"tokenId","nameLocation":"10584:7:24","nodeType":"VariableDeclaration","scope":9789,"src":"10576:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9775,"name":"uint256","nodeType":"ElementaryTypeName","src":"10576:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9778,"mutability":"mutable","name":"owner","nameLocation":"10601:5:24","nodeType":"VariableDeclaration","scope":9789,"src":"10593:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9777,"name":"address","nodeType":"ElementaryTypeName","src":"10593:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10575:32:24"},"returnParameters":{"id":9782,"nodeType":"ParameterList","parameters":[],"src":"10626:0:24"},"scope":9825,"src":"10554:108:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":9823,"nodeType":"Block","src":"10749:133:24","statements":[{"body":{"id":9821,"nodeType":"Block","src":"10801:77:24","statements":[{"assignments":[9811],"declarations":[{"constant":false,"id":9811,"mutability":"mutable","name":"tokenId","nameLocation":"10817:7:24","nodeType":"VariableDeclaration","scope":9821,"src":"10809:15:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9810,"name":"uint256","nodeType":"ElementaryTypeName","src":"10809:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9815,"initialValue":{"baseExpression":{"id":9812,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9792,"src":"10827:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9814,"indexExpression":{"id":9813,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9800,"src":"10836:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10827:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10809:29:24"},{"expression":{"arguments":[{"id":9817,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9811,"src":"10856:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9818,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9794,"src":"10865:5:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":9816,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9749,"src":"10846:9:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":9819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10846:25:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9820,"nodeType":"ExpressionStatement","src":"10846:25:24"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9800,"src":"10775:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9804,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9792,"src":"10779:8:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":9805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10788:6:24","memberName":"length","nodeType":"MemberAccess","src":"10779:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10775:19:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9822,"initializationExpression":{"assignments":[9800],"declarations":[{"constant":false,"id":9800,"mutability":"mutable","name":"i","nameLocation":"10768:1:24","nodeType":"VariableDeclaration","scope":9822,"src":"10760:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9799,"name":"uint256","nodeType":"ElementaryTypeName","src":"10760:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9802,"initialValue":{"hexValue":"30","id":9801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10772:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10760:13:24"},"loopExpression":{"expression":{"id":9808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10796:3:24","subExpression":{"id":9807,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9800,"src":"10796:1:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9809,"nodeType":"ExpressionStatement","src":"10796:3:24"},"nodeType":"ForStatement","src":"10755:123:24"}]},"functionSelector":"0c3e5c00","id":9824,"implemented":true,"kind":"function","modifiers":[{"id":9797,"kind":"modifierInvocation","modifierName":{"id":9796,"name":"onlyOwners","nameLocations":["10738:10:24"],"nodeType":"IdentifierPath","referencedDeclaration":8848,"src":"10738:10:24"},"nodeType":"ModifierInvocation","src":"10738:10:24"}],"name":"testOpenPacks","nameLocation":"10675:13:24","nodeType":"FunctionDefinition","parameters":{"id":9795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9792,"mutability":"mutable","name":"tokenIds","nameLocation":"10706:8:24","nodeType":"VariableDeclaration","scope":9824,"src":"10689:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":9790,"name":"uint256","nodeType":"ElementaryTypeName","src":"10689:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9791,"nodeType":"ArrayTypeName","src":"10689:9:24","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":9794,"mutability":"mutable","name":"owner","nameLocation":"10724:5:24","nodeType":"VariableDeclaration","scope":9824,"src":"10716:13:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9793,"name":"address","nodeType":"ElementaryTypeName","src":"10716:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10688:42:24"},"returnParameters":{"id":9798,"nodeType":"ParameterList","parameters":[],"src":"10749:0:24"},"scope":9825,"src":"10666:216:24","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":9826,"src":"947:9997:24","usedErrors":[8681,8683,8685,8687,8689,8693,8695,8697,8699],"usedEvents":[13,8771,8775,8779,8785,8792,8800,8809,8815,8819]}],"src":"32:10913:24"},"id":24},"contracts/gamma/GammaTickets.v1.sol":{"ast":{"absolutePath":"contracts/gamma/GammaTickets.v1.sol","exportedSymbols":{"IGammaCardsContract":[9842],"IgammaPacksContract":[9843],"InvalidAddress":[9839],"LibControlMgmt":[10534],"NoTicketsAvailable":[9841],"NofGammaTicketsV1":[10332],"OnlyGammaContractsCanCall":[9835],"OnlyOwners":[9837],"Ownable":[112],"console":[21215]},"id":10333,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":9827,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:25"},{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","id":9829,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10333,"sourceUnit":113,"src":"58:67:25","symbolAliases":[{"foreign":{"id":9828,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"66:7:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","file":"./libs/LibControlMgmt.sol","id":9831,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10333,"sourceUnit":10535,"src":"126:57:25","symbolAliases":[{"foreign":{"id":9830,"name":"LibControlMgmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10534,"src":"134:14:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"hardhat/console.sol","file":"hardhat/console.sol","id":9833,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10333,"sourceUnit":21216,"src":"184:44:25","symbolAliases":[{"foreign":{"id":9832,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21215,"src":"192:7:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"errorSelector":"f44111ac","id":9835,"name":"OnlyGammaContractsCanCall","nameLocation":"236:25:25","nodeType":"ErrorDefinition","parameters":{"id":9834,"nodeType":"ParameterList","parameters":[],"src":"261:2:25"},"src":"230:34:25"},{"errorSelector":"4289c493","id":9837,"name":"OnlyOwners","nameLocation":"271:10:25","nodeType":"ErrorDefinition","parameters":{"id":9836,"nodeType":"ParameterList","parameters":[],"src":"281:2:25"},"src":"265:19:25"},{"errorSelector":"e6c4247b","id":9839,"name":"InvalidAddress","nameLocation":"291:14:25","nodeType":"ErrorDefinition","parameters":{"id":9838,"nodeType":"ParameterList","parameters":[],"src":"305:2:25"},"src":"285:23:25"},{"errorSelector":"5c25996e","id":9841,"name":"NoTicketsAvailable","nameLocation":"315:18:25","nodeType":"ErrorDefinition","parameters":{"id":9840,"nodeType":"ParameterList","parameters":[],"src":"333:2:25"},"src":"309:27:25"},{"abstract":false,"baseContracts":[],"canonicalName":"IGammaCardsContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":true,"id":9842,"linearizedBaseContracts":[9842],"name":"IGammaCardsContract","nameLocation":"348:19:25","nodeType":"ContractDefinition","nodes":[],"scope":10333,"src":"338:32:25","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaPacksContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":true,"id":9843,"linearizedBaseContracts":[9843],"name":"IgammaPacksContract","nameLocation":"381:19:25","nodeType":"ContractDefinition","nodes":[],"scope":10333,"src":"371:32:25","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":9844,"name":"Ownable","nameLocations":["435:7:25"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"435:7:25"},"id":9845,"nodeType":"InheritanceSpecifier","src":"435:7:25"}],"canonicalName":"NofGammaTicketsV1","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":10332,"linearizedBaseContracts":[10332,112,1852],"name":"NofGammaTicketsV1","nameLocation":"414:17:25","nodeType":"ContractDefinition","nodes":[{"global":false,"id":9849,"libraryName":{"id":9846,"name":"LibControlMgmt","nameLocations":["455:14:25"],"nodeType":"IdentifierPath","referencedDeclaration":10534,"src":"455:14:25"},"nodeType":"UsingForDirective","src":"449:45:25","typeName":{"id":9848,"nodeType":"UserDefinedTypeName","pathNode":{"id":9847,"name":"LibControlMgmt.Data","nameLocations":["474:14:25","489:4:25"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"474:19:25"},"referencedDeclaration":10343,"src":"474:19:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}}},{"constant":false,"functionSelector":"d250f03a","id":9852,"mutability":"mutable","name":"gammaCardsContract","nameLocation":"527:18:25","nodeType":"VariableDeclaration","scope":10332,"src":"500:45:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"},"typeName":{"id":9851,"nodeType":"UserDefinedTypeName","pathNode":{"id":9850,"name":"IGammaCardsContract","nameLocations":["500:19:25"],"nodeType":"IdentifierPath","referencedDeclaration":9842,"src":"500:19:25"},"referencedDeclaration":9842,"src":"500:19:25","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"visibility":"public"},{"constant":false,"functionSelector":"2f9e026a","id":9855,"mutability":"mutable","name":"gammaPacksContract","nameLocation":"578:18:25","nodeType":"VariableDeclaration","scope":10332,"src":"551:45:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"},"typeName":{"id":9854,"nodeType":"UserDefinedTypeName","pathNode":{"id":9853,"name":"IgammaPacksContract","nameLocations":["551:19:25"],"nodeType":"IdentifierPath","referencedDeclaration":9843,"src":"551:19:25"},"referencedDeclaration":9843,"src":"551:19:25","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"visibility":"public"},{"constant":false,"id":9858,"mutability":"mutable","name":"ownersData","nameLocation":"631:10:25","nodeType":"VariableDeclaration","scope":10332,"src":"603:38:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":9857,"nodeType":"UserDefinedTypeName","pathNode":{"id":9856,"name":"LibControlMgmt.Data","nameLocations":["603:14:25","618:4:25"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"603:19:25"},"referencedDeclaration":10343,"src":"603:19:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"canonicalName":"NofGammaTicketsV1.Ticket","id":9867,"members":[{"constant":false,"id":9860,"mutability":"mutable","name":"timestamp","nameLocation":"680:9:25","nodeType":"VariableDeclaration","scope":9867,"src":"672:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9859,"name":"uint256","nodeType":"ElementaryTypeName","src":"672:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9862,"mutability":"mutable","name":"ticketId","nameLocation":"707:8:25","nodeType":"VariableDeclaration","scope":9867,"src":"699:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9861,"name":"bytes32","nodeType":"ElementaryTypeName","src":"699:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9864,"mutability":"mutable","name":"ticketCounter","nameLocation":"733:13:25","nodeType":"VariableDeclaration","scope":9867,"src":"725:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9863,"name":"uint256","nodeType":"ElementaryTypeName","src":"725:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9866,"mutability":"mutable","name":"user","nameLocation":"764:4:25","nodeType":"VariableDeclaration","scope":9867,"src":"756:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9865,"name":"address","nodeType":"ElementaryTypeName","src":"756:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Ticket","nameLocation":"655:6:25","nodeType":"StructDefinition","scope":10332,"src":"648:127:25","visibility":"public"},{"constant":false,"functionSelector":"50b44712","id":9871,"mutability":"mutable","name":"tickets","nameLocation":"797:7:25","nodeType":"VariableDeclaration","scope":10332,"src":"781:23:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket[]"},"typeName":{"baseType":{"id":9869,"nodeType":"UserDefinedTypeName","pathNode":{"id":9868,"name":"Ticket","nameLocations":["781:6:25"],"nodeType":"IdentifierPath","referencedDeclaration":9867,"src":"781:6:25"},"referencedDeclaration":9867,"src":"781:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket"}},"id":9870,"nodeType":"ArrayTypeName","src":"781:8:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket[]"}},"visibility":"public"},{"constant":false,"functionSelector":"dfbf53ae","id":9874,"mutability":"mutable","name":"winner","nameLocation":"824:6:25","nodeType":"VariableDeclaration","scope":10332,"src":"810:20:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket"},"typeName":{"id":9873,"nodeType":"UserDefinedTypeName","pathNode":{"id":9872,"name":"Ticket","nameLocations":["810:6:25"],"nodeType":"IdentifierPath","referencedDeclaration":9867,"src":"810:6:25"},"referencedDeclaration":9867,"src":"810:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket"}},"visibility":"public"},{"constant":false,"functionSelector":"04ac05cf","id":9880,"mutability":"mutable","name":"ticketsByUser","nameLocation":"872:13:25","nodeType":"VariableDeclaration","scope":10332,"src":"836:49:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaTicketsV1.Ticket[])"},"typeName":{"id":9879,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":9875,"name":"address","nodeType":"ElementaryTypeName","src":"844:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"836:28:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaTicketsV1.Ticket[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":9877,"nodeType":"UserDefinedTypeName","pathNode":{"id":9876,"name":"Ticket","nameLocations":["855:6:25"],"nodeType":"IdentifierPath","referencedDeclaration":9867,"src":"855:6:25"},"referencedDeclaration":9867,"src":"855:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket"}},"id":9878,"nodeType":"ArrayTypeName","src":"855:8:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket[]"}}},"visibility":"public"},{"constant":false,"functionSelector":"e6afe6bc","id":9883,"mutability":"mutable","name":"ticketsTotalCounter","nameLocation":"906:19:25","nodeType":"VariableDeclaration","scope":10332,"src":"891:38:25","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9881,"name":"uint256","nodeType":"ElementaryTypeName","src":"891:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":9882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"928:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"anonymous":false,"eventSelector":"45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa","id":9887,"name":"NewGammaCardsContract","nameLocation":"942:21:25","nodeType":"EventDefinition","parameters":{"id":9886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9885,"indexed":false,"mutability":"mutable","name":"newGammaCardsContract","nameLocation":"972:21:25","nodeType":"VariableDeclaration","scope":9887,"src":"964:29:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9884,"name":"address","nodeType":"ElementaryTypeName","src":"964:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"963:31:25"},"src":"936:59:25"},{"anonymous":false,"eventSelector":"5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f","id":9891,"name":"NewGammaPacksContract","nameLocation":"1006:21:25","nodeType":"EventDefinition","parameters":{"id":9890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9889,"indexed":false,"mutability":"mutable","name":"newGammaPacksContract","nameLocation":"1036:21:25","nodeType":"VariableDeclaration","scope":9891,"src":"1028:29:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9888,"name":"address","nodeType":"ElementaryTypeName","src":"1028:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1027:31:25"},"src":"1000:59:25"},{"anonymous":false,"eventSelector":"0493d9379fb7ffa47303ca5a377a34a8034f42db6d986fe1f57b0b800fd21091","id":9901,"name":"TicketGenerated","nameLocation":"1070:15:25","nodeType":"EventDefinition","parameters":{"id":9900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9893,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"1094:9:25","nodeType":"VariableDeclaration","scope":9901,"src":"1086:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9892,"name":"uint256","nodeType":"ElementaryTypeName","src":"1086:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9895,"indexed":false,"mutability":"mutable","name":"ticketId","nameLocation":"1113:8:25","nodeType":"VariableDeclaration","scope":9901,"src":"1105:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1105:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9897,"indexed":false,"mutability":"mutable","name":"ticketCounter","nameLocation":"1131:13:25","nodeType":"VariableDeclaration","scope":9901,"src":"1123:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1123:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9899,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"1162:4:25","nodeType":"VariableDeclaration","scope":9901,"src":"1146:20:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9898,"name":"address","nodeType":"ElementaryTypeName","src":"1146:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1085:82:25"},"src":"1064:104:25"},{"anonymous":false,"eventSelector":"314d0f2749f4f47e45bd658d5f379146bedd6ac53f8e6f0f63c5fe4ab14bc2aa","id":9911,"name":"WinnerObtained","nameLocation":"1179:14:25","nodeType":"EventDefinition","parameters":{"id":9910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9903,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"1202:9:25","nodeType":"VariableDeclaration","scope":9911,"src":"1194:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9902,"name":"uint256","nodeType":"ElementaryTypeName","src":"1194:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9905,"indexed":false,"mutability":"mutable","name":"ticketId","nameLocation":"1221:8:25","nodeType":"VariableDeclaration","scope":9911,"src":"1213:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1213:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9907,"indexed":false,"mutability":"mutable","name":"ticketCounter","nameLocation":"1239:13:25","nodeType":"VariableDeclaration","scope":9911,"src":"1231:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9906,"name":"uint256","nodeType":"ElementaryTypeName","src":"1231:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9909,"indexed":false,"mutability":"mutable","name":"user","nameLocation":"1262:4:25","nodeType":"VariableDeclaration","scope":9911,"src":"1254:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9908,"name":"address","nodeType":"ElementaryTypeName","src":"1254:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1193:74:25"},"src":"1173:95:25"},{"anonymous":false,"eventSelector":"c3ed638c0e10b967891ee71bc361fabc770df50e93331cdf41fddc37deb28b5b","id":9913,"name":"AllTicketsRemoved","nameLocation":"1279:17:25","nodeType":"EventDefinition","parameters":{"id":9912,"nodeType":"ParameterList","parameters":[],"src":"1296:2:25"},"src":"1273:26:25"},{"body":{"id":9927,"nodeType":"Block","src":"1332:108:25","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9915,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1345:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1349:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1345:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":9919,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9852,"src":"1367:18:25","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}],"id":9918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1359:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9917,"name":"address","nodeType":"ElementaryTypeName","src":"1359:7:25","typeDescriptions":{}}},"id":9920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1359:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1345:41:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9925,"nodeType":"IfStatement","src":"1342:80:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9922,"name":"OnlyGammaContractsCanCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9835,"src":"1395:25:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9924,"nodeType":"RevertStatement","src":"1388:34:25"}},{"id":9926,"nodeType":"PlaceholderStatement","src":"1432:1:25"}]},"id":9928,"name":"onlyCardsContract","nameLocation":"1314:17:25","nodeType":"ModifierDefinition","parameters":{"id":9914,"nodeType":"ParameterList","parameters":[],"src":"1332:0:25"},"src":"1305:135:25","virtual":false,"visibility":"internal"},{"body":{"id":9942,"nodeType":"Block","src":"1478:108:25","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9930,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1491:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1495:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1491:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":9934,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9855,"src":"1513:18:25","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}],"id":9933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1505:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9932,"name":"address","nodeType":"ElementaryTypeName","src":"1505:7:25","typeDescriptions":{}}},"id":9935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1505:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1491:41:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9940,"nodeType":"IfStatement","src":"1488:80:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9937,"name":"OnlyGammaContractsCanCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9835,"src":"1541:25:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1541:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9939,"nodeType":"RevertStatement","src":"1534:34:25"}},{"id":9941,"nodeType":"PlaceholderStatement","src":"1578:1:25"}]},"id":9943,"name":"onlyGammaPacksContract","nameLocation":"1455:22:25","nodeType":"ModifierDefinition","parameters":{"id":9929,"nodeType":"ParameterList","parameters":[],"src":"1478:0:25"},"src":"1446:140:25","virtual":false,"visibility":"internal"},{"body":{"id":9956,"nodeType":"Block","src":"1614:82:25","statements":[{"condition":{"id":9950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1627:30:25","subExpression":{"baseExpression":{"expression":{"id":9945,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9858,"src":"1628:10:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":9946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1639:6:25","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"1628:17:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":9949,"indexExpression":{"expression":{"id":9947,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1646:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1650:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1646:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1628:29:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9954,"nodeType":"IfStatement","src":"1624:54:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9951,"name":"OnlyOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9837,"src":"1666:10:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1666:12:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9953,"nodeType":"RevertStatement","src":"1659:19:25"}},{"id":9955,"nodeType":"PlaceholderStatement","src":"1688:1:25"}]},"id":9957,"name":"onlyOwners","nameLocation":"1601:10:25","nodeType":"ModifierDefinition","parameters":{"id":9944,"nodeType":"ParameterList","parameters":[],"src":"1611:2:25"},"src":"1592:104:25","virtual":false,"visibility":"internal"},{"body":{"id":10004,"nodeType":"Block","src":"1794:303:25","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9966,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9959,"src":"1807:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1838:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1830:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9967,"name":"address","nodeType":"ElementaryTypeName","src":"1830:7:25","typeDescriptions":{}}},"id":9970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1830:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1807:33:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":9977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9972,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9961,"src":"1844:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1875:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":9974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1867:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9973,"name":"address","nodeType":"ElementaryTypeName","src":"1867:7:25","typeDescriptions":{}}},"id":9976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1867:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1844:33:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1807:70:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9982,"nodeType":"IfStatement","src":"1804:98:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":9979,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9839,"src":"1886:14:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":9980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1886:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9981,"nodeType":"RevertStatement","src":"1879:23:25"}},{"expression":{"id":9987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9983,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9855,"src":"1912:18:25","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9985,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9959,"src":"1953:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9984,"name":"IgammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9843,"src":"1933:19:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaPacksContract_$9843_$","typeString":"type(contract IgammaPacksContract)"}},"id":9986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1933:40:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"src":"1912:61:25","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"id":9988,"nodeType":"ExpressionStatement","src":"1912:61:25"},{"expression":{"id":9993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9989,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9852,"src":"1983:18:25","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9991,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9961,"src":"2024:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9990,"name":"IGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9842,"src":"2004:19:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGammaCardsContract_$9842_$","typeString":"type(contract IGammaCardsContract)"}},"id":9992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2004:40:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"src":"1983:61:25","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"id":9994,"nodeType":"ExpressionStatement","src":"1983:61:25"},{"expression":{"id":10002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":9995,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9858,"src":"2054:10:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":9999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2065:6:25","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"2054:17:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10000,"indexExpression":{"expression":{"id":9997,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2072:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2076:6:25","memberName":"sender","nodeType":"MemberAccess","src":"2072:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2054:29:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":10001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2086:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2054:36:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10003,"nodeType":"ExpressionStatement","src":"2054:36:25"}]},"functionSelector":"f09a4016","id":10005,"implemented":true,"kind":"function","modifiers":[{"id":9964,"kind":"modifierInvocation","modifierName":{"id":9963,"name":"onlyOwner","nameLocations":["1784:9:25"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"1784:9:25"},"nodeType":"ModifierInvocation","src":"1784:9:25"}],"name":"init","nameLocation":"1711:4:25","nodeType":"FunctionDefinition","parameters":{"id":9962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9959,"mutability":"mutable","name":"_gammaPacksContract","nameLocation":"1725:19:25","nodeType":"VariableDeclaration","scope":10005,"src":"1717:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9958,"name":"address","nodeType":"ElementaryTypeName","src":"1717:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9961,"mutability":"mutable","name":"_gammaCardsContract","nameLocation":"1754:19:25","nodeType":"VariableDeclaration","scope":10005,"src":"1746:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9960,"name":"address","nodeType":"ElementaryTypeName","src":"1746:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1716:58:25"},"returnParameters":{"id":9965,"nodeType":"ParameterList","parameters":[],"src":"1794:0:25"},"scope":10332,"src":"1702:395:25","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10018,"nodeType":"Block","src":"2160:47:25","statements":[{"expression":{"arguments":[{"id":10015,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10007,"src":"2190:9:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10012,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9858,"src":"2170:10:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":10014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2181:8:25","memberName":"addOwner","nodeType":"MemberAccess","referencedDeclaration":10399,"src":"2170:19:25","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":10016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2170:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10017,"nodeType":"ExpressionStatement","src":"2170:30:25"}]},"functionSelector":"7065cb48","id":10019,"implemented":true,"kind":"function","modifiers":[{"id":10010,"kind":"modifierInvocation","modifierName":{"id":10009,"name":"onlyOwners","nameLocations":["2149:10:25"],"nodeType":"IdentifierPath","referencedDeclaration":9957,"src":"2149:10:25"},"nodeType":"ModifierInvocation","src":"2149:10:25"}],"name":"addOwner","nameLocation":"2112:8:25","nodeType":"FunctionDefinition","parameters":{"id":10008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10007,"mutability":"mutable","name":"_newOwner","nameLocation":"2129:9:25","nodeType":"VariableDeclaration","scope":10019,"src":"2121:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10006,"name":"address","nodeType":"ElementaryTypeName","src":"2121:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2120:19:25"},"returnParameters":{"id":10011,"nodeType":"ParameterList","parameters":[],"src":"2160:0:25"},"scope":10332,"src":"2103:104:25","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10032,"nodeType":"Block","src":"2278:55:25","statements":[{"expression":{"arguments":[{"id":10029,"name":"_ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10021,"src":"2311:14:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10026,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9858,"src":"2288:10:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":10028,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2299:11:25","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":10446,"src":"2288:22:25","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$10343_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$10343_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":10030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2288:38:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10031,"nodeType":"ExpressionStatement","src":"2288:38:25"}]},"functionSelector":"173825d9","id":10033,"implemented":true,"kind":"function","modifiers":[{"id":10024,"kind":"modifierInvocation","modifierName":{"id":10023,"name":"onlyOwners","nameLocations":["2267:10:25"],"nodeType":"IdentifierPath","referencedDeclaration":9957,"src":"2267:10:25"},"nodeType":"ModifierInvocation","src":"2267:10:25"}],"name":"removeOwner","nameLocation":"2222:11:25","nodeType":"FunctionDefinition","parameters":{"id":10022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10021,"mutability":"mutable","name":"_ownerToRemove","nameLocation":"2242:14:25","nodeType":"VariableDeclaration","scope":10033,"src":"2234:22:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10020,"name":"address","nodeType":"ElementaryTypeName","src":"2234:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2233:24:25"},"returnParameters":{"id":10025,"nodeType":"ParameterList","parameters":[],"src":"2278:0:25"},"scope":10332,"src":"2213:120:25","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10060,"nodeType":"Block","src":"2417:206:25","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10040,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10035,"src":"2430:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":10043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2461:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2453:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10041,"name":"address","nodeType":"ElementaryTypeName","src":"2453:7:25","typeDescriptions":{}}},"id":10044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2453:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2430:33:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10049,"nodeType":"IfStatement","src":"2427:61:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10046,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9839,"src":"2472:14:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2472:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10048,"nodeType":"RevertStatement","src":"2465:23:25"}},{"expression":{"id":10054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10050,"name":"gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9852,"src":"2498:18:25","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10052,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10035,"src":"2539:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10051,"name":"IGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9842,"src":"2519:19:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IGammaCardsContract_$9842_$","typeString":"type(contract IGammaCardsContract)"}},"id":10053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2519:40:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"src":"2498:61:25","typeDescriptions":{"typeIdentifier":"t_contract$_IGammaCardsContract_$9842","typeString":"contract IGammaCardsContract"}},"id":10055,"nodeType":"ExpressionStatement","src":"2498:61:25"},{"eventCall":{"arguments":[{"id":10057,"name":"_gammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10035,"src":"2596:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10056,"name":"NewGammaCardsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"2574:21:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2574:42:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10059,"nodeType":"EmitStatement","src":"2569:47:25"}]},"functionSelector":"4c7a7ad3","id":10061,"implemented":true,"kind":"function","modifiers":[{"id":10038,"kind":"modifierInvocation","modifierName":{"id":10037,"name":"onlyOwners","nameLocations":["2406:10:25"],"nodeType":"IdentifierPath","referencedDeclaration":9957,"src":"2406:10:25"},"nodeType":"ModifierInvocation","src":"2406:10:25"}],"name":"setGammaCardsContract","nameLocation":"2348:21:25","nodeType":"FunctionDefinition","parameters":{"id":10036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10035,"mutability":"mutable","name":"_gammaCardsContract","nameLocation":"2378:19:25","nodeType":"VariableDeclaration","scope":10061,"src":"2370:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10034,"name":"address","nodeType":"ElementaryTypeName","src":"2370:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2369:29:25"},"returnParameters":{"id":10039,"nodeType":"ParameterList","parameters":[],"src":"2417:0:25"},"scope":10332,"src":"2339:284:25","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":10088,"nodeType":"Block","src":"2707:206:25","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10068,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10063,"src":"2720:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":10071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2751:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2743:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10069,"name":"address","nodeType":"ElementaryTypeName","src":"2743:7:25","typeDescriptions":{}}},"id":10072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2743:10:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2720:33:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10077,"nodeType":"IfStatement","src":"2717:61:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10074,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9839,"src":"2762:14:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2762:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10076,"nodeType":"RevertStatement","src":"2755:23:25"}},{"expression":{"id":10082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10078,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9855,"src":"2788:18:25","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10080,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10063,"src":"2829:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10079,"name":"IgammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9843,"src":"2809:19:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaPacksContract_$9843_$","typeString":"type(contract IgammaPacksContract)"}},"id":10081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:40:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"src":"2788:61:25","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$9843","typeString":"contract IgammaPacksContract"}},"id":10083,"nodeType":"ExpressionStatement","src":"2788:61:25"},{"eventCall":{"arguments":[{"id":10085,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10063,"src":"2886:19:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10084,"name":"NewGammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9891,"src":"2864:21:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2864:42:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10087,"nodeType":"EmitStatement","src":"2859:47:25"}]},"functionSelector":"cafaa473","id":10089,"implemented":true,"kind":"function","modifiers":[{"id":10066,"kind":"modifierInvocation","modifierName":{"id":10065,"name":"onlyOwners","nameLocations":["2696:10:25"],"nodeType":"IdentifierPath","referencedDeclaration":9957,"src":"2696:10:25"},"nodeType":"ModifierInvocation","src":"2696:10:25"}],"name":"setGammaPacksContract","nameLocation":"2638:21:25","nodeType":"FunctionDefinition","parameters":{"id":10064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10063,"mutability":"mutable","name":"_gammaPacksContract","nameLocation":"2668:19:25","nodeType":"VariableDeclaration","scope":10089,"src":"2660:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10062,"name":"address","nodeType":"ElementaryTypeName","src":"2660:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2659:29:25"},"returnParameters":{"id":10067,"nodeType":"ParameterList","parameters":[],"src":"2707:0:25"},"scope":10332,"src":"2629:284:25","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":10101,"nodeType":"Block","src":"2979:47:25","statements":[{"expression":{"baseExpression":{"expression":{"id":10096,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9858,"src":"2996:10:25","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":10097,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3007:6:25","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"2996:17:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10099,"indexExpression":{"id":10098,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10091,"src":"3014:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2996:23:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10095,"id":10100,"nodeType":"Return","src":"2989:30:25"}]},"functionSelector":"2f54bf6e","id":10102,"implemented":true,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"2928:7:25","nodeType":"FunctionDefinition","parameters":{"id":10092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10091,"mutability":"mutable","name":"user","nameLocation":"2944:4:25","nodeType":"VariableDeclaration","scope":10102,"src":"2936:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10090,"name":"address","nodeType":"ElementaryTypeName","src":"2936:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2935:14:25"},"returnParameters":{"id":10095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10102,"src":"2973:4:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10093,"name":"bool","nodeType":"ElementaryTypeName","src":"2973:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2972:6:25"},"scope":10332,"src":"2919:107:25","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":10111,"nodeType":"Block","src":"3094:31:25","statements":[{"expression":{"id":10109,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"3111:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"functionReturnParameters":10108,"id":10110,"nodeType":"Return","src":"3104:14:25"}]},"functionSelector":"4ed02622","id":10112,"implemented":true,"kind":"function","modifiers":[],"name":"getTickets","nameLocation":"3041:10:25","nodeType":"FunctionDefinition","parameters":{"id":10103,"nodeType":"ParameterList","parameters":[],"src":"3051:2:25"},"returnParameters":{"id":10108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10112,"src":"3077:15:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket[]"},"typeName":{"baseType":{"id":10105,"nodeType":"UserDefinedTypeName","pathNode":{"id":10104,"name":"Ticket","nameLocations":["3077:6:25"],"nodeType":"IdentifierPath","referencedDeclaration":9867,"src":"3077:6:25"},"referencedDeclaration":9867,"src":"3077:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket"}},"id":10106,"nodeType":"ArrayTypeName","src":"3077:8:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket[]"}},"visibility":"internal"}],"src":"3076:17:25"},"scope":10332,"src":"3032:93:25","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":10125,"nodeType":"Block","src":"3211:43:25","statements":[{"expression":{"baseExpression":{"id":10121,"name":"ticketsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9880,"src":"3228:13:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaTicketsV1.Ticket storage ref[] storage ref)"}},"id":10123,"indexExpression":{"id":10122,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10114,"src":"3242:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3228:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"functionReturnParameters":10120,"id":10124,"nodeType":"Return","src":"3221:26:25"}]},"functionSelector":"e5b0b100","id":10126,"implemented":true,"kind":"function","modifiers":[],"name":"getTicketsByUser","nameLocation":"3140:16:25","nodeType":"FunctionDefinition","parameters":{"id":10115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10114,"mutability":"mutable","name":"user","nameLocation":"3165:4:25","nodeType":"VariableDeclaration","scope":10126,"src":"3157:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10113,"name":"address","nodeType":"ElementaryTypeName","src":"3157:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3156:14:25"},"returnParameters":{"id":10120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10119,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10126,"src":"3194:15:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket[]"},"typeName":{"baseType":{"id":10117,"nodeType":"UserDefinedTypeName","pathNode":{"id":10116,"name":"Ticket","nameLocations":["3194:6:25"],"nodeType":"IdentifierPath","referencedDeclaration":9867,"src":"3194:6:25"},"referencedDeclaration":9867,"src":"3194:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket"}},"id":10118,"nodeType":"ArrayTypeName","src":"3194:8:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket[]"}},"visibility":"internal"}],"src":"3193:17:25"},"scope":10332,"src":"3131:123:25","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":10147,"nodeType":"Block","src":"3378:94:25","statements":[{"expression":{"components":[{"expression":{"id":10137,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"3396:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3403:9:25","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9860,"src":"3396:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10139,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"3414:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3421:8:25","memberName":"ticketId","nodeType":"MemberAccess","referencedDeclaration":9862,"src":"3414:15:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":10141,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"3431:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3438:13:25","memberName":"ticketCounter","nodeType":"MemberAccess","referencedDeclaration":9864,"src":"3431:20:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10143,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"3453:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3460:4:25","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":9866,"src":"3453:11:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":10145,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3395:70:25","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_uint256_$_t_address_$","typeString":"tuple(uint256,bytes32,uint256,address)"}},"functionReturnParameters":10136,"id":10146,"nodeType":"Return","src":"3388:77:25"}]},"functionSelector":"8e7ea5b2","id":10148,"implemented":true,"kind":"function","modifiers":[],"name":"getWinner","nameLocation":"3269:9:25","nodeType":"FunctionDefinition","parameters":{"id":10127,"nodeType":"ParameterList","parameters":[],"src":"3278:2:25"},"returnParameters":{"id":10136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10129,"mutability":"mutable","name":"timestamp","nameLocation":"3312:9:25","nodeType":"VariableDeclaration","scope":10148,"src":"3304:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10128,"name":"uint256","nodeType":"ElementaryTypeName","src":"3304:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10131,"mutability":"mutable","name":"ticketId","nameLocation":"3331:8:25","nodeType":"VariableDeclaration","scope":10148,"src":"3323:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3323:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10133,"mutability":"mutable","name":"ticketCounter","nameLocation":"3349:13:25","nodeType":"VariableDeclaration","scope":10148,"src":"3341:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10132,"name":"uint256","nodeType":"ElementaryTypeName","src":"3341:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10135,"mutability":"mutable","name":"user","nameLocation":"3372:4:25","nodeType":"VariableDeclaration","scope":10148,"src":"3364:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10134,"name":"address","nodeType":"ElementaryTypeName","src":"3364:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3303:74:25"},"scope":10332,"src":"3260:212:25","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":10208,"nodeType":"Block","src":"3543:438:25","statements":[{"assignments":[10156],"declarations":[{"constant":false,"id":10156,"mutability":"mutable","name":"ticketCounter","nameLocation":"3561:13:25","nodeType":"VariableDeclaration","scope":10208,"src":"3553:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10155,"name":"uint256","nodeType":"ElementaryTypeName","src":"3553:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10158,"initialValue":{"id":10157,"name":"ticketsTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9883,"src":"3577:19:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3553:43:25"},{"assignments":[10160],"declarations":[{"constant":false,"id":10160,"mutability":"mutable","name":"time","nameLocation":"3614:4:25","nodeType":"VariableDeclaration","scope":10208,"src":"3606:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10159,"name":"uint256","nodeType":"ElementaryTypeName","src":"3606:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10163,"initialValue":{"expression":{"id":10161,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3621:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":10162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3627:9:25","memberName":"timestamp","nodeType":"MemberAccess","src":"3621:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3606:30:25"},{"assignments":[10165],"declarations":[{"constant":false,"id":10165,"mutability":"mutable","name":"ticketId","nameLocation":"3654:8:25","nodeType":"VariableDeclaration","scope":10208,"src":"3646:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3646:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10174,"initialValue":{"arguments":[{"arguments":[{"id":10169,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10160,"src":"3692:4:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10170,"name":"ticketCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10156,"src":"3698:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10171,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10150,"src":"3713:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3675:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3679:12:25","memberName":"encodePacked","nodeType":"MemberAccess","src":"3675:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3675:43:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10166,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3665:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:54:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3646:73:25"},{"assignments":[10177],"declarations":[{"constant":false,"id":10177,"mutability":"mutable","name":"newTicket","nameLocation":"3743:9:25","nodeType":"VariableDeclaration","scope":10208,"src":"3729:23:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket"},"typeName":{"id":10176,"nodeType":"UserDefinedTypeName","pathNode":{"id":10175,"name":"Ticket","nameLocations":["3729:6:25"],"nodeType":"IdentifierPath","referencedDeclaration":9867,"src":"3729:6:25"},"referencedDeclaration":9867,"src":"3729:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage_ptr","typeString":"struct NofGammaTicketsV1.Ticket"}},"visibility":"internal"}],"id":10184,"initialValue":{"arguments":[{"id":10179,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10160,"src":"3762:4:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10180,"name":"ticketId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10165,"src":"3768:8:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10181,"name":"ticketCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10156,"src":"3778:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10182,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10150,"src":"3793:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10178,"name":"Ticket","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9867,"src":"3755:6:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Ticket_$9867_storage_ptr_$","typeString":"type(struct NofGammaTicketsV1.Ticket storage pointer)"}},"id":10183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3755:43:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket memory"}},"nodeType":"VariableDeclarationStatement","src":"3729:69:25"},{"expression":{"arguments":[{"id":10188,"name":"newTicket","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10177,"src":"3821:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Ticket_$9867_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket memory"}],"expression":{"id":10185,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"3808:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3816:4:25","memberName":"push","nodeType":"MemberAccess","src":"3808:12:25","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr_$_t_struct$_Ticket_$9867_storage_$returns$__$attached_to$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaTicketsV1.Ticket storage ref[] storage pointer,struct NofGammaTicketsV1.Ticket storage ref)"}},"id":10189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3808:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10190,"nodeType":"ExpressionStatement","src":"3808:23:25"},{"expression":{"arguments":[{"id":10195,"name":"newTicket","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10177,"src":"3866:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Ticket_$9867_memory_ptr","typeString":"struct NofGammaTicketsV1.Ticket memory"}],"expression":{"baseExpression":{"id":10191,"name":"ticketsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9880,"src":"3841:13:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaTicketsV1.Ticket storage ref[] storage ref)"}},"id":10193,"indexExpression":{"id":10192,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10150,"src":"3855:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3841:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3861:4:25","memberName":"push","nodeType":"MemberAccess","src":"3841:24:25","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr_$_t_struct$_Ticket_$9867_storage_$returns$__$attached_to$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_ptr_$","typeString":"function (struct NofGammaTicketsV1.Ticket storage ref[] storage pointer,struct NofGammaTicketsV1.Ticket storage ref)"}},"id":10196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3841:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10197,"nodeType":"ExpressionStatement","src":"3841:35:25"},{"expression":{"id":10199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3886:21:25","subExpression":{"id":10198,"name":"ticketsTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9883,"src":"3886:19:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10200,"nodeType":"ExpressionStatement","src":"3886:21:25"},{"eventCall":{"arguments":[{"id":10202,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10160,"src":"3938:4:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10203,"name":"ticketId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10165,"src":"3944:8:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10204,"name":"ticketCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10156,"src":"3954:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10205,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10150,"src":"3969:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10201,"name":"TicketGenerated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9901,"src":"3922:15:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,bytes32,uint256,address)"}},"id":10206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3922:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10207,"nodeType":"EmitStatement","src":"3917:57:25"}]},"functionSelector":"fa8213d3","id":10209,"implemented":true,"kind":"function","modifiers":[{"id":10153,"kind":"modifierInvocation","modifierName":{"id":10152,"name":"onlyCardsContract","nameLocations":["3525:17:25"],"nodeType":"IdentifierPath","referencedDeclaration":9928,"src":"3525:17:25"},"nodeType":"ModifierInvocation","src":"3525:17:25"}],"name":"generateTicket","nameLocation":"3487:14:25","nodeType":"FunctionDefinition","parameters":{"id":10151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10150,"mutability":"mutable","name":"user","nameLocation":"3510:4:25","nodeType":"VariableDeclaration","scope":10209,"src":"3502:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10149,"name":"address","nodeType":"ElementaryTypeName","src":"3502:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3501:14:25"},"returnParameters":{"id":10154,"nodeType":"ParameterList","parameters":[],"src":"3543:0:25"},"scope":10332,"src":"3478:503:25","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10293,"nodeType":"Block","src":"4138:574:25","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10222,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4151:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4159:6:25","memberName":"length","nodeType":"MemberAccess","src":"4151:14:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4169:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4151:19:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10229,"nodeType":"IfStatement","src":"4148:51:25","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10226,"name":"NoTicketsAvailable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9841,"src":"4179:18:25","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":10227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4179:20:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10228,"nodeType":"RevertStatement","src":"4172:27:25"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10230,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4214:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10231,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4221:9:25","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9860,"src":"4214:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":10232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4234:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4214:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10245,"nodeType":"IfStatement","src":"4210:129:25","trueBody":{"id":10244,"nodeType":"Block","src":"4237:102:25","statements":[{"expression":{"components":[{"expression":{"id":10234,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4259:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4266:9:25","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9860,"src":"4259:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10236,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4277:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4284:8:25","memberName":"ticketId","nodeType":"MemberAccess","referencedDeclaration":9862,"src":"4277:15:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":10238,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4294:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4301:13:25","memberName":"ticketCounter","nodeType":"MemberAccess","referencedDeclaration":9864,"src":"4294:20:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10240,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4316:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4323:4:25","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":9866,"src":"4316:11:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":10242,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4258:70:25","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_uint256_$_t_address_$","typeString":"tuple(uint256,bytes32,uint256,address)"}},"functionReturnParameters":10221,"id":10243,"nodeType":"Return","src":"4251:77:25"}]}},{"assignments":[10247],"declarations":[{"constant":false,"id":10247,"mutability":"mutable","name":"randomNumber","nameLocation":"4357:12:25","nodeType":"VariableDeclaration","scope":10293,"src":"4349:20:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10246,"name":"uint256","nodeType":"ElementaryTypeName","src":"4349:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10265,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":10253,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4401:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":10254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4407:9:25","memberName":"timestamp","nodeType":"MemberAccess","src":"4401:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10255,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4418:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":10256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4424:10:25","memberName":"prevrandao","nodeType":"MemberAccess","src":"4418:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10257,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4436:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4444:6:25","memberName":"length","nodeType":"MemberAccess","src":"4436:14:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10251,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4390:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4394:6:25","memberName":"encode","nodeType":"MemberAccess","src":"4390:10:25","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4390:61:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10250,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4380:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4380:72:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4372:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10248,"name":"uint256","nodeType":"ElementaryTypeName","src":"4372:7:25","typeDescriptions":{}}},"id":10261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4372:81:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"expression":{"id":10262,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4456:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4464:6:25","memberName":"length","nodeType":"MemberAccess","src":"4456:14:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4372:98:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4349:121:25"},{"expression":{"id":10270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10266,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4480:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":10267,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4489:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10269,"indexExpression":{"id":10268,"name":"randomNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10247,"src":"4497:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4489:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"src":"4480:30:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10271,"nodeType":"ExpressionStatement","src":"4480:30:25"},{"eventCall":{"arguments":[{"expression":{"id":10273,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4549:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4556:9:25","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9860,"src":"4549:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10275,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4567:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4574:8:25","memberName":"ticketId","nodeType":"MemberAccess","referencedDeclaration":9862,"src":"4567:15:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":10277,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4584:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4591:13:25","memberName":"ticketCounter","nodeType":"MemberAccess","referencedDeclaration":9864,"src":"4584:20:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10279,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4606:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4613:4:25","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":9866,"src":"4606:11:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10272,"name":"WinnerObtained","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9911,"src":"4534:14:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,bytes32,uint256,address)"}},"id":10281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4534:84:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10282,"nodeType":"EmitStatement","src":"4529:89:25"},{"expression":{"components":[{"expression":{"id":10283,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4636:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4643:9:25","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":9860,"src":"4636:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10285,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4654:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4661:8:25","memberName":"ticketId","nodeType":"MemberAccess","referencedDeclaration":9862,"src":"4654:15:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":10287,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4671:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4678:13:25","memberName":"ticketCounter","nodeType":"MemberAccess","referencedDeclaration":9864,"src":"4671:20:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10289,"name":"winner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9874,"src":"4693:6:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4700:4:25","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":9866,"src":"4693:11:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":10291,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4635:70:25","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_uint256_$_t_address_$","typeString":"tuple(uint256,bytes32,uint256,address)"}},"functionReturnParameters":10221,"id":10292,"nodeType":"Return","src":"4628:77:25"}]},"functionSelector":"b2d55c1c","id":10294,"implemented":true,"kind":"function","modifiers":[{"id":10212,"kind":"modifierInvocation","modifierName":{"id":10211,"name":"onlyGammaPacksContract","nameLocations":["4023:22:25"],"nodeType":"IdentifierPath","referencedDeclaration":9943,"src":"4023:22:25"},"nodeType":"ModifierInvocation","src":"4023:22:25"}],"name":"getLotteryWinner","nameLocation":"3995:16:25","nodeType":"FunctionDefinition","parameters":{"id":10210,"nodeType":"ParameterList","parameters":[],"src":"4011:2:25"},"returnParameters":{"id":10221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10214,"mutability":"mutable","name":"timestamp","nameLocation":"4072:9:25","nodeType":"VariableDeclaration","scope":10294,"src":"4064:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10213,"name":"uint256","nodeType":"ElementaryTypeName","src":"4064:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10216,"mutability":"mutable","name":"ticketId","nameLocation":"4091:8:25","nodeType":"VariableDeclaration","scope":10294,"src":"4083:16:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10215,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4083:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10218,"mutability":"mutable","name":"ticketCounter","nameLocation":"4109:13:25","nodeType":"VariableDeclaration","scope":10294,"src":"4101:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10217,"name":"uint256","nodeType":"ElementaryTypeName","src":"4101:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10220,"mutability":"mutable","name":"user","nameLocation":"4132:4:25","nodeType":"VariableDeclaration","scope":10294,"src":"4124:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10219,"name":"address","nodeType":"ElementaryTypeName","src":"4124:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4063:74:25"},"scope":10332,"src":"3986:726:25","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10330,"nodeType":"Block","src":"4778:213:25","statements":[{"expression":{"id":10300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4787:14:25","subExpression":{"id":10299,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4794:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10301,"nodeType":"ExpressionStatement","src":"4787:14:25"},{"expression":{"id":10304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10302,"name":"ticketsTotalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9883,"src":"4811:19:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":10303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4833:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4811:23:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10305,"nodeType":"ExpressionStatement","src":"4811:23:25"},{"body":{"id":10325,"nodeType":"Block","src":"4889:62:25","statements":[{"expression":{"id":10323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4903:37:25","subExpression":{"baseExpression":{"id":10317,"name":"ticketsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9880,"src":"4910:13:25","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage_$","typeString":"mapping(address => struct NofGammaTicketsV1.Ticket storage ref[] storage ref)"}},"id":10322,"indexExpression":{"expression":{"baseExpression":{"id":10318,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4924:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10320,"indexExpression":{"id":10319,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10307,"src":"4932:1:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4924:10:25","typeDescriptions":{"typeIdentifier":"t_struct$_Ticket_$9867_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref"}},"id":10321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4935:4:25","memberName":"user","nodeType":"MemberAccess","referencedDeclaration":9866,"src":"4924:15:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4910:30:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10324,"nodeType":"ExpressionStatement","src":"4903:37:25"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10310,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10307,"src":"4864:1:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":10311,"name":"tickets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9871,"src":"4868:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Ticket_$9867_storage_$dyn_storage","typeString":"struct NofGammaTicketsV1.Ticket storage ref[] storage ref"}},"id":10312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4876:6:25","memberName":"length","nodeType":"MemberAccess","src":"4868:14:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4864:18:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10326,"initializationExpression":{"assignments":[10307],"declarations":[{"constant":false,"id":10307,"mutability":"mutable","name":"i","nameLocation":"4857:1:25","nodeType":"VariableDeclaration","scope":10326,"src":"4849:9:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10306,"name":"uint256","nodeType":"ElementaryTypeName","src":"4849:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10309,"initialValue":{"hexValue":"30","id":10308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4861:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4849:13:25"},"loopExpression":{"expression":{"id":10315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4884:3:25","subExpression":{"id":10314,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10307,"src":"4884:1:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10316,"nodeType":"ExpressionStatement","src":"4884:3:25"},"nodeType":"ForStatement","src":"4844:107:25"},{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":10327,"name":"AllTicketsRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"4965:17:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":10328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4965:19:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10329,"nodeType":"EmitStatement","src":"4960:24:25"}]},"functionSelector":"306e4118","id":10331,"implemented":true,"kind":"function","modifiers":[{"id":10297,"kind":"modifierInvocation","modifierName":{"id":10296,"name":"onlyGammaPacksContract","nameLocations":["4755:22:25"],"nodeType":"IdentifierPath","referencedDeclaration":9943,"src":"4755:22:25"},"nodeType":"ModifierInvocation","src":"4755:22:25"}],"name":"deleteAllTickets","nameLocation":"4727:16:25","nodeType":"FunctionDefinition","parameters":{"id":10295,"nodeType":"ParameterList","parameters":[],"src":"4743:2:25"},"returnParameters":{"id":10298,"nodeType":"ParameterList","parameters":[],"src":"4778:0:25"},"scope":10332,"src":"4718:273:25","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":10333,"src":"405:4588:25","usedErrors":[9835,9837,9839,9841],"usedEvents":[13,9887,9891,9901,9911,9913]}],"src":"32:4962:25"},"id":25},"contracts/gamma/libs/LibControlMgmt.sol":{"ast":{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","exportedSymbols":{"LibControlMgmt":[10534]},"id":10535,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10334,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:26"},{"abstract":false,"baseContracts":[],"canonicalName":"LibControlMgmt","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":10534,"linearizedBaseContracts":[10534],"name":"LibControlMgmt","nameLocation":"66:14:26","nodeType":"ContractDefinition","nodes":[{"canonicalName":"LibControlMgmt.Data","id":10343,"members":[{"constant":false,"id":10338,"mutability":"mutable","name":"owners","nameLocation":"134:6:26","nodeType":"VariableDeclaration","scope":10343,"src":"109:31:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":10337,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":10335,"name":"address","nodeType":"ElementaryTypeName","src":"117:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"109:24:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":10336,"name":"bool","nodeType":"ElementaryTypeName","src":"128:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":10342,"mutability":"mutable","name":"signers","nameLocation":"175:7:26","nodeType":"VariableDeclaration","scope":10343,"src":"150:32:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":10341,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":10339,"name":"address","nodeType":"ElementaryTypeName","src":"158:7:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"150:24:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":10340,"name":"bool","nodeType":"ElementaryTypeName","src":"169:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"Data","nameLocation":"94:4:26","nodeType":"StructDefinition","scope":10534,"src":"87:102:26","visibility":"public"},{"anonymous":false,"eventSelector":"6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d","id":10347,"name":"NewOwnerAdded","nameLocation":"201:13:26","nodeType":"EventDefinition","parameters":{"id":10346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10345,"indexed":false,"mutability":"mutable","name":"newOwner","nameLocation":"223:8:26","nodeType":"VariableDeclaration","scope":10347,"src":"215:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10344,"name":"address","nodeType":"ElementaryTypeName","src":"215:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"214:18:26"},"src":"195:38:26"},{"anonymous":false,"eventSelector":"58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da","id":10351,"name":"OwnerRemoved","nameLocation":"244:12:26","nodeType":"EventDefinition","parameters":{"id":10350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10349,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"265:5:26","nodeType":"VariableDeclaration","scope":10351,"src":"257:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10348,"name":"address","nodeType":"ElementaryTypeName","src":"257:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"256:15:26"},"src":"238:34:26"},{"anonymous":false,"eventSelector":"72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa3","id":10355,"name":"NewSignerAdded","nameLocation":"283:14:26","nodeType":"EventDefinition","parameters":{"id":10354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10353,"indexed":false,"mutability":"mutable","name":"newSigner","nameLocation":"306:9:26","nodeType":"VariableDeclaration","scope":10355,"src":"298:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10352,"name":"address","nodeType":"ElementaryTypeName","src":"298:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"297:19:26"},"src":"277:40:26"},{"anonymous":false,"eventSelector":"3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b","id":10359,"name":"SignerRemoved","nameLocation":"328:13:26","nodeType":"EventDefinition","parameters":{"id":10358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10357,"indexed":false,"mutability":"mutable","name":"signer","nameLocation":"350:6:26","nodeType":"VariableDeclaration","scope":10359,"src":"342:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10356,"name":"address","nodeType":"ElementaryTypeName","src":"342:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"341:16:26"},"src":"322:36:26"},{"body":{"id":10398,"nodeType":"Block","src":"428:217:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10368,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10364,"src":"446:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":10371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"466:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"458:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10369,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:26","typeDescriptions":{}}},"id":10372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"458:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"446:22:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":10374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"470:18:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":10367,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"438:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"438:51:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10376,"nodeType":"ExpressionStatement","src":"438:51:26"},{"expression":{"arguments":[{"id":10382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"507:22:26","subExpression":{"baseExpression":{"expression":{"id":10378,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10362,"src":"508:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"513:6:26","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"508:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10381,"indexExpression":{"id":10380,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10364,"src":"520:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"508:21:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4164647265737320697320616c726561647920616e206f776e65722e","id":10383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"531:30:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f","typeString":"literal_string \"Address is already an owner.\""},"value":"Address is already an owner."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f","typeString":"literal_string \"Address is already an owner.\""}],"id":10377,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"499:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"499:63:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10385,"nodeType":"ExpressionStatement","src":"499:63:26"},{"expression":{"id":10392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10362,"src":"572:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"577:6:26","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"572:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10390,"indexExpression":{"id":10388,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10364,"src":"584:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"572:21:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":10391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"596:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"572:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10393,"nodeType":"ExpressionStatement","src":"572:28:26"},{"eventCall":{"arguments":[{"id":10395,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10364,"src":"629:8:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10394,"name":"NewOwnerAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10347,"src":"615:13:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"615:23:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10397,"nodeType":"EmitStatement","src":"610:28:26"}]},"functionSelector":"b4d78ae4","id":10399,"implemented":true,"kind":"function","modifiers":[],"name":"addOwner","nameLocation":"373:8:26","nodeType":"FunctionDefinition","parameters":{"id":10365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10362,"mutability":"mutable","name":"self","nameLocation":"395:4:26","nodeType":"VariableDeclaration","scope":10399,"src":"382:17:26","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":10361,"nodeType":"UserDefinedTypeName","pathNode":{"id":10360,"name":"Data","nameLocations":["382:4:26"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"382:4:26"},"referencedDeclaration":10343,"src":"382:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":10364,"mutability":"mutable","name":"newOwner","nameLocation":"409:8:26","nodeType":"VariableDeclaration","scope":10399,"src":"401:16:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10363,"name":"address","nodeType":"ElementaryTypeName","src":"401:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381:37:26"},"returnParameters":{"id":10366,"nodeType":"ParameterList","parameters":[],"src":"428:0:26"},"scope":10534,"src":"364:281:26","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10445,"nodeType":"Block","src":"723:321:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10408,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10404,"src":"741:13:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":10411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"766:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"758:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10409,"name":"address","nodeType":"ElementaryTypeName","src":"758:7:26","typeDescriptions":{}}},"id":10412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"758:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"741:27:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":10414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"770:18:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":10407,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"733:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"733:56:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10416,"nodeType":"ExpressionStatement","src":"733:56:26"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":10418,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"807:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10419,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"812:6:26","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"807:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10421,"indexExpression":{"id":10420,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10404,"src":"819:13:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"807:26:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41646472657373206973206e6f7420616e206f776e65722e","id":10422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"835:26:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502","typeString":"literal_string \"Address is not an owner.\""},"value":"Address is not an owner."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502","typeString":"literal_string \"Address is not an owner.\""}],"id":10417,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"799:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"799:63:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10424,"nodeType":"ExpressionStatement","src":"799:63:26"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10426,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10404,"src":"880:13:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":10427,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"897:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"901:6:26","memberName":"sender","nodeType":"MemberAccess","src":"897:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"880:27:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e206f776e65722e","id":10430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"909:41:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75","typeString":"literal_string \"You cannot remove yourself as an owner.\""},"value":"You cannot remove yourself as an owner."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75","typeString":"literal_string \"You cannot remove yourself as an owner.\""}],"id":10425,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"872:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:79:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10432,"nodeType":"ExpressionStatement","src":"872:79:26"},{"expression":{"id":10439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10433,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"961:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"966:6:26","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":10338,"src":"961:11:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10437,"indexExpression":{"id":10435,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10404,"src":"973:13:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"961:26:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":10438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"990:5:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"961:34:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10440,"nodeType":"ExpressionStatement","src":"961:34:26"},{"eventCall":{"arguments":[{"id":10442,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10404,"src":"1023:13:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10441,"name":"OwnerRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10351,"src":"1010:12:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1010:27:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10444,"nodeType":"EmitStatement","src":"1005:32:26"}]},"functionSelector":"b764b1a4","id":10446,"implemented":true,"kind":"function","modifiers":[],"name":"removeOwner","nameLocation":"660:11:26","nodeType":"FunctionDefinition","parameters":{"id":10405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10402,"mutability":"mutable","name":"self","nameLocation":"685:4:26","nodeType":"VariableDeclaration","scope":10446,"src":"672:17:26","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":10401,"nodeType":"UserDefinedTypeName","pathNode":{"id":10400,"name":"Data","nameLocations":["672:4:26"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"672:4:26"},"referencedDeclaration":10343,"src":"672:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":10404,"mutability":"mutable","name":"ownerToRemove","nameLocation":"699:13:26","nodeType":"VariableDeclaration","scope":10446,"src":"691:21:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10403,"name":"address","nodeType":"ElementaryTypeName","src":"691:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"671:42:26"},"returnParameters":{"id":10406,"nodeType":"ParameterList","parameters":[],"src":"723:0:26"},"scope":10534,"src":"651:393:26","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10485,"nodeType":"Block","src":"1116:224:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10455,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10451,"src":"1134:9:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":10458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1155:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1147:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10456,"name":"address","nodeType":"ElementaryTypeName","src":"1147:7:26","typeDescriptions":{}}},"id":10459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1147:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1134:23:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":10461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1159:18:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":10454,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1126:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1126:52:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10463,"nodeType":"ExpressionStatement","src":"1126:52:26"},{"expression":{"arguments":[{"id":10469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1196:24:26","subExpression":{"baseExpression":{"expression":{"id":10465,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"1197:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1202:7:26","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"1197:12:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10468,"indexExpression":{"id":10467,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10451,"src":"1210:9:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1197:23:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4164647265737320697320616c72656164792061207369676e65722e","id":10470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1222:30:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9","typeString":"literal_string \"Address is already a signer.\""},"value":"Address is already a signer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9","typeString":"literal_string \"Address is already a signer.\""}],"id":10464,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1188:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1188:65:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10472,"nodeType":"ExpressionStatement","src":"1188:65:26"},{"expression":{"id":10479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10473,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10449,"src":"1263:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1268:7:26","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"1263:12:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10477,"indexExpression":{"id":10475,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10451,"src":"1276:9:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1263:23:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":10478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1289:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1263:30:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10480,"nodeType":"ExpressionStatement","src":"1263:30:26"},{"eventCall":{"arguments":[{"id":10482,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10451,"src":"1323:9:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10481,"name":"NewSignerAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10355,"src":"1308:14:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1308:25:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10484,"nodeType":"EmitStatement","src":"1303:30:26"}]},"functionSelector":"773b6d12","id":10486,"implemented":true,"kind":"function","modifiers":[],"name":"addSigner","nameLocation":"1059:9:26","nodeType":"FunctionDefinition","parameters":{"id":10452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10449,"mutability":"mutable","name":"self","nameLocation":"1082:4:26","nodeType":"VariableDeclaration","scope":10486,"src":"1069:17:26","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":10448,"nodeType":"UserDefinedTypeName","pathNode":{"id":10447,"name":"Data","nameLocations":["1069:4:26"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1069:4:26"},"referencedDeclaration":10343,"src":"1069:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":10451,"mutability":"mutable","name":"newSigner","nameLocation":"1096:9:26","nodeType":"VariableDeclaration","scope":10486,"src":"1088:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10450,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1068:38:26"},"returnParameters":{"id":10453,"nodeType":"ParameterList","parameters":[],"src":"1116:0:26"},"scope":10534,"src":"1050:290:26","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":10532,"nodeType":"Block","src":"1420:329:26","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10495,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10491,"src":"1438:14:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":10498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1464:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":10497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1456:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10496,"name":"address","nodeType":"ElementaryTypeName","src":"1456:7:26","typeDescriptions":{}}},"id":10499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1456:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1438:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":10501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1468:18:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":10494,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1430:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:57:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10503,"nodeType":"ExpressionStatement","src":"1430:57:26"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":10505,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10489,"src":"1505:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1510:7:26","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"1505:12:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10508,"indexExpression":{"id":10507,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10491,"src":"1518:14:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1505:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41646472657373206973206e6f742061207369676e65722e","id":10509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1535:26:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d","typeString":"literal_string \"Address is not a signer.\""},"value":"Address is not a signer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d","typeString":"literal_string \"Address is not a signer.\""}],"id":10504,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1497:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1497:65:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10511,"nodeType":"ExpressionStatement","src":"1497:65:26"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":10516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10513,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10491,"src":"1580:14:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":10514,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:26","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:26","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1580:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c662061732061207369676e65722e","id":10517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1610:41:26","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed","typeString":"literal_string \"You cannot remove yourself as a signer.\""},"value":"You cannot remove yourself as a signer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed","typeString":"literal_string \"You cannot remove yourself as a signer.\""}],"id":10512,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1572:7:26","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1572:80:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10519,"nodeType":"ExpressionStatement","src":"1572:80:26"},{"expression":{"id":10526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":10520,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10489,"src":"1662:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":10523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1667:7:26","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":10342,"src":"1662:12:26","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":10524,"indexExpression":{"id":10522,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10491,"src":"1675:14:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1662:28:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":10525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1693:5:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"1662:36:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10527,"nodeType":"ExpressionStatement","src":"1662:36:26"},{"eventCall":{"arguments":[{"id":10529,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10491,"src":"1727:14:26","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10528,"name":"SignerRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10359,"src":"1713:13:26","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":10530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1713:29:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10531,"nodeType":"EmitStatement","src":"1708:34:26"}]},"functionSelector":"982088f0","id":10533,"implemented":true,"kind":"function","modifiers":[],"name":"removeSigner","nameLocation":"1355:12:26","nodeType":"FunctionDefinition","parameters":{"id":10492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10489,"mutability":"mutable","name":"self","nameLocation":"1381:4:26","nodeType":"VariableDeclaration","scope":10533,"src":"1368:17:26","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":10488,"nodeType":"UserDefinedTypeName","pathNode":{"id":10487,"name":"Data","nameLocations":["1368:4:26"],"nodeType":"IdentifierPath","referencedDeclaration":10343,"src":"1368:4:26"},"referencedDeclaration":10343,"src":"1368:4:26","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$10343_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":10491,"mutability":"mutable","name":"signerToRemove","nameLocation":"1395:14:26","nodeType":"VariableDeclaration","scope":10533,"src":"1387:22:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10490,"name":"address","nodeType":"ElementaryTypeName","src":"1387:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1367:43:26"},"returnParameters":{"id":10493,"nodeType":"ParameterList","parameters":[],"src":"1420:0:26"},"scope":10534,"src":"1346:403:26","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":10535,"src":"58:1693:26","usedErrors":[],"usedEvents":[10347,10351,10355,10359]}],"src":"32:1720:26"},"id":26},"contracts/gamma/libs/LibPackVerifier.sol":{"ast":{"absolutePath":"contracts/gamma/libs/LibPackVerifier.sol","exportedSymbols":{"ECDSA":[2447],"LibPackVerifier":[10579],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":10580,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10536,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:27"},{"absolutePath":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","id":10537,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":10580,"sourceUnit":2448,"src":"58:62:27","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LibPackVerifier","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":10579,"linearizedBaseContracts":[10579],"name":"LibPackVerifier","nameLocation":"130:15:27","nodeType":"ContractDefinition","nodes":[{"global":false,"id":10540,"libraryName":{"id":10538,"name":"ECDSA","nameLocations":["158:5:27"],"nodeType":"IdentifierPath","referencedDeclaration":2447,"src":"158:5:27"},"nodeType":"UsingForDirective","src":"152:24:27","typeName":{"id":10539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"body":{"id":10577,"nodeType":"Block","src":"363:288:27","statements":[{"assignments":[10555],"declarations":[{"constant":false,"id":10555,"mutability":"mutable","name":"messageHash","nameLocation":"381:11:27","nodeType":"VariableDeclaration","scope":10577,"src":"373:19:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10567,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":10559,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10542,"src":"435:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10560,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10544,"src":"443:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10561,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10547,"src":"455:8:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"hexValue":"307866316444373138393565343962313536333639333936396465353038393831393763444633343831","id":10562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"465:44:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be","typeString":"literal_string \"0xf1dD71895e49b1563693969de50898197cDF3481\""},"value":"0xf1dD71895e49b1563693969de50898197cDF3481"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be","typeString":"literal_string \"0xf1dD71895e49b1563693969de50898197cDF3481\""}],"expression":{"id":10557,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"418:3:27","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"422:12:27","memberName":"encodePacked","nodeType":"MemberAccess","src":"418:16:27","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"418:92:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10556,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"395:9:27","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"395:125:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"521:22:27","memberName":"toEthSignedMessageHash","nodeType":"MemberAccess","referencedDeclaration":2392,"src":"395:148:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":10566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"395:150:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"373:172:27"},{"assignments":[10569],"declarations":[{"constant":false,"id":10569,"mutability":"mutable","name":"recoveredSigner","nameLocation":"564:15:27","nodeType":"VariableDeclaration","scope":10577,"src":"556:23:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10568,"name":"address","nodeType":"ElementaryTypeName","src":"556:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":10574,"initialValue":{"arguments":[{"id":10572,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10549,"src":"602:9:27","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":10570,"name":"messageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10555,"src":"582:11:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"594:7:27","memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"582:19:27","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$attached_to$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address)"}},"id":10573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"582:30:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"556:56:27"},{"expression":{"id":10575,"name":"recoveredSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10569,"src":"629:15:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10553,"id":10576,"nodeType":"Return","src":"622:22:27"}]},"functionSelector":"38fb7d8b","id":10578,"implemented":true,"kind":"function","modifiers":[],"name":"verifyPackSigner","nameLocation":"191:16:27","nodeType":"FunctionDefinition","parameters":{"id":10550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10542,"mutability":"mutable","name":"sender","nameLocation":"225:6:27","nodeType":"VariableDeclaration","scope":10578,"src":"217:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10541,"name":"address","nodeType":"ElementaryTypeName","src":"217:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10544,"mutability":"mutable","name":"packNumber","nameLocation":"249:10:27","nodeType":"VariableDeclaration","scope":10578,"src":"241:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10543,"name":"uint256","nodeType":"ElementaryTypeName","src":"241:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10547,"mutability":"mutable","name":"packData","nameLocation":"284:8:27","nodeType":"VariableDeclaration","scope":10578,"src":"269:23:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":10545,"name":"uint8","nodeType":"ElementaryTypeName","src":"269:5:27","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":10546,"nodeType":"ArrayTypeName","src":"269:7:27","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":10549,"mutability":"mutable","name":"signature","nameLocation":"317:9:27","nodeType":"VariableDeclaration","scope":10578,"src":"302:24:27","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":10548,"name":"bytes","nodeType":"ElementaryTypeName","src":"302:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"207:125:27"},"returnParameters":{"id":10553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10578,"src":"354:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10551,"name":"address","nodeType":"ElementaryTypeName","src":"354:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"353:9:27"},"scope":10579,"src":"182:469:27","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":10580,"src":"122:531:27","usedErrors":[],"usedEvents":[]}],"src":"32:622:27"},"id":27},"contracts/gamma/libs/LibStringUtils.sol":{"ast":{"absolutePath":"contracts/gamma/libs/LibStringUtils.sol","exportedSymbols":{"LibStringUtils":[10660]},"id":10661,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10581,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:28"},{"abstract":false,"baseContracts":[],"canonicalName":"LibStringUtils","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":10660,"linearizedBaseContracts":[10660],"name":"LibStringUtils","nameLocation":"66:14:28","nodeType":"ContractDefinition","nodes":[{"body":{"id":10658,"nodeType":"Block","src":"323:379:28","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10588,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"334:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"343:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"334:10:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10594,"nodeType":"IfStatement","src":"330:43:28","trueBody":{"id":10593,"nodeType":"Block","src":"346:27:28","statements":[{"expression":{"hexValue":"30","id":10591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"363:3:28","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":10587,"id":10592,"nodeType":"Return","src":"356:10:28"}]}},{"assignments":[10596],"declarations":[{"constant":false,"id":10596,"mutability":"mutable","name":"temp","nameLocation":"386:4:28","nodeType":"VariableDeclaration","scope":10658,"src":"378:12:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10595,"name":"uint256","nodeType":"ElementaryTypeName","src":"378:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10598,"initialValue":{"id":10597,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"393:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"378:20:28"},{"assignments":[10600],"declarations":[{"constant":false,"id":10600,"mutability":"mutable","name":"digits","nameLocation":"412:6:28","nodeType":"VariableDeclaration","scope":10658,"src":"404:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10599,"name":"uint256","nodeType":"ElementaryTypeName","src":"404:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10601,"nodeType":"VariableDeclarationStatement","src":"404:14:28"},{"body":{"id":10612,"nodeType":"Block","src":"442:45:28","statements":[{"expression":{"id":10606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"452:8:28","subExpression":{"id":10605,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10600,"src":"452:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10607,"nodeType":"ExpressionStatement","src":"452:8:28"},{"expression":{"id":10610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10608,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10596,"src":"470:4:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":10609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"478:2:28","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"470:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10611,"nodeType":"ExpressionStatement","src":"470:10:28"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10602,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10596,"src":"431:4:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":10603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"439:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"431:9:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10613,"nodeType":"WhileStatement","src":"424:63:28"},{"assignments":[10615],"declarations":[{"constant":false,"id":10615,"mutability":"mutable","name":"buffer","nameLocation":"505:6:28","nodeType":"VariableDeclaration","scope":10658,"src":"492:19:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10614,"name":"bytes","nodeType":"ElementaryTypeName","src":"492:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10620,"initialValue":{"arguments":[{"id":10618,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10600,"src":"524:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"514:9:28","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":10616,"name":"bytes","nodeType":"ElementaryTypeName","src":"518:5:28","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":10619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"514:17:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"492:39:28"},{"body":{"id":10651,"nodeType":"Block","src":"556:115:28","statements":[{"expression":{"id":10626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10624,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10600,"src":"566:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":10625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"576:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"566:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10627,"nodeType":"ExpressionStatement","src":"566:11:28"},{"expression":{"id":10645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10628,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"587:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10630,"indexExpression":{"id":10629,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10600,"src":"594:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"587:14:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":10635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"617:2:28","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10638,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"630:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":10639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"638:2:28","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"630:10:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"622:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10636,"name":"uint256","nodeType":"ElementaryTypeName","src":"622:7:28","typeDescriptions":{}}},"id":10641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"622:19:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"617:24:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"611:5:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10633,"name":"uint8","nodeType":"ElementaryTypeName","src":"611:5:28","typeDescriptions":{}}},"id":10643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"611:31:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":10632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"604:6:28","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10631,"name":"bytes1","nodeType":"ElementaryTypeName","src":"604:6:28","typeDescriptions":{}}},"id":10644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"604:39:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"587:56:28","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":10646,"nodeType":"ExpressionStatement","src":"587:56:28"},{"expression":{"id":10649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10647,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"653:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":10648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"662:2:28","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"653:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10650,"nodeType":"ExpressionStatement","src":"653:11:28"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10621,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"544:5:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":10622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"553:1:28","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"544:10:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10652,"nodeType":"WhileStatement","src":"537:134:28"},{"expression":{"arguments":[{"id":10655,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"690:6:28","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"683:6:28","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10653,"name":"string","nodeType":"ElementaryTypeName","src":"683:6:28","typeDescriptions":{}}},"id":10656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"683:14:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10587,"id":10657,"nodeType":"Return","src":"676:21:28"}]},"functionSelector":"6900a3ae","id":10659,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"263:8:28","nodeType":"FunctionDefinition","parameters":{"id":10584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10583,"mutability":"mutable","name":"value","nameLocation":"280:5:28","nodeType":"VariableDeclaration","scope":10659,"src":"272:13:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10582,"name":"uint256","nodeType":"ElementaryTypeName","src":"272:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"271:15:28"},"returnParameters":{"id":10587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10659,"src":"308:13:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10585,"name":"string","nodeType":"ElementaryTypeName","src":"308:6:28","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"307:15:28"},"scope":10660,"src":"254:448:28","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":10661,"src":"58:647:28","usedErrors":[],"usedEvents":[]}],"src":"32:674:28"},"id":28},"contracts/testDai/TestDAI.v3.sol":{"ast":{"absolutePath":"contracts/testDai/TestDAI.v3.sol","exportedSymbols":{"AccessControl":[12401],"AccessControlMixin":[12439],"Address":[11164],"ChainConstants":[12793],"Context":[10689],"ContextMixin":[12833],"EIP712Base":[12582],"ERC20":[11696],"EnumerableSet":[12119],"IChildToken":[12448],"IERC20":[10766],"Initializable":[12467],"NativeMetaTransaction":[12776],"NofTestDAIV3":[13130],"SafeMath":[10961],"UChildERC20":[12984]},"id":13131,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":10662,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:29"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":10689,"linearizedBaseContracts":[10689],"name":"Context","nameLocation":"576:7:29","nodeType":"ContractDefinition","nodes":[{"body":{"id":10676,"nodeType":"Block","src":"660:52:29","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":10671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"693:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"697:6:29","memberName":"sender","nodeType":"MemberAccess","src":"693:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"685:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10669,"name":"address","nodeType":"ElementaryTypeName","src":"685:7:29","typeDescriptions":{}}},"id":10673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"685:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"677:8:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":10667,"name":"address","nodeType":"ElementaryTypeName","src":"677:8:29","stateMutability":"payable","typeDescriptions":{}}},"id":10674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"677:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":10666,"id":10675,"nodeType":"Return","src":"670:35:29"}]},"id":10677,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"599:10:29","nodeType":"FunctionDefinition","parameters":{"id":10663,"nodeType":"ParameterList","parameters":[],"src":"609:2:29"},"returnParameters":{"id":10666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10665,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10677,"src":"643:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":10664,"name":"address","nodeType":"ElementaryTypeName","src":"643:15:29","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"642:17:29"},"scope":10689,"src":"590:122:29","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":10687,"nodeType":"Block","src":"783:194:29","statements":[{"expression":{"id":10682,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"940:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_Context_$10689","typeString":"contract Context"}},"id":10683,"nodeType":"ExpressionStatement","src":"940:4:29"},{"expression":{"expression":{"id":10684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"962:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":10685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"966:4:29","memberName":"data","nodeType":"MemberAccess","src":"962:8:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":10681,"id":10686,"nodeType":"Return","src":"955:15:29"}]},"id":10688,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"727:8:29","nodeType":"FunctionDefinition","parameters":{"id":10678,"nodeType":"ParameterList","parameters":[],"src":"735:2:29"},"returnParameters":{"id":10681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10688,"src":"769:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10679,"name":"bytes","nodeType":"ElementaryTypeName","src":"769:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"768:14:29"},"scope":10689,"src":"718:259:29","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":13131,"src":"558:421:29","usedErrors":[],"usedEvents":[]},{"id":10690,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"1040:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":10691,"nodeType":"StructuredDocumentation","src":"1066:70:29","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":10766,"linearizedBaseContracts":[10766],"name":"IERC20","nameLocation":"1147:6:29","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":10692,"nodeType":"StructuredDocumentation","src":"1160:66:29","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":10697,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1240:11:29","nodeType":"FunctionDefinition","parameters":{"id":10693,"nodeType":"ParameterList","parameters":[],"src":"1251:2:29"},"returnParameters":{"id":10696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10695,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10697,"src":"1277:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10694,"name":"uint256","nodeType":"ElementaryTypeName","src":"1277:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1276:9:29"},"scope":10766,"src":"1231:55:29","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":10698,"nodeType":"StructuredDocumentation","src":"1292:72:29","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","id":10705,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1378:9:29","nodeType":"FunctionDefinition","parameters":{"id":10701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10700,"mutability":"mutable","name":"account","nameLocation":"1396:7:29","nodeType":"VariableDeclaration","scope":10705,"src":"1388:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10699,"name":"address","nodeType":"ElementaryTypeName","src":"1388:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1387:17:29"},"returnParameters":{"id":10704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10703,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10705,"src":"1428:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10702,"name":"uint256","nodeType":"ElementaryTypeName","src":"1428:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1427:9:29"},"scope":10766,"src":"1369:68:29","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":10706,"nodeType":"StructuredDocumentation","src":"1443:209:29","text":" @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":10715,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1666:8:29","nodeType":"FunctionDefinition","parameters":{"id":10711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10708,"mutability":"mutable","name":"recipient","nameLocation":"1683:9:29","nodeType":"VariableDeclaration","scope":10715,"src":"1675:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10707,"name":"address","nodeType":"ElementaryTypeName","src":"1675:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10710,"mutability":"mutable","name":"amount","nameLocation":"1702:6:29","nodeType":"VariableDeclaration","scope":10715,"src":"1694:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10709,"name":"uint256","nodeType":"ElementaryTypeName","src":"1694:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1674:35:29"},"returnParameters":{"id":10714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10715,"src":"1728:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10712,"name":"bool","nodeType":"ElementaryTypeName","src":"1728:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1727:6:29"},"scope":10766,"src":"1657:77:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":10716,"nodeType":"StructuredDocumentation","src":"1740:264:29","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":10725,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"2018:9:29","nodeType":"FunctionDefinition","parameters":{"id":10721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10718,"mutability":"mutable","name":"owner","nameLocation":"2036:5:29","nodeType":"VariableDeclaration","scope":10725,"src":"2028:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10717,"name":"address","nodeType":"ElementaryTypeName","src":"2028:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10720,"mutability":"mutable","name":"spender","nameLocation":"2051:7:29","nodeType":"VariableDeclaration","scope":10725,"src":"2043:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10719,"name":"address","nodeType":"ElementaryTypeName","src":"2043:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2027:32:29"},"returnParameters":{"id":10724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10725,"src":"2083:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2083:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2082:9:29"},"scope":10766,"src":"2009:83:29","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":10726,"nodeType":"StructuredDocumentation","src":"2098:642:29","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":10735,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2754:7:29","nodeType":"FunctionDefinition","parameters":{"id":10731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10728,"mutability":"mutable","name":"spender","nameLocation":"2770:7:29","nodeType":"VariableDeclaration","scope":10735,"src":"2762:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10727,"name":"address","nodeType":"ElementaryTypeName","src":"2762:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10730,"mutability":"mutable","name":"amount","nameLocation":"2787:6:29","nodeType":"VariableDeclaration","scope":10735,"src":"2779:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10729,"name":"uint256","nodeType":"ElementaryTypeName","src":"2779:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2761:33:29"},"returnParameters":{"id":10734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10733,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10735,"src":"2813:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10732,"name":"bool","nodeType":"ElementaryTypeName","src":"2813:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2812:6:29"},"scope":10766,"src":"2745:74:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":10736,"nodeType":"StructuredDocumentation","src":"2825:296:29","text":" @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":10747,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3135:12:29","nodeType":"FunctionDefinition","parameters":{"id":10743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10738,"mutability":"mutable","name":"sender","nameLocation":"3156:6:29","nodeType":"VariableDeclaration","scope":10747,"src":"3148:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10737,"name":"address","nodeType":"ElementaryTypeName","src":"3148:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10740,"mutability":"mutable","name":"recipient","nameLocation":"3172:9:29","nodeType":"VariableDeclaration","scope":10747,"src":"3164:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10739,"name":"address","nodeType":"ElementaryTypeName","src":"3164:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10742,"mutability":"mutable","name":"amount","nameLocation":"3191:6:29","nodeType":"VariableDeclaration","scope":10747,"src":"3183:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10741,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3147:51:29"},"returnParameters":{"id":10746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10745,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10747,"src":"3217:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10744,"name":"bool","nodeType":"ElementaryTypeName","src":"3217:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3216:6:29"},"scope":10766,"src":"3126:97:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"anonymous":false,"documentation":{"id":10748,"nodeType":"StructuredDocumentation","src":"3229:158:29","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":10756,"name":"Transfer","nameLocation":"3398:8:29","nodeType":"EventDefinition","parameters":{"id":10755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10750,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"3423:4:29","nodeType":"VariableDeclaration","scope":10756,"src":"3407:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10749,"name":"address","nodeType":"ElementaryTypeName","src":"3407:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10752,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"3445:2:29","nodeType":"VariableDeclaration","scope":10756,"src":"3429:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10751,"name":"address","nodeType":"ElementaryTypeName","src":"3429:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10754,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"3457:5:29","nodeType":"VariableDeclaration","scope":10756,"src":"3449:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10753,"name":"uint256","nodeType":"ElementaryTypeName","src":"3449:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3406:57:29"},"src":"3392:72:29"},{"anonymous":false,"documentation":{"id":10757,"nodeType":"StructuredDocumentation","src":"3470:148:29","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":10765,"name":"Approval","nameLocation":"3629:8:29","nodeType":"EventDefinition","parameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10759,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"3654:5:29","nodeType":"VariableDeclaration","scope":10765,"src":"3638:21:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10758,"name":"address","nodeType":"ElementaryTypeName","src":"3638:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10761,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"3677:7:29","nodeType":"VariableDeclaration","scope":10765,"src":"3661:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10760,"name":"address","nodeType":"ElementaryTypeName","src":"3661:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10763,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"3694:5:29","nodeType":"VariableDeclaration","scope":10765,"src":"3686:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3686:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3637:63:29"},"src":"3623:78:29"}],"scope":13131,"src":"1137:2566:29","usedErrors":[],"usedEvents":[10756,10765]},{"id":10767,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"3759:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"SafeMath","contractDependencies":[],"contractKind":"library","documentation":{"id":10768,"nodeType":"StructuredDocumentation","src":"3785:563:29","text":" @dev Wrappers over Solidity's arithmetic operations with added overflow\n checks.\n Arithmetic operations in Solidity wrap on overflow. This can easily result\n in bugs, because programmers usually assume that an overflow raises an\n error, which is the standard behavior in high level programming languages.\n `SafeMath` restores this intuition by reverting the transaction when an\n operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always."},"fullyImplemented":true,"id":10961,"linearizedBaseContracts":[10961],"name":"SafeMath","nameLocation":"4357:8:29","nodeType":"ContractDefinition","nodes":[{"body":{"id":10793,"nodeType":"Block","src":"4668:109:29","statements":[{"assignments":[10779],"declarations":[{"constant":false,"id":10779,"mutability":"mutable","name":"c","nameLocation":"4686:1:29","nodeType":"VariableDeclaration","scope":10793,"src":"4678:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10778,"name":"uint256","nodeType":"ElementaryTypeName","src":"4678:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10783,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10780,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10771,"src":"4690:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10781,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10773,"src":"4694:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4690:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4678:17:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10785,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10779,"src":"4713:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":10786,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10771,"src":"4718:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4713:6:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"536166654d6174683a206164646974696f6e206f766572666c6f77","id":10788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4721:29:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a","typeString":"literal_string \"SafeMath: addition overflow\""},"value":"SafeMath: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a","typeString":"literal_string \"SafeMath: addition overflow\""}],"id":10784,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4705:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4705:46:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10790,"nodeType":"ExpressionStatement","src":"4705:46:29"},{"expression":{"id":10791,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10779,"src":"4769:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10777,"id":10792,"nodeType":"Return","src":"4762:8:29"}]},"documentation":{"id":10769,"nodeType":"StructuredDocumentation","src":"4372:224:29","text":" @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow."},"id":10794,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"4610:3:29","nodeType":"FunctionDefinition","parameters":{"id":10774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10771,"mutability":"mutable","name":"a","nameLocation":"4622:1:29","nodeType":"VariableDeclaration","scope":10794,"src":"4614:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10770,"name":"uint256","nodeType":"ElementaryTypeName","src":"4614:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10773,"mutability":"mutable","name":"b","nameLocation":"4633:1:29","nodeType":"VariableDeclaration","scope":10794,"src":"4625:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10772,"name":"uint256","nodeType":"ElementaryTypeName","src":"4625:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4613:22:29"},"returnParameters":{"id":10777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10776,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10794,"src":"4659:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10775,"name":"uint256","nodeType":"ElementaryTypeName","src":"4659:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4658:9:29"},"scope":10961,"src":"4601:176:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10810,"nodeType":"Block","src":"5115:67:29","statements":[{"expression":{"arguments":[{"id":10805,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10797,"src":"5136:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10806,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10799,"src":"5139:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"536166654d6174683a207375627472616374696f6e206f766572666c6f77","id":10807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5142:32:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862","typeString":"literal_string \"SafeMath: subtraction overflow\""},"value":"SafeMath: subtraction overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862","typeString":"literal_string \"SafeMath: subtraction overflow\""}],"id":10804,"name":"sub","nodeType":"Identifier","overloadedDeclarations":[10811,10839],"referencedDeclaration":10839,"src":"5132:3:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":10808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5132:43:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10803,"id":10809,"nodeType":"Return","src":"5125:50:29"}]},"documentation":{"id":10795,"nodeType":"StructuredDocumentation","src":"4783:260:29","text":" @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow."},"id":10811,"implemented":true,"kind":"function","modifiers":[],"name":"sub","nameLocation":"5057:3:29","nodeType":"FunctionDefinition","parameters":{"id":10800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10797,"mutability":"mutable","name":"a","nameLocation":"5069:1:29","nodeType":"VariableDeclaration","scope":10811,"src":"5061:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10796,"name":"uint256","nodeType":"ElementaryTypeName","src":"5061:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10799,"mutability":"mutable","name":"b","nameLocation":"5080:1:29","nodeType":"VariableDeclaration","scope":10811,"src":"5072:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10798,"name":"uint256","nodeType":"ElementaryTypeName","src":"5072:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5060:22:29"},"returnParameters":{"id":10803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10802,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10811,"src":"5106:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10801,"name":"uint256","nodeType":"ElementaryTypeName","src":"5106:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5105:9:29"},"scope":10961,"src":"5048:134:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10838,"nodeType":"Block","src":"5568:92:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10824,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10816,"src":"5586:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":10825,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10814,"src":"5591:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5586:6:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10827,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10818,"src":"5594:12:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10823,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5578:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5578:29:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10829,"nodeType":"ExpressionStatement","src":"5578:29:29"},{"assignments":[10831],"declarations":[{"constant":false,"id":10831,"mutability":"mutable","name":"c","nameLocation":"5625:1:29","nodeType":"VariableDeclaration","scope":10838,"src":"5617:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10830,"name":"uint256","nodeType":"ElementaryTypeName","src":"5617:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10835,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10832,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10814,"src":"5629:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10833,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10816,"src":"5633:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5629:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5617:17:29"},{"expression":{"id":10836,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10831,"src":"5652:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10822,"id":10837,"nodeType":"Return","src":"5645:8:29"}]},"documentation":{"id":10812,"nodeType":"StructuredDocumentation","src":"5188:280:29","text":" @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow."},"id":10839,"implemented":true,"kind":"function","modifiers":[],"name":"sub","nameLocation":"5482:3:29","nodeType":"FunctionDefinition","parameters":{"id":10819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10814,"mutability":"mutable","name":"a","nameLocation":"5494:1:29","nodeType":"VariableDeclaration","scope":10839,"src":"5486:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10813,"name":"uint256","nodeType":"ElementaryTypeName","src":"5486:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10816,"mutability":"mutable","name":"b","nameLocation":"5505:1:29","nodeType":"VariableDeclaration","scope":10839,"src":"5497:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10815,"name":"uint256","nodeType":"ElementaryTypeName","src":"5497:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10818,"mutability":"mutable","name":"errorMessage","nameLocation":"5522:12:29","nodeType":"VariableDeclaration","scope":10839,"src":"5508:26:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10817,"name":"string","nodeType":"ElementaryTypeName","src":"5508:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5485:50:29"},"returnParameters":{"id":10822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10839,"src":"5559:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10820,"name":"uint256","nodeType":"ElementaryTypeName","src":"5559:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5558:9:29"},"scope":10961,"src":"5473:187:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10873,"nodeType":"Block","src":"5974:392:29","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10849,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10842,"src":"6206:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6211:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6206:6:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10855,"nodeType":"IfStatement","src":"6202:45:29","trueBody":{"id":10854,"nodeType":"Block","src":"6214:33:29","statements":[{"expression":{"hexValue":"30","id":10852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6235:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":10848,"id":10853,"nodeType":"Return","src":"6228:8:29"}]}},{"assignments":[10857],"declarations":[{"constant":false,"id":10857,"mutability":"mutable","name":"c","nameLocation":"6265:1:29","nodeType":"VariableDeclaration","scope":10873,"src":"6257:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10856,"name":"uint256","nodeType":"ElementaryTypeName","src":"6257:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10861,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10858,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10842,"src":"6269:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":10859,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10844,"src":"6273:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6269:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6257:17:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10863,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10857,"src":"6292:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":10864,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10842,"src":"6296:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6292:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":10866,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10844,"src":"6301:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6292:10:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77","id":10868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6304:35:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3","typeString":"literal_string \"SafeMath: multiplication overflow\""},"value":"SafeMath: multiplication overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3","typeString":"literal_string \"SafeMath: multiplication overflow\""}],"id":10862,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6284:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6284:56:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10870,"nodeType":"ExpressionStatement","src":"6284:56:29"},{"expression":{"id":10871,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10857,"src":"6358:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10848,"id":10872,"nodeType":"Return","src":"6351:8:29"}]},"documentation":{"id":10840,"nodeType":"StructuredDocumentation","src":"5666:236:29","text":" @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow."},"id":10874,"implemented":true,"kind":"function","modifiers":[],"name":"mul","nameLocation":"5916:3:29","nodeType":"FunctionDefinition","parameters":{"id":10845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10842,"mutability":"mutable","name":"a","nameLocation":"5928:1:29","nodeType":"VariableDeclaration","scope":10874,"src":"5920:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10841,"name":"uint256","nodeType":"ElementaryTypeName","src":"5920:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10844,"mutability":"mutable","name":"b","nameLocation":"5939:1:29","nodeType":"VariableDeclaration","scope":10874,"src":"5931:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10843,"name":"uint256","nodeType":"ElementaryTypeName","src":"5931:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5919:22:29"},"returnParameters":{"id":10848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10874,"src":"5965:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10846,"name":"uint256","nodeType":"ElementaryTypeName","src":"5965:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5964:9:29"},"scope":10961,"src":"5907:459:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10890,"nodeType":"Block","src":"6895:63:29","statements":[{"expression":{"arguments":[{"id":10885,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10877,"src":"6916:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10886,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10879,"src":"6919:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"536166654d6174683a206469766973696f6e206279207a65726f","id":10887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6922:28:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f","typeString":"literal_string \"SafeMath: division by zero\""},"value":"SafeMath: division by zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f","typeString":"literal_string \"SafeMath: division by zero\""}],"id":10884,"name":"div","nodeType":"Identifier","overloadedDeclarations":[10891,10919],"referencedDeclaration":10919,"src":"6912:3:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":10888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6912:39:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10883,"id":10889,"nodeType":"Return","src":"6905:46:29"}]},"documentation":{"id":10875,"nodeType":"StructuredDocumentation","src":"6372:451:29","text":" @dev Returns the integer division of two unsigned integers. Reverts on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":10891,"implemented":true,"kind":"function","modifiers":[],"name":"div","nameLocation":"6837:3:29","nodeType":"FunctionDefinition","parameters":{"id":10880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10877,"mutability":"mutable","name":"a","nameLocation":"6849:1:29","nodeType":"VariableDeclaration","scope":10891,"src":"6841:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10876,"name":"uint256","nodeType":"ElementaryTypeName","src":"6841:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10879,"mutability":"mutable","name":"b","nameLocation":"6860:1:29","nodeType":"VariableDeclaration","scope":10891,"src":"6852:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10878,"name":"uint256","nodeType":"ElementaryTypeName","src":"6852:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6840:22:29"},"returnParameters":{"id":10883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10891,"src":"6886:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10881,"name":"uint256","nodeType":"ElementaryTypeName","src":"6886:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6885:9:29"},"scope":10961,"src":"6828:130:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10918,"nodeType":"Block","src":"7535:177:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10904,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10896,"src":"7553:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":10905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7557:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7553:5:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10907,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10898,"src":"7560:12:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10903,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7545:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7545:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10909,"nodeType":"ExpressionStatement","src":"7545:28:29"},{"assignments":[10911],"declarations":[{"constant":false,"id":10911,"mutability":"mutable","name":"c","nameLocation":"7591:1:29","nodeType":"VariableDeclaration","scope":10918,"src":"7583:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10910,"name":"uint256","nodeType":"ElementaryTypeName","src":"7583:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10915,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10912,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10894,"src":"7595:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":10913,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10896,"src":"7599:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7595:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7583:17:29"},{"expression":{"id":10916,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"7704:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10902,"id":10917,"nodeType":"Return","src":"7697:8:29"}]},"documentation":{"id":10892,"nodeType":"StructuredDocumentation","src":"6964:471:29","text":" @dev Returns the integer division of two unsigned integers. Reverts with custom message on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":10919,"implemented":true,"kind":"function","modifiers":[],"name":"div","nameLocation":"7449:3:29","nodeType":"FunctionDefinition","parameters":{"id":10899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10894,"mutability":"mutable","name":"a","nameLocation":"7461:1:29","nodeType":"VariableDeclaration","scope":10919,"src":"7453:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10893,"name":"uint256","nodeType":"ElementaryTypeName","src":"7453:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10896,"mutability":"mutable","name":"b","nameLocation":"7472:1:29","nodeType":"VariableDeclaration","scope":10919,"src":"7464:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10895,"name":"uint256","nodeType":"ElementaryTypeName","src":"7464:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10898,"mutability":"mutable","name":"errorMessage","nameLocation":"7489:12:29","nodeType":"VariableDeclaration","scope":10919,"src":"7475:26:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10897,"name":"string","nodeType":"ElementaryTypeName","src":"7475:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7452:50:29"},"returnParameters":{"id":10902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10919,"src":"7526:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10900,"name":"uint256","nodeType":"ElementaryTypeName","src":"7526:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7525:9:29"},"scope":10961,"src":"7440:272:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10935,"nodeType":"Block","src":"8230:61:29","statements":[{"expression":{"arguments":[{"id":10930,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10922,"src":"8251:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10931,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10924,"src":"8254:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"536166654d6174683a206d6f64756c6f206279207a65726f","id":10932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8257:26:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832","typeString":"literal_string \"SafeMath: modulo by zero\""},"value":"SafeMath: modulo by zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832","typeString":"literal_string \"SafeMath: modulo by zero\""}],"id":10929,"name":"mod","nodeType":"Identifier","overloadedDeclarations":[10936,10960],"referencedDeclaration":10960,"src":"8247:3:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":10933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8247:37:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10928,"id":10934,"nodeType":"Return","src":"8240:44:29"}]},"documentation":{"id":10920,"nodeType":"StructuredDocumentation","src":"7718:440:29","text":" @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":10936,"implemented":true,"kind":"function","modifiers":[],"name":"mod","nameLocation":"8172:3:29","nodeType":"FunctionDefinition","parameters":{"id":10925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10922,"mutability":"mutable","name":"a","nameLocation":"8184:1:29","nodeType":"VariableDeclaration","scope":10936,"src":"8176:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10921,"name":"uint256","nodeType":"ElementaryTypeName","src":"8176:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10924,"mutability":"mutable","name":"b","nameLocation":"8195:1:29","nodeType":"VariableDeclaration","scope":10936,"src":"8187:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10923,"name":"uint256","nodeType":"ElementaryTypeName","src":"8187:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8175:22:29"},"returnParameters":{"id":10928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10936,"src":"8221:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10926,"name":"uint256","nodeType":"ElementaryTypeName","src":"8221:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8220:9:29"},"scope":10961,"src":"8163:128:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10959,"nodeType":"Block","src":"8857:68:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10949,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10941,"src":"8875:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":10950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8880:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8875:6:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10952,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10943,"src":"8883:12:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10948,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8867:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8867:29:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10954,"nodeType":"ExpressionStatement","src":"8867:29:29"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10955,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10939,"src":"8913:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":10956,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10941,"src":"8917:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8913:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10947,"id":10958,"nodeType":"Return","src":"8906:12:29"}]},"documentation":{"id":10937,"nodeType":"StructuredDocumentation","src":"8297:460:29","text":" @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts with custom message when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero."},"id":10960,"implemented":true,"kind":"function","modifiers":[],"name":"mod","nameLocation":"8771:3:29","nodeType":"FunctionDefinition","parameters":{"id":10944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10939,"mutability":"mutable","name":"a","nameLocation":"8783:1:29","nodeType":"VariableDeclaration","scope":10960,"src":"8775:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10938,"name":"uint256","nodeType":"ElementaryTypeName","src":"8775:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10941,"mutability":"mutable","name":"b","nameLocation":"8794:1:29","nodeType":"VariableDeclaration","scope":10960,"src":"8786:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10940,"name":"uint256","nodeType":"ElementaryTypeName","src":"8786:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10943,"mutability":"mutable","name":"errorMessage","nameLocation":"8811:12:29","nodeType":"VariableDeclaration","scope":10960,"src":"8797:26:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10942,"name":"string","nodeType":"ElementaryTypeName","src":"8797:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8774:50:29"},"returnParameters":{"id":10947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10960,"src":"8848:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10945,"name":"uint256","nodeType":"ElementaryTypeName","src":"8848:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8847:9:29"},"scope":10961,"src":"8762:163:29","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":13131,"src":"4349:4578:29","usedErrors":[],"usedEvents":[]},{"id":10962,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"8983:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":10963,"nodeType":"StructuredDocumentation","src":"9009:67:29","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"id":11164,"linearizedBaseContracts":[11164],"name":"Address","nameLocation":"9085:7:29","nodeType":"ContractDefinition","nodes":[{"body":{"id":10988,"nodeType":"Block","src":"9735:544:29","statements":[{"assignments":[10972],"declarations":[{"constant":false,"id":10972,"mutability":"mutable","name":"codehash","nameLocation":"9995:8:29","nodeType":"VariableDeclaration","scope":10988,"src":"9987:16:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9987:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10973,"nodeType":"VariableDeclarationStatement","src":"9987:16:29"},{"assignments":[10975],"declarations":[{"constant":false,"id":10975,"mutability":"mutable","name":"accountHash","nameLocation":"10021:11:29","nodeType":"VariableDeclaration","scope":10988,"src":"10013:19:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10013:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10977,"initialValue":{"hexValue":"307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730","id":10976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10035:66:29","typeDescriptions":{"typeIdentifier":"t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1","typeString":"int_const 8947...(69 digits omitted)...1552"},"value":"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"},"nodeType":"VariableDeclarationStatement","src":"10013:88:29"},{"AST":{"nodeType":"YulBlock","src":"10176:36:29","statements":[{"nodeType":"YulAssignment","src":"10178:32:29","value":{"arguments":[{"name":"account","nodeType":"YulIdentifier","src":"10202:7:29"}],"functionName":{"name":"extcodehash","nodeType":"YulIdentifier","src":"10190:11:29"},"nodeType":"YulFunctionCall","src":"10190:20:29"},"variableNames":[{"name":"codehash","nodeType":"YulIdentifier","src":"10178:8:29"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":10966,"isOffset":false,"isSlot":false,"src":"10202:7:29","valueSize":1},{"declaration":10972,"isOffset":false,"isSlot":false,"src":"10178:8:29","valueSize":1}],"id":10978,"nodeType":"InlineAssembly","src":"10167:45:29"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":10981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10979,"name":"codehash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10972,"src":"10229:8:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10980,"name":"accountHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10975,"src":"10241:11:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10229:23:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":10984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10982,"name":"codehash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10972,"src":"10256:8:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307830","id":10983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10268:3:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x0"},"src":"10256:15:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10229:42:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":10986,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10228:44:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10970,"id":10987,"nodeType":"Return","src":"10221:51:29"}]},"documentation":{"id":10964,"nodeType":"StructuredDocumentation","src":"9099:565:29","text":" @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ===="},"id":10989,"implemented":true,"kind":"function","modifiers":[],"name":"isContract","nameLocation":"9678:10:29","nodeType":"FunctionDefinition","parameters":{"id":10967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10966,"mutability":"mutable","name":"account","nameLocation":"9697:7:29","nodeType":"VariableDeclaration","scope":10989,"src":"9689:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10965,"name":"address","nodeType":"ElementaryTypeName","src":"9689:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9688:17:29"},"returnParameters":{"id":10970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10989,"src":"9729:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10968,"name":"bool","nodeType":"ElementaryTypeName","src":"9729:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9728:6:29"},"scope":11164,"src":"9669:610:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11022,"nodeType":"Block","src":"11106:320:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":11000,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11132:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$11164","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$11164","typeString":"library Address"}],"id":10999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11124:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10998,"name":"address","nodeType":"ElementaryTypeName","src":"11124:7:29","typeDescriptions":{}}},"id":11001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11124:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11138:7:29","memberName":"balance","nodeType":"MemberAccess","src":"11124:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11003,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10994,"src":"11149:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11124:31:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","id":11005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11157:31:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""},"value":"Address: insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""}],"id":10997,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11116:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11116:73:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11007,"nodeType":"ExpressionStatement","src":"11116:73:29"},{"assignments":[11009,null],"declarations":[{"constant":false,"id":11009,"mutability":"mutable","name":"success","nameLocation":"11283:7:29","nodeType":"VariableDeclaration","scope":11022,"src":"11278:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11008,"name":"bool","nodeType":"ElementaryTypeName","src":"11278:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":11016,"initialValue":{"arguments":[{"hexValue":"","id":11014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11328:2:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":11010,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10992,"src":"11296:9:29","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":11011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11306:4:29","memberName":"call","nodeType":"MemberAccess","src":"11296:14:29","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":11013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":11012,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10994,"src":"11319:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"11296:31:29","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":11015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11296:35:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"11277:54:29"},{"expression":{"arguments":[{"id":11018,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11009,"src":"11349:7:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564","id":11019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11358:60:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""},"value":"Address: unable to send value, recipient may have reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""}],"id":11017,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11341:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11341:78:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11021,"nodeType":"ExpressionStatement","src":"11341:78:29"}]},"documentation":{"id":10990,"nodeType":"StructuredDocumentation","src":"10285:745:29","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the"},"id":11023,"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"11044:9:29","nodeType":"FunctionDefinition","parameters":{"id":10995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10992,"mutability":"mutable","name":"recipient","nameLocation":"11070:9:29","nodeType":"VariableDeclaration","scope":11023,"src":"11054:25:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":10991,"name":"address","nodeType":"ElementaryTypeName","src":"11054:15:29","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":10994,"mutability":"mutable","name":"amount","nameLocation":"11089:6:29","nodeType":"VariableDeclaration","scope":11023,"src":"11081:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10993,"name":"uint256","nodeType":"ElementaryTypeName","src":"11081:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11053:43:29"},"returnParameters":{"id":10996,"nodeType":"ParameterList","parameters":[],"src":"11106:0:29"},"scope":11164,"src":"11035:391:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11039,"nodeType":"Block","src":"12099:82:29","statements":[{"expression":{"arguments":[{"id":11034,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11026,"src":"12127:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11035,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11028,"src":"12135:4:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564","id":11036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12141:32:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""},"value":"Address: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""}],"id":11033,"name":"functionCall","nodeType":"Identifier","overloadedDeclarations":[11040,11060],"referencedDeclaration":11060,"src":"12114:12:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":11037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12114:60:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11032,"id":11038,"nodeType":"Return","src":"12107:67:29"}]},"documentation":{"id":11024,"nodeType":"StructuredDocumentation","src":"11432:573:29","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain`call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"},"id":11040,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"12019:12:29","nodeType":"FunctionDefinition","parameters":{"id":11029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11026,"mutability":"mutable","name":"target","nameLocation":"12040:6:29","nodeType":"VariableDeclaration","scope":11040,"src":"12032:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11025,"name":"address","nodeType":"ElementaryTypeName","src":"12032:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11028,"mutability":"mutable","name":"data","nameLocation":"12061:4:29","nodeType":"VariableDeclaration","scope":11040,"src":"12048:17:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11027,"name":"bytes","nodeType":"ElementaryTypeName","src":"12048:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12031:35:29"},"returnParameters":{"id":11032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11040,"src":"12085:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11030,"name":"bytes","nodeType":"ElementaryTypeName","src":"12085:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12084:14:29"},"scope":11164,"src":"12010:171:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11059,"nodeType":"Block","src":"12529:77:29","statements":[{"expression":{"arguments":[{"id":11053,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11043,"src":"12569:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11054,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11045,"src":"12577:4:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":11055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12583:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":11056,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11047,"src":"12586:12:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11052,"name":"_functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11163,"src":"12546:22:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":11057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12546:53:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11051,"id":11058,"nodeType":"Return","src":"12539:60:29"}]},"documentation":{"id":11041,"nodeType":"StructuredDocumentation","src":"12187:211:29","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":11060,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"12412:12:29","nodeType":"FunctionDefinition","parameters":{"id":11048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11043,"mutability":"mutable","name":"target","nameLocation":"12433:6:29","nodeType":"VariableDeclaration","scope":11060,"src":"12425:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11042,"name":"address","nodeType":"ElementaryTypeName","src":"12425:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11045,"mutability":"mutable","name":"data","nameLocation":"12454:4:29","nodeType":"VariableDeclaration","scope":11060,"src":"12441:17:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11044,"name":"bytes","nodeType":"ElementaryTypeName","src":"12441:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11047,"mutability":"mutable","name":"errorMessage","nameLocation":"12474:12:29","nodeType":"VariableDeclaration","scope":11060,"src":"12460:26:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11046,"name":"string","nodeType":"ElementaryTypeName","src":"12460:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12424:63:29"},"returnParameters":{"id":11051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11060,"src":"12515:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11049,"name":"bytes","nodeType":"ElementaryTypeName","src":"12515:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12514:14:29"},"scope":11164,"src":"12403:203:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11079,"nodeType":"Block","src":"13081:111:29","statements":[{"expression":{"arguments":[{"id":11073,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11063,"src":"13120:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11074,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11065,"src":"13128:4:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11075,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11067,"src":"13134:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564","id":11076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13141:43:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""},"value":"Address: low-level call with value failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""}],"id":11072,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[11080,11113],"referencedDeclaration":11113,"src":"13098:21:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":11077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13098:87:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11071,"id":11078,"nodeType":"Return","src":"13091:94:29"}]},"documentation":{"id":11061,"nodeType":"StructuredDocumentation","src":"12612:351:29","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._"},"id":11080,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"12977:21:29","nodeType":"FunctionDefinition","parameters":{"id":11068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11063,"mutability":"mutable","name":"target","nameLocation":"13007:6:29","nodeType":"VariableDeclaration","scope":11080,"src":"12999:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11062,"name":"address","nodeType":"ElementaryTypeName","src":"12999:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11065,"mutability":"mutable","name":"data","nameLocation":"13028:4:29","nodeType":"VariableDeclaration","scope":11080,"src":"13015:17:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11064,"name":"bytes","nodeType":"ElementaryTypeName","src":"13015:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11067,"mutability":"mutable","name":"value","nameLocation":"13042:5:29","nodeType":"VariableDeclaration","scope":11080,"src":"13034:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11066,"name":"uint256","nodeType":"ElementaryTypeName","src":"13034:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12998:50:29"},"returnParameters":{"id":11071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11080,"src":"13067:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11069,"name":"bytes","nodeType":"ElementaryTypeName","src":"13067:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13066:14:29"},"scope":11164,"src":"12968:224:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11112,"nodeType":"Block","src":"13599:173:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":11097,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13626:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$11164","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$11164","typeString":"library Address"}],"id":11096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13618:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11095,"name":"address","nodeType":"ElementaryTypeName","src":"13618:7:29","typeDescriptions":{}}},"id":11098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13618:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13632:7:29","memberName":"balance","nodeType":"MemberAccess","src":"13618:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":11100,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11087,"src":"13643:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13618:30:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c","id":11102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13650:40:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""},"value":"Address: insufficient balance for call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""}],"id":11094,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13610:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13610:81:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11104,"nodeType":"ExpressionStatement","src":"13610:81:29"},{"expression":{"arguments":[{"id":11106,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11083,"src":"13731:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11107,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"13739:4:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":11108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11087,"src":"13745:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11109,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11089,"src":"13752:12:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11105,"name":"_functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11163,"src":"13708:22:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":11110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13708:57:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11093,"id":11111,"nodeType":"Return","src":"13701:64:29"}]},"documentation":{"id":11081,"nodeType":"StructuredDocumentation","src":"13198:237:29","text":" @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":11113,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"13449:21:29","nodeType":"FunctionDefinition","parameters":{"id":11090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11083,"mutability":"mutable","name":"target","nameLocation":"13488:6:29","nodeType":"VariableDeclaration","scope":11113,"src":"13480:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11082,"name":"address","nodeType":"ElementaryTypeName","src":"13480:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11085,"mutability":"mutable","name":"data","nameLocation":"13509:4:29","nodeType":"VariableDeclaration","scope":11113,"src":"13496:17:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11084,"name":"bytes","nodeType":"ElementaryTypeName","src":"13496:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11087,"mutability":"mutable","name":"value","nameLocation":"13532:5:29","nodeType":"VariableDeclaration","scope":11113,"src":"13524:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11086,"name":"uint256","nodeType":"ElementaryTypeName","src":"13524:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11089,"mutability":"mutable","name":"errorMessage","nameLocation":"13553:12:29","nodeType":"VariableDeclaration","scope":11113,"src":"13539:26:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11088,"name":"string","nodeType":"ElementaryTypeName","src":"13539:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13470:96:29"},"returnParameters":{"id":11093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11092,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11113,"src":"13585:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11091,"name":"bytes","nodeType":"ElementaryTypeName","src":"13585:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13584:14:29"},"scope":11164,"src":"13440:332:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11162,"nodeType":"Block","src":"13940:823:29","statements":[{"expression":{"arguments":[{"arguments":[{"id":11128,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11115,"src":"13978:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11127,"name":"isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10989,"src":"13967:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":11129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:18:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","id":11130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13987:31:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""},"value":"Address: call to non-contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""}],"id":11126,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13959:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13959:60:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11132,"nodeType":"ExpressionStatement","src":"13959:60:29"},{"assignments":[11134,11136],"declarations":[{"constant":false,"id":11134,"mutability":"mutable","name":"success","nameLocation":"14095:7:29","nodeType":"VariableDeclaration","scope":11162,"src":"14090:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11133,"name":"bool","nodeType":"ElementaryTypeName","src":"14090:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11136,"mutability":"mutable","name":"returndata","nameLocation":"14117:10:29","nodeType":"VariableDeclaration","scope":11162,"src":"14104:23:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11135,"name":"bytes","nodeType":"ElementaryTypeName","src":"14104:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":11143,"initialValue":{"arguments":[{"id":11141,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11117,"src":"14162:4:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11137,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11115,"src":"14131:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14138:4:29","memberName":"call","nodeType":"MemberAccess","src":"14131:11:29","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":11140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":11139,"name":"weiValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11119,"src":"14151:8:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"14131:30:29","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":11142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14131:36:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"14089:78:29"},{"condition":{"id":11144,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11134,"src":"14181:7:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":11160,"nodeType":"Block","src":"14238:519:29","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":11148,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11136,"src":"14322:10:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":11149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14333:6:29","memberName":"length","nodeType":"MemberAccess","src":"14322:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":11150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14342:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14322:21:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":11158,"nodeType":"Block","src":"14694:53:29","statements":[{"expression":{"arguments":[{"id":11155,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11121,"src":"14719:12:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11154,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"14712:6:29","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":11156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14712:20:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11157,"nodeType":"ExpressionStatement","src":"14712:20:29"}]},"id":11159,"nodeType":"IfStatement","src":"14318:429:29","trueBody":{"id":11153,"nodeType":"Block","src":"14345:343:29","statements":[{"AST":{"nodeType":"YulBlock","src":"14529:145:29","statements":[{"nodeType":"YulVariableDeclaration","src":"14551:40:29","value":{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"14580:10:29"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14574:5:29"},"nodeType":"YulFunctionCall","src":"14574:17:29"},"variables":[{"name":"returndata_size","nodeType":"YulTypedName","src":"14555:15:29","type":""}]},{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14623:2:29","type":"","value":"32"},{"name":"returndata","nodeType":"YulIdentifier","src":"14627:10:29"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14619:3:29"},"nodeType":"YulFunctionCall","src":"14619:19:29"},{"name":"returndata_size","nodeType":"YulIdentifier","src":"14640:15:29"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14612:6:29"},"nodeType":"YulFunctionCall","src":"14612:44:29"},"nodeType":"YulExpressionStatement","src":"14612:44:29"}]},"evmVersion":"paris","externalReferences":[{"declaration":11136,"isOffset":false,"isSlot":false,"src":"14580:10:29","valueSize":1},{"declaration":11136,"isOffset":false,"isSlot":false,"src":"14627:10:29","valueSize":1}],"id":11152,"nodeType":"InlineAssembly","src":"14520:154:29"}]}}]},"id":11161,"nodeType":"IfStatement","src":"14177:580:29","trueBody":{"id":11147,"nodeType":"Block","src":"14190:42:29","statements":[{"expression":{"id":11145,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11136,"src":"14211:10:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11125,"id":11146,"nodeType":"Return","src":"14204:17:29"}]}}]},"id":11163,"implemented":true,"kind":"function","modifiers":[],"name":"_functionCallWithValue","nameLocation":"13787:22:29","nodeType":"FunctionDefinition","parameters":{"id":11122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11115,"mutability":"mutable","name":"target","nameLocation":"13827:6:29","nodeType":"VariableDeclaration","scope":11163,"src":"13819:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11114,"name":"address","nodeType":"ElementaryTypeName","src":"13819:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11117,"mutability":"mutable","name":"data","nameLocation":"13848:4:29","nodeType":"VariableDeclaration","scope":11163,"src":"13835:17:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11116,"name":"bytes","nodeType":"ElementaryTypeName","src":"13835:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11119,"mutability":"mutable","name":"weiValue","nameLocation":"13871:8:29","nodeType":"VariableDeclaration","scope":11163,"src":"13863:16:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11118,"name":"uint256","nodeType":"ElementaryTypeName","src":"13863:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11121,"mutability":"mutable","name":"errorMessage","nameLocation":"13895:12:29","nodeType":"VariableDeclaration","scope":11163,"src":"13881:26:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11120,"name":"string","nodeType":"ElementaryTypeName","src":"13881:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13809:99:29"},"returnParameters":{"id":11125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11163,"src":"13926:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11123,"name":"bytes","nodeType":"ElementaryTypeName","src":"13926:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13925:14:29"},"scope":11164,"src":"13778:985:29","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":13131,"src":"9077:5688:29","usedErrors":[],"usedEvents":[]},{"id":11165,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"14838:24:29"},{"abstract":false,"baseContracts":[{"baseName":{"id":11167,"name":"Context","nameLocations":["16344:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":10689,"src":"16344:7:29"},"id":11168,"nodeType":"InheritanceSpecifier","src":"16344:7:29"},{"baseName":{"id":11169,"name":"IERC20","nameLocations":["16353:6:29"],"nodeType":"IdentifierPath","referencedDeclaration":10766,"src":"16353:6:29"},"id":11170,"nodeType":"InheritanceSpecifier","src":"16353:6:29"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":11166,"nodeType":"StructuredDocumentation","src":"15062:1263:29","text":" @dev openzeppelin Implementation of the {IERC20} interface.\n Modified to add setters for name, symbol and decimals. This was needed\n because\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin guidelines: functions revert instead\n of returning `false` on failure. This behavior is nonetheless conventional\n and does not conflict with the expectations of ERC20 applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"id":11696,"linearizedBaseContracts":[11696,10766,10689],"name":"ERC20","nameLocation":"16335:5:29","nodeType":"ContractDefinition","nodes":[{"global":false,"id":11173,"libraryName":{"id":11171,"name":"SafeMath","nameLocations":["16372:8:29"],"nodeType":"IdentifierPath","referencedDeclaration":10961,"src":"16372:8:29"},"nodeType":"UsingForDirective","src":"16366:27:29","typeName":{"id":11172,"name":"uint256","nodeType":"ElementaryTypeName","src":"16385:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"global":false,"id":11176,"libraryName":{"id":11174,"name":"Address","nameLocations":["16404:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":11164,"src":"16404:7:29"},"nodeType":"UsingForDirective","src":"16398:26:29","typeName":{"id":11175,"name":"address","nodeType":"ElementaryTypeName","src":"16416:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"constant":false,"id":11180,"mutability":"mutable","name":"_balances","nameLocation":"16467:9:29","nodeType":"VariableDeclaration","scope":11696,"src":"16430:46:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":11179,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11177,"name":"address","nodeType":"ElementaryTypeName","src":"16439:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"16430:28:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11178,"name":"uint256","nodeType":"ElementaryTypeName","src":"16450:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":11186,"mutability":"mutable","name":"_allowances","nameLocation":"16541:11:29","nodeType":"VariableDeclaration","scope":11696,"src":"16483:69:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":11185,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11181,"name":"address","nodeType":"ElementaryTypeName","src":"16492:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"16483:49:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11184,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11182,"name":"address","nodeType":"ElementaryTypeName","src":"16512:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"16503:28:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11183,"name":"uint256","nodeType":"ElementaryTypeName","src":"16523:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":11188,"mutability":"mutable","name":"_totalSupply","nameLocation":"16575:12:29","nodeType":"VariableDeclaration","scope":11696,"src":"16559:28:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11187,"name":"uint256","nodeType":"ElementaryTypeName","src":"16559:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":11190,"mutability":"mutable","name":"_name","nameLocation":"16609:5:29","nodeType":"VariableDeclaration","scope":11696,"src":"16594:20:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":11189,"name":"string","nodeType":"ElementaryTypeName","src":"16594:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":11192,"mutability":"mutable","name":"_symbol","nameLocation":"16635:7:29","nodeType":"VariableDeclaration","scope":11696,"src":"16620:22:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":11191,"name":"string","nodeType":"ElementaryTypeName","src":"16620:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":11194,"mutability":"mutable","name":"_decimals","nameLocation":"16662:9:29","nodeType":"VariableDeclaration","scope":11696,"src":"16648:23:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11193,"name":"uint8","nodeType":"ElementaryTypeName","src":"16648:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"private"},{"body":{"id":11214,"nodeType":"Block","src":"17053:83:29","statements":[{"expression":{"id":11204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11202,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11190,"src":"17063:5:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11203,"name":"__name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11197,"src":"17071:6:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"17063:14:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":11205,"nodeType":"ExpressionStatement","src":"17063:14:29"},{"expression":{"id":11208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11206,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11192,"src":"17087:7:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11207,"name":"__symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11199,"src":"17097:8:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"17087:18:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":11209,"nodeType":"ExpressionStatement","src":"17087:18:29"},{"expression":{"id":11212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11210,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11194,"src":"17115:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3138","id":11211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17127:2:29","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"17115:14:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11213,"nodeType":"ExpressionStatement","src":"17115:14:29"}]},"documentation":{"id":11195,"nodeType":"StructuredDocumentation","src":"16678:311:29","text":" @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n a default value of 18.\n To select a different value for {decimals}, use {_setupDecimals}.\n All three of these values are immutable: they can only be set once during\n construction."},"id":11215,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":11200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11197,"mutability":"mutable","name":"__name","nameLocation":"17021:6:29","nodeType":"VariableDeclaration","scope":11215,"src":"17007:20:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11196,"name":"string","nodeType":"ElementaryTypeName","src":"17007:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11199,"mutability":"mutable","name":"__symbol","nameLocation":"17043:8:29","nodeType":"VariableDeclaration","scope":11215,"src":"17029:22:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11198,"name":"string","nodeType":"ElementaryTypeName","src":"17029:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17006:46:29"},"returnParameters":{"id":11201,"nodeType":"ParameterList","parameters":[],"src":"17053:0:29"},"scope":11696,"src":"16994:142:29","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":11223,"nodeType":"Block","src":"17253:29:29","statements":[{"expression":{"id":11221,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11190,"src":"17270:5:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":11220,"id":11222,"nodeType":"Return","src":"17263:12:29"}]},"documentation":{"id":11216,"nodeType":"StructuredDocumentation","src":"17142:54:29","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":11224,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"17210:4:29","nodeType":"FunctionDefinition","parameters":{"id":11217,"nodeType":"ParameterList","parameters":[],"src":"17214:2:29"},"returnParameters":{"id":11220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11224,"src":"17238:13:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11218,"name":"string","nodeType":"ElementaryTypeName","src":"17238:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17237:15:29"},"scope":11696,"src":"17201:81:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":11233,"nodeType":"Block","src":"17337:30:29","statements":[{"expression":{"id":11231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11229,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11190,"src":"17345:5:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11230,"name":"newName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11226,"src":"17353:7:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"17345:15:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":11232,"nodeType":"ExpressionStatement","src":"17345:15:29"}]},"id":11234,"implemented":true,"kind":"function","modifiers":[],"name":"setName","nameLocation":"17297:7:29","nodeType":"FunctionDefinition","parameters":{"id":11227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11226,"mutability":"mutable","name":"newName","nameLocation":"17319:7:29","nodeType":"VariableDeclaration","scope":11234,"src":"17305:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11225,"name":"string","nodeType":"ElementaryTypeName","src":"17305:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17304:23:29"},"returnParameters":{"id":11228,"nodeType":"ParameterList","parameters":[],"src":"17337:0:29"},"scope":11696,"src":"17288:79:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11242,"nodeType":"Block","src":"17534:31:29","statements":[{"expression":{"id":11240,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11192,"src":"17551:7:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":11239,"id":11241,"nodeType":"Return","src":"17544:14:29"}]},"documentation":{"id":11235,"nodeType":"StructuredDocumentation","src":"17373:102:29","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","id":11243,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"17489:6:29","nodeType":"FunctionDefinition","parameters":{"id":11236,"nodeType":"ParameterList","parameters":[],"src":"17495:2:29"},"returnParameters":{"id":11239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11243,"src":"17519:13:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11237,"name":"string","nodeType":"ElementaryTypeName","src":"17519:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17518:15:29"},"scope":11696,"src":"17480:85:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":11252,"nodeType":"Block","src":"17624:34:29","statements":[{"expression":{"id":11250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11248,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11192,"src":"17632:7:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11249,"name":"newSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11245,"src":"17642:9:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"17632:19:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":11251,"nodeType":"ExpressionStatement","src":"17632:19:29"}]},"id":11253,"implemented":true,"kind":"function","modifiers":[],"name":"setSymbol","nameLocation":"17580:9:29","nodeType":"FunctionDefinition","parameters":{"id":11246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11245,"mutability":"mutable","name":"newSymbol","nameLocation":"17604:9:29","nodeType":"VariableDeclaration","scope":11253,"src":"17590:23:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11244,"name":"string","nodeType":"ElementaryTypeName","src":"17590:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17589:25:29"},"returnParameters":{"id":11247,"nodeType":"ParameterList","parameters":[],"src":"17624:0:29"},"scope":11696,"src":"17571:87:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11261,"nodeType":"Block","src":"18329:33:29","statements":[{"expression":{"id":11259,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11194,"src":"18346:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":11258,"id":11260,"nodeType":"Return","src":"18339:16:29"}]},"documentation":{"id":11254,"nodeType":"StructuredDocumentation","src":"17664:612:29","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5,05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n called.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","id":11262,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"18290:8:29","nodeType":"FunctionDefinition","parameters":{"id":11255,"nodeType":"ParameterList","parameters":[],"src":"18298:2:29"},"returnParameters":{"id":11258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11257,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11262,"src":"18322:5:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11256,"name":"uint8","nodeType":"ElementaryTypeName","src":"18322:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"18321:7:29"},"scope":11696,"src":"18281:81:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":11271,"nodeType":"Block","src":"18417:38:29","statements":[{"expression":{"id":11269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11267,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11194,"src":"18425:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11268,"name":"newDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11264,"src":"18437:11:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"18425:23:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11270,"nodeType":"ExpressionStatement","src":"18425:23:29"}]},"id":11272,"implemented":true,"kind":"function","modifiers":[],"name":"setDecimals","nameLocation":"18377:11:29","nodeType":"FunctionDefinition","parameters":{"id":11265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11264,"mutability":"mutable","name":"newDecimals","nameLocation":"18395:11:29","nodeType":"VariableDeclaration","scope":11272,"src":"18389:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11263,"name":"uint8","nodeType":"ElementaryTypeName","src":"18389:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"18388:19:29"},"returnParameters":{"id":11266,"nodeType":"ParameterList","parameters":[],"src":"18417:0:29"},"scope":11696,"src":"18368:87:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[10697],"body":{"id":11281,"nodeType":"Block","src":"18577:36:29","statements":[{"expression":{"id":11279,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11188,"src":"18594:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11278,"id":11280,"nodeType":"Return","src":"18587:19:29"}]},"documentation":{"id":11273,"nodeType":"StructuredDocumentation","src":"18461:49:29","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","id":11282,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"18524:11:29","nodeType":"FunctionDefinition","overrides":{"id":11275,"nodeType":"OverrideSpecifier","overrides":[],"src":"18550:8:29"},"parameters":{"id":11274,"nodeType":"ParameterList","parameters":[],"src":"18535:2:29"},"returnParameters":{"id":11278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11282,"src":"18568:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11276,"name":"uint256","nodeType":"ElementaryTypeName","src":"18568:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18567:9:29"},"scope":11696,"src":"18515:98:29","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[10705],"body":{"id":11295,"nodeType":"Block","src":"18746:42:29","statements":[{"expression":{"baseExpression":{"id":11291,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"18763:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11293,"indexExpression":{"id":11292,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11285,"src":"18773:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18763:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11290,"id":11294,"nodeType":"Return","src":"18756:25:29"}]},"documentation":{"id":11283,"nodeType":"StructuredDocumentation","src":"18619:47:29","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","id":11296,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"18680:9:29","nodeType":"FunctionDefinition","overrides":{"id":11287,"nodeType":"OverrideSpecifier","overrides":[],"src":"18719:8:29"},"parameters":{"id":11286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11285,"mutability":"mutable","name":"account","nameLocation":"18698:7:29","nodeType":"VariableDeclaration","scope":11296,"src":"18690:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11284,"name":"address","nodeType":"ElementaryTypeName","src":"18690:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18689:17:29"},"returnParameters":{"id":11290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11289,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11296,"src":"18737:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11288,"name":"uint256","nodeType":"ElementaryTypeName","src":"18737:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18736:9:29"},"scope":11696,"src":"18671:117:29","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[10715],"body":{"id":11316,"nodeType":"Block","src":"19083:80:29","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":11308,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"19103:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":11310,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11299,"src":"19117:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11311,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11301,"src":"19128:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11307,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11517,"src":"19093:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19093:42:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11313,"nodeType":"ExpressionStatement","src":"19093:42:29"},{"expression":{"hexValue":"74727565","id":11314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19152:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11306,"id":11315,"nodeType":"Return","src":"19145:11:29"}]},"documentation":{"id":11297,"nodeType":"StructuredDocumentation","src":"18794:192:29","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","id":11317,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"19000:8:29","nodeType":"FunctionDefinition","overrides":{"id":11303,"nodeType":"OverrideSpecifier","overrides":[],"src":"19059:8:29"},"parameters":{"id":11302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11299,"mutability":"mutable","name":"recipient","nameLocation":"19017:9:29","nodeType":"VariableDeclaration","scope":11317,"src":"19009:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11298,"name":"address","nodeType":"ElementaryTypeName","src":"19009:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11301,"mutability":"mutable","name":"amount","nameLocation":"19036:6:29","nodeType":"VariableDeclaration","scope":11317,"src":"19028:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11300,"name":"uint256","nodeType":"ElementaryTypeName","src":"19028:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19008:35:29"},"returnParameters":{"id":11306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11317,"src":"19077:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11304,"name":"bool","nodeType":"ElementaryTypeName","src":"19077:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19076:6:29"},"scope":11696,"src":"18991:172:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[10725],"body":{"id":11334,"nodeType":"Block","src":"19319:51:29","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":11328,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11186,"src":"19336:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":11330,"indexExpression":{"id":11329,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11320,"src":"19348:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19336:18:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11332,"indexExpression":{"id":11331,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11322,"src":"19355:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19336:27:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11327,"id":11333,"nodeType":"Return","src":"19329:34:29"}]},"documentation":{"id":11318,"nodeType":"StructuredDocumentation","src":"19169:47:29","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","id":11335,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"19230:9:29","nodeType":"FunctionDefinition","overrides":{"id":11324,"nodeType":"OverrideSpecifier","overrides":[],"src":"19292:8:29"},"parameters":{"id":11323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11320,"mutability":"mutable","name":"owner","nameLocation":"19248:5:29","nodeType":"VariableDeclaration","scope":11335,"src":"19240:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11319,"name":"address","nodeType":"ElementaryTypeName","src":"19240:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11322,"mutability":"mutable","name":"spender","nameLocation":"19263:7:29","nodeType":"VariableDeclaration","scope":11335,"src":"19255:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11321,"name":"address","nodeType":"ElementaryTypeName","src":"19255:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19239:32:29"},"returnParameters":{"id":11327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11326,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11335,"src":"19310:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11325,"name":"uint256","nodeType":"ElementaryTypeName","src":"19310:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19309:9:29"},"scope":11696,"src":"19221:149:29","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[10735],"body":{"id":11355,"nodeType":"Block","src":"19597:77:29","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":11347,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"19616:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":11349,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"19630:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11350,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11340,"src":"19639:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11346,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11673,"src":"19607:8:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19607:39:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11352,"nodeType":"ExpressionStatement","src":"19607:39:29"},{"expression":{"hexValue":"74727565","id":11353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19663:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11345,"id":11354,"nodeType":"Return","src":"19656:11:29"}]},"documentation":{"id":11336,"nodeType":"StructuredDocumentation","src":"19376:127:29","text":" @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","id":11356,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"19517:7:29","nodeType":"FunctionDefinition","overrides":{"id":11342,"nodeType":"OverrideSpecifier","overrides":[],"src":"19573:8:29"},"parameters":{"id":11341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11338,"mutability":"mutable","name":"spender","nameLocation":"19533:7:29","nodeType":"VariableDeclaration","scope":11356,"src":"19525:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11337,"name":"address","nodeType":"ElementaryTypeName","src":"19525:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11340,"mutability":"mutable","name":"amount","nameLocation":"19550:6:29","nodeType":"VariableDeclaration","scope":11356,"src":"19542:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11339,"name":"uint256","nodeType":"ElementaryTypeName","src":"19542:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19524:33:29"},"returnParameters":{"id":11345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11344,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11356,"src":"19591:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11343,"name":"bool","nodeType":"ElementaryTypeName","src":"19591:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19590:6:29"},"scope":11696,"src":"19508:166:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[10747],"body":{"id":11393,"nodeType":"Block","src":"20246:218:29","statements":[{"expression":{"arguments":[{"id":11370,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11359,"src":"20266:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11371,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11361,"src":"20274:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11372,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11363,"src":"20285:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11369,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11517,"src":"20256:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20256:36:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11374,"nodeType":"ExpressionStatement","src":"20256:36:29"},{"expression":{"arguments":[{"id":11376,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11359,"src":"20311:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":11377,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"20319:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20319:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":11386,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11363,"src":"20371:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365","id":11387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20392:42:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330","typeString":"literal_string \"ERC20: transfer amount exceeds allowance\""},"value":"ERC20: transfer amount exceeds allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330","typeString":"literal_string \"ERC20: transfer amount exceeds allowance\""}],"expression":{"baseExpression":{"baseExpression":{"id":11379,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11186,"src":"20333:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":11381,"indexExpression":{"id":11380,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11359,"src":"20345:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20333:19:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11384,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11382,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"20353:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20353:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20333:33:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20367:3:29","memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":10839,"src":"20333:37:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":11388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20333:102:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11375,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11673,"src":"20302:8:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20302:134:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11390,"nodeType":"ExpressionStatement","src":"20302:134:29"},{"expression":{"hexValue":"74727565","id":11391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20453:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11368,"id":11392,"nodeType":"Return","src":"20446:11:29"}]},"documentation":{"id":11357,"nodeType":"StructuredDocumentation","src":"19680:449:29","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20};\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","id":11394,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"20143:12:29","nodeType":"FunctionDefinition","overrides":{"id":11365,"nodeType":"OverrideSpecifier","overrides":[],"src":"20222:8:29"},"parameters":{"id":11364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11359,"mutability":"mutable","name":"sender","nameLocation":"20164:6:29","nodeType":"VariableDeclaration","scope":11394,"src":"20156:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11358,"name":"address","nodeType":"ElementaryTypeName","src":"20156:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11361,"mutability":"mutable","name":"recipient","nameLocation":"20180:9:29","nodeType":"VariableDeclaration","scope":11394,"src":"20172:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11360,"name":"address","nodeType":"ElementaryTypeName","src":"20172:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11363,"mutability":"mutable","name":"amount","nameLocation":"20199:6:29","nodeType":"VariableDeclaration","scope":11394,"src":"20191:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11362,"name":"uint256","nodeType":"ElementaryTypeName","src":"20191:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20155:51:29"},"returnParameters":{"id":11368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11394,"src":"20240:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11366,"name":"bool","nodeType":"ElementaryTypeName","src":"20240:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20239:6:29"},"scope":11696,"src":"20134:330:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11421,"nodeType":"Block","src":"20953:121:29","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":11405,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"20972:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20972:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":11407,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11397,"src":"20986:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":11415,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11399,"src":"21034:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"baseExpression":{"id":11408,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11186,"src":"20995:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":11411,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11409,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"21007:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21007:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20995:25:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11413,"indexExpression":{"id":11412,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11397,"src":"21021:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20995:34:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21030:3:29","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":10794,"src":"20995:38:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":11416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20995:50:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11404,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11673,"src":"20963:8:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:83:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11418,"nodeType":"ExpressionStatement","src":"20963:83:29"},{"expression":{"hexValue":"74727565","id":11419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21063:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11403,"id":11420,"nodeType":"Return","src":"21056:11:29"}]},"documentation":{"id":11395,"nodeType":"StructuredDocumentation","src":"20470:384:29","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","id":11422,"implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"20868:17:29","nodeType":"FunctionDefinition","parameters":{"id":11400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11397,"mutability":"mutable","name":"spender","nameLocation":"20894:7:29","nodeType":"VariableDeclaration","scope":11422,"src":"20886:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11396,"name":"address","nodeType":"ElementaryTypeName","src":"20886:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11399,"mutability":"mutable","name":"addedValue","nameLocation":"20911:10:29","nodeType":"VariableDeclaration","scope":11422,"src":"20903:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11398,"name":"uint256","nodeType":"ElementaryTypeName","src":"20903:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20885:37:29"},"returnParameters":{"id":11403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"20947:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11401,"name":"bool","nodeType":"ElementaryTypeName","src":"20947:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20946:6:29"},"scope":11696,"src":"20859:215:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11450,"nodeType":"Block","src":"21660:180:29","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":11433,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"21679:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21679:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":11435,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"21693:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":11443,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11427,"src":"21741:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":11444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21771:39:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"expression":{"baseExpression":{"baseExpression":{"id":11436,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11186,"src":"21702:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":11439,"indexExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":11437,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"21714:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":11438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21714:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21702:25:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11441,"indexExpression":{"id":11440,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11425,"src":"21728:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21702:34:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21737:3:29","memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":10839,"src":"21702:38:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":11445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21702:109:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11432,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11673,"src":"21670:8:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21670:142:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11447,"nodeType":"ExpressionStatement","src":"21670:142:29"},{"expression":{"hexValue":"74727565","id":11448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21829:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11431,"id":11449,"nodeType":"Return","src":"21822:11:29"}]},"documentation":{"id":11423,"nodeType":"StructuredDocumentation","src":"21080:476:29","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","id":11451,"implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"21570:17:29","nodeType":"FunctionDefinition","parameters":{"id":11428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11425,"mutability":"mutable","name":"spender","nameLocation":"21596:7:29","nodeType":"VariableDeclaration","scope":11451,"src":"21588:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11424,"name":"address","nodeType":"ElementaryTypeName","src":"21588:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11427,"mutability":"mutable","name":"subtractedValue","nameLocation":"21613:15:29","nodeType":"VariableDeclaration","scope":11451,"src":"21605:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11426,"name":"uint256","nodeType":"ElementaryTypeName","src":"21605:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21587:42:29"},"returnParameters":{"id":11431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11430,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11451,"src":"21654:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11429,"name":"bool","nodeType":"ElementaryTypeName","src":"21654:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21653:6:29"},"scope":11696,"src":"21561:279:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11516,"nodeType":"Block","src":"22401:443:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11462,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"22419:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22437:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22429:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11463,"name":"address","nodeType":"ElementaryTypeName","src":"22429:7:29","typeDescriptions":{}}},"id":11466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22429:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22419:20:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":11468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22441:39:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":11461,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22411:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22411:70:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11470,"nodeType":"ExpressionStatement","src":"22411:70:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11472,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11456,"src":"22499:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22520:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22512:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11473,"name":"address","nodeType":"ElementaryTypeName","src":"22512:7:29","typeDescriptions":{}}},"id":11476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22512:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22499:23:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":11478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22524:37:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":11471,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22491:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22491:71:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11480,"nodeType":"ExpressionStatement","src":"22491:71:29"},{"expression":{"arguments":[{"id":11482,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"22594:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11483,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11456,"src":"22602:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11484,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11458,"src":"22613:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11481,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11695,"src":"22573:20:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22573:47:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11486,"nodeType":"ExpressionStatement","src":"22573:47:29"},{"expression":{"id":11497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11487,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"22631:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11489,"indexExpression":{"id":11488,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"22641:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22631:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11494,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11458,"src":"22673:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":11495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22681:40:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"expression":{"baseExpression":{"id":11490,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"22651:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11492,"indexExpression":{"id":11491,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"22661:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22651:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22669:3:29","memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":10839,"src":"22651:21:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":11496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22651:71:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22631:91:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11498,"nodeType":"ExpressionStatement","src":"22631:91:29"},{"expression":{"id":11508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11499,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"22732:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11501,"indexExpression":{"id":11500,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11456,"src":"22742:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22732:20:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11506,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11458,"src":"22780:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":11502,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"22755:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11504,"indexExpression":{"id":11503,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11456,"src":"22765:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22755:20:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22776:3:29","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":10794,"src":"22755:24:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":11507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22755:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22732:55:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11509,"nodeType":"ExpressionStatement","src":"22732:55:29"},{"eventCall":{"arguments":[{"id":11511,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"22811:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11512,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11456,"src":"22819:9:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11513,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11458,"src":"22830:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11510,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10756,"src":"22802:8:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22802:35:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11515,"nodeType":"EmitStatement","src":"22797:40:29"}]},"documentation":{"id":11452,"nodeType":"StructuredDocumentation","src":"21846:463:29","text":" @dev Moves tokens `amount` from `sender` to `recipient`.\n This is internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`."},"id":11517,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"22323:9:29","nodeType":"FunctionDefinition","parameters":{"id":11459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11454,"mutability":"mutable","name":"sender","nameLocation":"22341:6:29","nodeType":"VariableDeclaration","scope":11517,"src":"22333:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11453,"name":"address","nodeType":"ElementaryTypeName","src":"22333:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11456,"mutability":"mutable","name":"recipient","nameLocation":"22357:9:29","nodeType":"VariableDeclaration","scope":11517,"src":"22349:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11455,"name":"address","nodeType":"ElementaryTypeName","src":"22349:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11458,"mutability":"mutable","name":"amount","nameLocation":"22376:6:29","nodeType":"VariableDeclaration","scope":11517,"src":"22368:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11457,"name":"uint256","nodeType":"ElementaryTypeName","src":"22368:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22332:51:29"},"returnParameters":{"id":11460,"nodeType":"ParameterList","parameters":[],"src":"22401:0:29"},"scope":11696,"src":"22314:530:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11571,"nodeType":"Block","src":"23178:306:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11526,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11520,"src":"23197:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23216:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23208:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11527,"name":"address","nodeType":"ElementaryTypeName","src":"23208:7:29","typeDescriptions":{}}},"id":11530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23208:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23197:21:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":11532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23220:33:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":11525,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23189:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23189:65:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11534,"nodeType":"ExpressionStatement","src":"23189:65:29"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":11538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23294:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23286:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11536,"name":"address","nodeType":"ElementaryTypeName","src":"23286:7:29","typeDescriptions":{}}},"id":11539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23286:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11540,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11520,"src":"23298:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11541,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11522,"src":"23307:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11535,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11695,"src":"23265:20:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23265:49:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11543,"nodeType":"ExpressionStatement","src":"23265:49:29"},{"expression":{"id":11549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11544,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11188,"src":"23325:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11547,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11522,"src":"23357:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11545,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11188,"src":"23340:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23353:3:29","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":10794,"src":"23340:16:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":11548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23340:24:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23325:39:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11550,"nodeType":"ExpressionStatement","src":"23325:39:29"},{"expression":{"id":11560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11551,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"23374:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11553,"indexExpression":{"id":11552,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11520,"src":"23384:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23374:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11558,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11522,"src":"23418:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":11554,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"23395:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11556,"indexExpression":{"id":11555,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11520,"src":"23405:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23395:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23414:3:29","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":10794,"src":"23395:22:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":11559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23395:30:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23374:51:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11561,"nodeType":"ExpressionStatement","src":"23374:51:29"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":11565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23457:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23449:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11563,"name":"address","nodeType":"ElementaryTypeName","src":"23449:7:29","typeDescriptions":{}}},"id":11566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23449:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11567,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11520,"src":"23461:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11568,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11522,"src":"23470:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11562,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10756,"src":"23440:8:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23440:37:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11570,"nodeType":"EmitStatement","src":"23435:42:29"}]},"documentation":{"id":11518,"nodeType":"StructuredDocumentation","src":"22850:260:29","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements\n - `to` cannot be the zero address. "},"functionSelector":"4e6ec247","id":11572,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"23124:5:29","nodeType":"FunctionDefinition","parameters":{"id":11523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11520,"mutability":"mutable","name":"account","nameLocation":"23138:7:29","nodeType":"VariableDeclaration","scope":11572,"src":"23130:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11519,"name":"address","nodeType":"ElementaryTypeName","src":"23130:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11522,"mutability":"mutable","name":"amount","nameLocation":"23155:6:29","nodeType":"VariableDeclaration","scope":11572,"src":"23147:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11521,"name":"uint256","nodeType":"ElementaryTypeName","src":"23147:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23129:33:29"},"returnParameters":{"id":11524,"nodeType":"ParameterList","parameters":[],"src":"23178:0:29"},"scope":11696,"src":"23115:369:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":11627,"nodeType":"Block","src":"23868:345:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11581,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11575,"src":"23886:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23905:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23897:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11582,"name":"address","nodeType":"ElementaryTypeName","src":"23897:7:29","typeDescriptions":{}}},"id":11585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23897:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23886:21:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":11587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23909:35:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":11580,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23878:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23878:67:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11589,"nodeType":"ExpressionStatement","src":"23878:67:29"},{"expression":{"arguments":[{"id":11591,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11575,"src":"23977:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23994:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23986:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11592,"name":"address","nodeType":"ElementaryTypeName","src":"23986:7:29","typeDescriptions":{}}},"id":11595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23986:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11596,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11577,"src":"23998:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11590,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11695,"src":"23956:20:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23956:49:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11598,"nodeType":"ExpressionStatement","src":"23956:49:29"},{"expression":{"id":11609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":11599,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"24016:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11601,"indexExpression":{"id":11600,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11575,"src":"24026:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24016:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11606,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11577,"src":"24060:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":11607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24068:36:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"expression":{"baseExpression":{"id":11602,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11180,"src":"24037:9:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11604,"indexExpression":{"id":11603,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11575,"src":"24047:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24037:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24056:3:29","memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":10839,"src":"24037:22:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256,string memory) pure returns (uint256)"}},"id":11608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24037:68:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24016:89:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11610,"nodeType":"ExpressionStatement","src":"24016:89:29"},{"expression":{"id":11616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11611,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11188,"src":"24115:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":11614,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11577,"src":"24147:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11612,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11188,"src":"24130:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24143:3:29","memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":10811,"src":"24130:16:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":11615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24130:24:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24115:39:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11617,"nodeType":"ExpressionStatement","src":"24115:39:29"},{"eventCall":{"arguments":[{"id":11619,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11575,"src":"24178:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":11622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24195:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24187:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11620,"name":"address","nodeType":"ElementaryTypeName","src":"24187:7:29","typeDescriptions":{}}},"id":11623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24187:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11624,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11577,"src":"24199:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11618,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10756,"src":"24169:8:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24169:37:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11626,"nodeType":"EmitStatement","src":"24164:42:29"}]},"documentation":{"id":11573,"nodeType":"StructuredDocumentation","src":"23490:308:29","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"id":11628,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"23812:5:29","nodeType":"FunctionDefinition","parameters":{"id":11578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11575,"mutability":"mutable","name":"account","nameLocation":"23826:7:29","nodeType":"VariableDeclaration","scope":11628,"src":"23818:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11574,"name":"address","nodeType":"ElementaryTypeName","src":"23818:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11577,"mutability":"mutable","name":"amount","nameLocation":"23843:6:29","nodeType":"VariableDeclaration","scope":11628,"src":"23835:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11576,"name":"uint256","nodeType":"ElementaryTypeName","src":"23835:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23817:33:29"},"returnParameters":{"id":11579,"nodeType":"ParameterList","parameters":[],"src":"23868:0:29"},"scope":11696,"src":"23803:410:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11672,"nodeType":"Block","src":"24721:257:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11639,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11631,"src":"24739:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24756:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24748:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11640,"name":"address","nodeType":"ElementaryTypeName","src":"24748:7:29","typeDescriptions":{}}},"id":11643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24748:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24739:19:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":11645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24760:38:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":11638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24731:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24731:68:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11647,"nodeType":"ExpressionStatement","src":"24731:68:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11649,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11633,"src":"24817:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":11652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24836:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":11651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24828:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11650,"name":"address","nodeType":"ElementaryTypeName","src":"24828:7:29","typeDescriptions":{}}},"id":11653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24828:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24817:21:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":11655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24840:36:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":11648,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24809:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24809:68:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11657,"nodeType":"ExpressionStatement","src":"24809:68:29"},{"expression":{"id":11664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":11658,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11186,"src":"24888:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":11661,"indexExpression":{"id":11659,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11631,"src":"24900:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24888:18:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":11662,"indexExpression":{"id":11660,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11633,"src":"24907:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24888:27:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11663,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"24918:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24888:36:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11665,"nodeType":"ExpressionStatement","src":"24888:36:29"},{"eventCall":{"arguments":[{"id":11667,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11631,"src":"24948:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11668,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11633,"src":"24955:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11669,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11635,"src":"24964:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11666,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10765,"src":"24939:8:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":11670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24939:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11671,"nodeType":"EmitStatement","src":"24934:37:29"}]},"documentation":{"id":11629,"nodeType":"StructuredDocumentation","src":"24219:414:29","text":" @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n This is internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"id":11673,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"24647:8:29","nodeType":"FunctionDefinition","parameters":{"id":11636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11631,"mutability":"mutable","name":"owner","nameLocation":"24664:5:29","nodeType":"VariableDeclaration","scope":11673,"src":"24656:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11630,"name":"address","nodeType":"ElementaryTypeName","src":"24656:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11633,"mutability":"mutable","name":"spender","nameLocation":"24679:7:29","nodeType":"VariableDeclaration","scope":11673,"src":"24671:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11632,"name":"address","nodeType":"ElementaryTypeName","src":"24671:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11635,"mutability":"mutable","name":"amount","nameLocation":"24696:6:29","nodeType":"VariableDeclaration","scope":11673,"src":"24688:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11634,"name":"uint256","nodeType":"ElementaryTypeName","src":"24688:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24655:48:29"},"returnParameters":{"id":11637,"nodeType":"ParameterList","parameters":[],"src":"24721:0:29"},"scope":11696,"src":"24638:340:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":11683,"nodeType":"Block","src":"25351:38:29","statements":[{"expression":{"id":11681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":11679,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11194,"src":"25361:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11680,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11676,"src":"25373:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"25361:21:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":11682,"nodeType":"ExpressionStatement","src":"25361:21:29"}]},"documentation":{"id":11674,"nodeType":"StructuredDocumentation","src":"24984:312:29","text":" @dev Sets {decimals} to a value other than the default one of 18.\n WARNING: This function should only be called from the constructor. Most\n applications that interact with token contracts will not expect\n {decimals} to ever change, and may work incorrectly if it does."},"id":11684,"implemented":true,"kind":"function","modifiers":[],"name":"_setupDecimals","nameLocation":"25310:14:29","nodeType":"FunctionDefinition","parameters":{"id":11677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11676,"mutability":"mutable","name":"decimals_","nameLocation":"25331:9:29","nodeType":"VariableDeclaration","scope":11684,"src":"25325:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11675,"name":"uint8","nodeType":"ElementaryTypeName","src":"25325:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"25324:17:29"},"returnParameters":{"id":11678,"nodeType":"ParameterList","parameters":[],"src":"25351:0:29"},"scope":11696,"src":"25301:88:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11694,"nodeType":"Block","src":"26065:3:29","statements":[]},"documentation":{"id":11685,"nodeType":"StructuredDocumentation","src":"25395:576:29","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be to transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":11695,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"25985:20:29","nodeType":"FunctionDefinition","parameters":{"id":11692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11687,"mutability":"mutable","name":"from","nameLocation":"26014:4:29","nodeType":"VariableDeclaration","scope":11695,"src":"26006:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11686,"name":"address","nodeType":"ElementaryTypeName","src":"26006:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11689,"mutability":"mutable","name":"to","nameLocation":"26028:2:29","nodeType":"VariableDeclaration","scope":11695,"src":"26020:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11688,"name":"address","nodeType":"ElementaryTypeName","src":"26020:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11691,"mutability":"mutable","name":"amount","nameLocation":"26040:6:29","nodeType":"VariableDeclaration","scope":11695,"src":"26032:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11690,"name":"uint256","nodeType":"ElementaryTypeName","src":"26032:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26005:42:29"},"returnParameters":{"id":11693,"nodeType":"ParameterList","parameters":[],"src":"26065:0:29"},"scope":11696,"src":"25976:92:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":13131,"src":"16326:9744:29","usedErrors":[],"usedEvents":[10756,10765]},{"id":11697,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"26132:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"EnumerableSet","contractDependencies":[],"contractKind":"library","documentation":{"id":11698,"nodeType":"StructuredDocumentation","src":"26158:665:29","text":" @dev Library for managing\n https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n types.\n Sets have the following properties:\n - Elements are added, removed, and checked for existence in constant time\n (O(1)).\n - Elements are enumerated in O(n). No guarantees are made on the ordering.\n ```\n contract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n }\n ```\n As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256`\n (`UintSet`) are supported."},"fullyImplemented":true,"id":12119,"linearizedBaseContracts":[12119],"name":"EnumerableSet","nameLocation":"26832:13:29","nodeType":"ContractDefinition","nodes":[{"canonicalName":"EnumerableSet.Set","id":11706,"members":[{"constant":false,"id":11701,"mutability":"mutable","name":"_values","nameLocation":"27356:7:29","nodeType":"VariableDeclaration","scope":11706,"src":"27346:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27346:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11700,"nodeType":"ArrayTypeName","src":"27346:9:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11705,"mutability":"mutable","name":"_indexes","nameLocation":"27526:8:29","nodeType":"VariableDeclaration","scope":11706,"src":"27497:37:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":11704,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":11702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27506:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"27497:28:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":11703,"name":"uint256","nodeType":"ElementaryTypeName","src":"27517:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"}],"name":"Set","nameLocation":"27299:3:29","nodeType":"StructDefinition","scope":12119,"src":"27292:249:29","visibility":"public"},{"body":{"id":11747,"nodeType":"Block","src":"27780:335:29","statements":[{"condition":{"id":11721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"27794:22:29","subExpression":{"arguments":[{"id":11718,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11710,"src":"27805:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},{"id":11719,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11712,"src":"27810:5:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11717,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11848,"src":"27795:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":11720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27795:21:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":11745,"nodeType":"Block","src":"28072:37:29","statements":[{"expression":{"hexValue":"66616c7365","id":11743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28093:5:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":11716,"id":11744,"nodeType":"Return","src":"28086:12:29"}]},"id":11746,"nodeType":"IfStatement","src":"27790:319:29","trueBody":{"id":11742,"nodeType":"Block","src":"27818:248:29","statements":[{"expression":{"arguments":[{"id":11727,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11712,"src":"27849:5:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":11722,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11710,"src":"27832:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27836:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"27832:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27844:4:29","memberName":"push","nodeType":"MemberAccess","src":"27832:16:29","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":11728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27832:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11729,"nodeType":"ExpressionStatement","src":"27832:23:29"},{"expression":{"id":11738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":11730,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11710,"src":"27990:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27994:8:29","memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":11705,"src":"27990:12:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":11734,"indexExpression":{"id":11732,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11712,"src":"28003:5:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27990:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":11735,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11710,"src":"28012:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11736,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28016:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"28012:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28024:6:29","memberName":"length","nodeType":"MemberAccess","src":"28012:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27990:40:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11739,"nodeType":"ExpressionStatement","src":"27990:40:29"},{"expression":{"hexValue":"74727565","id":11740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28051:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11716,"id":11741,"nodeType":"Return","src":"28044:11:29"}]}}]},"documentation":{"id":11707,"nodeType":"StructuredDocumentation","src":"27547:159:29","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":11748,"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"27720:4:29","nodeType":"FunctionDefinition","parameters":{"id":11713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11710,"mutability":"mutable","name":"set","nameLocation":"27737:3:29","nodeType":"VariableDeclaration","scope":11748,"src":"27725:15:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11709,"nodeType":"UserDefinedTypeName","pathNode":{"id":11708,"name":"Set","nameLocations":["27725:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"27725:3:29"},"referencedDeclaration":11706,"src":"27725:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":11712,"mutability":"mutable","name":"value","nameLocation":"27750:5:29","nodeType":"VariableDeclaration","scope":11748,"src":"27742:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27742:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27724:32:29"},"returnParameters":{"id":11716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11715,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11748,"src":"27774:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11714,"name":"bool","nodeType":"ElementaryTypeName","src":"27774:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27773:6:29"},"scope":12119,"src":"27711:404:29","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":11828,"nodeType":"Block","src":"28355:1440:29","statements":[{"assignments":[11760],"declarations":[{"constant":false,"id":11760,"mutability":"mutable","name":"valueIndex","nameLocation":"28473:10:29","nodeType":"VariableDeclaration","scope":11828,"src":"28465:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11759,"name":"uint256","nodeType":"ElementaryTypeName","src":"28465:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11765,"initialValue":{"baseExpression":{"expression":{"id":11761,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"28486:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28490:8:29","memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":11705,"src":"28486:12:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":11764,"indexExpression":{"id":11763,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11754,"src":"28499:5:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28486:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28465:40:29"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11766,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11760,"src":"28520:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":11767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28534:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28520:15:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":11826,"nodeType":"Block","src":"29752:37:29","statements":[{"expression":{"hexValue":"66616c7365","id":11824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29773:5:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":11758,"id":11825,"nodeType":"Return","src":"29766:12:29"}]},"id":11827,"nodeType":"IfStatement","src":"28516:1273:29","trueBody":{"id":11823,"nodeType":"Block","src":"28537:1209:29","statements":[{"assignments":[11770],"declarations":[{"constant":false,"id":11770,"mutability":"mutable","name":"toDeleteIndex","nameLocation":"28885:13:29","nodeType":"VariableDeclaration","scope":11823,"src":"28877:21:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11769,"name":"uint256","nodeType":"ElementaryTypeName","src":"28877:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11774,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11771,"name":"valueIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11760,"src":"28901:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":11772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28914:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28901:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28877:38:29"},{"assignments":[11776],"declarations":[{"constant":false,"id":11776,"mutability":"mutable","name":"lastIndex","nameLocation":"28937:9:29","nodeType":"VariableDeclaration","scope":11823,"src":"28929:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11775,"name":"uint256","nodeType":"ElementaryTypeName","src":"28929:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":11782,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":11777,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"28949:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11778,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28953:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"28949:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28961:6:29","memberName":"length","nodeType":"MemberAccess","src":"28949:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":11780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28970:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28949:22:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28929:42:29"},{"assignments":[11784],"declarations":[{"constant":false,"id":11784,"mutability":"mutable","name":"lastvalue","nameLocation":"29219:9:29","nodeType":"VariableDeclaration","scope":11823,"src":"29211:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29211:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":11789,"initialValue":{"baseExpression":{"expression":{"id":11785,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"29231:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11786,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29235:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"29231:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11788,"indexExpression":{"id":11787,"name":"lastIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11776,"src":"29243:9:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29231:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"29211:42:29"},{"expression":{"id":11796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":11790,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"29345:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11793,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29349:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"29345:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11794,"indexExpression":{"id":11792,"name":"toDeleteIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11770,"src":"29357:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29345:26:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":11795,"name":"lastvalue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11784,"src":"29374:9:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"29345:38:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11797,"nodeType":"ExpressionStatement","src":"29345:38:29"},{"expression":{"id":11806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":11798,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"29449:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29453:8:29","memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":11705,"src":"29449:12:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":11802,"indexExpression":{"id":11800,"name":"lastvalue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11784,"src":"29462:9:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29449:23:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":11803,"name":"toDeleteIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11770,"src":"29475:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":11804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29491:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"29475:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29449:43:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11807,"nodeType":"ExpressionStatement","src":"29449:43:29"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":11808,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"29598:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29602:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"29598:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29610:3:29","memberName":"pop","nodeType":"MemberAccess","src":"29598:15:29","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer)"}},"id":11813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29598:17:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11814,"nodeType":"ExpressionStatement","src":"29598:17:29"},{"expression":{"id":11819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"29683:26:29","subExpression":{"baseExpression":{"expression":{"id":11815,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"29690:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29694:8:29","memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":11705,"src":"29690:12:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":11818,"indexExpression":{"id":11817,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11754,"src":"29703:5:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29690:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11820,"nodeType":"ExpressionStatement","src":"29683:26:29"},{"expression":{"hexValue":"74727565","id":11821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29731:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":11758,"id":11822,"nodeType":"Return","src":"29724:11:29"}]}}]},"documentation":{"id":11749,"nodeType":"StructuredDocumentation","src":"28121:157:29","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":11829,"implemented":true,"kind":"function","modifiers":[],"name":"_remove","nameLocation":"28292:7:29","nodeType":"FunctionDefinition","parameters":{"id":11755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11752,"mutability":"mutable","name":"set","nameLocation":"28312:3:29","nodeType":"VariableDeclaration","scope":11829,"src":"28300:15:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11751,"nodeType":"UserDefinedTypeName","pathNode":{"id":11750,"name":"Set","nameLocations":["28300:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"28300:3:29"},"referencedDeclaration":11706,"src":"28300:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":11754,"mutability":"mutable","name":"value","nameLocation":"28325:5:29","nodeType":"VariableDeclaration","scope":11829,"src":"28317:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28317:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"28299:32:29"},"returnParameters":{"id":11758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11757,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11829,"src":"28349:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11756,"name":"bool","nodeType":"ElementaryTypeName","src":"28349:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28348:6:29"},"scope":12119,"src":"28283:1512:29","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":11847,"nodeType":"Block","src":"29955:48:29","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"expression":{"id":11840,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11833,"src":"29972:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11841,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29976:8:29","memberName":"_indexes","nodeType":"MemberAccess","referencedDeclaration":11705,"src":"29972:12:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":11843,"indexExpression":{"id":11842,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11835,"src":"29985:5:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29972:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":11844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29995:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29972:24:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11839,"id":11846,"nodeType":"Return","src":"29965:31:29"}]},"documentation":{"id":11830,"nodeType":"StructuredDocumentation","src":"29801:70:29","text":" @dev Returns true if the value is in the set. O(1)."},"id":11848,"implemented":true,"kind":"function","modifiers":[],"name":"_contains","nameLocation":"29885:9:29","nodeType":"FunctionDefinition","parameters":{"id":11836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11833,"mutability":"mutable","name":"set","nameLocation":"29907:3:29","nodeType":"VariableDeclaration","scope":11848,"src":"29895:15:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11832,"nodeType":"UserDefinedTypeName","pathNode":{"id":11831,"name":"Set","nameLocations":["29895:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"29895:3:29"},"referencedDeclaration":11706,"src":"29895:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":11835,"mutability":"mutable","name":"value","nameLocation":"29920:5:29","nodeType":"VariableDeclaration","scope":11848,"src":"29912:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"29912:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"29894:32:29"},"returnParameters":{"id":11839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11838,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11848,"src":"29949:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11837,"name":"bool","nodeType":"ElementaryTypeName","src":"29949:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29948:6:29"},"scope":12119,"src":"29876:127:29","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":11861,"nodeType":"Block","src":"30149:42:29","statements":[{"expression":{"expression":{"expression":{"id":11857,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11852,"src":"30166:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30170:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"30166:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30178:6:29","memberName":"length","nodeType":"MemberAccess","src":"30166:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11856,"id":11860,"nodeType":"Return","src":"30159:25:29"}]},"documentation":{"id":11849,"nodeType":"StructuredDocumentation","src":"30009:70:29","text":" @dev Returns the number of values on the set. O(1)."},"id":11862,"implemented":true,"kind":"function","modifiers":[],"name":"_length","nameLocation":"30093:7:29","nodeType":"FunctionDefinition","parameters":{"id":11853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11852,"mutability":"mutable","name":"set","nameLocation":"30113:3:29","nodeType":"VariableDeclaration","scope":11862,"src":"30101:15:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11851,"nodeType":"UserDefinedTypeName","pathNode":{"id":11850,"name":"Set","nameLocations":["30101:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"30101:3:29"},"referencedDeclaration":11706,"src":"30101:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"src":"30100:17:29"},"returnParameters":{"id":11856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11862,"src":"30140:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11854,"name":"uint256","nodeType":"ElementaryTypeName","src":"30140:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30139:9:29"},"scope":12119,"src":"30084:107:29","stateMutability":"view","virtual":false,"visibility":"private"},{"body":{"id":11887,"nodeType":"Block","src":"30599:125:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":11878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":11874,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11866,"src":"30617:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30621:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"30617:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30629:6:29","memberName":"length","nodeType":"MemberAccess","src":"30617:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":11877,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11868,"src":"30638:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30617:26:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473","id":11879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30645:36:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb","typeString":"literal_string \"EnumerableSet: index out of bounds\""},"value":"EnumerableSet: index out of bounds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb","typeString":"literal_string \"EnumerableSet: index out of bounds\""}],"id":11873,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30609:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":11880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30609:73:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11881,"nodeType":"ExpressionStatement","src":"30609:73:29"},{"expression":{"baseExpression":{"expression":{"id":11882,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11866,"src":"30699:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set storage pointer"}},"id":11883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30703:7:29","memberName":"_values","nodeType":"MemberAccess","referencedDeclaration":11701,"src":"30699:11:29","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":11885,"indexExpression":{"id":11884,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11868,"src":"30711:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30699:18:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11872,"id":11886,"nodeType":"Return","src":"30692:25:29"}]},"documentation":{"id":11863,"nodeType":"StructuredDocumentation","src":"30196:322:29","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":11888,"implemented":true,"kind":"function","modifiers":[],"name":"_at","nameLocation":"30532:3:29","nodeType":"FunctionDefinition","parameters":{"id":11869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11866,"mutability":"mutable","name":"set","nameLocation":"30548:3:29","nodeType":"VariableDeclaration","scope":11888,"src":"30536:15:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11865,"nodeType":"UserDefinedTypeName","pathNode":{"id":11864,"name":"Set","nameLocations":["30536:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"30536:3:29"},"referencedDeclaration":11706,"src":"30536:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"},{"constant":false,"id":11868,"mutability":"mutable","name":"index","nameLocation":"30561:5:29","nodeType":"VariableDeclaration","scope":11888,"src":"30553:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11867,"name":"uint256","nodeType":"ElementaryTypeName","src":"30553:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30535:32:29"},"returnParameters":{"id":11872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11888,"src":"30590:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30590:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"30589:9:29"},"scope":12119,"src":"30523:201:29","stateMutability":"view","virtual":false,"visibility":"private"},{"canonicalName":"EnumerableSet.AddressSet","id":11892,"members":[{"constant":false,"id":11891,"mutability":"mutable","name":"_inner","nameLocation":"30781:6:29","nodeType":"VariableDeclaration","scope":11892,"src":"30777:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":11890,"nodeType":"UserDefinedTypeName","pathNode":{"id":11889,"name":"Set","nameLocations":["30777:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"30777:3:29"},"referencedDeclaration":11706,"src":"30777:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"AddressSet","nameLocation":"30756:10:29","nodeType":"StructDefinition","scope":12119,"src":"30749:45:29","visibility":"public"},{"body":{"id":11918,"nodeType":"Block","src":"31040:74:29","statements":[{"expression":{"arguments":[{"expression":{"id":11904,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11896,"src":"31062:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11905,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31066:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11891,"src":"31062:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":11912,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11898,"src":"31098:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31090:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11910,"name":"uint160","nodeType":"ElementaryTypeName","src":"31090:7:29","typeDescriptions":{}}},"id":11913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31090:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31082:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11908,"name":"uint256","nodeType":"ElementaryTypeName","src":"31082:7:29","typeDescriptions":{}}},"id":11914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31082:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31074:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31074:7:29","typeDescriptions":{}}},"id":11915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31074:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11903,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11748,"src":"31057:4:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31057:50:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11902,"id":11917,"nodeType":"Return","src":"31050:57:29"}]},"documentation":{"id":11893,"nodeType":"StructuredDocumentation","src":"30800:159:29","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":11919,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"30973:3:29","nodeType":"FunctionDefinition","parameters":{"id":11899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11896,"mutability":"mutable","name":"set","nameLocation":"30996:3:29","nodeType":"VariableDeclaration","scope":11919,"src":"30977:22:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11895,"nodeType":"UserDefinedTypeName","pathNode":{"id":11894,"name":"AddressSet","nameLocations":["30977:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"30977:10:29"},"referencedDeclaration":11892,"src":"30977:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11898,"mutability":"mutable","name":"value","nameLocation":"31009:5:29","nodeType":"VariableDeclaration","scope":11919,"src":"31001:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11897,"name":"address","nodeType":"ElementaryTypeName","src":"31001:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30976:39:29"},"returnParameters":{"id":11902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11919,"src":"31034:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11900,"name":"bool","nodeType":"ElementaryTypeName","src":"31034:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31033:6:29"},"scope":12119,"src":"30964:150:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11945,"nodeType":"Block","src":"31361:77:29","statements":[{"expression":{"arguments":[{"expression":{"id":11931,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11923,"src":"31386:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31390:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11891,"src":"31386:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":11939,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11925,"src":"31422:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31414:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11937,"name":"uint160","nodeType":"ElementaryTypeName","src":"31414:7:29","typeDescriptions":{}}},"id":11940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31414:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31406:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11935,"name":"uint256","nodeType":"ElementaryTypeName","src":"31406:7:29","typeDescriptions":{}}},"id":11941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31406:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31398:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11933,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31398:7:29","typeDescriptions":{}}},"id":11942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31398:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11930,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11829,"src":"31378:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":11943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31378:53:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11929,"id":11944,"nodeType":"Return","src":"31371:60:29"}]},"documentation":{"id":11920,"nodeType":"StructuredDocumentation","src":"31120:157:29","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":11946,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"31291:6:29","nodeType":"FunctionDefinition","parameters":{"id":11926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11923,"mutability":"mutable","name":"set","nameLocation":"31317:3:29","nodeType":"VariableDeclaration","scope":11946,"src":"31298:22:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11922,"nodeType":"UserDefinedTypeName","pathNode":{"id":11921,"name":"AddressSet","nameLocations":["31298:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"31298:10:29"},"referencedDeclaration":11892,"src":"31298:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11925,"mutability":"mutable","name":"value","nameLocation":"31330:5:29","nodeType":"VariableDeclaration","scope":11946,"src":"31322:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11924,"name":"address","nodeType":"ElementaryTypeName","src":"31322:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31297:39:29"},"returnParameters":{"id":11929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11946,"src":"31355:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11927,"name":"bool","nodeType":"ElementaryTypeName","src":"31355:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31354:6:29"},"scope":12119,"src":"31282:156:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":11972,"nodeType":"Block","src":"31605:79:29","statements":[{"expression":{"arguments":[{"expression":{"id":11958,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11950,"src":"31632:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31636:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11891,"src":"31632:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"arguments":[{"arguments":[{"id":11966,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11952,"src":"31668:5:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31660:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11964,"name":"uint160","nodeType":"ElementaryTypeName","src":"31660:7:29","typeDescriptions":{}}},"id":11967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31660:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31652:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11962,"name":"uint256","nodeType":"ElementaryTypeName","src":"31652:7:29","typeDescriptions":{}}},"id":11968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31652:23:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31644:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":11960,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31644:7:29","typeDescriptions":{}}},"id":11969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31644:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11957,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11848,"src":"31622:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":11970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31622:55:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11956,"id":11971,"nodeType":"Return","src":"31615:62:29"}]},"documentation":{"id":11947,"nodeType":"StructuredDocumentation","src":"31444:70:29","text":" @dev Returns true if the value is in the set. O(1)."},"id":11973,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"31528:8:29","nodeType":"FunctionDefinition","parameters":{"id":11953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11950,"mutability":"mutable","name":"set","nameLocation":"31556:3:29","nodeType":"VariableDeclaration","scope":11973,"src":"31537:22:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11949,"nodeType":"UserDefinedTypeName","pathNode":{"id":11948,"name":"AddressSet","nameLocations":["31537:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"31537:10:29"},"referencedDeclaration":11892,"src":"31537:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11952,"mutability":"mutable","name":"value","nameLocation":"31569:5:29","nodeType":"VariableDeclaration","scope":11973,"src":"31561:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11951,"name":"address","nodeType":"ElementaryTypeName","src":"31561:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31536:39:29"},"returnParameters":{"id":11956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11973,"src":"31599:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11954,"name":"bool","nodeType":"ElementaryTypeName","src":"31599:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31598:6:29"},"scope":12119,"src":"31519:165:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":11987,"nodeType":"Block","src":"31837:43:29","statements":[{"expression":{"arguments":[{"expression":{"id":11983,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11977,"src":"31862:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":11984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31866:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11891,"src":"31862:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":11982,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11862,"src":"31854:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":11985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31854:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11981,"id":11986,"nodeType":"Return","src":"31847:26:29"}]},"documentation":{"id":11974,"nodeType":"StructuredDocumentation","src":"31690:70:29","text":" @dev Returns the number of values in the set. O(1)."},"id":11988,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"31774:6:29","nodeType":"FunctionDefinition","parameters":{"id":11978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11977,"mutability":"mutable","name":"set","nameLocation":"31800:3:29","nodeType":"VariableDeclaration","scope":11988,"src":"31781:22:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11976,"nodeType":"UserDefinedTypeName","pathNode":{"id":11975,"name":"AddressSet","nameLocations":["31781:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"31781:10:29"},"referencedDeclaration":11892,"src":"31781:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"}],"src":"31780:24:29"},"returnParameters":{"id":11981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11988,"src":"31828:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11979,"name":"uint256","nodeType":"ElementaryTypeName","src":"31828:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31827:9:29"},"scope":12119,"src":"31765:115:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":12014,"nodeType":"Block","src":"32295:73:29","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":12006,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11992,"src":"32340:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet storage pointer"}},"id":12007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32344:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":11891,"src":"32340:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":12008,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11994,"src":"32352:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12005,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11888,"src":"32336:3:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":12009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32336:22:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32328:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12003,"name":"uint256","nodeType":"ElementaryTypeName","src":"32328:7:29","typeDescriptions":{}}},"id":12010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32328:31:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32320:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":12001,"name":"uint160","nodeType":"ElementaryTypeName","src":"32320:7:29","typeDescriptions":{}}},"id":12011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32320:40:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":12000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32312:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11999,"name":"address","nodeType":"ElementaryTypeName","src":"32312:7:29","typeDescriptions":{}}},"id":12012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32312:49:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11998,"id":12013,"nodeType":"Return","src":"32305:56:29"}]},"documentation":{"id":11989,"nodeType":"StructuredDocumentation","src":"31885:322:29","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":12015,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"32221:2:29","nodeType":"FunctionDefinition","parameters":{"id":11995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11992,"mutability":"mutable","name":"set","nameLocation":"32243:3:29","nodeType":"VariableDeclaration","scope":12015,"src":"32224:22:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":11991,"nodeType":"UserDefinedTypeName","pathNode":{"id":11990,"name":"AddressSet","nameLocations":["32224:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"32224:10:29"},"referencedDeclaration":11892,"src":"32224:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":11994,"mutability":"mutable","name":"index","nameLocation":"32256:5:29","nodeType":"VariableDeclaration","scope":12015,"src":"32248:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11993,"name":"uint256","nodeType":"ElementaryTypeName","src":"32248:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32223:39:29"},"returnParameters":{"id":11998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12015,"src":"32286:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11996,"name":"address","nodeType":"ElementaryTypeName","src":"32286:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32285:9:29"},"scope":12119,"src":"32212:156:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"canonicalName":"EnumerableSet.UintSet","id":12019,"members":[{"constant":false,"id":12018,"mutability":"mutable","name":"_inner","nameLocation":"32420:6:29","nodeType":"VariableDeclaration","scope":12019,"src":"32416:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"},"typeName":{"id":12017,"nodeType":"UserDefinedTypeName","pathNode":{"id":12016,"name":"Set","nameLocations":["32416:3:29"],"nodeType":"IdentifierPath","referencedDeclaration":11706,"src":"32416:3:29"},"referencedDeclaration":11706,"src":"32416:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage_ptr","typeString":"struct EnumerableSet.Set"}},"visibility":"internal"}],"name":"UintSet","nameLocation":"32398:7:29","nodeType":"StructDefinition","scope":12119,"src":"32391:42:29","visibility":"public"},{"body":{"id":12039,"nodeType":"Block","src":"32676:56:29","statements":[{"expression":{"arguments":[{"expression":{"id":12031,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12023,"src":"32698:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":12032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32702:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":12018,"src":"32698:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":12035,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12025,"src":"32718:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32710:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":12033,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32710:7:29","typeDescriptions":{}}},"id":12036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32710:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12030,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11748,"src":"32693:4:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":12037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32693:32:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12029,"id":12038,"nodeType":"Return","src":"32686:39:29"}]},"documentation":{"id":12020,"nodeType":"StructuredDocumentation","src":"32439:159:29","text":" @dev Add a value to a set. O(1).\n Returns true if the value was added to the set, that is if it was not\n already present."},"id":12040,"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"32612:3:29","nodeType":"FunctionDefinition","parameters":{"id":12026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12023,"mutability":"mutable","name":"set","nameLocation":"32632:3:29","nodeType":"VariableDeclaration","scope":12040,"src":"32616:19:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":12022,"nodeType":"UserDefinedTypeName","pathNode":{"id":12021,"name":"UintSet","nameLocations":["32616:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":12019,"src":"32616:7:29"},"referencedDeclaration":12019,"src":"32616:7:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":12025,"mutability":"mutable","name":"value","nameLocation":"32645:5:29","nodeType":"VariableDeclaration","scope":12040,"src":"32637:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12024,"name":"uint256","nodeType":"ElementaryTypeName","src":"32637:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32615:36:29"},"returnParameters":{"id":12029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12028,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12040,"src":"32670:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12027,"name":"bool","nodeType":"ElementaryTypeName","src":"32670:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32669:6:29"},"scope":12119,"src":"32603:129:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12060,"nodeType":"Block","src":"32976:59:29","statements":[{"expression":{"arguments":[{"expression":{"id":12052,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12044,"src":"33001:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":12053,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33005:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":12018,"src":"33001:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":12056,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12046,"src":"33021:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33013:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":12054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33013:7:29","typeDescriptions":{}}},"id":12057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33013:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12051,"name":"_remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11829,"src":"32993:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)"}},"id":12058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32993:35:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12050,"id":12059,"nodeType":"Return","src":"32986:42:29"}]},"documentation":{"id":12041,"nodeType":"StructuredDocumentation","src":"32738:157:29","text":" @dev Removes a value from a set. O(1).\n Returns true if the value was removed from the set, that is if it was\n present."},"id":12061,"implemented":true,"kind":"function","modifiers":[],"name":"remove","nameLocation":"32909:6:29","nodeType":"FunctionDefinition","parameters":{"id":12047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12044,"mutability":"mutable","name":"set","nameLocation":"32932:3:29","nodeType":"VariableDeclaration","scope":12061,"src":"32916:19:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":12043,"nodeType":"UserDefinedTypeName","pathNode":{"id":12042,"name":"UintSet","nameLocations":["32916:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":12019,"src":"32916:7:29"},"referencedDeclaration":12019,"src":"32916:7:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":12046,"mutability":"mutable","name":"value","nameLocation":"32945:5:29","nodeType":"VariableDeclaration","scope":12061,"src":"32937:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12045,"name":"uint256","nodeType":"ElementaryTypeName","src":"32937:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32915:36:29"},"returnParameters":{"id":12050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12061,"src":"32970:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12048,"name":"bool","nodeType":"ElementaryTypeName","src":"32970:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32969:6:29"},"scope":12119,"src":"32900:135:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12081,"nodeType":"Block","src":"33199:61:29","statements":[{"expression":{"arguments":[{"expression":{"id":12073,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12065,"src":"33226:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":12074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33230:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":12018,"src":"33226:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"arguments":[{"id":12077,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12067,"src":"33246:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33238:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":12075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33238:7:29","typeDescriptions":{}}},"id":12078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33238:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12072,"name":"_contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11848,"src":"33216:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)"}},"id":12079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33216:37:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12071,"id":12080,"nodeType":"Return","src":"33209:44:29"}]},"documentation":{"id":12062,"nodeType":"StructuredDocumentation","src":"33041:70:29","text":" @dev Returns true if the value is in the set. O(1)."},"id":12082,"implemented":true,"kind":"function","modifiers":[],"name":"contains","nameLocation":"33125:8:29","nodeType":"FunctionDefinition","parameters":{"id":12068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12065,"mutability":"mutable","name":"set","nameLocation":"33150:3:29","nodeType":"VariableDeclaration","scope":12082,"src":"33134:19:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":12064,"nodeType":"UserDefinedTypeName","pathNode":{"id":12063,"name":"UintSet","nameLocations":["33134:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":12019,"src":"33134:7:29"},"referencedDeclaration":12019,"src":"33134:7:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":12067,"mutability":"mutable","name":"value","nameLocation":"33163:5:29","nodeType":"VariableDeclaration","scope":12082,"src":"33155:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12066,"name":"uint256","nodeType":"ElementaryTypeName","src":"33155:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33133:36:29"},"returnParameters":{"id":12071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12070,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12082,"src":"33193:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12069,"name":"bool","nodeType":"ElementaryTypeName","src":"33193:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33192:6:29"},"scope":12119,"src":"33116:144:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":12096,"nodeType":"Block","src":"33410:43:29","statements":[{"expression":{"arguments":[{"expression":{"id":12092,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12086,"src":"33435:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":12093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33439:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":12018,"src":"33435:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}],"id":12091,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11862,"src":"33427:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct EnumerableSet.Set storage pointer) view returns (uint256)"}},"id":12094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33427:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12090,"id":12095,"nodeType":"Return","src":"33420:26:29"}]},"documentation":{"id":12083,"nodeType":"StructuredDocumentation","src":"33266:70:29","text":" @dev Returns the number of values on the set. O(1)."},"id":12097,"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"33350:6:29","nodeType":"FunctionDefinition","parameters":{"id":12087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12086,"mutability":"mutable","name":"set","nameLocation":"33373:3:29","nodeType":"VariableDeclaration","scope":12097,"src":"33357:19:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":12085,"nodeType":"UserDefinedTypeName","pathNode":{"id":12084,"name":"UintSet","nameLocations":["33357:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":12019,"src":"33357:7:29"},"referencedDeclaration":12019,"src":"33357:7:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"}],"src":"33356:21:29"},"returnParameters":{"id":12090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12097,"src":"33401:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12088,"name":"uint256","nodeType":"ElementaryTypeName","src":"33401:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33400:9:29"},"scope":12119,"src":"33341:112:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":12117,"nodeType":"Block","src":"33865:55:29","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":12111,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12101,"src":"33894:3:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet storage pointer"}},"id":12112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33898:6:29","memberName":"_inner","nodeType":"MemberAccess","referencedDeclaration":12018,"src":"33894:10:29","typeDescriptions":{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"}},{"id":12113,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12103,"src":"33906:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Set_$11706_storage","typeString":"struct EnumerableSet.Set storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12110,"name":"_at","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11888,"src":"33890:3:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Set_$11706_storage_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)"}},"id":12114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33890:22:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33882:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12108,"name":"uint256","nodeType":"ElementaryTypeName","src":"33882:7:29","typeDescriptions":{}}},"id":12115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33882:31:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12107,"id":12116,"nodeType":"Return","src":"33875:38:29"}]},"documentation":{"id":12098,"nodeType":"StructuredDocumentation","src":"33458:322:29","text":" @dev Returns the value stored at position `index` in the set. O(1).\n Note that there are no guarantees on the ordering of values inside the\n array, and it may change when more values are added or removed.\n Requirements:\n - `index` must be strictly less than {length}."},"id":12118,"implemented":true,"kind":"function","modifiers":[],"name":"at","nameLocation":"33794:2:29","nodeType":"FunctionDefinition","parameters":{"id":12104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12101,"mutability":"mutable","name":"set","nameLocation":"33813:3:29","nodeType":"VariableDeclaration","scope":12118,"src":"33797:19:29","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":12100,"nodeType":"UserDefinedTypeName","pathNode":{"id":12099,"name":"UintSet","nameLocations":["33797:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":12019,"src":"33797:7:29"},"referencedDeclaration":12019,"src":"33797:7:29","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$12019_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"constant":false,"id":12103,"mutability":"mutable","name":"index","nameLocation":"33826:5:29","nodeType":"VariableDeclaration","scope":12118,"src":"33818:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12102,"name":"uint256","nodeType":"ElementaryTypeName","src":"33818:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33796:36:29"},"returnParameters":{"id":12107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12106,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12118,"src":"33856:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12105,"name":"uint256","nodeType":"ElementaryTypeName","src":"33856:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33855:9:29"},"scope":12119,"src":"33785:135:29","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":13131,"src":"26824:7098:29","usedErrors":[],"usedEvents":[]},{"id":12120,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"33985:24:29"},{"abstract":true,"baseContracts":[{"baseName":{"id":12122,"name":"Context","nameLocations":["35326:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":10689,"src":"35326:7:29"},"id":12123,"nodeType":"InheritanceSpecifier","src":"35326:7:29"}],"canonicalName":"AccessControl","contractDependencies":[],"contractKind":"contract","documentation":{"id":12121,"nodeType":"StructuredDocumentation","src":"34014:1276:29","text":" @dev Contract module that allows children to implement role-based access\n control mechanisms.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it."},"fullyImplemented":true,"id":12401,"linearizedBaseContracts":[12401,10689],"name":"AccessControl","nameLocation":"35309:13:29","nodeType":"ContractDefinition","nodes":[{"global":false,"id":12127,"libraryName":{"id":12124,"name":"EnumerableSet","nameLocations":["35346:13:29"],"nodeType":"IdentifierPath","referencedDeclaration":12119,"src":"35346:13:29"},"nodeType":"UsingForDirective","src":"35340:49:29","typeName":{"id":12126,"nodeType":"UserDefinedTypeName","pathNode":{"id":12125,"name":"EnumerableSet.AddressSet","nameLocations":["35364:13:29","35378:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"35364:24:29"},"referencedDeclaration":11892,"src":"35364:24:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}}},{"global":false,"id":12130,"libraryName":{"id":12128,"name":"Address","nameLocations":["35400:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":11164,"src":"35400:7:29"},"nodeType":"UsingForDirective","src":"35394:26:29","typeName":{"id":12129,"name":"address","nodeType":"ElementaryTypeName","src":"35412:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"canonicalName":"AccessControl.RoleData","id":12136,"members":[{"constant":false,"id":12133,"mutability":"mutable","name":"members","nameLocation":"35477:7:29","nodeType":"VariableDeclaration","scope":12136,"src":"35452:32:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"},"typeName":{"id":12132,"nodeType":"UserDefinedTypeName","pathNode":{"id":12131,"name":"EnumerableSet.AddressSet","nameLocations":["35452:13:29","35466:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":11892,"src":"35452:24:29"},"referencedDeclaration":11892,"src":"35452:24:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}},"visibility":"internal"},{"constant":false,"id":12135,"mutability":"mutable","name":"adminRole","nameLocation":"35502:9:29","nodeType":"VariableDeclaration","scope":12136,"src":"35494:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35494:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"RoleData","nameLocation":"35433:8:29","nodeType":"StructDefinition","scope":12401,"src":"35426:92:29","visibility":"public"},{"constant":false,"id":12141,"mutability":"mutable","name":"_roles","nameLocation":"35562:6:29","nodeType":"VariableDeclaration","scope":12401,"src":"35524:44:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData)"},"typeName":{"id":12140,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":12137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35533:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"35524:29:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":12139,"nodeType":"UserDefinedTypeName","pathNode":{"id":12138,"name":"RoleData","nameLocations":["35544:8:29"],"nodeType":"IdentifierPath","referencedDeclaration":12136,"src":"35544:8:29"},"referencedDeclaration":12136,"src":"35544:8:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage_ptr","typeString":"struct AccessControl.RoleData"}}},"visibility":"private"},{"constant":true,"functionSelector":"a217fddf","id":12144,"mutability":"constant","name":"DEFAULT_ADMIN_ROLE","nameLocation":"35599:18:29","nodeType":"VariableDeclaration","scope":12401,"src":"35575:49:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12142,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35575:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"30783030","id":12143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35620:4:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"visibility":"public"},{"anonymous":false,"documentation":{"id":12145,"nodeType":"StructuredDocumentation","src":"35631:292:29","text":" @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._"},"eventSelector":"bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","id":12153,"name":"RoleAdminChanged","nameLocation":"35934:16:29","nodeType":"EventDefinition","parameters":{"id":12152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12147,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"35967:4:29","nodeType":"VariableDeclaration","scope":12153,"src":"35951:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35951:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12149,"indexed":true,"mutability":"mutable","name":"previousAdminRole","nameLocation":"35989:17:29","nodeType":"VariableDeclaration","scope":12153,"src":"35973:33:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"35973:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12151,"indexed":true,"mutability":"mutable","name":"newAdminRole","nameLocation":"36024:12:29","nodeType":"VariableDeclaration","scope":12153,"src":"36008:28:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36008:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"35950:87:29"},"src":"35928:110:29"},{"anonymous":false,"documentation":{"id":12154,"nodeType":"StructuredDocumentation","src":"36044:198:29","text":" @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {_setupRole}."},"eventSelector":"2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","id":12162,"name":"RoleGranted","nameLocation":"36253:11:29","nodeType":"EventDefinition","parameters":{"id":12161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12156,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"36281:4:29","nodeType":"VariableDeclaration","scope":12162,"src":"36265:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36265:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12158,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"36303:7:29","nodeType":"VariableDeclaration","scope":12162,"src":"36287:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12157,"name":"address","nodeType":"ElementaryTypeName","src":"36287:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12160,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"36328:6:29","nodeType":"VariableDeclaration","scope":12162,"src":"36312:22:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12159,"name":"address","nodeType":"ElementaryTypeName","src":"36312:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36264:71:29"},"src":"36247:89:29"},{"anonymous":false,"documentation":{"id":12163,"nodeType":"StructuredDocumentation","src":"36342:275:29","text":" @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)"},"eventSelector":"f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b","id":12171,"name":"RoleRevoked","nameLocation":"36628:11:29","nodeType":"EventDefinition","parameters":{"id":12170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12165,"indexed":true,"mutability":"mutable","name":"role","nameLocation":"36656:4:29","nodeType":"VariableDeclaration","scope":12171,"src":"36640:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12164,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36640:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12167,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"36678:7:29","nodeType":"VariableDeclaration","scope":12171,"src":"36662:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12166,"name":"address","nodeType":"ElementaryTypeName","src":"36662:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12169,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"36703:6:29","nodeType":"VariableDeclaration","scope":12171,"src":"36687:22:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12168,"name":"address","nodeType":"ElementaryTypeName","src":"36687:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36639:71:29"},"src":"36622:89:29"},{"body":{"id":12189,"nodeType":"Block","src":"36873:62:29","statements":[{"expression":{"arguments":[{"id":12186,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12176,"src":"36920:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":12181,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"36890:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12183,"indexExpression":{"id":12182,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12174,"src":"36897:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36890:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36903:7:29","memberName":"members","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"36890:20:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":12185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36911:8:29","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":11973,"src":"36890:29:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$11892_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$11892_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)"}},"id":12187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36890:38:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12180,"id":12188,"nodeType":"Return","src":"36883:45:29"}]},"documentation":{"id":12172,"nodeType":"StructuredDocumentation","src":"36717:76:29","text":" @dev Returns `true` if `account` has been granted `role`."},"functionSelector":"91d14854","id":12190,"implemented":true,"kind":"function","modifiers":[],"name":"hasRole","nameLocation":"36807:7:29","nodeType":"FunctionDefinition","parameters":{"id":12177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12174,"mutability":"mutable","name":"role","nameLocation":"36823:4:29","nodeType":"VariableDeclaration","scope":12190,"src":"36815:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12173,"name":"bytes32","nodeType":"ElementaryTypeName","src":"36815:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12176,"mutability":"mutable","name":"account","nameLocation":"36837:7:29","nodeType":"VariableDeclaration","scope":12190,"src":"36829:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12175,"name":"address","nodeType":"ElementaryTypeName","src":"36829:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36814:31:29"},"returnParameters":{"id":12180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12179,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12190,"src":"36867:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12178,"name":"bool","nodeType":"ElementaryTypeName","src":"36867:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36866:6:29"},"scope":12401,"src":"36798:137:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12205,"nodeType":"Block","src":"37175:53:29","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"baseExpression":{"id":12198,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"37192:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12200,"indexExpression":{"id":12199,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12193,"src":"37199:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37192:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12201,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37205:7:29","memberName":"members","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"37192:20:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":12202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37213:6:29","memberName":"length","nodeType":"MemberAccess","referencedDeclaration":11988,"src":"37192:27:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$11892_storage_ptr_$returns$_t_uint256_$attached_to$_t_struct$_AddressSet_$11892_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer) view returns (uint256)"}},"id":12203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37192:29:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12197,"id":12204,"nodeType":"Return","src":"37185:36:29"}]},"documentation":{"id":12191,"nodeType":"StructuredDocumentation","src":"36941:157:29","text":" @dev Returns the number of accounts that have `role`. Can be used\n together with {getRoleMember} to enumerate all bearers of a role."},"functionSelector":"ca15c873","id":12206,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleMemberCount","nameLocation":"37112:18:29","nodeType":"FunctionDefinition","parameters":{"id":12194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12193,"mutability":"mutable","name":"role","nameLocation":"37139:4:29","nodeType":"VariableDeclaration","scope":12206,"src":"37131:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37131:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"37130:14:29"},"returnParameters":{"id":12197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12206,"src":"37166:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12195,"name":"uint256","nodeType":"ElementaryTypeName","src":"37166:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37165:9:29"},"scope":12401,"src":"37103:125:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12224,"nodeType":"Block","src":"37883:54:29","statements":[{"expression":{"arguments":[{"id":12221,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12211,"src":"37924:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"baseExpression":{"id":12216,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"37900:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12218,"indexExpression":{"id":12217,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12209,"src":"37907:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37900:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37913:7:29","memberName":"members","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"37900:20:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":12220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37921:2:29","memberName":"at","nodeType":"MemberAccess","referencedDeclaration":12015,"src":"37900:23:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$11892_storage_ptr_$_t_uint256_$returns$_t_address_$attached_to$_t_struct$_AddressSet_$11892_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,uint256) view returns (address)"}},"id":12222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37900:30:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12215,"id":12223,"nodeType":"Return","src":"37893:37:29"}]},"documentation":{"id":12207,"nodeType":"StructuredDocumentation","src":"37234:562:29","text":" @dev Returns one of the accounts that have `role`. `index` must be a\n value between 0 and {getRoleMemberCount}, non-inclusive.\n Role bearers are not sorted in any particular way, and their ordering may\n change at any point.\n WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure\n you perform all queries on the same block. See the following\n https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296\n for more information."},"functionSelector":"9010d07c","id":12225,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleMember","nameLocation":"37810:13:29","nodeType":"FunctionDefinition","parameters":{"id":12212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12209,"mutability":"mutable","name":"role","nameLocation":"37832:4:29","nodeType":"VariableDeclaration","scope":12225,"src":"37824:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"37824:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12211,"mutability":"mutable","name":"index","nameLocation":"37846:5:29","nodeType":"VariableDeclaration","scope":12225,"src":"37838:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12210,"name":"uint256","nodeType":"ElementaryTypeName","src":"37838:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37823:29:29"},"returnParameters":{"id":12215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12214,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12225,"src":"37874:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12213,"name":"address","nodeType":"ElementaryTypeName","src":"37874:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37873:9:29"},"scope":12401,"src":"37801:136:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12238,"nodeType":"Block","src":"38184:46:29","statements":[{"expression":{"expression":{"baseExpression":{"id":12233,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"38201:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12235,"indexExpression":{"id":12234,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"38208:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38201:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38214:9:29","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":12135,"src":"38201:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12232,"id":12237,"nodeType":"Return","src":"38194:29:29"}]},"documentation":{"id":12226,"nodeType":"StructuredDocumentation","src":"37943:170:29","text":" @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}."},"functionSelector":"248a9ca3","id":12239,"implemented":true,"kind":"function","modifiers":[],"name":"getRoleAdmin","nameLocation":"38127:12:29","nodeType":"FunctionDefinition","parameters":{"id":12229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12228,"mutability":"mutable","name":"role","nameLocation":"38148:4:29","nodeType":"VariableDeclaration","scope":12239,"src":"38140:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38140:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38139:14:29"},"returnParameters":{"id":12232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12231,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12239,"src":"38175:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38175:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38174:9:29"},"scope":12401,"src":"38118:112:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12264,"nodeType":"Block","src":"38545:158:29","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":12249,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"38571:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12251,"indexExpression":{"id":12250,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12242,"src":"38578:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38571:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12252,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38584:9:29","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":12135,"src":"38571:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12253,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"38595:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38595:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12248,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12190,"src":"38563:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38563:45:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e74","id":12256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38610:49:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811","typeString":"literal_string \"AccessControl: sender must be an admin to grant\""},"value":"AccessControl: sender must be an admin to grant"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811","typeString":"literal_string \"AccessControl: sender must be an admin to grant\""}],"id":12247,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"38555:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38555:105:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12258,"nodeType":"ExpressionStatement","src":"38555:105:29"},{"expression":{"arguments":[{"id":12260,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12242,"src":"38682:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12261,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12244,"src":"38688:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12259,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12376,"src":"38671:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38671:25:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12263,"nodeType":"ExpressionStatement","src":"38671:25:29"}]},"documentation":{"id":12240,"nodeType":"StructuredDocumentation","src":"38236:239:29","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"2f2ff15d","id":12265,"implemented":true,"kind":"function","modifiers":[],"name":"grantRole","nameLocation":"38489:9:29","nodeType":"FunctionDefinition","parameters":{"id":12245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12242,"mutability":"mutable","name":"role","nameLocation":"38507:4:29","nodeType":"VariableDeclaration","scope":12265,"src":"38499:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38499:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12244,"mutability":"mutable","name":"account","nameLocation":"38521:7:29","nodeType":"VariableDeclaration","scope":12265,"src":"38513:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12243,"name":"address","nodeType":"ElementaryTypeName","src":"38513:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38498:31:29"},"returnParameters":{"id":12246,"nodeType":"ParameterList","parameters":[],"src":"38545:0:29"},"scope":12401,"src":"38480:223:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12290,"nodeType":"Block","src":"39003:160:29","statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":12275,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"39029:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12277,"indexExpression":{"id":12276,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12268,"src":"39036:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39029:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39042:9:29","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":12135,"src":"39029:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12279,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"39053:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39053:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12274,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12190,"src":"39021:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39021:45:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b65","id":12282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39068:50:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3","typeString":"literal_string \"AccessControl: sender must be an admin to revoke\""},"value":"AccessControl: sender must be an admin to revoke"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3","typeString":"literal_string \"AccessControl: sender must be an admin to revoke\""}],"id":12273,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"39013:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39013:106:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12284,"nodeType":"ExpressionStatement","src":"39013:106:29"},{"expression":{"arguments":[{"id":12286,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12268,"src":"39142:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12287,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12270,"src":"39148:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12285,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12400,"src":"39130:11:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39130:26:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12289,"nodeType":"ExpressionStatement","src":"39130:26:29"}]},"documentation":{"id":12266,"nodeType":"StructuredDocumentation","src":"38709:223:29","text":" @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role."},"functionSelector":"d547741f","id":12291,"implemented":true,"kind":"function","modifiers":[],"name":"revokeRole","nameLocation":"38946:10:29","nodeType":"FunctionDefinition","parameters":{"id":12271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12268,"mutability":"mutable","name":"role","nameLocation":"38965:4:29","nodeType":"VariableDeclaration","scope":12291,"src":"38957:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12267,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38957:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12270,"mutability":"mutable","name":"account","nameLocation":"38979:7:29","nodeType":"VariableDeclaration","scope":12291,"src":"38971:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12269,"name":"address","nodeType":"ElementaryTypeName","src":"38971:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38956:31:29"},"returnParameters":{"id":12272,"nodeType":"ParameterList","parameters":[],"src":"39003:0:29"},"scope":12401,"src":"38937:226:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12312,"nodeType":"Block","src":"39722:137:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12300,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12296,"src":"39740:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":12301,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"39751:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39751:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"39740:23:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66","id":12304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39765:49:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b","typeString":"literal_string \"AccessControl: can only renounce roles for self\""},"value":"AccessControl: can only renounce roles for self"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b","typeString":"literal_string \"AccessControl: can only renounce roles for self\""}],"id":12299,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"39732:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39732:83:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12306,"nodeType":"ExpressionStatement","src":"39732:83:29"},{"expression":{"arguments":[{"id":12308,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12294,"src":"39838:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12309,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12296,"src":"39844:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12307,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12400,"src":"39826:11:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39826:26:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12311,"nodeType":"ExpressionStatement","src":"39826:26:29"}]},"documentation":{"id":12292,"nodeType":"StructuredDocumentation","src":"39169:480:29","text":" @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`."},"functionSelector":"36568abe","id":12313,"implemented":true,"kind":"function","modifiers":[],"name":"renounceRole","nameLocation":"39663:12:29","nodeType":"FunctionDefinition","parameters":{"id":12297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12294,"mutability":"mutable","name":"role","nameLocation":"39684:4:29","nodeType":"VariableDeclaration","scope":12313,"src":"39676:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39676:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12296,"mutability":"mutable","name":"account","nameLocation":"39698:7:29","nodeType":"VariableDeclaration","scope":12313,"src":"39690:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12295,"name":"address","nodeType":"ElementaryTypeName","src":"39690:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39675:31:29"},"returnParameters":{"id":12298,"nodeType":"ParameterList","parameters":[],"src":"39722:0:29"},"scope":12401,"src":"39654:205:29","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":12326,"nodeType":"Block","src":"40492:42:29","statements":[{"expression":{"arguments":[{"id":12322,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12316,"src":"40513:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12323,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12318,"src":"40519:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12321,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12376,"src":"40502:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40502:25:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12325,"nodeType":"ExpressionStatement","src":"40502:25:29"}]},"documentation":{"id":12314,"nodeType":"StructuredDocumentation","src":"39865:554:29","text":" @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ===="},"id":12327,"implemented":true,"kind":"function","modifiers":[],"name":"_setupRole","nameLocation":"40433:10:29","nodeType":"FunctionDefinition","parameters":{"id":12319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12316,"mutability":"mutable","name":"role","nameLocation":"40452:4:29","nodeType":"VariableDeclaration","scope":12327,"src":"40444:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40444:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12318,"mutability":"mutable","name":"account","nameLocation":"40466:7:29","nodeType":"VariableDeclaration","scope":12327,"src":"40458:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12317,"name":"address","nodeType":"ElementaryTypeName","src":"40458:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40443:31:29"},"returnParameters":{"id":12320,"nodeType":"ParameterList","parameters":[],"src":"40492:0:29"},"scope":12401,"src":"40424:110:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12351,"nodeType":"Block","src":"40732:123:29","statements":[{"eventCall":{"arguments":[{"id":12336,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12330,"src":"40764:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"baseExpression":{"id":12337,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"40770:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12339,"indexExpression":{"id":12338,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12330,"src":"40777:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40770:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40783:9:29","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":12135,"src":"40770:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12341,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12332,"src":"40794:9:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12335,"name":"RoleAdminChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12153,"src":"40747:16:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":12342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40747:57:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12343,"nodeType":"EmitStatement","src":"40742:62:29"},{"expression":{"id":12349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":12344,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"40814:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12346,"indexExpression":{"id":12345,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12330,"src":"40821:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40814:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"40827:9:29","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":12135,"src":"40814:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":12348,"name":"adminRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12332,"src":"40839:9:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"40814:34:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12350,"nodeType":"ExpressionStatement","src":"40814:34:29"}]},"documentation":{"id":12328,"nodeType":"StructuredDocumentation","src":"40540:114:29","text":" @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event."},"id":12352,"implemented":true,"kind":"function","modifiers":[],"name":"_setRoleAdmin","nameLocation":"40668:13:29","nodeType":"FunctionDefinition","parameters":{"id":12333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12330,"mutability":"mutable","name":"role","nameLocation":"40690:4:29","nodeType":"VariableDeclaration","scope":12352,"src":"40682:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40682:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12332,"mutability":"mutable","name":"adminRole","nameLocation":"40704:9:29","nodeType":"VariableDeclaration","scope":12352,"src":"40696:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40696:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"40681:33:29"},"returnParameters":{"id":12334,"nodeType":"ParameterList","parameters":[],"src":"40732:0:29"},"scope":12401,"src":"40659:196:29","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":12375,"nodeType":"Block","src":"40920:125:29","statements":[{"condition":{"arguments":[{"id":12364,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12356,"src":"40959:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":12359,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"40934:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12361,"indexExpression":{"id":12360,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"40941:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40934:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40947:7:29","memberName":"members","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"40934:20:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":12363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40955:3:29","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":11919,"src":"40934:24:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$11892_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$11892_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":12365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40934:33:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12374,"nodeType":"IfStatement","src":"40930:109:29","trueBody":{"id":12373,"nodeType":"Block","src":"40969:70:29","statements":[{"eventCall":{"arguments":[{"id":12367,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"41000:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12368,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12356,"src":"41006:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12369,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"41015:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41015:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12366,"name":"RoleGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12162,"src":"40988:11:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":12371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40988:40:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12372,"nodeType":"EmitStatement","src":"40983:45:29"}]}}]},"id":12376,"implemented":true,"kind":"function","modifiers":[],"name":"_grantRole","nameLocation":"40870:10:29","nodeType":"FunctionDefinition","parameters":{"id":12357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12354,"mutability":"mutable","name":"role","nameLocation":"40889:4:29","nodeType":"VariableDeclaration","scope":12376,"src":"40881:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12353,"name":"bytes32","nodeType":"ElementaryTypeName","src":"40881:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12356,"mutability":"mutable","name":"account","nameLocation":"40903:7:29","nodeType":"VariableDeclaration","scope":12376,"src":"40895:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12355,"name":"address","nodeType":"ElementaryTypeName","src":"40895:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40880:31:29"},"returnParameters":{"id":12358,"nodeType":"ParameterList","parameters":[],"src":"40920:0:29"},"scope":12401,"src":"40861:184:29","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":12399,"nodeType":"Block","src":"41111:128:29","statements":[{"condition":{"arguments":[{"id":12388,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12380,"src":"41153:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":12383,"name":"_roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12141,"src":"41125:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_RoleData_$12136_storage_$","typeString":"mapping(bytes32 => struct AccessControl.RoleData storage ref)"}},"id":12385,"indexExpression":{"id":12384,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12378,"src":"41132:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"41125:12:29","typeDescriptions":{"typeIdentifier":"t_struct$_RoleData_$12136_storage","typeString":"struct AccessControl.RoleData storage ref"}},"id":12386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41138:7:29","memberName":"members","nodeType":"MemberAccess","referencedDeclaration":12133,"src":"41125:20:29","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$11892_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":12387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41146:6:29","memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":11946,"src":"41125:27:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$11892_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$11892_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":12389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41125:36:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12398,"nodeType":"IfStatement","src":"41121:112:29","trueBody":{"id":12397,"nodeType":"Block","src":"41163:70:29","statements":[{"eventCall":{"arguments":[{"id":12391,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12378,"src":"41194:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12392,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12380,"src":"41200:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12393,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"41209:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41209:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12390,"name":"RoleRevoked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12171,"src":"41182:11:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,address,address)"}},"id":12395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41182:40:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12396,"nodeType":"EmitStatement","src":"41177:45:29"}]}}]},"id":12400,"implemented":true,"kind":"function","modifiers":[],"name":"_revokeRole","nameLocation":"41060:11:29","nodeType":"FunctionDefinition","parameters":{"id":12381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12378,"mutability":"mutable","name":"role","nameLocation":"41080:4:29","nodeType":"VariableDeclaration","scope":12400,"src":"41072:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12377,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41072:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12380,"mutability":"mutable","name":"account","nameLocation":"41094:7:29","nodeType":"VariableDeclaration","scope":12400,"src":"41086:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12379,"name":"address","nodeType":"ElementaryTypeName","src":"41086:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41071:31:29"},"returnParameters":{"id":12382,"nodeType":"ParameterList","parameters":[],"src":"41111:0:29"},"scope":12401,"src":"41051:188:29","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":13131,"src":"35291:5950:29","usedErrors":[],"usedEvents":[12153,12162,12171]},{"id":12402,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"41293:24:29"},{"abstract":false,"baseContracts":[{"baseName":{"id":12403,"name":"AccessControl","nameLocations":["41351:13:29"],"nodeType":"IdentifierPath","referencedDeclaration":12401,"src":"41351:13:29"},"id":12404,"nodeType":"InheritanceSpecifier","src":"41351:13:29"}],"canonicalName":"AccessControlMixin","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12439,"linearizedBaseContracts":[12439,12401,10689],"name":"AccessControlMixin","nameLocation":"41329:18:29","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":12406,"mutability":"mutable","name":"_revertMsg","nameLocation":"41386:10:29","nodeType":"VariableDeclaration","scope":12439,"src":"41371:25:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":12405,"name":"string","nodeType":"ElementaryTypeName","src":"41371:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":12422,"nodeType":"Block","src":"41463:96:29","statements":[{"expression":{"id":12420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12411,"name":"_revertMsg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12406,"src":"41473:10:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":12416,"name":"contractId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12408,"src":"41510:10:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3a20494e53554646494349454e545f5045524d495353494f4e53","id":12417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41522:28:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7","typeString":"literal_string \": INSUFFICIENT_PERMISSIONS\""},"value":": INSUFFICIENT_PERMISSIONS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7","typeString":"literal_string \": INSUFFICIENT_PERMISSIONS\""}],"expression":{"id":12414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41493:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41497:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"41493:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41493:58:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41486:6:29","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":12412,"name":"string","nodeType":"ElementaryTypeName","src":"41486:6:29","typeDescriptions":{}}},"id":12419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41486:66:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"41473:79:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":12421,"nodeType":"ExpressionStatement","src":"41473:79:29"}]},"id":12423,"implemented":true,"kind":"function","modifiers":[],"name":"_setupContractId","nameLocation":"41411:16:29","nodeType":"FunctionDefinition","parameters":{"id":12409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12408,"mutability":"mutable","name":"contractId","nameLocation":"41442:10:29","nodeType":"VariableDeclaration","scope":12423,"src":"41428:24:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12407,"name":"string","nodeType":"ElementaryTypeName","src":"41428:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41427:26:29"},"returnParameters":{"id":12410,"nodeType":"ParameterList","parameters":[],"src":"41463:0:29"},"scope":12439,"src":"41402:157:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12437,"nodeType":"Block","src":"41593:110:29","statements":[{"expression":{"arguments":[{"arguments":[{"id":12429,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12425,"src":"41632:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12430,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"41638:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41638:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12428,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12190,"src":"41624:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":12432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41624:27:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12433,"name":"_revertMsg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12406,"src":"41665:10:29","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":12427,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"41603:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41603:82:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12435,"nodeType":"ExpressionStatement","src":"41603:82:29"},{"id":12436,"nodeType":"PlaceholderStatement","src":"41695:1:29"}]},"id":12438,"name":"only","nameLocation":"41574:4:29","nodeType":"ModifierDefinition","parameters":{"id":12426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12425,"mutability":"mutable","name":"role","nameLocation":"41587:4:29","nodeType":"VariableDeclaration","scope":12438,"src":"41579:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41579:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"41578:14:29"},"src":"41565:138:29","virtual":false,"visibility":"internal"}],"scope":13131,"src":"41320:385:29","usedErrors":[],"usedEvents":[12153,12162,12171]},{"id":12440,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"41760:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"IChildToken","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":12448,"linearizedBaseContracts":[12448],"name":"IChildToken","nameLocation":"41796:11:29","nodeType":"ContractDefinition","nodes":[{"functionSelector":"cf2c52cb","id":12447,"implemented":false,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"41823:7:29","nodeType":"FunctionDefinition","parameters":{"id":12445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12442,"mutability":"mutable","name":"user","nameLocation":"41839:4:29","nodeType":"VariableDeclaration","scope":12447,"src":"41831:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12441,"name":"address","nodeType":"ElementaryTypeName","src":"41831:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12444,"mutability":"mutable","name":"depositData","nameLocation":"41860:11:29","nodeType":"VariableDeclaration","scope":12447,"src":"41845:26:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12443,"name":"bytes","nodeType":"ElementaryTypeName","src":"41845:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41830:42:29"},"returnParameters":{"id":12446,"nodeType":"ParameterList","parameters":[],"src":"41881:0:29"},"scope":12448,"src":"41814:68:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":13131,"src":"41786:98:29","usedErrors":[],"usedEvents":[]},{"id":12449,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"41931:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"Initializable","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12467,"linearizedBaseContracts":[12467],"name":"Initializable","nameLocation":"41966:13:29","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":12452,"mutability":"mutable","name":"inited","nameLocation":"41991:6:29","nodeType":"VariableDeclaration","scope":12467,"src":"41986:19:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12450,"name":"bool","nodeType":"ElementaryTypeName","src":"41986:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"66616c7365","id":12451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42000:5:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"visibility":"internal"},{"body":{"id":12465,"nodeType":"Block","src":"42035:85:29","statements":[{"expression":{"arguments":[{"id":12456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"42053:7:29","subExpression":{"id":12455,"name":"inited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12452,"src":"42054:6:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"616c726561647920696e69746564","id":12457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42062:16:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247","typeString":"literal_string \"already inited\""},"value":"already inited"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247","typeString":"literal_string \"already inited\""}],"id":12454,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"42045:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42045:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12459,"nodeType":"ExpressionStatement","src":"42045:34:29"},{"id":12460,"nodeType":"PlaceholderStatement","src":"42089:1:29"},{"expression":{"id":12463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12461,"name":"inited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12452,"src":"42100:6:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":12462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"42109:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"42100:13:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12464,"nodeType":"ExpressionStatement","src":"42100:13:29"}]},"id":12466,"name":"initializer","nameLocation":"42021:11:29","nodeType":"ModifierDefinition","parameters":{"id":12453,"nodeType":"ParameterList","parameters":[],"src":"42032:2:29"},"src":"42012:108:29","virtual":false,"visibility":"internal"}],"scope":13131,"src":"41957:165:29","usedErrors":[],"usedEvents":[]},{"id":12468,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"42166:24:29"},{"abstract":false,"baseContracts":[{"baseName":{"id":12469,"name":"Initializable","nameLocations":["42216:13:29"],"nodeType":"IdentifierPath","referencedDeclaration":12467,"src":"42216:13:29"},"id":12470,"nodeType":"InheritanceSpecifier","src":"42216:13:29"}],"canonicalName":"EIP712Base","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12582,"linearizedBaseContracts":[12582,12467],"name":"EIP712Base","nameLocation":"42202:10:29","nodeType":"ContractDefinition","nodes":[{"canonicalName":"EIP712Base.EIP712Domain","id":12479,"members":[{"constant":false,"id":12472,"mutability":"mutable","name":"name","nameLocation":"42273:4:29","nodeType":"VariableDeclaration","scope":12479,"src":"42266:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12471,"name":"string","nodeType":"ElementaryTypeName","src":"42266:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12474,"mutability":"mutable","name":"version","nameLocation":"42294:7:29","nodeType":"VariableDeclaration","scope":12479,"src":"42287:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12473,"name":"string","nodeType":"ElementaryTypeName","src":"42287:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12476,"mutability":"mutable","name":"verifyingContract","nameLocation":"42319:17:29","nodeType":"VariableDeclaration","scope":12479,"src":"42311:25:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12475,"name":"address","nodeType":"ElementaryTypeName","src":"42311:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12478,"mutability":"mutable","name":"salt","nameLocation":"42354:4:29","nodeType":"VariableDeclaration","scope":12479,"src":"42346:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42346:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"EIP712Domain","nameLocation":"42243:12:29","nodeType":"StructDefinition","scope":12582,"src":"42236:129:29","visibility":"public"},{"constant":true,"id":12487,"mutability":"constant","name":"EIP712_DOMAIN_TYPEHASH","nameLocation":"42397:22:29","nodeType":"VariableDeclaration","scope":12582,"src":"42371:186:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42371:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c7429","id":12484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42460:81:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c25de3e541d5d970f66e4210d728721220fff5c077cc6cd008b3a0c62adab7","typeString":"literal_string \"EIP712Domain(string name,string version,address verifyingContract,bytes32 salt)\""},"value":"EIP712Domain(string name,string version,address verifyingContract,bytes32 salt)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c25de3e541d5d970f66e4210d728721220fff5c077cc6cd008b3a0c62adab7","typeString":"literal_string \"EIP712Domain(string name,string version,address verifyingContract,bytes32 salt)\""}],"id":12483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42441:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12482,"name":"bytes","nodeType":"ElementaryTypeName","src":"42441:5:29","typeDescriptions":{}}},"id":12485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42441:110:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12481,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"42422:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42422:135:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12489,"mutability":"mutable","name":"domainSeperator","nameLocation":"42580:15:29","nodeType":"VariableDeclaration","scope":12582,"src":"42563:32:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12488,"name":"bytes32","nodeType":"ElementaryTypeName","src":"42563:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"body":{"id":12503,"nodeType":"Block","src":"42925:51:29","statements":[{"expression":{"arguments":[{"id":12499,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12491,"src":"42955:4:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12500,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12493,"src":"42961:7:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12498,"name":"_setDomainSeperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12542,"src":"42935:19:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":12501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42935:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12502,"nodeType":"ExpressionStatement","src":"42935:34:29"}]},"id":12504,"implemented":true,"kind":"function","modifiers":[{"id":12496,"kind":"modifierInvocation","modifierName":{"id":12495,"name":"initializer","nameLocations":["42909:11:29"],"nodeType":"IdentifierPath","referencedDeclaration":12466,"src":"42909:11:29"},"nodeType":"ModifierInvocation","src":"42909:11:29"}],"name":"_initializeEIP712","nameLocation":"42801:17:29","nodeType":"FunctionDefinition","parameters":{"id":12494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12491,"mutability":"mutable","name":"name","nameLocation":"42842:4:29","nodeType":"VariableDeclaration","scope":12504,"src":"42828:18:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12490,"name":"string","nodeType":"ElementaryTypeName","src":"42828:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12493,"mutability":"mutable","name":"version","nameLocation":"42870:7:29","nodeType":"VariableDeclaration","scope":12504,"src":"42856:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12492,"name":"string","nodeType":"ElementaryTypeName","src":"42856:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42818:65:29"},"returnParameters":{"id":12497,"nodeType":"ParameterList","parameters":[],"src":"42925:0:29"},"scope":12582,"src":"42792:184:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12541,"nodeType":"Block","src":"43063:285:29","statements":[{"expression":{"id":12539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12511,"name":"domainSeperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12489,"src":"43073:15:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":12515,"name":"EIP712_DOMAIN_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"43142:22:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":12519,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12506,"src":"43198:4:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43192:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12517,"name":"bytes","nodeType":"ElementaryTypeName","src":"43192:5:29","typeDescriptions":{}}},"id":12520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43192:11:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12516,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"43182:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43182:22:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":12525,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12508,"src":"43238:7:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43232:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12523,"name":"bytes","nodeType":"ElementaryTypeName","src":"43232:5:29","typeDescriptions":{}}},"id":12526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43232:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12522,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"43222:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43222:25:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":12530,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"43273:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_EIP712Base_$12582","typeString":"contract EIP712Base"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EIP712Base_$12582","typeString":"contract EIP712Base"}],"id":12529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43265:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12528,"name":"address","nodeType":"ElementaryTypeName","src":"43265:7:29","typeDescriptions":{}}},"id":12531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43265:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":12534,"name":"getChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12562,"src":"43304:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":12535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43304:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43296:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":12532,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43296:7:29","typeDescriptions":{}}},"id":12536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43296:21:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12513,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43114:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43118:6:29","memberName":"encode","nodeType":"MemberAccess","src":"43114:10:29","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43114:217:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12512,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"43091:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43091:250:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"43073:268:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12540,"nodeType":"ExpressionStatement","src":"43073:268:29"}]},"id":12542,"implemented":true,"kind":"function","modifiers":[],"name":"_setDomainSeperator","nameLocation":"42991:19:29","nodeType":"FunctionDefinition","parameters":{"id":12509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12506,"mutability":"mutable","name":"name","nameLocation":"43025:4:29","nodeType":"VariableDeclaration","scope":12542,"src":"43011:18:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12505,"name":"string","nodeType":"ElementaryTypeName","src":"43011:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12508,"mutability":"mutable","name":"version","nameLocation":"43045:7:29","nodeType":"VariableDeclaration","scope":12542,"src":"43031:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12507,"name":"string","nodeType":"ElementaryTypeName","src":"43031:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43010:43:29"},"returnParameters":{"id":12510,"nodeType":"ParameterList","parameters":[],"src":"43063:0:29"},"scope":12582,"src":"42982:366:29","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":12549,"nodeType":"Block","src":"43414:39:29","statements":[{"expression":{"id":12547,"name":"domainSeperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12489,"src":"43431:15:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12546,"id":12548,"nodeType":"Return","src":"43424:22:29"}]},"functionSelector":"20379ee5","id":12550,"implemented":true,"kind":"function","modifiers":[],"name":"getDomainSeperator","nameLocation":"43363:18:29","nodeType":"FunctionDefinition","parameters":{"id":12543,"nodeType":"ParameterList","parameters":[],"src":"43381:2:29"},"returnParameters":{"id":12546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12545,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12550,"src":"43405:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"43405:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"43404:9:29"},"scope":12582,"src":"43354:99:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12561,"nodeType":"Block","src":"43511:103:29","statements":[{"assignments":[12556],"declarations":[{"constant":false,"id":12556,"mutability":"mutable","name":"id","nameLocation":"43529:2:29","nodeType":"VariableDeclaration","scope":12561,"src":"43521:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12555,"name":"uint256","nodeType":"ElementaryTypeName","src":"43521:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12557,"nodeType":"VariableDeclarationStatement","src":"43521:10:29"},{"AST":{"nodeType":"YulBlock","src":"43550:39:29","statements":[{"nodeType":"YulAssignment","src":"43564:15:29","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"43570:7:29"},"nodeType":"YulFunctionCall","src":"43570:9:29"},"variableNames":[{"name":"id","nodeType":"YulIdentifier","src":"43564:2:29"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":12556,"isOffset":false,"isSlot":false,"src":"43564:2:29","valueSize":1}],"id":12558,"nodeType":"InlineAssembly","src":"43541:48:29"},{"expression":{"id":12559,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12556,"src":"43605:2:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12554,"id":12560,"nodeType":"Return","src":"43598:9:29"}]},"functionSelector":"3408e470","id":12562,"implemented":true,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"43468:10:29","nodeType":"FunctionDefinition","parameters":{"id":12551,"nodeType":"ParameterList","parameters":[],"src":"43478:2:29"},"returnParameters":{"id":12554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12562,"src":"43502:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12552,"name":"uint256","nodeType":"ElementaryTypeName","src":"43502:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43501:9:29"},"scope":12582,"src":"43459:155:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12580,"nodeType":"Block","src":"44083:140:29","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"1901","id":12573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44156:10:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":12574,"name":"getDomainSeperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"44168:18:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":12575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44168:20:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12576,"name":"messageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12565,"src":"44190:11:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12571,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44139:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44143:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"44139:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44139:63:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12570,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"44112:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44112:104:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12569,"id":12579,"nodeType":"Return","src":"44093:123:29"}]},"documentation":{"id":12563,"nodeType":"StructuredDocumentation","src":"43620:349:29","text":" Accept message hash and returns hash message in EIP712 compatible form\n So that it can be used to recover signer from signature signed using EIP712 formatted data\n https://eips.ethereum.org/EIPS/eip-712\n \"\\\\x19\" makes the encoding deterministic\n \"\\\\x01\" is the version byte to make it compatible to EIP-191"},"id":12581,"implemented":true,"kind":"function","modifiers":[],"name":"toTypedMessageHash","nameLocation":"43983:18:29","nodeType":"FunctionDefinition","parameters":{"id":12566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12565,"mutability":"mutable","name":"messageHash","nameLocation":"44010:11:29","nodeType":"VariableDeclaration","scope":12581,"src":"44002:19:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12564,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44002:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"44001:21:29"},"returnParameters":{"id":12569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12568,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12581,"src":"44070:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44070:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"44069:9:29"},"scope":12582,"src":"43974:249:29","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":13131,"src":"42193:2032:29","usedErrors":[],"usedEvents":[]},{"id":12583,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"44280:24:29"},{"abstract":false,"baseContracts":[{"baseName":{"id":12584,"name":"EIP712Base","nameLocations":["44342:10:29"],"nodeType":"IdentifierPath","referencedDeclaration":12582,"src":"44342:10:29"},"id":12585,"nodeType":"InheritanceSpecifier","src":"44342:10:29"}],"canonicalName":"NativeMetaTransaction","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12776,"linearizedBaseContracts":[12776,12582,12467],"name":"NativeMetaTransaction","nameLocation":"44317:21:29","nodeType":"ContractDefinition","nodes":[{"global":false,"id":12588,"libraryName":{"id":12586,"name":"SafeMath","nameLocations":["44365:8:29"],"nodeType":"IdentifierPath","referencedDeclaration":10961,"src":"44365:8:29"},"nodeType":"UsingForDirective","src":"44359:27:29","typeName":{"id":12587,"name":"uint256","nodeType":"ElementaryTypeName","src":"44378:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":12596,"mutability":"constant","name":"META_TRANSACTION_TYPEHASH","nameLocation":"44416:25:29","nodeType":"VariableDeclaration","scope":12776,"src":"44391:176:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12589,"name":"bytes32","nodeType":"ElementaryTypeName","src":"44391:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"arguments":[{"hexValue":"4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529","id":12593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44482:69:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_23d10def3caacba2e4042e0c75d44a42d2558aabcf5ce951d0642a8032e1e653","typeString":"literal_string \"MetaTransaction(uint256 nonce,address from,bytes functionSignature)\""},"value":"MetaTransaction(uint256 nonce,address from,bytes functionSignature)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23d10def3caacba2e4042e0c75d44a42d2558aabcf5ce951d0642a8032e1e653","typeString":"literal_string \"MetaTransaction(uint256 nonce,address from,bytes functionSignature)\""}],"id":12592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44463:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":12591,"name":"bytes","nodeType":"ElementaryTypeName","src":"44463:5:29","typeDescriptions":{}}},"id":12594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44463:98:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12590,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"44444:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44444:123:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"anonymous":false,"eventSelector":"5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b","id":12604,"name":"MetaTransactionExecuted","nameLocation":"44579:23:29","nodeType":"EventDefinition","parameters":{"id":12603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12598,"indexed":false,"mutability":"mutable","name":"userAddress","nameLocation":"44620:11:29","nodeType":"VariableDeclaration","scope":12604,"src":"44612:19:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12597,"name":"address","nodeType":"ElementaryTypeName","src":"44612:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12600,"indexed":false,"mutability":"mutable","name":"relayerAddress","nameLocation":"44657:14:29","nodeType":"VariableDeclaration","scope":12604,"src":"44641:30:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":12599,"name":"address","nodeType":"ElementaryTypeName","src":"44641:15:29","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":12602,"indexed":false,"mutability":"mutable","name":"functionSignature","nameLocation":"44687:17:29","nodeType":"VariableDeclaration","scope":12604,"src":"44681:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12601,"name":"bytes","nodeType":"ElementaryTypeName","src":"44681:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"44602:108:29"},"src":"44573:138:29"},{"constant":false,"id":12608,"mutability":"mutable","name":"nonces","nameLocation":"44744:6:29","nodeType":"VariableDeclaration","scope":12776,"src":"44716:34:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":12607,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":12605,"name":"address","nodeType":"ElementaryTypeName","src":"44724:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"44716:27:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":12606,"name":"uint256","nodeType":"ElementaryTypeName","src":"44735:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"canonicalName":"NativeMetaTransaction.MetaTransaction","id":12615,"members":[{"constant":false,"id":12610,"mutability":"mutable","name":"nonce","nameLocation":"45032:5:29","nodeType":"VariableDeclaration","scope":12615,"src":"45024:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12609,"name":"uint256","nodeType":"ElementaryTypeName","src":"45024:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12612,"mutability":"mutable","name":"from","nameLocation":"45055:4:29","nodeType":"VariableDeclaration","scope":12615,"src":"45047:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12611,"name":"address","nodeType":"ElementaryTypeName","src":"45047:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12614,"mutability":"mutable","name":"functionSignature","nameLocation":"45075:17:29","nodeType":"VariableDeclaration","scope":12615,"src":"45069:23:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12613,"name":"bytes","nodeType":"ElementaryTypeName","src":"45069:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"MetaTransaction","nameLocation":"44998:15:29","nodeType":"StructDefinition","scope":12776,"src":"44991:108:29","visibility":"public"},{"body":{"id":12696,"nodeType":"Block","src":"45314:908:29","statements":[{"assignments":[12632],"declarations":[{"constant":false,"id":12632,"mutability":"mutable","name":"metaTx","nameLocation":"45347:6:29","nodeType":"VariableDeclaration","scope":12696,"src":"45324:29:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction"},"typeName":{"id":12631,"nodeType":"UserDefinedTypeName","pathNode":{"id":12630,"name":"MetaTransaction","nameLocations":["45324:15:29"],"nodeType":"IdentifierPath","referencedDeclaration":12615,"src":"45324:15:29"},"referencedDeclaration":12615,"src":"45324:15:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_storage_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction"}},"visibility":"internal"}],"id":12640,"initialValue":{"arguments":[{"baseExpression":{"id":12634,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"45393:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":12636,"indexExpression":{"id":12635,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"45400:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45393:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12637,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"45432:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12638,"name":"functionSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12619,"src":"45476:17:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12633,"name":"MetaTransaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12615,"src":"45356:15:29","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_MetaTransaction_$12615_storage_ptr_$","typeString":"type(struct NativeMetaTransaction.MetaTransaction storage pointer)"}},"id":12639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["45386:5:29","45426:4:29","45457:17:29"],"names":["nonce","from","functionSignature"],"nodeType":"FunctionCall","src":"45356:148:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}},"nodeType":"VariableDeclarationStatement","src":"45324:180:29"},{"expression":{"arguments":[{"arguments":[{"id":12643,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"45543:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12644,"name":"metaTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12632,"src":"45556:6:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}},{"id":12645,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12621,"src":"45564:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12646,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12623,"src":"45570:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12647,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12625,"src":"45576:4:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12642,"name":"verify","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12775,"src":"45536:6:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_struct$_MetaTransaction_$12615_memory_ptr_$_t_bytes32_$_t_bytes32_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,struct NativeMetaTransaction.MetaTransaction memory,bytes32,bytes32,uint8) view returns (bool)"}},"id":12648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45536:45:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5369676e657220616e64207369676e617475726520646f206e6f74206d61746368","id":12649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45595:35:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda","typeString":"literal_string \"Signer and signature do not match\""},"value":"Signer and signature do not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda","typeString":"literal_string \"Signer and signature do not match\""}],"id":12641,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"45515:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45515:125:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12651,"nodeType":"ExpressionStatement","src":"45515:125:29"},{"expression":{"id":12661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":12652,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"45704:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":12654,"indexExpression":{"id":12653,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"45711:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"45704:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":12659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45750:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"baseExpression":{"id":12655,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"45726:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":12657,"indexExpression":{"id":12656,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"45733:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"45726:19:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45746:3:29","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":10794,"src":"45726:23:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":12660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45726:26:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45704:48:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12662,"nodeType":"ExpressionStatement","src":"45704:48:29"},{"eventCall":{"arguments":[{"id":12664,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"45805:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":12667,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"45838:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"45842:6:29","memberName":"sender","nodeType":"MemberAccess","src":"45838:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"45830:8:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":12665,"name":"address","nodeType":"ElementaryTypeName","src":"45830:8:29","stateMutability":"payable","typeDescriptions":{}}},"id":12669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45830:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":12670,"name":"functionSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12619,"src":"45863:17:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12663,"name":"MetaTransactionExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12604,"src":"45768:23:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_payable_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address payable,bytes memory)"}},"id":12671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45768:122:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12672,"nodeType":"EmitStatement","src":"45763:127:29"},{"assignments":[12674,12676],"declarations":[{"constant":false,"id":12674,"mutability":"mutable","name":"success","nameLocation":"46003:7:29","nodeType":"VariableDeclaration","scope":12696,"src":"45998:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12673,"name":"bool","nodeType":"ElementaryTypeName","src":"45998:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12676,"mutability":"mutable","name":"returnData","nameLocation":"46025:10:29","nodeType":"VariableDeclaration","scope":12696,"src":"46012:23:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12675,"name":"bytes","nodeType":"ElementaryTypeName","src":"46012:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12688,"initialValue":{"arguments":[{"arguments":[{"id":12684,"name":"functionSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12619,"src":"46088:17:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":12685,"name":"userAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12617,"src":"46107:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46071:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46075:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"46071:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46071:48:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":12679,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"46047:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_NativeMetaTransaction_$12776","typeString":"contract NativeMetaTransaction"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NativeMetaTransaction_$12776","typeString":"contract NativeMetaTransaction"}],"id":12678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46039:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12677,"name":"address","nodeType":"ElementaryTypeName","src":"46039:7:29","typeDescriptions":{}}},"id":12680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46039:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"46053:4:29","memberName":"call","nodeType":"MemberAccess","src":"46039:18:29","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":12687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46039:90:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"45997:132:29"},{"expression":{"arguments":[{"id":12690,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12674,"src":"46147:7:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"46756e6374696f6e2063616c6c206e6f74207375636365737366756c","id":12691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46156:30:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3","typeString":"literal_string \"Function call not successful\""},"value":"Function call not successful"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3","typeString":"literal_string \"Function call not successful\""}],"id":12689,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"46139:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46139:48:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12693,"nodeType":"ExpressionStatement","src":"46139:48:29"},{"expression":{"id":12694,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12676,"src":"46205:10:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12629,"id":12695,"nodeType":"Return","src":"46198:17:29"}]},"functionSelector":"0c53c51c","id":12697,"implemented":true,"kind":"function","modifiers":[],"name":"executeMetaTransaction","nameLocation":"45114:22:29","nodeType":"FunctionDefinition","parameters":{"id":12626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12617,"mutability":"mutable","name":"userAddress","nameLocation":"45154:11:29","nodeType":"VariableDeclaration","scope":12697,"src":"45146:19:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12616,"name":"address","nodeType":"ElementaryTypeName","src":"45146:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12619,"mutability":"mutable","name":"functionSignature","nameLocation":"45188:17:29","nodeType":"VariableDeclaration","scope":12697,"src":"45175:30:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12618,"name":"bytes","nodeType":"ElementaryTypeName","src":"45175:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12621,"mutability":"mutable","name":"sigR","nameLocation":"45223:4:29","nodeType":"VariableDeclaration","scope":12697,"src":"45215:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45215:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12623,"mutability":"mutable","name":"sigS","nameLocation":"45245:4:29","nodeType":"VariableDeclaration","scope":12697,"src":"45237:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"45237:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12625,"mutability":"mutable","name":"sigV","nameLocation":"45265:4:29","nodeType":"VariableDeclaration","scope":12697,"src":"45259:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12624,"name":"uint8","nodeType":"ElementaryTypeName","src":"45259:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"45136:139:29"},"returnParameters":{"id":12629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12697,"src":"45300:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12627,"name":"bytes","nodeType":"ElementaryTypeName","src":"45300:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"45299:14:29"},"scope":12776,"src":"45105:1117:29","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":12720,"nodeType":"Block","src":"46348:276:29","statements":[{"expression":{"arguments":[{"arguments":[{"id":12708,"name":"META_TRANSACTION_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12596,"src":"46436:25:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":12709,"name":"metaTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"46483:6:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}},"id":12710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46490:5:29","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":12610,"src":"46483:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":12711,"name":"metaTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"46517:6:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}},"id":12712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46524:4:29","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":12612,"src":"46517:11:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":12714,"name":"metaTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12700,"src":"46560:6:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}},"id":12715,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"46567:17:29","memberName":"functionSignature","nodeType":"MemberAccess","referencedDeclaration":12614,"src":"46560:24:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12713,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"46550:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46550:35:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12706,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46404:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46408:6:29","memberName":"encode","nodeType":"MemberAccess","src":"46404:10:29","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46404:199:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12705,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"46377:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46377:240:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12704,"id":12719,"nodeType":"Return","src":"46358:259:29"}]},"id":12721,"implemented":true,"kind":"function","modifiers":[],"name":"hashMetaTransaction","nameLocation":"46237:19:29","nodeType":"FunctionDefinition","parameters":{"id":12701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12700,"mutability":"mutable","name":"metaTx","nameLocation":"46280:6:29","nodeType":"VariableDeclaration","scope":12721,"src":"46257:29:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction"},"typeName":{"id":12699,"nodeType":"UserDefinedTypeName","pathNode":{"id":12698,"name":"MetaTransaction","nameLocations":["46257:15:29"],"nodeType":"IdentifierPath","referencedDeclaration":12615,"src":"46257:15:29"},"referencedDeclaration":12615,"src":"46257:15:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_storage_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction"}},"visibility":"internal"}],"src":"46256:31:29"},"returnParameters":{"id":12704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12703,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12721,"src":"46335:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12702,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46335:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"46334:9:29"},"scope":12776,"src":"46228:396:29","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12734,"nodeType":"Block","src":"46698:37:29","statements":[{"expression":{"id":12732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12728,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"46708:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":12729,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"46716:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":12731,"indexExpression":{"id":12730,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"46723:4:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"46716:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46708:20:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12733,"nodeType":"ExpressionStatement","src":"46708:20:29"}]},"functionSelector":"2d0335ab","id":12735,"implemented":true,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"46639:8:29","nodeType":"FunctionDefinition","parameters":{"id":12724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12723,"mutability":"mutable","name":"user","nameLocation":"46656:4:29","nodeType":"VariableDeclaration","scope":12735,"src":"46648:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12722,"name":"address","nodeType":"ElementaryTypeName","src":"46648:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46647:14:29"},"returnParameters":{"id":12727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12726,"mutability":"mutable","name":"nonce","nameLocation":"46691:5:29","nodeType":"VariableDeclaration","scope":12735,"src":"46683:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12725,"name":"uint256","nodeType":"ElementaryTypeName","src":"46683:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46682:15:29"},"scope":12776,"src":"46630:105:29","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":12774,"nodeType":"Block","src":"46919:292:29","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12752,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12737,"src":"46937:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":12755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46955:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":12754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"46947:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12753,"name":"address","nodeType":"ElementaryTypeName","src":"46947:7:29","typeDescriptions":{}}},"id":12756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46947:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"46937:20:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5349474e4552","id":12758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46959:39:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273","typeString":"literal_string \"NativeMetaTransaction: INVALID_SIGNER\""},"value":"NativeMetaTransaction: INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273","typeString":"literal_string \"NativeMetaTransaction: INVALID_SIGNER\""}],"id":12751,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"46929:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46929:70:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12760,"nodeType":"ExpressionStatement","src":"46929:70:29"},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12761,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12737,"src":"47028:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"arguments":[{"id":12765,"name":"metaTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"47116:6:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction memory"}],"id":12764,"name":"hashMetaTransaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12721,"src":"47096:19:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_MetaTransaction_$12615_memory_ptr_$returns$_t_bytes32_$","typeString":"function (struct NativeMetaTransaction.MetaTransaction memory) pure returns (bytes32)"}},"id":12766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47096:27:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12763,"name":"toTypedMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12581,"src":"47077:18:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":12767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47077:47:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12768,"name":"sigV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12746,"src":"47142:4:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":12769,"name":"sigR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"47164:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12770,"name":"sigS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"47186:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12762,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"47050:9:29","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":12771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47050:154:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47028:176:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12750,"id":12773,"nodeType":"Return","src":"47009:195:29"}]},"id":12775,"implemented":true,"kind":"function","modifiers":[],"name":"verify","nameLocation":"46750:6:29","nodeType":"FunctionDefinition","parameters":{"id":12747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12737,"mutability":"mutable","name":"signer","nameLocation":"46774:6:29","nodeType":"VariableDeclaration","scope":12775,"src":"46766:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12736,"name":"address","nodeType":"ElementaryTypeName","src":"46766:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12740,"mutability":"mutable","name":"metaTx","nameLocation":"46813:6:29","nodeType":"VariableDeclaration","scope":12775,"src":"46790:29:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_memory_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction"},"typeName":{"id":12739,"nodeType":"UserDefinedTypeName","pathNode":{"id":12738,"name":"MetaTransaction","nameLocations":["46790:15:29"],"nodeType":"IdentifierPath","referencedDeclaration":12615,"src":"46790:15:29"},"referencedDeclaration":12615,"src":"46790:15:29","typeDescriptions":{"typeIdentifier":"t_struct$_MetaTransaction_$12615_storage_ptr","typeString":"struct NativeMetaTransaction.MetaTransaction"}},"visibility":"internal"},{"constant":false,"id":12742,"mutability":"mutable","name":"sigR","nameLocation":"46837:4:29","nodeType":"VariableDeclaration","scope":12775,"src":"46829:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46829:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12744,"mutability":"mutable","name":"sigS","nameLocation":"46859:4:29","nodeType":"VariableDeclaration","scope":12775,"src":"46851:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"46851:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12746,"mutability":"mutable","name":"sigV","nameLocation":"46879:4:29","nodeType":"VariableDeclaration","scope":12775,"src":"46873:10:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12745,"name":"uint8","nodeType":"ElementaryTypeName","src":"46873:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"46756:133:29"},"returnParameters":{"id":12750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12775,"src":"46913:4:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12748,"name":"bool","nodeType":"ElementaryTypeName","src":"46913:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46912:6:29"},"scope":12776,"src":"46741:470:29","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":13131,"src":"44308:2905:29","usedErrors":[],"usedEvents":[12604]},{"id":12777,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"47254:24:29"},{"abstract":false,"baseContracts":[],"canonicalName":"ChainConstants","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12793,"linearizedBaseContracts":[12793],"name":"ChainConstants","nameLocation":"47289:14:29","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"0f7e5970","id":12780,"mutability":"constant","name":"ERC712_VERSION","nameLocation":"47333:14:29","nodeType":"VariableDeclaration","scope":12793,"src":"47310:43:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12778,"name":"string","nodeType":"ElementaryTypeName","src":"47310:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"31","id":12779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47350:3:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"},"visibility":"public"},{"constant":true,"functionSelector":"8acfcaf7","id":12783,"mutability":"constant","name":"ROOT_CHAIN_ID","nameLocation":"47384:13:29","nodeType":"VariableDeclaration","scope":12793,"src":"47360:41:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12781,"name":"uint256","nodeType":"ElementaryTypeName","src":"47360:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":12782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47400:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"public"},{"constant":true,"functionSelector":"0dd7531a","id":12786,"mutability":"constant","name":"ROOT_CHAIN_ID_BYTES","nameLocation":"47429:19:29","nodeType":"VariableDeclaration","scope":12793,"src":"47407:51:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12784,"name":"bytes","nodeType":"ElementaryTypeName","src":"47407:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"hexValue":"01","id":12785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"47451:7:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_5fe7f977e71dba2ea1a68e21057beebb9be2ac30c6410aa38d4f3fbe41dcffd2","typeString":"literal_string hex\"01\""},"value":"\u0001"},"visibility":"public"},{"constant":true,"functionSelector":"626381a0","id":12789,"mutability":"constant","name":"CHILD_CHAIN_ID","nameLocation":"47489:14:29","nodeType":"VariableDeclaration","scope":12793,"src":"47465:44:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12787,"name":"uint256","nodeType":"ElementaryTypeName","src":"47465:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313337","id":12788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47506:3:29","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},"visibility":"public"},{"constant":true,"functionSelector":"0b54817c","id":12792,"mutability":"constant","name":"CHILD_CHAIN_ID_BYTES","nameLocation":"47537:20:29","nodeType":"VariableDeclaration","scope":12793,"src":"47515:52:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12790,"name":"bytes","nodeType":"ElementaryTypeName","src":"47515:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"hexValue":"89","id":12791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"47560:7:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_75dd4ce35898634c43d8e291c5edc041d288f0c0a531e92d5528804add589d1f","typeString":"literal_string hex\"89\""}},"visibility":"public"}],"scope":13131,"src":"47280:290:29","usedErrors":[],"usedEvents":[]},{"id":12794,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"47616:24:29"},{"abstract":true,"baseContracts":[],"canonicalName":"ContextMixin","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12833,"linearizedBaseContracts":[12833],"name":"ContextMixin","nameLocation":"47660:12:29","nodeType":"ContractDefinition","nodes":[{"body":{"id":12831,"nodeType":"Block","src":"47775:535:29","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":12805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":12799,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47789:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47793:6:29","memberName":"sender","nodeType":"MemberAccess","src":"47789:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":12803,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"47811:4:29","typeDescriptions":{"typeIdentifier":"t_contract$_ContextMixin_$12833","typeString":"contract ContextMixin"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ContextMixin_$12833","typeString":"contract ContextMixin"}],"id":12802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"47803:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12801,"name":"address","nodeType":"ElementaryTypeName","src":"47803:7:29","typeDescriptions":{}}},"id":12804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47803:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"47789:27:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":12827,"nodeType":"Block","src":"48228:53:29","statements":[{"expression":{"id":12825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12819,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12797,"src":"48242:6:29","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":12822,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"48259:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"48263:6:29","memberName":"sender","nodeType":"MemberAccess","src":"48259:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"48251:8:29","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":12820,"name":"address","nodeType":"ElementaryTypeName","src":"48251:8:29","stateMutability":"payable","typeDescriptions":{}}},"id":12824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48251:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"48242:28:29","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":12826,"nodeType":"ExpressionStatement","src":"48242:28:29"}]},"id":12828,"nodeType":"IfStatement","src":"47785:496:29","trueBody":{"id":12818,"nodeType":"Block","src":"47818:404:29","statements":[{"assignments":[12807],"declarations":[{"constant":false,"id":12807,"mutability":"mutable","name":"array","nameLocation":"47845:5:29","nodeType":"VariableDeclaration","scope":12818,"src":"47832:18:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12806,"name":"bytes","nodeType":"ElementaryTypeName","src":"47832:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":12810,"initialValue":{"expression":{"id":12808,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47853:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47857:4:29","memberName":"data","nodeType":"MemberAccess","src":"47853:8:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"nodeType":"VariableDeclarationStatement","src":"47832:29:29"},{"assignments":[12812],"declarations":[{"constant":false,"id":12812,"mutability":"mutable","name":"index","nameLocation":"47883:5:29","nodeType":"VariableDeclaration","scope":12818,"src":"47875:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12811,"name":"uint256","nodeType":"ElementaryTypeName","src":"47875:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12816,"initialValue":{"expression":{"expression":{"id":12813,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"47891:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47895:4:29","memberName":"data","nodeType":"MemberAccess","src":"47891:8:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":12815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"47900:6:29","memberName":"length","nodeType":"MemberAccess","src":"47891:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47875:31:29"},{"AST":{"nodeType":"YulBlock","src":"47929:283:29","statements":[{"nodeType":"YulAssignment","src":"48057:141:29","value":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"48102:5:29"},{"name":"index","nodeType":"YulIdentifier","src":"48109:5:29"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"48098:3:29"},"nodeType":"YulFunctionCall","src":"48098:17:29"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"48092:5:29"},"nodeType":"YulFunctionCall","src":"48092:24:29"},{"kind":"number","nodeType":"YulLiteral","src":"48138:42:29","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"48067:3:29"},"nodeType":"YulFunctionCall","src":"48067:131:29"},"variableNames":[{"name":"sender","nodeType":"YulIdentifier","src":"48057:6:29"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":12807,"isOffset":false,"isSlot":false,"src":"48102:5:29","valueSize":1},{"declaration":12812,"isOffset":false,"isSlot":false,"src":"48109:5:29","valueSize":1},{"declaration":12797,"isOffset":false,"isSlot":false,"src":"48057:6:29","valueSize":1}],"id":12817,"nodeType":"InlineAssembly","src":"47920:292:29"}]}},{"expression":{"id":12829,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12797,"src":"48297:6:29","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":12798,"id":12830,"nodeType":"Return","src":"48290:13:29"}]},"id":12832,"implemented":true,"kind":"function","modifiers":[],"name":"msgSender","nameLocation":"47688:9:29","nodeType":"FunctionDefinition","parameters":{"id":12795,"nodeType":"ParameterList","parameters":[],"src":"47697:2:29"},"returnParameters":{"id":12798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12797,"mutability":"mutable","name":"sender","nameLocation":"47763:6:29","nodeType":"VariableDeclaration","scope":12832,"src":"47747:22:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":12796,"name":"address","nodeType":"ElementaryTypeName","src":"47747:15:29","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"47746:24:29"},"scope":12833,"src":"47679:631:29","stateMutability":"view","virtual":false,"visibility":"internal"}],"scope":13131,"src":"47642:670:29","usedErrors":[],"usedEvents":[]},{"id":12834,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"48389:24:29"},{"abstract":false,"baseContracts":[{"baseName":{"id":12835,"name":"ERC20","nameLocations":["48444:5:29"],"nodeType":"IdentifierPath","referencedDeclaration":11696,"src":"48444:5:29"},"id":12836,"nodeType":"InheritanceSpecifier","src":"48444:5:29"},{"baseName":{"id":12837,"name":"IChildToken","nameLocations":["48455:11:29"],"nodeType":"IdentifierPath","referencedDeclaration":12448,"src":"48455:11:29"},"id":12838,"nodeType":"InheritanceSpecifier","src":"48455:11:29"},{"baseName":{"id":12839,"name":"AccessControlMixin","nameLocations":["48472:18:29"],"nodeType":"IdentifierPath","referencedDeclaration":12439,"src":"48472:18:29"},"id":12840,"nodeType":"InheritanceSpecifier","src":"48472:18:29"},{"baseName":{"id":12841,"name":"NativeMetaTransaction","nameLocations":["48496:21:29"],"nodeType":"IdentifierPath","referencedDeclaration":12776,"src":"48496:21:29"},"id":12842,"nodeType":"InheritanceSpecifier","src":"48496:21:29"},{"baseName":{"id":12843,"name":"ChainConstants","nameLocations":["48523:14:29"],"nodeType":"IdentifierPath","referencedDeclaration":12793,"src":"48523:14:29"},"id":12844,"nodeType":"InheritanceSpecifier","src":"48523:14:29"},{"baseName":{"id":12845,"name":"ContextMixin","nameLocations":["48543:12:29"],"nodeType":"IdentifierPath","referencedDeclaration":12833,"src":"48543:12:29"},"id":12846,"nodeType":"InheritanceSpecifier","src":"48543:12:29"}],"canonicalName":"UChildERC20","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":12984,"linearizedBaseContracts":[12984,12833,12793,12776,12582,12467,12439,12401,12448,11696,10766,10689],"name":"UChildERC20","nameLocation":"48425:11:29","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"a3b0b5a3","id":12851,"mutability":"constant","name":"DEPOSITOR_ROLE","nameLocation":"48586:14:29","nodeType":"VariableDeclaration","scope":12984,"src":"48562:68:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"48562:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4445504f5349544f525f524f4c45","id":12849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48613:16:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9","typeString":"literal_string \"DEPOSITOR_ROLE\""},"value":"DEPOSITOR_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9","typeString":"literal_string \"DEPOSITOR_ROLE\""}],"id":12848,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"48603:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48603:27:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"body":{"id":12858,"nodeType":"Block","src":"48671:2:29","statements":[]},"id":12859,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"444149","id":12854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48657:5:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5e92f3efb6826155f1f728e162af9d7cda33a574a1153b58f03ea01cc37e568","typeString":"literal_string \"DAI\""},"value":"DAI"},{"hexValue":"444149","id":12855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48664:5:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5e92f3efb6826155f1f728e162af9d7cda33a574a1153b58f03ea01cc37e568","typeString":"literal_string \"DAI\""},"value":"DAI"}],"id":12856,"kind":"baseConstructorSpecifier","modifierName":{"id":12853,"name":"ERC20","nameLocations":["48651:5:29"],"nodeType":"IdentifierPath","referencedDeclaration":11696,"src":"48651:5:29"},"nodeType":"ModifierInvocation","src":"48651:19:29"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":12852,"nodeType":"ParameterList","parameters":[],"src":"48648:2:29"},"returnParameters":{"id":12857,"nodeType":"ParameterList","parameters":[],"src":"48671:0:29"},"scope":12984,"src":"48637:36:29","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":12912,"nodeType":"Block","src":"49018:306:29","statements":[{"expression":{"arguments":[{"id":12874,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12862,"src":"49034:5:29","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":12873,"name":"setName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11234,"src":"49026:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":12875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49026:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12876,"nodeType":"ExpressionStatement","src":"49026:14:29"},{"expression":{"arguments":[{"id":12878,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12864,"src":"49058:7:29","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":12877,"name":"setSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11253,"src":"49048:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":12879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49048:18:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12880,"nodeType":"ExpressionStatement","src":"49048:18:29"},{"expression":{"arguments":[{"id":12882,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12866,"src":"49086:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":12881,"name":"setDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11272,"src":"49074:11:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint8_$returns$__$","typeString":"function (uint8)"}},"id":12883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49074:22:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12884,"nodeType":"ExpressionStatement","src":"49074:22:29"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"4368696c64","id":12890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49145:7:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93","typeString":"literal_string \"Child\""},"value":"Child"},{"id":12891,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12864,"src":"49154:7:29","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93","typeString":"literal_string \"Child\""},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"id":12888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49128:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49132:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"49128:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":12892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49128:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"49121:6:29","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":12886,"name":"string","nodeType":"ElementaryTypeName","src":"49121:6:29","typeDescriptions":{}}},"id":12893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49121:42:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12885,"name":"_setupContractId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12423,"src":"49104:16:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":12894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49104:60:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12895,"nodeType":"ExpressionStatement","src":"49104:60:29"},{"expression":{"arguments":[{"id":12897,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12144,"src":"49183:18:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":12898,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[12924],"referencedDeclaration":12924,"src":"49203:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49203:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":12896,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"49172:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49172:44:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12901,"nodeType":"ExpressionStatement","src":"49172:44:29"},{"expression":{"arguments":[{"id":12903,"name":"DEPOSITOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12851,"src":"49235:14:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":12904,"name":"childChainManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12868,"src":"49251:17:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":12902,"name":"_setupRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"49224:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":12905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49224:45:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12906,"nodeType":"ExpressionStatement","src":"49224:45:29"},{"expression":{"arguments":[{"id":12908,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12862,"src":"49295:5:29","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":12909,"name":"ERC712_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12780,"src":"49302:14:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12907,"name":"_initializeEIP712","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12504,"src":"49277:17:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":12910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49277:40:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12911,"nodeType":"ExpressionStatement","src":"49277:40:29"}]},"documentation":{"id":12860,"nodeType":"StructuredDocumentation","src":"48679:143:29","text":" @notice Initialize the contract after it has been proxified\n @dev meant to be called once immediately after deployment"},"functionSelector":"de7ea79d","id":12913,"implemented":true,"kind":"function","modifiers":[{"id":12871,"kind":"modifierInvocation","modifierName":{"id":12870,"name":"initializer","nameLocations":["49002:11:29"],"nodeType":"IdentifierPath","referencedDeclaration":12466,"src":"49002:11:29"},"nodeType":"ModifierInvocation","src":"49002:11:29"}],"name":"initialize","nameLocation":"48836:10:29","nodeType":"FunctionDefinition","parameters":{"id":12869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12862,"mutability":"mutable","name":"name_","nameLocation":"48872:5:29","nodeType":"VariableDeclaration","scope":12913,"src":"48856:21:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12861,"name":"string","nodeType":"ElementaryTypeName","src":"48856:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12864,"mutability":"mutable","name":"symbol_","nameLocation":"48903:7:29","nodeType":"VariableDeclaration","scope":12913,"src":"48887:23:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12863,"name":"string","nodeType":"ElementaryTypeName","src":"48887:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12866,"mutability":"mutable","name":"decimals_","nameLocation":"48926:9:29","nodeType":"VariableDeclaration","scope":12913,"src":"48920:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12865,"name":"uint8","nodeType":"ElementaryTypeName","src":"48920:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12868,"mutability":"mutable","name":"childChainManager","nameLocation":"48953:17:29","nodeType":"VariableDeclaration","scope":12913,"src":"48945:25:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12867,"name":"address","nodeType":"ElementaryTypeName","src":"48945:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48846:130:29"},"returnParameters":{"id":12872,"nodeType":"ParameterList","parameters":[],"src":"49018:0:29"},"scope":12984,"src":"48827:497:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[10677],"body":{"id":12923,"nodeType":"Block","src":"49558:48:29","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":12919,"name":"ContextMixin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12833,"src":"49575:12:29","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ContextMixin_$12833_$","typeString":"type(contract ContextMixin)"}},"id":12920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"49588:9:29","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":12832,"src":"49575:22:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49575:24:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":12918,"id":12922,"nodeType":"Return","src":"49568:31:29"}]},"id":12924,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"49453:10:29","nodeType":"FunctionDefinition","overrides":{"id":12915,"nodeType":"OverrideSpecifier","overrides":[],"src":"49491:8:29"},"parameters":{"id":12914,"nodeType":"ParameterList","parameters":[],"src":"49463:2:29"},"returnParameters":{"id":12918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12917,"mutability":"mutable","name":"sender","nameLocation":"49546:6:29","nodeType":"VariableDeclaration","scope":12924,"src":"49530:22:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":12916,"name":"address","nodeType":"ElementaryTypeName","src":"49530:15:29","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"49529:24:29"},"scope":12984,"src":"49444:162:29","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":12941,"nodeType":"Block","src":"49689:83:29","statements":[{"expression":{"arguments":[{"id":12933,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"49707:5:29","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":12932,"name":"setName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11234,"src":"49699:7:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":12934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49699:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12935,"nodeType":"ExpressionStatement","src":"49699:14:29"},{"expression":{"arguments":[{"id":12937,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12926,"src":"49743:5:29","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":12938,"name":"ERC712_VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12780,"src":"49750:14:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":12936,"name":"_setDomainSeperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12542,"src":"49723:19:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":12939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49723:42:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12940,"nodeType":"ExpressionStatement","src":"49723:42:29"}]},"functionSelector":"5353a2d8","id":12942,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12929,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12144,"src":"49669:18:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12930,"kind":"modifierInvocation","modifierName":{"id":12928,"name":"only","nameLocations":["49664:4:29"],"nodeType":"IdentifierPath","referencedDeclaration":12438,"src":"49664:4:29"},"nodeType":"ModifierInvocation","src":"49664:24:29"}],"name":"changeName","nameLocation":"49621:10:29","nodeType":"FunctionDefinition","parameters":{"id":12927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12926,"mutability":"mutable","name":"name_","nameLocation":"49648:5:29","nodeType":"VariableDeclaration","scope":12942,"src":"49632:21:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12925,"name":"string","nodeType":"ElementaryTypeName","src":"49632:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49631:23:29"},"returnParameters":{"id":12931,"nodeType":"ParameterList","parameters":[],"src":"49689:0:29"},"scope":12984,"src":"49612:160:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"baseFunctions":[12447],"body":{"id":12969,"nodeType":"Block","src":"50269:97:29","statements":[{"assignments":[12955],"declarations":[{"constant":false,"id":12955,"mutability":"mutable","name":"amount","nameLocation":"50287:6:29","nodeType":"VariableDeclaration","scope":12969,"src":"50279:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12954,"name":"uint256","nodeType":"ElementaryTypeName","src":"50279:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12963,"initialValue":{"arguments":[{"id":12958,"name":"depositData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12947,"src":"50307:11:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":12960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"50321:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12959,"name":"uint256","nodeType":"ElementaryTypeName","src":"50321:7:29","typeDescriptions":{}}}],"id":12961,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"50320:9:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":12956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50296:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50300:6:29","memberName":"decode","nodeType":"MemberAccess","src":"50296:10:29","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":12962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50296:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"50279:51:29"},{"expression":{"arguments":[{"id":12965,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12945,"src":"50346:4:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12966,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12955,"src":"50352:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12964,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"50340:5:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":12967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50340:19:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12968,"nodeType":"ExpressionStatement","src":"50340:19:29"}]},"documentation":{"id":12943,"nodeType":"StructuredDocumentation","src":"49778:360:29","text":" @notice called when token is deposited on root chain\n @dev Should be callable only by ChildChainManager\n Should handle deposit by minting the required amount for user\n Make sure minting is done only by this function\n @param user user address for whom deposit is being done\n @param depositData abi encoded amount"},"functionSelector":"cf2c52cb","id":12970,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":12951,"name":"DEPOSITOR_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12851,"src":"50249:14:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":12952,"kind":"modifierInvocation","modifierName":{"id":12950,"name":"only","nameLocations":["50244:4:29"],"nodeType":"IdentifierPath","referencedDeclaration":12438,"src":"50244:4:29"},"nodeType":"ModifierInvocation","src":"50244:20:29"}],"name":"deposit","nameLocation":"50152:7:29","nodeType":"FunctionDefinition","overrides":{"id":12949,"nodeType":"OverrideSpecifier","overrides":[],"src":"50227:8:29"},"parameters":{"id":12948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12945,"mutability":"mutable","name":"user","nameLocation":"50168:4:29","nodeType":"VariableDeclaration","scope":12970,"src":"50160:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12944,"name":"address","nodeType":"ElementaryTypeName","src":"50160:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12947,"mutability":"mutable","name":"depositData","nameLocation":"50189:11:29","nodeType":"VariableDeclaration","scope":12970,"src":"50174:26:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12946,"name":"bytes","nodeType":"ElementaryTypeName","src":"50174:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"50159:42:29"},"returnParameters":{"id":12953,"nodeType":"ParameterList","parameters":[],"src":"50269:0:29"},"scope":12984,"src":"50143:223:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":12982,"nodeType":"Block","src":"50657:44:29","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":12977,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[12924],"referencedDeclaration":12924,"src":"50673:10:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_payable_$","typeString":"function () view returns (address payable)"}},"id":12978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50673:12:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":12979,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12973,"src":"50687:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12976,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11628,"src":"50667:5:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":12980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50667:27:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12981,"nodeType":"ExpressionStatement","src":"50667:27:29"}]},"documentation":{"id":12971,"nodeType":"StructuredDocumentation","src":"50372:237:29","text":" @notice called when user wants to withdraw tokens back to root chain\n @dev Should burn user's tokens. This transaction will be verified when exiting on root chain\n @param amount amount of tokens to withdraw"},"functionSelector":"2e1a7d4d","id":12983,"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"50623:8:29","nodeType":"FunctionDefinition","parameters":{"id":12974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12973,"mutability":"mutable","name":"amount","nameLocation":"50640:6:29","nodeType":"VariableDeclaration","scope":12983,"src":"50632:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12972,"name":"uint256","nodeType":"ElementaryTypeName","src":"50632:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50631:16:29"},"returnParameters":{"id":12975,"nodeType":"ParameterList","parameters":[],"src":"50657:0:29"},"scope":12984,"src":"50614:87:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":13131,"src":"48416:2287:29","usedErrors":[],"usedEvents":[10756,10765,12153,12162,12171,12604]},{"id":12985,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"50767:24:29"},{"abstract":false,"baseContracts":[{"baseName":{"id":12986,"name":"UChildERC20","nameLocations":["50819:11:29"],"nodeType":"IdentifierPath","referencedDeclaration":12984,"src":"50819:11:29"},"id":12987,"nodeType":"InheritanceSpecifier","src":"50819:11:29"}],"canonicalName":"NofTestDAIV3","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":13130,"linearizedBaseContracts":[13130,12984,12833,12793,12776,12582,12467,12439,12401,12448,11696,10766,10689],"name":"NofTestDAIV3","nameLocation":"50803:12:29","nodeType":"ContractDefinition","nodes":[{"constant":true,"functionSelector":"30adf81f","id":12990,"mutability":"constant","name":"PERMIT_TYPEHASH","nameLocation":"51014:15:29","nodeType":"VariableDeclaration","scope":13130,"src":"50990:108:29","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12988,"name":"bytes32","nodeType":"ElementaryTypeName","src":"50990:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307865613261613061316265313161303765643836643735356339333436376634663832333632623435323337316431626139346431373135313233353131616362","id":12989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"51032:66:29","typeDescriptions":{"typeIdentifier":"t_rational_105916522785188513640362517802612480037966763957092682311465172263008277174987_by_1","typeString":"int_const 1059...(70 digits omitted)...4987"},"value":"0xea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb"},"visibility":"public"},{"body":{"id":13004,"nodeType":"Block","src":"51172:51:29","statements":[{"expression":{"arguments":[{"expression":{"id":12998,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51195:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":12999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51199:6:29","memberName":"sender","nodeType":"MemberAccess","src":"51195:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13000,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12992,"src":"51207:3:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13001,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12994,"src":"51212:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12997,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11394,"src":"51182:12:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":13002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51182:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13003,"nodeType":"ExpressionStatement","src":"51182:34:29"}]},"functionSelector":"b753a98c","id":13005,"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"51135:4:29","nodeType":"FunctionDefinition","parameters":{"id":12995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12992,"mutability":"mutable","name":"usr","nameLocation":"51148:3:29","nodeType":"VariableDeclaration","scope":13005,"src":"51140:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12991,"name":"address","nodeType":"ElementaryTypeName","src":"51140:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12994,"mutability":"mutable","name":"wad","nameLocation":"51158:3:29","nodeType":"VariableDeclaration","scope":13005,"src":"51153:8:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12993,"name":"uint","nodeType":"ElementaryTypeName","src":"51153:4:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51139:23:29"},"returnParameters":{"id":12996,"nodeType":"ParameterList","parameters":[],"src":"51172:0:29"},"scope":13130,"src":"51126:97:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":13019,"nodeType":"Block","src":"51274:51:29","statements":[{"expression":{"arguments":[{"id":13013,"name":"usr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13007,"src":"51297:3:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":13014,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"51302:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":13015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"51306:6:29","memberName":"sender","nodeType":"MemberAccess","src":"51302:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13016,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13009,"src":"51314:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13012,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11394,"src":"51284:12:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":13017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51284:34:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13018,"nodeType":"ExpressionStatement","src":"51284:34:29"}]},"functionSelector":"f2d5d56b","id":13020,"implemented":true,"kind":"function","modifiers":[],"name":"pull","nameLocation":"51237:4:29","nodeType":"FunctionDefinition","parameters":{"id":13010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13007,"mutability":"mutable","name":"usr","nameLocation":"51250:3:29","nodeType":"VariableDeclaration","scope":13020,"src":"51242:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13006,"name":"address","nodeType":"ElementaryTypeName","src":"51242:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13009,"mutability":"mutable","name":"wad","nameLocation":"51260:3:29","nodeType":"VariableDeclaration","scope":13020,"src":"51255:8:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13008,"name":"uint","nodeType":"ElementaryTypeName","src":"51255:4:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51241:23:29"},"returnParameters":{"id":13011,"nodeType":"ParameterList","parameters":[],"src":"51274:0:29"},"scope":13130,"src":"51228:97:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":13035,"nodeType":"Block","src":"51389:44:29","statements":[{"expression":{"arguments":[{"id":13030,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13022,"src":"51412:3:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13031,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13024,"src":"51417:3:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13032,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13026,"src":"51422:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13029,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11394,"src":"51399:12:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":13033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51399:27:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13034,"nodeType":"ExpressionStatement","src":"51399:27:29"}]},"functionSelector":"bb35783b","id":13036,"implemented":true,"kind":"function","modifiers":[],"name":"move","nameLocation":"51339:4:29","nodeType":"FunctionDefinition","parameters":{"id":13027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13022,"mutability":"mutable","name":"src","nameLocation":"51352:3:29","nodeType":"VariableDeclaration","scope":13036,"src":"51344:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13021,"name":"address","nodeType":"ElementaryTypeName","src":"51344:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13024,"mutability":"mutable","name":"dst","nameLocation":"51365:3:29","nodeType":"VariableDeclaration","scope":13036,"src":"51357:11:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13023,"name":"address","nodeType":"ElementaryTypeName","src":"51357:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13026,"mutability":"mutable","name":"wad","nameLocation":"51375:3:29","nodeType":"VariableDeclaration","scope":13036,"src":"51370:8:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13025,"name":"uint","nodeType":"ElementaryTypeName","src":"51370:4:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51343:36:29"},"returnParameters":{"id":13028,"nodeType":"ParameterList","parameters":[],"src":"51389:0:29"},"scope":13130,"src":"51330:103:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":13128,"nodeType":"Block","src":"51679:785:29","statements":[{"assignments":[13056],"declarations":[{"constant":false,"id":13056,"mutability":"mutable","name":"digest","nameLocation":"51697:6:29","nodeType":"VariableDeclaration","scope":13128,"src":"51689:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51689:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":13076,"initialValue":{"arguments":[{"arguments":[{"hexValue":"1901","id":13060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51763:10:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":13061,"name":"getDomainSeperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"51791:18:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":13062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51791:20:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":13066,"name":"PERMIT_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12990,"src":"51896:15:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13067,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"51937:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13068,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13040,"src":"51969:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13069,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13042,"src":"52002:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13070,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13044,"src":"52033:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13071,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13046,"src":"52065:7:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13064,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51860:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51864:6:29","memberName":"encode","nodeType":"MemberAccess","src":"51860:10:29","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51860:234:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13063,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"51829:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51829:283:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":13058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51729:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51733:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"51729:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51729:393:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13057,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"51706:9:29","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51706:417:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"51689:434:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":13085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13078,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"52142:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":13080,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13056,"src":"52162:6:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13081,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13048,"src":"52170:1:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":13082,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13050,"src":"52173:1:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13083,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13052,"src":"52176:1:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13079,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"52152:9:29","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":13084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52152:26:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"52142:36:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554368696c644441493a20494e56414c49442d5045524d4954","id":13086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52180:27:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_45370a5ff81ff8b69ed6d4f9504fc812f03a4070b510c274991c826bacdeee53","typeString":"literal_string \"UChildDAI: INVALID-PERMIT\""},"value":"UChildDAI: INVALID-PERMIT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45370a5ff81ff8b69ed6d4f9504fc812f03a4070b510c274991c826bacdeee53","typeString":"literal_string \"UChildDAI: INVALID-PERMIT\""}],"id":13077,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"52134:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52134:74:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13088,"nodeType":"ExpressionStatement","src":"52134:74:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":13097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13090,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13044,"src":"52226:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":13091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52236:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"52226:11:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":13093,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"52241:5:29","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":13094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"52247:9:29","memberName":"timestamp","nodeType":"MemberAccess","src":"52241:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":13095,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13044,"src":"52260:6:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52241:25:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"52226:40:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554368696c644441493a205045524d49542d45585049524544","id":13098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52268:27:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_533bba907ed2fe60e99644310afa76db6b814f4474db6d59c2f8affde1941afe","typeString":"literal_string \"UChildDAI: PERMIT-EXPIRED\""},"value":"UChildDAI: PERMIT-EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_533bba907ed2fe60e99644310afa76db6b814f4474db6d59c2f8affde1941afe","typeString":"literal_string \"UChildDAI: PERMIT-EXPIRED\""}],"id":13089,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"52218:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52218:78:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13100,"nodeType":"ExpressionStatement","src":"52218:78:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13102,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13042,"src":"52314:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":13106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"52323:16:29","subExpression":{"baseExpression":{"id":13103,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12608,"src":"52323:6:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":13105,"indexExpression":{"id":13104,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"52330:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"52323:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"52314:25:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554368696c644441493a20494e56414c49442d4e4f4e4345","id":13108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52341:26:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_32d2fdaddf3affb6008c1877cbfec30baf08bf9cac05b09144107f373dc1f3f5","typeString":"literal_string \"UChildDAI: INVALID-NONCE\""},"value":"UChildDAI: INVALID-NONCE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_32d2fdaddf3affb6008c1877cbfec30baf08bf9cac05b09144107f373dc1f3f5","typeString":"literal_string \"UChildDAI: INVALID-NONCE\""}],"id":13101,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"52306:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52306:62:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13110,"nodeType":"ExpressionStatement","src":"52306:62:29"},{"assignments":[13112],"declarations":[{"constant":false,"id":13112,"mutability":"mutable","name":"wad","nameLocation":"52383:3:29","nodeType":"VariableDeclaration","scope":13128,"src":"52378:8:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13111,"name":"uint","nodeType":"ElementaryTypeName","src":"52378:4:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13121,"initialValue":{"condition":{"id":13113,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13046,"src":"52389:7:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":13119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"52416:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":13120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"52389:28:29","trueExpression":{"expression":{"arguments":[{"id":13116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"52404:4:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13115,"name":"uint","nodeType":"ElementaryTypeName","src":"52404:4:29","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":13114,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"52399:4:29","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":13117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52399:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":13118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52410:3:29","memberName":"max","nodeType":"MemberAccess","src":"52399:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"52378:39:29"},{"expression":{"arguments":[{"id":13123,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"52436:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13124,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13040,"src":"52444:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13125,"name":"wad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13112,"src":"52453:3:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13122,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11673,"src":"52427:8:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":13126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52427:30:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13127,"nodeType":"ExpressionStatement","src":"52427:30:29"}]},"functionSelector":"8fcbaf0c","id":13129,"implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"51484:6:29","nodeType":"FunctionDefinition","parameters":{"id":13053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13038,"mutability":"mutable","name":"holder","nameLocation":"51508:6:29","nodeType":"VariableDeclaration","scope":13129,"src":"51500:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13037,"name":"address","nodeType":"ElementaryTypeName","src":"51500:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13040,"mutability":"mutable","name":"spender","nameLocation":"51532:7:29","nodeType":"VariableDeclaration","scope":13129,"src":"51524:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13039,"name":"address","nodeType":"ElementaryTypeName","src":"51524:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13042,"mutability":"mutable","name":"nonce","nameLocation":"51557:5:29","nodeType":"VariableDeclaration","scope":13129,"src":"51549:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13041,"name":"uint256","nodeType":"ElementaryTypeName","src":"51549:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13044,"mutability":"mutable","name":"expiry","nameLocation":"51580:6:29","nodeType":"VariableDeclaration","scope":13129,"src":"51572:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13043,"name":"uint256","nodeType":"ElementaryTypeName","src":"51572:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13046,"mutability":"mutable","name":"allowed","nameLocation":"51601:7:29","nodeType":"VariableDeclaration","scope":13129,"src":"51596:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13045,"name":"bool","nodeType":"ElementaryTypeName","src":"51596:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13048,"mutability":"mutable","name":"v","nameLocation":"51624:1:29","nodeType":"VariableDeclaration","scope":13129,"src":"51618:7:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13047,"name":"uint8","nodeType":"ElementaryTypeName","src":"51618:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13050,"mutability":"mutable","name":"r","nameLocation":"51643:1:29","nodeType":"VariableDeclaration","scope":13129,"src":"51635:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13049,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51635:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13052,"mutability":"mutable","name":"s","nameLocation":"51662:1:29","nodeType":"VariableDeclaration","scope":13129,"src":"51654:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13051,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51654:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"51490:179:29"},"returnParameters":{"id":13054,"nodeType":"ParameterList","parameters":[],"src":"51679:0:29"},"scope":13130,"src":"51475:989:29","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":13131,"src":"50794:1672:29","usedErrors":[],"usedEvents":[10756,10765,12153,12162,12171,12604]}],"src":"32:52434:29"},"id":29},"hardhat/console.sol":{"ast":{"absolutePath":"hardhat/console.sol","exportedSymbols":{"console":[21215]},"id":21216,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":13132,"literals":["solidity",">=","0.4",".22","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:32:30"},{"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":21215,"linearizedBaseContracts":[21215],"name":"console","nameLocation":"74:7:30","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":13135,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:30","nodeType":"VariableDeclaration","scope":21215,"src":"88:85:30","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13133,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":13134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"body":{"id":13145,"nodeType":"Block","src":"255:388:30","statements":[{"assignments":[13141],"declarations":[{"constant":false,"id":13141,"mutability":"mutable","name":"consoleAddress","nameLocation":"273:14:30","nodeType":"VariableDeclaration","scope":13145,"src":"265:22:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13140,"name":"address","nodeType":"ElementaryTypeName","src":"265:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13143,"initialValue":{"id":13142,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13135,"src":"290:15:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"265:40:30"},{"AST":{"nodeType":"YulBlock","src":"367:270:30","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"434:3:30"},"nodeType":"YulFunctionCall","src":"434:5:30"},{"name":"consoleAddress","nodeType":"YulIdentifier","src":"461:14:30"},{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"501:7:30"},{"kind":"number","nodeType":"YulLiteral","src":"510:2:30","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"497:3:30"},"nodeType":"YulFunctionCall","src":"497:16:30"},{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"541:7:30"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"535:5:30"},"nodeType":"YulFunctionCall","src":"535:14:30"},{"kind":"number","nodeType":"YulLiteral","src":"571:1:30","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"594:1:30","type":"","value":"0"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"402:10:30"},"nodeType":"YulFunctionCall","src":"402:211:30"}],"functionName":{"name":"pop","nodeType":"YulIdentifier","src":"381:3:30"},"nodeType":"YulFunctionCall","src":"381:246:30"},"nodeType":"YulExpressionStatement","src":"381:246:30"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":13141,"isOffset":false,"isSlot":false,"src":"461:14:30","valueSize":1},{"declaration":13137,"isOffset":false,"isSlot":false,"src":"501:7:30","valueSize":1},{"declaration":13137,"isOffset":false,"isSlot":false,"src":"541:7:30","valueSize":1}],"id":13144,"nodeType":"InlineAssembly","src":"358:279:30"}]},"id":13146,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadImplementation","nameLocation":"189:29:30","nodeType":"FunctionDefinition","parameters":{"id":13138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13137,"mutability":"mutable","name":"payload","nameLocation":"232:7:30","nodeType":"VariableDeclaration","scope":13146,"src":"219:20:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13136,"name":"bytes","nodeType":"ElementaryTypeName","src":"219:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"218:22:30"},"returnParameters":{"id":13139,"nodeType":"ParameterList","parameters":[],"src":"255:0:30"},"scope":21215,"src":"180:463:30","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":13162,"nodeType":"Block","src":"783:62:30","statements":[{"AST":{"nodeType":"YulBlock","src":"802:37:30","statements":[{"nodeType":"YulAssignment","src":"816:13:30","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"825:4:30"},"variableNames":[{"name":"fnOut","nodeType":"YulIdentifier","src":"816:5:30"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":13152,"isOffset":false,"isSlot":false,"src":"825:4:30","valueSize":1},{"declaration":13159,"isOffset":false,"isSlot":false,"src":"816:5:30","valueSize":1}],"id":13161,"nodeType":"InlineAssembly","src":"793:46:30"}]},"id":13163,"implemented":true,"kind":"function","modifiers":[],"name":"_castToPure","nameLocation":"658:11:30","nodeType":"FunctionDefinition","parameters":{"id":13153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13152,"mutability":"mutable","name":"fnIn","nameLocation":"714:4:30","nodeType":"VariableDeclaration","scope":13163,"src":"677:41:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":13151,"nodeType":"FunctionTypeName","parameterTypes":{"id":13149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13151,"src":"686:12:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13147,"name":"bytes","nodeType":"ElementaryTypeName","src":"686:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"685:14:30"},"returnParameterTypes":{"id":13150,"nodeType":"ParameterList","parameters":[],"src":"714:0:30"},"src":"677:41:30","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"669:55:30"},"returnParameters":{"id":13160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13159,"mutability":"mutable","name":"fnOut","nameLocation":"776:5:30","nodeType":"VariableDeclaration","scope":13163,"src":"748:33:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":13158,"nodeType":"FunctionTypeName","parameterTypes":{"id":13156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13158,"src":"757:12:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13154,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"756:14:30"},"returnParameterTypes":{"id":13157,"nodeType":"ParameterList","parameters":[],"src":"776:0:30"},"src":"748:33:30","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"747:35:30"},"scope":21215,"src":"649:196:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13174,"nodeType":"Block","src":"912:68:30","statements":[{"expression":{"arguments":[{"id":13171,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13165,"src":"965:7:30","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":13169,"name":"_sendLogPayloadImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13146,"src":"934:29:30","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":13168,"name":"_castToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13163,"src":"922:11:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":13170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:51:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13173,"nodeType":"ExpressionStatement","src":"922:51:30"}]},"id":13175,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"860:15:30","nodeType":"FunctionDefinition","parameters":{"id":13166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13165,"mutability":"mutable","name":"payload","nameLocation":"889:7:30","nodeType":"VariableDeclaration","scope":13175,"src":"876:20:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13164,"name":"bytes","nodeType":"ElementaryTypeName","src":"876:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"875:22:30"},"returnParameters":{"id":13167,"nodeType":"ParameterList","parameters":[],"src":"912:0:30"},"scope":21215,"src":"851:129:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13185,"nodeType":"Block","src":"1015:66:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":13181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1065:7:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":13179,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1041:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1045:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1041:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1041:32:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13178,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1025:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1025:49:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13184,"nodeType":"ExpressionStatement","src":"1025:49:30"}]},"id":13186,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"995:3:30","nodeType":"FunctionDefinition","parameters":{"id":13176,"nodeType":"ParameterList","parameters":[],"src":"998:2:30"},"returnParameters":{"id":13177,"nodeType":"ParameterList","parameters":[],"src":"1015:0:30"},"scope":21215,"src":"986:95:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13199,"nodeType":"Block","src":"1127:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":13194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1177:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":13195,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13188,"src":"1192:2:30","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":13192,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1153:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1157:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1153:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1153:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13191,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1137:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1137:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13198,"nodeType":"ExpressionStatement","src":"1137:59:30"}]},"id":13200,"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1095:6:30","nodeType":"FunctionDefinition","parameters":{"id":13189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13188,"mutability":"mutable","name":"p0","nameLocation":"1109:2:30","nodeType":"VariableDeclaration","scope":13200,"src":"1102:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13187,"name":"int256","nodeType":"ElementaryTypeName","src":"1102:6:30","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1101:11:30"},"returnParameters":{"id":13190,"nodeType":"ParameterList","parameters":[],"src":"1127:0:30"},"scope":21215,"src":"1086:117:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13213,"nodeType":"Block","src":"1252:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":13208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1302:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":13209,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13202,"src":"1318:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1278:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1282:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1278:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1278:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13205,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1262:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1262:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13212,"nodeType":"ExpressionStatement","src":"1262:60:30"}]},"id":13214,"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1218:7:30","nodeType":"FunctionDefinition","parameters":{"id":13203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13202,"mutability":"mutable","name":"p0","nameLocation":"1234:2:30","nodeType":"VariableDeclaration","scope":13214,"src":"1226:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13201,"name":"uint256","nodeType":"ElementaryTypeName","src":"1226:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1225:12:30"},"returnParameters":{"id":13204,"nodeType":"ParameterList","parameters":[],"src":"1252:0:30"},"scope":21215,"src":"1209:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13227,"nodeType":"Block","src":"1386:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":13222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1436:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":13223,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"1451:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1412:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1416:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1412:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1412:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13219,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1396:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1396:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13226,"nodeType":"ExpressionStatement","src":"1396:59:30"}]},"id":13228,"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1344:9:30","nodeType":"FunctionDefinition","parameters":{"id":13217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13216,"mutability":"mutable","name":"p0","nameLocation":"1368:2:30","nodeType":"VariableDeclaration","scope":13228,"src":"1354:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13215,"name":"string","nodeType":"ElementaryTypeName","src":"1354:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1353:18:30"},"returnParameters":{"id":13218,"nodeType":"ParameterList","parameters":[],"src":"1386:0:30"},"scope":21215,"src":"1335:127:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13241,"nodeType":"Block","src":"1508:74:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":13236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1558:11:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":13237,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13230,"src":"1571:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13234,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1534:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1538:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1534:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1534:40:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13233,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1518:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1518:57:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13240,"nodeType":"ExpressionStatement","src":"1518:57:30"}]},"id":13242,"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1477:7:30","nodeType":"FunctionDefinition","parameters":{"id":13231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13230,"mutability":"mutable","name":"p0","nameLocation":"1490:2:30","nodeType":"VariableDeclaration","scope":13242,"src":"1485:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13229,"name":"bool","nodeType":"ElementaryTypeName","src":"1485:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1484:9:30"},"returnParameters":{"id":13232,"nodeType":"ParameterList","parameters":[],"src":"1508:0:30"},"scope":21215,"src":"1468:114:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13255,"nodeType":"Block","src":"1634:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":13250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1684:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":13251,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13244,"src":"1700:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13248,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1660:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1664:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1660:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1660:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13247,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1644:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1644:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13254,"nodeType":"ExpressionStatement","src":"1644:60:30"}]},"id":13256,"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1597:10:30","nodeType":"FunctionDefinition","parameters":{"id":13245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13244,"mutability":"mutable","name":"p0","nameLocation":"1616:2:30","nodeType":"VariableDeclaration","scope":13256,"src":"1608:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13243,"name":"address","nodeType":"ElementaryTypeName","src":"1608:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1607:12:30"},"returnParameters":{"id":13246,"nodeType":"ParameterList","parameters":[],"src":"1634:0:30"},"scope":21215,"src":"1588:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13269,"nodeType":"Block","src":"1766:75:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":13264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1816:12:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":13265,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13258,"src":"1830:2:30","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":13262,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1792:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1796:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1792:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1792:41:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13261,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1776:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1776:58:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13268,"nodeType":"ExpressionStatement","src":"1776:58:30"}]},"id":13270,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1726:8:30","nodeType":"FunctionDefinition","parameters":{"id":13259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13258,"mutability":"mutable","name":"p0","nameLocation":"1748:2:30","nodeType":"VariableDeclaration","scope":13270,"src":"1735:15:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13257,"name":"bytes","nodeType":"ElementaryTypeName","src":"1735:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1734:17:30"},"returnParameters":{"id":13260,"nodeType":"ParameterList","parameters":[],"src":"1766:0:30"},"scope":21215,"src":"1717:124:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13283,"nodeType":"Block","src":"1891:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":13278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1941:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":13279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13272,"src":"1956:2:30","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":13276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1917:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1921:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1917:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1917:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"1901:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1901:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13282,"nodeType":"ExpressionStatement","src":"1901:59:30"}]},"id":13284,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1856:9:30","nodeType":"FunctionDefinition","parameters":{"id":13273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13272,"mutability":"mutable","name":"p0","nameLocation":"1873:2:30","nodeType":"VariableDeclaration","scope":13284,"src":"1866:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":13271,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1866:6:30","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1865:11:30"},"returnParameters":{"id":13274,"nodeType":"ParameterList","parameters":[],"src":"1891:0:30"},"scope":21215,"src":"1847:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13297,"nodeType":"Block","src":"2017:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":13292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2067:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":13293,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13286,"src":"2082:2:30","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":13290,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2043:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2047:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2043:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2043:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13289,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2027:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2027:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13296,"nodeType":"ExpressionStatement","src":"2027:59:30"}]},"id":13298,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1982:9:30","nodeType":"FunctionDefinition","parameters":{"id":13287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13286,"mutability":"mutable","name":"p0","nameLocation":"1999:2:30","nodeType":"VariableDeclaration","scope":13298,"src":"1992:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":13285,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1992:6:30","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1991:11:30"},"returnParameters":{"id":13288,"nodeType":"ParameterList","parameters":[],"src":"2017:0:30"},"scope":21215,"src":"1973:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13311,"nodeType":"Block","src":"2143:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":13306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2193:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":13307,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13300,"src":"2208:2:30","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":13304,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2169:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2173:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2169:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2169:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13303,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2153:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2153:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13310,"nodeType":"ExpressionStatement","src":"2153:59:30"}]},"id":13312,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2108:9:30","nodeType":"FunctionDefinition","parameters":{"id":13301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13300,"mutability":"mutable","name":"p0","nameLocation":"2125:2:30","nodeType":"VariableDeclaration","scope":13312,"src":"2118:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":13299,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2118:6:30","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2117:11:30"},"returnParameters":{"id":13302,"nodeType":"ParameterList","parameters":[],"src":"2143:0:30"},"scope":21215,"src":"2099:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13325,"nodeType":"Block","src":"2269:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":13320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2319:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":13321,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13314,"src":"2334:2:30","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":13318,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2295:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2299:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2295:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2295:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13317,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2279:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2279:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13324,"nodeType":"ExpressionStatement","src":"2279:59:30"}]},"id":13326,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2234:9:30","nodeType":"FunctionDefinition","parameters":{"id":13315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13314,"mutability":"mutable","name":"p0","nameLocation":"2251:2:30","nodeType":"VariableDeclaration","scope":13326,"src":"2244:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":13313,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2244:6:30","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2243:11:30"},"returnParameters":{"id":13316,"nodeType":"ParameterList","parameters":[],"src":"2269:0:30"},"scope":21215,"src":"2225:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13339,"nodeType":"Block","src":"2395:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":13334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2445:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":13335,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13328,"src":"2460:2:30","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":13332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2421:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2425:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2421:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2421:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2405:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2405:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13338,"nodeType":"ExpressionStatement","src":"2405:59:30"}]},"id":13340,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2360:9:30","nodeType":"FunctionDefinition","parameters":{"id":13329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13328,"mutability":"mutable","name":"p0","nameLocation":"2377:2:30","nodeType":"VariableDeclaration","scope":13340,"src":"2370:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":13327,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2370:6:30","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2369:11:30"},"returnParameters":{"id":13330,"nodeType":"ParameterList","parameters":[],"src":"2395:0:30"},"scope":21215,"src":"2351:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13353,"nodeType":"Block","src":"2521:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":13348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2571:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":13349,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13342,"src":"2586:2:30","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":13346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2547:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2551:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2547:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2547:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13345,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2531:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2531:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13352,"nodeType":"ExpressionStatement","src":"2531:59:30"}]},"id":13354,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2486:9:30","nodeType":"FunctionDefinition","parameters":{"id":13343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13342,"mutability":"mutable","name":"p0","nameLocation":"2503:2:30","nodeType":"VariableDeclaration","scope":13354,"src":"2496:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":13341,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2496:6:30","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2495:11:30"},"returnParameters":{"id":13344,"nodeType":"ParameterList","parameters":[],"src":"2521:0:30"},"scope":21215,"src":"2477:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13367,"nodeType":"Block","src":"2647:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":13362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2697:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":13363,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13356,"src":"2712:2:30","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":13360,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2673:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2677:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2673:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2673:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13359,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2657:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2657:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13366,"nodeType":"ExpressionStatement","src":"2657:59:30"}]},"id":13368,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2612:9:30","nodeType":"FunctionDefinition","parameters":{"id":13357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13356,"mutability":"mutable","name":"p0","nameLocation":"2629:2:30","nodeType":"VariableDeclaration","scope":13368,"src":"2622:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":13355,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2622:6:30","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2621:11:30"},"returnParameters":{"id":13358,"nodeType":"ParameterList","parameters":[],"src":"2647:0:30"},"scope":21215,"src":"2603:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13381,"nodeType":"Block","src":"2773:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":13376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2823:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":13377,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13370,"src":"2838:2:30","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":13374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2799:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2803:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2799:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2799:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13373,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2783:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2783:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13380,"nodeType":"ExpressionStatement","src":"2783:59:30"}]},"id":13382,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2738:9:30","nodeType":"FunctionDefinition","parameters":{"id":13371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13370,"mutability":"mutable","name":"p0","nameLocation":"2755:2:30","nodeType":"VariableDeclaration","scope":13382,"src":"2748:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":13369,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2748:6:30","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2747:11:30"},"returnParameters":{"id":13372,"nodeType":"ParameterList","parameters":[],"src":"2773:0:30"},"scope":21215,"src":"2729:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13395,"nodeType":"Block","src":"2899:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":13390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2949:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":13391,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13384,"src":"2964:2:30","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":13388,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2925:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2929:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2925:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2925:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13387,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"2909:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2909:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13394,"nodeType":"ExpressionStatement","src":"2909:59:30"}]},"id":13396,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2864:9:30","nodeType":"FunctionDefinition","parameters":{"id":13385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13384,"mutability":"mutable","name":"p0","nameLocation":"2881:2:30","nodeType":"VariableDeclaration","scope":13396,"src":"2874:9:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":13383,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2874:6:30","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2873:11:30"},"returnParameters":{"id":13386,"nodeType":"ParameterList","parameters":[],"src":"2899:0:30"},"scope":21215,"src":"2855:120:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13409,"nodeType":"Block","src":"3027:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":13404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3077:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":13405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13398,"src":"3093:2:30","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":13402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3053:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3057:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3053:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3053:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3037:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3037:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13408,"nodeType":"ExpressionStatement","src":"3037:60:30"}]},"id":13410,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2990:10:30","nodeType":"FunctionDefinition","parameters":{"id":13399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13398,"mutability":"mutable","name":"p0","nameLocation":"3009:2:30","nodeType":"VariableDeclaration","scope":13410,"src":"3001:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":13397,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3001:7:30","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3000:12:30"},"returnParameters":{"id":13400,"nodeType":"ParameterList","parameters":[],"src":"3027:0:30"},"scope":21215,"src":"2981:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13423,"nodeType":"Block","src":"3156:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":13418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3206:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":13419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13412,"src":"3222:2:30","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":13416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3182:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3186:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3182:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3182:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3166:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3166:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13422,"nodeType":"ExpressionStatement","src":"3166:60:30"}]},"id":13424,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3119:10:30","nodeType":"FunctionDefinition","parameters":{"id":13413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13412,"mutability":"mutable","name":"p0","nameLocation":"3138:2:30","nodeType":"VariableDeclaration","scope":13424,"src":"3130:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":13411,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3130:7:30","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3129:12:30"},"returnParameters":{"id":13414,"nodeType":"ParameterList","parameters":[],"src":"3156:0:30"},"scope":21215,"src":"3110:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13437,"nodeType":"Block","src":"3285:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":13432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3335:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":13433,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13426,"src":"3351:2:30","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":13430,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3311:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3315:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3311:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3311:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13429,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3295:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13436,"nodeType":"ExpressionStatement","src":"3295:60:30"}]},"id":13438,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3248:10:30","nodeType":"FunctionDefinition","parameters":{"id":13427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13426,"mutability":"mutable","name":"p0","nameLocation":"3267:2:30","nodeType":"VariableDeclaration","scope":13438,"src":"3259:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":13425,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3259:7:30","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3258:12:30"},"returnParameters":{"id":13428,"nodeType":"ParameterList","parameters":[],"src":"3285:0:30"},"scope":21215,"src":"3239:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13451,"nodeType":"Block","src":"3414:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":13446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3464:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":13447,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13440,"src":"3480:2:30","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":13444,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3440:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3444:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3440:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3440:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13443,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3424:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3424:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13450,"nodeType":"ExpressionStatement","src":"3424:60:30"}]},"id":13452,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3377:10:30","nodeType":"FunctionDefinition","parameters":{"id":13441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13440,"mutability":"mutable","name":"p0","nameLocation":"3396:2:30","nodeType":"VariableDeclaration","scope":13452,"src":"3388:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":13439,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3388:7:30","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3387:12:30"},"returnParameters":{"id":13442,"nodeType":"ParameterList","parameters":[],"src":"3414:0:30"},"scope":21215,"src":"3368:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13465,"nodeType":"Block","src":"3543:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":13460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3593:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":13461,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13454,"src":"3609:2:30","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":13458,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3569:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3573:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3569:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3569:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13457,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3553:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13464,"nodeType":"ExpressionStatement","src":"3553:60:30"}]},"id":13466,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3506:10:30","nodeType":"FunctionDefinition","parameters":{"id":13455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13454,"mutability":"mutable","name":"p0","nameLocation":"3525:2:30","nodeType":"VariableDeclaration","scope":13466,"src":"3517:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":13453,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3517:7:30","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3516:12:30"},"returnParameters":{"id":13456,"nodeType":"ParameterList","parameters":[],"src":"3543:0:30"},"scope":21215,"src":"3497:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13479,"nodeType":"Block","src":"3672:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":13474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3722:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":13475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13468,"src":"3738:2:30","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":13472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3698:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3702:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3698:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3682:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3682:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13478,"nodeType":"ExpressionStatement","src":"3682:60:30"}]},"id":13480,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3635:10:30","nodeType":"FunctionDefinition","parameters":{"id":13469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13468,"mutability":"mutable","name":"p0","nameLocation":"3654:2:30","nodeType":"VariableDeclaration","scope":13480,"src":"3646:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":13467,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3646:7:30","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3645:12:30"},"returnParameters":{"id":13470,"nodeType":"ParameterList","parameters":[],"src":"3672:0:30"},"scope":21215,"src":"3626:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13493,"nodeType":"Block","src":"3801:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":13488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3851:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":13489,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13482,"src":"3867:2:30","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":13486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3827:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3831:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3827:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3827:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13485,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3811:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3811:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13492,"nodeType":"ExpressionStatement","src":"3811:60:30"}]},"id":13494,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3764:10:30","nodeType":"FunctionDefinition","parameters":{"id":13483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13482,"mutability":"mutable","name":"p0","nameLocation":"3783:2:30","nodeType":"VariableDeclaration","scope":13494,"src":"3775:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":13481,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3775:7:30","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3774:12:30"},"returnParameters":{"id":13484,"nodeType":"ParameterList","parameters":[],"src":"3801:0:30"},"scope":21215,"src":"3755:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13507,"nodeType":"Block","src":"3930:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":13502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3980:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":13503,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13496,"src":"3996:2:30","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":13500,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3956:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3960:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3956:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13499,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"3940:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3940:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13506,"nodeType":"ExpressionStatement","src":"3940:60:30"}]},"id":13508,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3893:10:30","nodeType":"FunctionDefinition","parameters":{"id":13497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13496,"mutability":"mutable","name":"p0","nameLocation":"3912:2:30","nodeType":"VariableDeclaration","scope":13508,"src":"3904:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":13495,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3904:7:30","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3903:12:30"},"returnParameters":{"id":13498,"nodeType":"ParameterList","parameters":[],"src":"3930:0:30"},"scope":21215,"src":"3884:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13521,"nodeType":"Block","src":"4059:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":13516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4109:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":13517,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13510,"src":"4125:2:30","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":13514,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4085:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4089:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4085:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13513,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4069:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4069:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13520,"nodeType":"ExpressionStatement","src":"4069:60:30"}]},"id":13522,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4022:10:30","nodeType":"FunctionDefinition","parameters":{"id":13511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13510,"mutability":"mutable","name":"p0","nameLocation":"4041:2:30","nodeType":"VariableDeclaration","scope":13522,"src":"4033:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":13509,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4033:7:30","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4032:12:30"},"returnParameters":{"id":13512,"nodeType":"ParameterList","parameters":[],"src":"4059:0:30"},"scope":21215,"src":"4013:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13535,"nodeType":"Block","src":"4188:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":13530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4238:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":13531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13524,"src":"4254:2:30","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":13528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4214:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4218:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4214:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4214:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4198:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4198:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13534,"nodeType":"ExpressionStatement","src":"4198:60:30"}]},"id":13536,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4151:10:30","nodeType":"FunctionDefinition","parameters":{"id":13525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13524,"mutability":"mutable","name":"p0","nameLocation":"4170:2:30","nodeType":"VariableDeclaration","scope":13536,"src":"4162:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":13523,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4162:7:30","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4161:12:30"},"returnParameters":{"id":13526,"nodeType":"ParameterList","parameters":[],"src":"4188:0:30"},"scope":21215,"src":"4142:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13549,"nodeType":"Block","src":"4317:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":13544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4367:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":13545,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13538,"src":"4383:2:30","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":13542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4343:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4347:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4343:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4343:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4327:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4327:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13548,"nodeType":"ExpressionStatement","src":"4327:60:30"}]},"id":13550,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4280:10:30","nodeType":"FunctionDefinition","parameters":{"id":13539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13538,"mutability":"mutable","name":"p0","nameLocation":"4299:2:30","nodeType":"VariableDeclaration","scope":13550,"src":"4291:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":13537,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4291:7:30","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4290:12:30"},"returnParameters":{"id":13540,"nodeType":"ParameterList","parameters":[],"src":"4317:0:30"},"scope":21215,"src":"4271:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13563,"nodeType":"Block","src":"4446:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":13558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4496:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":13559,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13552,"src":"4512:2:30","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":13556,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4472:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4476:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4472:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4472:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13555,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4456:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13562,"nodeType":"ExpressionStatement","src":"4456:60:30"}]},"id":13564,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4409:10:30","nodeType":"FunctionDefinition","parameters":{"id":13553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13552,"mutability":"mutable","name":"p0","nameLocation":"4428:2:30","nodeType":"VariableDeclaration","scope":13564,"src":"4420:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":13551,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4420:7:30","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4419:12:30"},"returnParameters":{"id":13554,"nodeType":"ParameterList","parameters":[],"src":"4446:0:30"},"scope":21215,"src":"4400:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13577,"nodeType":"Block","src":"4575:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":13572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4625:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":13573,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13566,"src":"4641:2:30","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":13570,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4601:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4605:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4601:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4601:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13569,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4585:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4585:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13576,"nodeType":"ExpressionStatement","src":"4585:60:30"}]},"id":13578,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4538:10:30","nodeType":"FunctionDefinition","parameters":{"id":13567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13566,"mutability":"mutable","name":"p0","nameLocation":"4557:2:30","nodeType":"VariableDeclaration","scope":13578,"src":"4549:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":13565,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4549:7:30","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4548:12:30"},"returnParameters":{"id":13568,"nodeType":"ParameterList","parameters":[],"src":"4575:0:30"},"scope":21215,"src":"4529:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13591,"nodeType":"Block","src":"4704:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":13586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4754:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":13587,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13580,"src":"4770:2:30","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":13584,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4730:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4734:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4730:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4730:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13583,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4714:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4714:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13590,"nodeType":"ExpressionStatement","src":"4714:60:30"}]},"id":13592,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4667:10:30","nodeType":"FunctionDefinition","parameters":{"id":13581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13580,"mutability":"mutable","name":"p0","nameLocation":"4686:2:30","nodeType":"VariableDeclaration","scope":13592,"src":"4678:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":13579,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4678:7:30","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4677:12:30"},"returnParameters":{"id":13582,"nodeType":"ParameterList","parameters":[],"src":"4704:0:30"},"scope":21215,"src":"4658:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13605,"nodeType":"Block","src":"4833:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":13600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4883:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":13601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13594,"src":"4899:2:30","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":13598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4859:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4863:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4859:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4859:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4843:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4843:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13604,"nodeType":"ExpressionStatement","src":"4843:60:30"}]},"id":13606,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4796:10:30","nodeType":"FunctionDefinition","parameters":{"id":13595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13594,"mutability":"mutable","name":"p0","nameLocation":"4815:2:30","nodeType":"VariableDeclaration","scope":13606,"src":"4807:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":13593,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4807:7:30","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4806:12:30"},"returnParameters":{"id":13596,"nodeType":"ParameterList","parameters":[],"src":"4833:0:30"},"scope":21215,"src":"4787:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13619,"nodeType":"Block","src":"4962:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":13614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5012:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":13615,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13608,"src":"5028:2:30","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":13612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4988:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4992:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4988:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4988:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13611,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"4972:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4972:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13618,"nodeType":"ExpressionStatement","src":"4972:60:30"}]},"id":13620,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4925:10:30","nodeType":"FunctionDefinition","parameters":{"id":13609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13608,"mutability":"mutable","name":"p0","nameLocation":"4944:2:30","nodeType":"VariableDeclaration","scope":13620,"src":"4936:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":13607,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4936:7:30","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4935:12:30"},"returnParameters":{"id":13610,"nodeType":"ParameterList","parameters":[],"src":"4962:0:30"},"scope":21215,"src":"4916:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13633,"nodeType":"Block","src":"5091:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":13628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5141:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":13629,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13622,"src":"5157:2:30","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":13626,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5117:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5121:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5117:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5117:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13625,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5101:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5101:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13632,"nodeType":"ExpressionStatement","src":"5101:60:30"}]},"id":13634,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5054:10:30","nodeType":"FunctionDefinition","parameters":{"id":13623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13622,"mutability":"mutable","name":"p0","nameLocation":"5073:2:30","nodeType":"VariableDeclaration","scope":13634,"src":"5065:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":13621,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5065:7:30","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5064:12:30"},"returnParameters":{"id":13624,"nodeType":"ParameterList","parameters":[],"src":"5091:0:30"},"scope":21215,"src":"5045:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13647,"nodeType":"Block","src":"5220:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":13642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5270:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":13643,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13636,"src":"5286:2:30","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":13640,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5246:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5250:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5246:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5246:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13639,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5230:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5230:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13646,"nodeType":"ExpressionStatement","src":"5230:60:30"}]},"id":13648,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5183:10:30","nodeType":"FunctionDefinition","parameters":{"id":13637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13636,"mutability":"mutable","name":"p0","nameLocation":"5202:2:30","nodeType":"VariableDeclaration","scope":13648,"src":"5194:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":13635,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5194:7:30","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5193:12:30"},"returnParameters":{"id":13638,"nodeType":"ParameterList","parameters":[],"src":"5220:0:30"},"scope":21215,"src":"5174:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13661,"nodeType":"Block","src":"5349:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":13656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":13657,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13650,"src":"5415:2:30","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":13654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5375:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5379:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5375:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5375:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13653,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5359:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5359:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13660,"nodeType":"ExpressionStatement","src":"5359:60:30"}]},"id":13662,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5312:10:30","nodeType":"FunctionDefinition","parameters":{"id":13651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13650,"mutability":"mutable","name":"p0","nameLocation":"5331:2:30","nodeType":"VariableDeclaration","scope":13662,"src":"5323:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":13649,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5323:7:30","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5322:12:30"},"returnParameters":{"id":13652,"nodeType":"ParameterList","parameters":[],"src":"5349:0:30"},"scope":21215,"src":"5303:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13675,"nodeType":"Block","src":"5478:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":13670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5528:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":13671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13664,"src":"5544:2:30","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":13668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5504:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5508:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5504:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5504:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5488:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5488:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13674,"nodeType":"ExpressionStatement","src":"5488:60:30"}]},"id":13676,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5441:10:30","nodeType":"FunctionDefinition","parameters":{"id":13665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13664,"mutability":"mutable","name":"p0","nameLocation":"5460:2:30","nodeType":"VariableDeclaration","scope":13676,"src":"5452:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":13663,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5452:7:30","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5451:12:30"},"returnParameters":{"id":13666,"nodeType":"ParameterList","parameters":[],"src":"5478:0:30"},"scope":21215,"src":"5432:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13689,"nodeType":"Block","src":"5607:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":13684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5657:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":13685,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13678,"src":"5673:2:30","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":13682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5633:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5637:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5633:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5633:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5617:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5617:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13688,"nodeType":"ExpressionStatement","src":"5617:60:30"}]},"id":13690,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5570:10:30","nodeType":"FunctionDefinition","parameters":{"id":13679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13678,"mutability":"mutable","name":"p0","nameLocation":"5589:2:30","nodeType":"VariableDeclaration","scope":13690,"src":"5581:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":13677,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5581:7:30","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5580:12:30"},"returnParameters":{"id":13680,"nodeType":"ParameterList","parameters":[],"src":"5607:0:30"},"scope":21215,"src":"5561:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13703,"nodeType":"Block","src":"5736:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":13698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5786:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":13699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13692,"src":"5802:2:30","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":13696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5762:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5766:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5762:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5762:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5746:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5746:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13702,"nodeType":"ExpressionStatement","src":"5746:60:30"}]},"id":13704,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5699:10:30","nodeType":"FunctionDefinition","parameters":{"id":13693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13692,"mutability":"mutable","name":"p0","nameLocation":"5718:2:30","nodeType":"VariableDeclaration","scope":13704,"src":"5710:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":13691,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5710:7:30","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5709:12:30"},"returnParameters":{"id":13694,"nodeType":"ParameterList","parameters":[],"src":"5736:0:30"},"scope":21215,"src":"5690:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13717,"nodeType":"Block","src":"5865:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":13712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5915:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":13713,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13706,"src":"5931:2:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":13710,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5891:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5895:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5891:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5891:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13709,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5875:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5875:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13716,"nodeType":"ExpressionStatement","src":"5875:60:30"}]},"id":13718,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5828:10:30","nodeType":"FunctionDefinition","parameters":{"id":13707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13706,"mutability":"mutable","name":"p0","nameLocation":"5847:2:30","nodeType":"VariableDeclaration","scope":13718,"src":"5839:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5839:7:30","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5838:12:30"},"returnParameters":{"id":13708,"nodeType":"ParameterList","parameters":[],"src":"5865:0:30"},"scope":21215,"src":"5819:123:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13731,"nodeType":"Block","src":"5987:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":13726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6037:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":13727,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13720,"src":"6053:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13724,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6013:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6017:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6013:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6013:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"5997:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5997:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13730,"nodeType":"ExpressionStatement","src":"5997:60:30"}]},"id":13732,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5957:3:30","nodeType":"FunctionDefinition","parameters":{"id":13721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13720,"mutability":"mutable","name":"p0","nameLocation":"5969:2:30","nodeType":"VariableDeclaration","scope":13732,"src":"5961:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13719,"name":"uint256","nodeType":"ElementaryTypeName","src":"5961:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5960:12:30"},"returnParameters":{"id":13722,"nodeType":"ParameterList","parameters":[],"src":"5987:0:30"},"scope":21215,"src":"5948:116:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13745,"nodeType":"Block","src":"6115:76:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":13740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6165:13:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":13741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13734,"src":"6180:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6141:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6145:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6141:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6141:42:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6125:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6125:59:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13744,"nodeType":"ExpressionStatement","src":"6125:59:30"}]},"id":13746,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6079:3:30","nodeType":"FunctionDefinition","parameters":{"id":13735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13734,"mutability":"mutable","name":"p0","nameLocation":"6097:2:30","nodeType":"VariableDeclaration","scope":13746,"src":"6083:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13733,"name":"string","nodeType":"ElementaryTypeName","src":"6083:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6082:18:30"},"returnParameters":{"id":13736,"nodeType":"ParameterList","parameters":[],"src":"6115:0:30"},"scope":21215,"src":"6070:121:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13759,"nodeType":"Block","src":"6233:74:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":13754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6283:11:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":13755,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13748,"src":"6296:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13752,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6259:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6263:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6259:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6259:40:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13751,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6243:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6243:57:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13758,"nodeType":"ExpressionStatement","src":"6243:57:30"}]},"id":13760,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6206:3:30","nodeType":"FunctionDefinition","parameters":{"id":13749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13748,"mutability":"mutable","name":"p0","nameLocation":"6215:2:30","nodeType":"VariableDeclaration","scope":13760,"src":"6210:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13747,"name":"bool","nodeType":"ElementaryTypeName","src":"6210:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6209:9:30"},"returnParameters":{"id":13750,"nodeType":"ParameterList","parameters":[],"src":"6233:0:30"},"scope":21215,"src":"6197:110:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13773,"nodeType":"Block","src":"6352:77:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":13768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6402:14:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":13769,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13762,"src":"6418:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6378:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6382:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6378:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6378:43:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13765,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6362:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6362:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13772,"nodeType":"ExpressionStatement","src":"6362:60:30"}]},"id":13774,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6322:3:30","nodeType":"FunctionDefinition","parameters":{"id":13763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13762,"mutability":"mutable","name":"p0","nameLocation":"6334:2:30","nodeType":"VariableDeclaration","scope":13774,"src":"6326:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13761,"name":"address","nodeType":"ElementaryTypeName","src":"6326:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6325:12:30"},"returnParameters":{"id":13764,"nodeType":"ParameterList","parameters":[],"src":"6352:0:30"},"scope":21215,"src":"6313:116:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13790,"nodeType":"Block","src":"6486:89:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":13784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6536:22:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":13785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13776,"src":"6560:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13778,"src":"6564:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6512:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6516:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6512:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6512:55:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6496:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6496:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13789,"nodeType":"ExpressionStatement","src":"6496:72:30"}]},"id":13791,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6444:3:30","nodeType":"FunctionDefinition","parameters":{"id":13779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13776,"mutability":"mutable","name":"p0","nameLocation":"6456:2:30","nodeType":"VariableDeclaration","scope":13791,"src":"6448:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6448:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13778,"mutability":"mutable","name":"p1","nameLocation":"6468:2:30","nodeType":"VariableDeclaration","scope":13791,"src":"6460:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13777,"name":"uint256","nodeType":"ElementaryTypeName","src":"6460:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6447:24:30"},"returnParameters":{"id":13780,"nodeType":"ParameterList","parameters":[],"src":"6486:0:30"},"scope":21215,"src":"6435:140:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13807,"nodeType":"Block","src":"6638:88:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":13801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6688:21:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":13802,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13793,"src":"6711:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13803,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13795,"src":"6715:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13799,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6664:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6668:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6664:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6664:54:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13798,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6648:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6648:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13806,"nodeType":"ExpressionStatement","src":"6648:71:30"}]},"id":13808,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6590:3:30","nodeType":"FunctionDefinition","parameters":{"id":13796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13793,"mutability":"mutable","name":"p0","nameLocation":"6602:2:30","nodeType":"VariableDeclaration","scope":13808,"src":"6594:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13792,"name":"uint256","nodeType":"ElementaryTypeName","src":"6594:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13795,"mutability":"mutable","name":"p1","nameLocation":"6620:2:30","nodeType":"VariableDeclaration","scope":13808,"src":"6606:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13794,"name":"string","nodeType":"ElementaryTypeName","src":"6606:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6593:30:30"},"returnParameters":{"id":13797,"nodeType":"ParameterList","parameters":[],"src":"6638:0:30"},"scope":21215,"src":"6581:145:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13824,"nodeType":"Block","src":"6780:86:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":13818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6830:19:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":13819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13810,"src":"6851:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13812,"src":"6855:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6806:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6810:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6806:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6806:52:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6790:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6790:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13823,"nodeType":"ExpressionStatement","src":"6790:69:30"}]},"id":13825,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6741:3:30","nodeType":"FunctionDefinition","parameters":{"id":13813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13810,"mutability":"mutable","name":"p0","nameLocation":"6753:2:30","nodeType":"VariableDeclaration","scope":13825,"src":"6745:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13809,"name":"uint256","nodeType":"ElementaryTypeName","src":"6745:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13812,"mutability":"mutable","name":"p1","nameLocation":"6762:2:30","nodeType":"VariableDeclaration","scope":13825,"src":"6757:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13811,"name":"bool","nodeType":"ElementaryTypeName","src":"6757:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6744:21:30"},"returnParameters":{"id":13814,"nodeType":"ParameterList","parameters":[],"src":"6780:0:30"},"scope":21215,"src":"6732:134:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13841,"nodeType":"Block","src":"6923:89:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":13835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6973:22:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":13836,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13827,"src":"6997:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13837,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13829,"src":"7001:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13833,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6949:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6953:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6949:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6949:55:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13832,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"6933:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6933:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13840,"nodeType":"ExpressionStatement","src":"6933:72:30"}]},"id":13842,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6881:3:30","nodeType":"FunctionDefinition","parameters":{"id":13830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13827,"mutability":"mutable","name":"p0","nameLocation":"6893:2:30","nodeType":"VariableDeclaration","scope":13842,"src":"6885:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13826,"name":"uint256","nodeType":"ElementaryTypeName","src":"6885:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13829,"mutability":"mutable","name":"p1","nameLocation":"6905:2:30","nodeType":"VariableDeclaration","scope":13842,"src":"6897:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13828,"name":"address","nodeType":"ElementaryTypeName","src":"6897:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6884:24:30"},"returnParameters":{"id":13831,"nodeType":"ParameterList","parameters":[],"src":"6923:0:30"},"scope":21215,"src":"6872:140:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13858,"nodeType":"Block","src":"7075:88:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":13852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7125:21:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":13853,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13844,"src":"7148:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13854,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13846,"src":"7152:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7101:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7105:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7101:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:54:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7085:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7085:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13857,"nodeType":"ExpressionStatement","src":"7085:71:30"}]},"id":13859,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7027:3:30","nodeType":"FunctionDefinition","parameters":{"id":13847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13844,"mutability":"mutable","name":"p0","nameLocation":"7045:2:30","nodeType":"VariableDeclaration","scope":13859,"src":"7031:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13843,"name":"string","nodeType":"ElementaryTypeName","src":"7031:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13846,"mutability":"mutable","name":"p1","nameLocation":"7057:2:30","nodeType":"VariableDeclaration","scope":13859,"src":"7049:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13845,"name":"uint256","nodeType":"ElementaryTypeName","src":"7049:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7030:30:30"},"returnParameters":{"id":13848,"nodeType":"ParameterList","parameters":[],"src":"7075:0:30"},"scope":21215,"src":"7018:145:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13875,"nodeType":"Block","src":"7232:87:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":13869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7282:20:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":13870,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13861,"src":"7304:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13871,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13863,"src":"7308:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13867,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7258:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7262:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7258:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7258:53:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13866,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7242:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7242:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13874,"nodeType":"ExpressionStatement","src":"7242:70:30"}]},"id":13876,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7178:3:30","nodeType":"FunctionDefinition","parameters":{"id":13864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13861,"mutability":"mutable","name":"p0","nameLocation":"7196:2:30","nodeType":"VariableDeclaration","scope":13876,"src":"7182:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13860,"name":"string","nodeType":"ElementaryTypeName","src":"7182:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13863,"mutability":"mutable","name":"p1","nameLocation":"7214:2:30","nodeType":"VariableDeclaration","scope":13876,"src":"7200:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13862,"name":"string","nodeType":"ElementaryTypeName","src":"7200:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7181:36:30"},"returnParameters":{"id":13865,"nodeType":"ParameterList","parameters":[],"src":"7232:0:30"},"scope":21215,"src":"7169:150:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13892,"nodeType":"Block","src":"7379:85:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":13886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7429:18:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":13887,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13878,"src":"7449:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13888,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13880,"src":"7453:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7405:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7409:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7405:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7405:51:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13883,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7389:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7389:68:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13891,"nodeType":"ExpressionStatement","src":"7389:68:30"}]},"id":13893,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7334:3:30","nodeType":"FunctionDefinition","parameters":{"id":13881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13878,"mutability":"mutable","name":"p0","nameLocation":"7352:2:30","nodeType":"VariableDeclaration","scope":13893,"src":"7338:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13877,"name":"string","nodeType":"ElementaryTypeName","src":"7338:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13880,"mutability":"mutable","name":"p1","nameLocation":"7361:2:30","nodeType":"VariableDeclaration","scope":13893,"src":"7356:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13879,"name":"bool","nodeType":"ElementaryTypeName","src":"7356:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7337:27:30"},"returnParameters":{"id":13882,"nodeType":"ParameterList","parameters":[],"src":"7379:0:30"},"scope":21215,"src":"7325:139:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13909,"nodeType":"Block","src":"7527:88:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":13903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7577:21:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":13904,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13895,"src":"7600:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13905,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13897,"src":"7604:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7553:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7557:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7553:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7553:54:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13900,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7537:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7537:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13908,"nodeType":"ExpressionStatement","src":"7537:71:30"}]},"id":13910,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7479:3:30","nodeType":"FunctionDefinition","parameters":{"id":13898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13895,"mutability":"mutable","name":"p0","nameLocation":"7497:2:30","nodeType":"VariableDeclaration","scope":13910,"src":"7483:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13894,"name":"string","nodeType":"ElementaryTypeName","src":"7483:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13897,"mutability":"mutable","name":"p1","nameLocation":"7509:2:30","nodeType":"VariableDeclaration","scope":13910,"src":"7501:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13896,"name":"address","nodeType":"ElementaryTypeName","src":"7501:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7482:30:30"},"returnParameters":{"id":13899,"nodeType":"ParameterList","parameters":[],"src":"7527:0:30"},"scope":21215,"src":"7470:145:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13926,"nodeType":"Block","src":"7669:86:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":13920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7719:19:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":13921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13912,"src":"7740:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13914,"src":"7744:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7695:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7699:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7695:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7695:52:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7679:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7679:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13925,"nodeType":"ExpressionStatement","src":"7679:69:30"}]},"id":13927,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7630:3:30","nodeType":"FunctionDefinition","parameters":{"id":13915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13912,"mutability":"mutable","name":"p0","nameLocation":"7639:2:30","nodeType":"VariableDeclaration","scope":13927,"src":"7634:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13911,"name":"bool","nodeType":"ElementaryTypeName","src":"7634:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13914,"mutability":"mutable","name":"p1","nameLocation":"7651:2:30","nodeType":"VariableDeclaration","scope":13927,"src":"7643:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13913,"name":"uint256","nodeType":"ElementaryTypeName","src":"7643:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7633:21:30"},"returnParameters":{"id":13916,"nodeType":"ParameterList","parameters":[],"src":"7669:0:30"},"scope":21215,"src":"7621:134:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13943,"nodeType":"Block","src":"7815:85:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":13937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7865:18:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":13938,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13929,"src":"7885:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13939,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13931,"src":"7889:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13935,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7841:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7845:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7841:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7841:51:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13934,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7825:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7825:68:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13942,"nodeType":"ExpressionStatement","src":"7825:68:30"}]},"id":13944,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7770:3:30","nodeType":"FunctionDefinition","parameters":{"id":13932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13929,"mutability":"mutable","name":"p0","nameLocation":"7779:2:30","nodeType":"VariableDeclaration","scope":13944,"src":"7774:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13928,"name":"bool","nodeType":"ElementaryTypeName","src":"7774:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13931,"mutability":"mutable","name":"p1","nameLocation":"7797:2:30","nodeType":"VariableDeclaration","scope":13944,"src":"7783:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13930,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7773:27:30"},"returnParameters":{"id":13933,"nodeType":"ParameterList","parameters":[],"src":"7815:0:30"},"scope":21215,"src":"7761:139:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13960,"nodeType":"Block","src":"7951:83:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":13954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8001:16:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":13955,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13946,"src":"8019:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13956,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13948,"src":"8023:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13952,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7977:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7981:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7977:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7977:49:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13951,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"7961:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7961:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13959,"nodeType":"ExpressionStatement","src":"7961:66:30"}]},"id":13961,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7915:3:30","nodeType":"FunctionDefinition","parameters":{"id":13949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13946,"mutability":"mutable","name":"p0","nameLocation":"7924:2:30","nodeType":"VariableDeclaration","scope":13961,"src":"7919:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13945,"name":"bool","nodeType":"ElementaryTypeName","src":"7919:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13948,"mutability":"mutable","name":"p1","nameLocation":"7933:2:30","nodeType":"VariableDeclaration","scope":13961,"src":"7928:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13947,"name":"bool","nodeType":"ElementaryTypeName","src":"7928:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7918:18:30"},"returnParameters":{"id":13950,"nodeType":"ParameterList","parameters":[],"src":"7951:0:30"},"scope":21215,"src":"7906:128:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13977,"nodeType":"Block","src":"8088:86:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":13971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8138:19:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":13972,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13963,"src":"8159:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13973,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13965,"src":"8163:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13969,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8114:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8118:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8114:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:52:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13968,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"8098:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8098:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13976,"nodeType":"ExpressionStatement","src":"8098:69:30"}]},"id":13978,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8049:3:30","nodeType":"FunctionDefinition","parameters":{"id":13966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13963,"mutability":"mutable","name":"p0","nameLocation":"8058:2:30","nodeType":"VariableDeclaration","scope":13978,"src":"8053:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13962,"name":"bool","nodeType":"ElementaryTypeName","src":"8053:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13965,"mutability":"mutable","name":"p1","nameLocation":"8070:2:30","nodeType":"VariableDeclaration","scope":13978,"src":"8062:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13964,"name":"address","nodeType":"ElementaryTypeName","src":"8062:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8052:21:30"},"returnParameters":{"id":13967,"nodeType":"ParameterList","parameters":[],"src":"8088:0:30"},"scope":21215,"src":"8040:134:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13994,"nodeType":"Block","src":"8231:89:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":13988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8281:22:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":13989,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13980,"src":"8305:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13990,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13982,"src":"8309:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13986,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8257:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8261:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8257:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8257:55:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13985,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"8241:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8241:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13993,"nodeType":"ExpressionStatement","src":"8241:72:30"}]},"id":13995,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8189:3:30","nodeType":"FunctionDefinition","parameters":{"id":13983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13980,"mutability":"mutable","name":"p0","nameLocation":"8201:2:30","nodeType":"VariableDeclaration","scope":13995,"src":"8193:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13979,"name":"address","nodeType":"ElementaryTypeName","src":"8193:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13982,"mutability":"mutable","name":"p1","nameLocation":"8213:2:30","nodeType":"VariableDeclaration","scope":13995,"src":"8205:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13981,"name":"uint256","nodeType":"ElementaryTypeName","src":"8205:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8192:24:30"},"returnParameters":{"id":13984,"nodeType":"ParameterList","parameters":[],"src":"8231:0:30"},"scope":21215,"src":"8180:140:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14011,"nodeType":"Block","src":"8383:88:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":14005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8433:21:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":14006,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13997,"src":"8456:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14007,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13999,"src":"8460:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8409:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8413:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8409:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8409:54:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14002,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"8393:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8393:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14010,"nodeType":"ExpressionStatement","src":"8393:71:30"}]},"id":14012,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8335:3:30","nodeType":"FunctionDefinition","parameters":{"id":14000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13997,"mutability":"mutable","name":"p0","nameLocation":"8347:2:30","nodeType":"VariableDeclaration","scope":14012,"src":"8339:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13996,"name":"address","nodeType":"ElementaryTypeName","src":"8339:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13999,"mutability":"mutable","name":"p1","nameLocation":"8365:2:30","nodeType":"VariableDeclaration","scope":14012,"src":"8351:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13998,"name":"string","nodeType":"ElementaryTypeName","src":"8351:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8338:30:30"},"returnParameters":{"id":14001,"nodeType":"ParameterList","parameters":[],"src":"8383:0:30"},"scope":21215,"src":"8326:145:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14028,"nodeType":"Block","src":"8525:86:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":14022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8575:19:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":14023,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14014,"src":"8596:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14024,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14016,"src":"8600:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14020,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8551:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8555:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8551:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8551:52:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14019,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"8535:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8535:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14027,"nodeType":"ExpressionStatement","src":"8535:69:30"}]},"id":14029,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8486:3:30","nodeType":"FunctionDefinition","parameters":{"id":14017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14014,"mutability":"mutable","name":"p0","nameLocation":"8498:2:30","nodeType":"VariableDeclaration","scope":14029,"src":"8490:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14013,"name":"address","nodeType":"ElementaryTypeName","src":"8490:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14016,"mutability":"mutable","name":"p1","nameLocation":"8507:2:30","nodeType":"VariableDeclaration","scope":14029,"src":"8502:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14015,"name":"bool","nodeType":"ElementaryTypeName","src":"8502:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8489:21:30"},"returnParameters":{"id":14018,"nodeType":"ParameterList","parameters":[],"src":"8525:0:30"},"scope":21215,"src":"8477:134:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14045,"nodeType":"Block","src":"8668:89:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":14039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8718:22:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":14040,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14031,"src":"8742:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14041,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14033,"src":"8746:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14037,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8694:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8698:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8694:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8694:55:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14036,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"8678:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14044,"nodeType":"ExpressionStatement","src":"8678:72:30"}]},"id":14046,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8626:3:30","nodeType":"FunctionDefinition","parameters":{"id":14034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14031,"mutability":"mutable","name":"p0","nameLocation":"8638:2:30","nodeType":"VariableDeclaration","scope":14046,"src":"8630:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14030,"name":"address","nodeType":"ElementaryTypeName","src":"8630:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14033,"mutability":"mutable","name":"p1","nameLocation":"8650:2:30","nodeType":"VariableDeclaration","scope":14046,"src":"8642:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14032,"name":"address","nodeType":"ElementaryTypeName","src":"8642:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8629:24:30"},"returnParameters":{"id":14035,"nodeType":"ParameterList","parameters":[],"src":"8668:0:30"},"scope":21215,"src":"8617:140:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14065,"nodeType":"Block","src":"8826:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":14058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8876:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":14059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14048,"src":"8908:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14050,"src":"8912:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14052,"src":"8916:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8852:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8856:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8852:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8852:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"8836:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8836:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14064,"nodeType":"ExpressionStatement","src":"8836:84:30"}]},"id":14066,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8772:3:30","nodeType":"FunctionDefinition","parameters":{"id":14053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14048,"mutability":"mutable","name":"p0","nameLocation":"8784:2:30","nodeType":"VariableDeclaration","scope":14066,"src":"8776:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14047,"name":"uint256","nodeType":"ElementaryTypeName","src":"8776:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14050,"mutability":"mutable","name":"p1","nameLocation":"8796:2:30","nodeType":"VariableDeclaration","scope":14066,"src":"8788:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14049,"name":"uint256","nodeType":"ElementaryTypeName","src":"8788:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14052,"mutability":"mutable","name":"p2","nameLocation":"8808:2:30","nodeType":"VariableDeclaration","scope":14066,"src":"8800:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14051,"name":"uint256","nodeType":"ElementaryTypeName","src":"8800:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8775:36:30"},"returnParameters":{"id":14054,"nodeType":"ParameterList","parameters":[],"src":"8826:0:30"},"scope":21215,"src":"8763:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14085,"nodeType":"Block","src":"9002:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":14078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9052:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":14079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14068,"src":"9083:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14070,"src":"9087:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14072,"src":"9091:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9028:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9032:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9028:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9028:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"9012:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9012:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14084,"nodeType":"ExpressionStatement","src":"9012:83:30"}]},"id":14086,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8942:3:30","nodeType":"FunctionDefinition","parameters":{"id":14073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14068,"mutability":"mutable","name":"p0","nameLocation":"8954:2:30","nodeType":"VariableDeclaration","scope":14086,"src":"8946:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14067,"name":"uint256","nodeType":"ElementaryTypeName","src":"8946:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14070,"mutability":"mutable","name":"p1","nameLocation":"8966:2:30","nodeType":"VariableDeclaration","scope":14086,"src":"8958:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14069,"name":"uint256","nodeType":"ElementaryTypeName","src":"8958:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14072,"mutability":"mutable","name":"p2","nameLocation":"8984:2:30","nodeType":"VariableDeclaration","scope":14086,"src":"8970:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14071,"name":"string","nodeType":"ElementaryTypeName","src":"8970:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8945:42:30"},"returnParameters":{"id":14074,"nodeType":"ParameterList","parameters":[],"src":"9002:0:30"},"scope":21215,"src":"8933:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14105,"nodeType":"Block","src":"9168:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":14098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9218:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":14099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14088,"src":"9247:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14090,"src":"9251:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14092,"src":"9255:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9194:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9198:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9194:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9194:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"9178:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9178:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14104,"nodeType":"ExpressionStatement","src":"9178:81:30"}]},"id":14106,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9117:3:30","nodeType":"FunctionDefinition","parameters":{"id":14093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14088,"mutability":"mutable","name":"p0","nameLocation":"9129:2:30","nodeType":"VariableDeclaration","scope":14106,"src":"9121:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14087,"name":"uint256","nodeType":"ElementaryTypeName","src":"9121:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14090,"mutability":"mutable","name":"p1","nameLocation":"9141:2:30","nodeType":"VariableDeclaration","scope":14106,"src":"9133:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14089,"name":"uint256","nodeType":"ElementaryTypeName","src":"9133:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14092,"mutability":"mutable","name":"p2","nameLocation":"9150:2:30","nodeType":"VariableDeclaration","scope":14106,"src":"9145:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14091,"name":"bool","nodeType":"ElementaryTypeName","src":"9145:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9120:33:30"},"returnParameters":{"id":14094,"nodeType":"ParameterList","parameters":[],"src":"9168:0:30"},"scope":21215,"src":"9108:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14125,"nodeType":"Block","src":"9335:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":14118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9385:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":14119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14108,"src":"9417:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14110,"src":"9421:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14112,"src":"9425:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9361:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9365:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9361:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9361:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"9345:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9345:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14124,"nodeType":"ExpressionStatement","src":"9345:84:30"}]},"id":14126,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9281:3:30","nodeType":"FunctionDefinition","parameters":{"id":14113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14108,"mutability":"mutable","name":"p0","nameLocation":"9293:2:30","nodeType":"VariableDeclaration","scope":14126,"src":"9285:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14107,"name":"uint256","nodeType":"ElementaryTypeName","src":"9285:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14110,"mutability":"mutable","name":"p1","nameLocation":"9305:2:30","nodeType":"VariableDeclaration","scope":14126,"src":"9297:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14109,"name":"uint256","nodeType":"ElementaryTypeName","src":"9297:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14112,"mutability":"mutable","name":"p2","nameLocation":"9317:2:30","nodeType":"VariableDeclaration","scope":14126,"src":"9309:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14111,"name":"address","nodeType":"ElementaryTypeName","src":"9309:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9284:36:30"},"returnParameters":{"id":14114,"nodeType":"ParameterList","parameters":[],"src":"9335:0:30"},"scope":21215,"src":"9272:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14145,"nodeType":"Block","src":"9511:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":14138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9561:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":14139,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14128,"src":"9592:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14140,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14130,"src":"9596:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14141,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14132,"src":"9600:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9537:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9541:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9537:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9537:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14135,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"9521:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9521:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14144,"nodeType":"ExpressionStatement","src":"9521:83:30"}]},"id":14146,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9451:3:30","nodeType":"FunctionDefinition","parameters":{"id":14133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14128,"mutability":"mutable","name":"p0","nameLocation":"9463:2:30","nodeType":"VariableDeclaration","scope":14146,"src":"9455:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14127,"name":"uint256","nodeType":"ElementaryTypeName","src":"9455:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14130,"mutability":"mutable","name":"p1","nameLocation":"9481:2:30","nodeType":"VariableDeclaration","scope":14146,"src":"9467:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14129,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14132,"mutability":"mutable","name":"p2","nameLocation":"9493:2:30","nodeType":"VariableDeclaration","scope":14146,"src":"9485:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14131,"name":"uint256","nodeType":"ElementaryTypeName","src":"9485:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9454:42:30"},"returnParameters":{"id":14134,"nodeType":"ParameterList","parameters":[],"src":"9511:0:30"},"scope":21215,"src":"9442:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14165,"nodeType":"Block","src":"9692:99:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":14158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9742:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":14159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14148,"src":"9772:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14150,"src":"9776:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14152,"src":"9780:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9718:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9722:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9718:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9718:65:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"9702:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9702:82:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14164,"nodeType":"ExpressionStatement","src":"9702:82:30"}]},"id":14166,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9626:3:30","nodeType":"FunctionDefinition","parameters":{"id":14153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14148,"mutability":"mutable","name":"p0","nameLocation":"9638:2:30","nodeType":"VariableDeclaration","scope":14166,"src":"9630:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14147,"name":"uint256","nodeType":"ElementaryTypeName","src":"9630:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14150,"mutability":"mutable","name":"p1","nameLocation":"9656:2:30","nodeType":"VariableDeclaration","scope":14166,"src":"9642:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14149,"name":"string","nodeType":"ElementaryTypeName","src":"9642:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14152,"mutability":"mutable","name":"p2","nameLocation":"9674:2:30","nodeType":"VariableDeclaration","scope":14166,"src":"9660:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14151,"name":"string","nodeType":"ElementaryTypeName","src":"9660:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9629:48:30"},"returnParameters":{"id":14154,"nodeType":"ParameterList","parameters":[],"src":"9692:0:30"},"scope":21215,"src":"9617:174:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14185,"nodeType":"Block","src":"9863:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":14178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9913:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":14179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14168,"src":"9941:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14170,"src":"9945:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14172,"src":"9949:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9889:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9893:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9889:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9889:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"9873:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9873:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14184,"nodeType":"ExpressionStatement","src":"9873:80:30"}]},"id":14186,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9806:3:30","nodeType":"FunctionDefinition","parameters":{"id":14173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14168,"mutability":"mutable","name":"p0","nameLocation":"9818:2:30","nodeType":"VariableDeclaration","scope":14186,"src":"9810:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14167,"name":"uint256","nodeType":"ElementaryTypeName","src":"9810:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14170,"mutability":"mutable","name":"p1","nameLocation":"9836:2:30","nodeType":"VariableDeclaration","scope":14186,"src":"9822:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14169,"name":"string","nodeType":"ElementaryTypeName","src":"9822:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14172,"mutability":"mutable","name":"p2","nameLocation":"9845:2:30","nodeType":"VariableDeclaration","scope":14186,"src":"9840:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14171,"name":"bool","nodeType":"ElementaryTypeName","src":"9840:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9809:39:30"},"returnParameters":{"id":14174,"nodeType":"ParameterList","parameters":[],"src":"9863:0:30"},"scope":21215,"src":"9797:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14205,"nodeType":"Block","src":"10035:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":14198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10085:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":14199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14188,"src":"10116:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14190,"src":"10120:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14192,"src":"10124:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10061:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10065:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10061:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10061:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"10045:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10045:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14204,"nodeType":"ExpressionStatement","src":"10045:83:30"}]},"id":14206,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9975:3:30","nodeType":"FunctionDefinition","parameters":{"id":14193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14188,"mutability":"mutable","name":"p0","nameLocation":"9987:2:30","nodeType":"VariableDeclaration","scope":14206,"src":"9979:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14187,"name":"uint256","nodeType":"ElementaryTypeName","src":"9979:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14190,"mutability":"mutable","name":"p1","nameLocation":"10005:2:30","nodeType":"VariableDeclaration","scope":14206,"src":"9991:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14189,"name":"string","nodeType":"ElementaryTypeName","src":"9991:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14192,"mutability":"mutable","name":"p2","nameLocation":"10017:2:30","nodeType":"VariableDeclaration","scope":14206,"src":"10009:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14191,"name":"address","nodeType":"ElementaryTypeName","src":"10009:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9978:42:30"},"returnParameters":{"id":14194,"nodeType":"ParameterList","parameters":[],"src":"10035:0:30"},"scope":21215,"src":"9966:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14225,"nodeType":"Block","src":"10201:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":14218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10251:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":14219,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14208,"src":"10280:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14220,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14210,"src":"10284:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14221,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14212,"src":"10288:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14216,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10227:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10231:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10227:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"10211:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10211:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14224,"nodeType":"ExpressionStatement","src":"10211:81:30"}]},"id":14226,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10150:3:30","nodeType":"FunctionDefinition","parameters":{"id":14213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14208,"mutability":"mutable","name":"p0","nameLocation":"10162:2:30","nodeType":"VariableDeclaration","scope":14226,"src":"10154:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14207,"name":"uint256","nodeType":"ElementaryTypeName","src":"10154:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14210,"mutability":"mutable","name":"p1","nameLocation":"10171:2:30","nodeType":"VariableDeclaration","scope":14226,"src":"10166:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14209,"name":"bool","nodeType":"ElementaryTypeName","src":"10166:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14212,"mutability":"mutable","name":"p2","nameLocation":"10183:2:30","nodeType":"VariableDeclaration","scope":14226,"src":"10175:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14211,"name":"uint256","nodeType":"ElementaryTypeName","src":"10175:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10153:33:30"},"returnParameters":{"id":14214,"nodeType":"ParameterList","parameters":[],"src":"10201:0:30"},"scope":21215,"src":"10141:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14245,"nodeType":"Block","src":"10371:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":14238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10421:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":14239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14228,"src":"10449:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14230,"src":"10453:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14232,"src":"10457:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10397:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10401:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10397:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10397:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"10381:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10381:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14244,"nodeType":"ExpressionStatement","src":"10381:80:30"}]},"id":14246,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10314:3:30","nodeType":"FunctionDefinition","parameters":{"id":14233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14228,"mutability":"mutable","name":"p0","nameLocation":"10326:2:30","nodeType":"VariableDeclaration","scope":14246,"src":"10318:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14227,"name":"uint256","nodeType":"ElementaryTypeName","src":"10318:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14230,"mutability":"mutable","name":"p1","nameLocation":"10335:2:30","nodeType":"VariableDeclaration","scope":14246,"src":"10330:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14229,"name":"bool","nodeType":"ElementaryTypeName","src":"10330:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14232,"mutability":"mutable","name":"p2","nameLocation":"10353:2:30","nodeType":"VariableDeclaration","scope":14246,"src":"10339:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14231,"name":"string","nodeType":"ElementaryTypeName","src":"10339:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10317:39:30"},"returnParameters":{"id":14234,"nodeType":"ParameterList","parameters":[],"src":"10371:0:30"},"scope":21215,"src":"10305:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14265,"nodeType":"Block","src":"10531:95:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":14258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10581:24:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":14259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14248,"src":"10607:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14250,"src":"10611:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14252,"src":"10615:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10557:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10561:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10557:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10557:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"10541:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10541:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14264,"nodeType":"ExpressionStatement","src":"10541:78:30"}]},"id":14266,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10483:3:30","nodeType":"FunctionDefinition","parameters":{"id":14253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14248,"mutability":"mutable","name":"p0","nameLocation":"10495:2:30","nodeType":"VariableDeclaration","scope":14266,"src":"10487:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14247,"name":"uint256","nodeType":"ElementaryTypeName","src":"10487:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14250,"mutability":"mutable","name":"p1","nameLocation":"10504:2:30","nodeType":"VariableDeclaration","scope":14266,"src":"10499:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14249,"name":"bool","nodeType":"ElementaryTypeName","src":"10499:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14252,"mutability":"mutable","name":"p2","nameLocation":"10513:2:30","nodeType":"VariableDeclaration","scope":14266,"src":"10508:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14251,"name":"bool","nodeType":"ElementaryTypeName","src":"10508:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10486:30:30"},"returnParameters":{"id":14254,"nodeType":"ParameterList","parameters":[],"src":"10531:0:30"},"scope":21215,"src":"10474:152:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14285,"nodeType":"Block","src":"10692:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":14278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10742:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":14279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14268,"src":"10771:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14270,"src":"10775:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14272,"src":"10779:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10718:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10722:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10718:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10718:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"10702:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10702:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14284,"nodeType":"ExpressionStatement","src":"10702:81:30"}]},"id":14286,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10641:3:30","nodeType":"FunctionDefinition","parameters":{"id":14273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14268,"mutability":"mutable","name":"p0","nameLocation":"10653:2:30","nodeType":"VariableDeclaration","scope":14286,"src":"10645:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14267,"name":"uint256","nodeType":"ElementaryTypeName","src":"10645:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14270,"mutability":"mutable","name":"p1","nameLocation":"10662:2:30","nodeType":"VariableDeclaration","scope":14286,"src":"10657:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14269,"name":"bool","nodeType":"ElementaryTypeName","src":"10657:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14272,"mutability":"mutable","name":"p2","nameLocation":"10674:2:30","nodeType":"VariableDeclaration","scope":14286,"src":"10666:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14271,"name":"address","nodeType":"ElementaryTypeName","src":"10666:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10644:33:30"},"returnParameters":{"id":14274,"nodeType":"ParameterList","parameters":[],"src":"10692:0:30"},"scope":21215,"src":"10632:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14305,"nodeType":"Block","src":"10859:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":14298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10909:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":14299,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14288,"src":"10941:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14300,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14290,"src":"10945:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14301,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14292,"src":"10949:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10885:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10889:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10885:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10885:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"10869:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10869:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14304,"nodeType":"ExpressionStatement","src":"10869:84:30"}]},"id":14306,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10805:3:30","nodeType":"FunctionDefinition","parameters":{"id":14293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14288,"mutability":"mutable","name":"p0","nameLocation":"10817:2:30","nodeType":"VariableDeclaration","scope":14306,"src":"10809:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14287,"name":"uint256","nodeType":"ElementaryTypeName","src":"10809:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14290,"mutability":"mutable","name":"p1","nameLocation":"10829:2:30","nodeType":"VariableDeclaration","scope":14306,"src":"10821:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14289,"name":"address","nodeType":"ElementaryTypeName","src":"10821:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14292,"mutability":"mutable","name":"p2","nameLocation":"10841:2:30","nodeType":"VariableDeclaration","scope":14306,"src":"10833:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14291,"name":"uint256","nodeType":"ElementaryTypeName","src":"10833:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10808:36:30"},"returnParameters":{"id":14294,"nodeType":"ParameterList","parameters":[],"src":"10859:0:30"},"scope":21215,"src":"10796:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14325,"nodeType":"Block","src":"11035:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":14318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11085:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":14319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14308,"src":"11116:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14310,"src":"11120:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14312,"src":"11124:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11061:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11065:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11061:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11061:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"11045:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11045:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14324,"nodeType":"ExpressionStatement","src":"11045:83:30"}]},"id":14326,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10975:3:30","nodeType":"FunctionDefinition","parameters":{"id":14313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14308,"mutability":"mutable","name":"p0","nameLocation":"10987:2:30","nodeType":"VariableDeclaration","scope":14326,"src":"10979:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14307,"name":"uint256","nodeType":"ElementaryTypeName","src":"10979:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14310,"mutability":"mutable","name":"p1","nameLocation":"10999:2:30","nodeType":"VariableDeclaration","scope":14326,"src":"10991:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14309,"name":"address","nodeType":"ElementaryTypeName","src":"10991:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14312,"mutability":"mutable","name":"p2","nameLocation":"11017:2:30","nodeType":"VariableDeclaration","scope":14326,"src":"11003:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14311,"name":"string","nodeType":"ElementaryTypeName","src":"11003:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10978:42:30"},"returnParameters":{"id":14314,"nodeType":"ParameterList","parameters":[],"src":"11035:0:30"},"scope":21215,"src":"10966:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14345,"nodeType":"Block","src":"11201:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":14338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11251:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":14339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14328,"src":"11280:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14330,"src":"11284:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14332,"src":"11288:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11227:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11231:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11227:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11227:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"11211:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11211:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14344,"nodeType":"ExpressionStatement","src":"11211:81:30"}]},"id":14346,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11150:3:30","nodeType":"FunctionDefinition","parameters":{"id":14333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14328,"mutability":"mutable","name":"p0","nameLocation":"11162:2:30","nodeType":"VariableDeclaration","scope":14346,"src":"11154:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14327,"name":"uint256","nodeType":"ElementaryTypeName","src":"11154:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14330,"mutability":"mutable","name":"p1","nameLocation":"11174:2:30","nodeType":"VariableDeclaration","scope":14346,"src":"11166:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14329,"name":"address","nodeType":"ElementaryTypeName","src":"11166:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14332,"mutability":"mutable","name":"p2","nameLocation":"11183:2:30","nodeType":"VariableDeclaration","scope":14346,"src":"11178:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14331,"name":"bool","nodeType":"ElementaryTypeName","src":"11178:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11153:33:30"},"returnParameters":{"id":14334,"nodeType":"ParameterList","parameters":[],"src":"11201:0:30"},"scope":21215,"src":"11141:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14365,"nodeType":"Block","src":"11368:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":14358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11418:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":14359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14348,"src":"11450:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14350,"src":"11454:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"11458:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11394:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11398:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11394:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"11378:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11378:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14364,"nodeType":"ExpressionStatement","src":"11378:84:30"}]},"id":14366,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11314:3:30","nodeType":"FunctionDefinition","parameters":{"id":14353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14348,"mutability":"mutable","name":"p0","nameLocation":"11326:2:30","nodeType":"VariableDeclaration","scope":14366,"src":"11318:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14347,"name":"uint256","nodeType":"ElementaryTypeName","src":"11318:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14350,"mutability":"mutable","name":"p1","nameLocation":"11338:2:30","nodeType":"VariableDeclaration","scope":14366,"src":"11330:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14349,"name":"address","nodeType":"ElementaryTypeName","src":"11330:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14352,"mutability":"mutable","name":"p2","nameLocation":"11350:2:30","nodeType":"VariableDeclaration","scope":14366,"src":"11342:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14351,"name":"address","nodeType":"ElementaryTypeName","src":"11342:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11317:36:30"},"returnParameters":{"id":14354,"nodeType":"ParameterList","parameters":[],"src":"11368:0:30"},"scope":21215,"src":"11305:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14385,"nodeType":"Block","src":"11544:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":14378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11594:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":14379,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14368,"src":"11625:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14380,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14370,"src":"11629:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14381,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14372,"src":"11633:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11570:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11574:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11570:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11570:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14375,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"11554:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11554:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14384,"nodeType":"ExpressionStatement","src":"11554:83:30"}]},"id":14386,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11484:3:30","nodeType":"FunctionDefinition","parameters":{"id":14373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14368,"mutability":"mutable","name":"p0","nameLocation":"11502:2:30","nodeType":"VariableDeclaration","scope":14386,"src":"11488:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14367,"name":"string","nodeType":"ElementaryTypeName","src":"11488:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14370,"mutability":"mutable","name":"p1","nameLocation":"11514:2:30","nodeType":"VariableDeclaration","scope":14386,"src":"11506:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14369,"name":"uint256","nodeType":"ElementaryTypeName","src":"11506:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14372,"mutability":"mutable","name":"p2","nameLocation":"11526:2:30","nodeType":"VariableDeclaration","scope":14386,"src":"11518:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14371,"name":"uint256","nodeType":"ElementaryTypeName","src":"11518:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11487:42:30"},"returnParameters":{"id":14374,"nodeType":"ParameterList","parameters":[],"src":"11544:0:30"},"scope":21215,"src":"11475:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14405,"nodeType":"Block","src":"11725:99:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":14398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11775:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":14399,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14388,"src":"11805:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14400,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14390,"src":"11809:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14401,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14392,"src":"11813:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14396,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11751:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11755:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11751:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11751:65:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"11735:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11735:82:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14404,"nodeType":"ExpressionStatement","src":"11735:82:30"}]},"id":14406,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11659:3:30","nodeType":"FunctionDefinition","parameters":{"id":14393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14388,"mutability":"mutable","name":"p0","nameLocation":"11677:2:30","nodeType":"VariableDeclaration","scope":14406,"src":"11663:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14387,"name":"string","nodeType":"ElementaryTypeName","src":"11663:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14390,"mutability":"mutable","name":"p1","nameLocation":"11689:2:30","nodeType":"VariableDeclaration","scope":14406,"src":"11681:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14389,"name":"uint256","nodeType":"ElementaryTypeName","src":"11681:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14392,"mutability":"mutable","name":"p2","nameLocation":"11707:2:30","nodeType":"VariableDeclaration","scope":14406,"src":"11693:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14391,"name":"string","nodeType":"ElementaryTypeName","src":"11693:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11662:48:30"},"returnParameters":{"id":14394,"nodeType":"ParameterList","parameters":[],"src":"11725:0:30"},"scope":21215,"src":"11650:174:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14425,"nodeType":"Block","src":"11896:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":14418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11946:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":14419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14408,"src":"11974:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14420,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14410,"src":"11978:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14421,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14412,"src":"11982:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11922:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11926:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11922:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11922:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"11906:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14424,"nodeType":"ExpressionStatement","src":"11906:80:30"}]},"id":14426,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11839:3:30","nodeType":"FunctionDefinition","parameters":{"id":14413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14408,"mutability":"mutable","name":"p0","nameLocation":"11857:2:30","nodeType":"VariableDeclaration","scope":14426,"src":"11843:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14407,"name":"string","nodeType":"ElementaryTypeName","src":"11843:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14410,"mutability":"mutable","name":"p1","nameLocation":"11869:2:30","nodeType":"VariableDeclaration","scope":14426,"src":"11861:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14409,"name":"uint256","nodeType":"ElementaryTypeName","src":"11861:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14412,"mutability":"mutable","name":"p2","nameLocation":"11878:2:30","nodeType":"VariableDeclaration","scope":14426,"src":"11873:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14411,"name":"bool","nodeType":"ElementaryTypeName","src":"11873:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11842:39:30"},"returnParameters":{"id":14414,"nodeType":"ParameterList","parameters":[],"src":"11896:0:30"},"scope":21215,"src":"11830:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14445,"nodeType":"Block","src":"12068:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":14438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12118:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":14439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14428,"src":"12149:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14430,"src":"12153:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14432,"src":"12157:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12094:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12098:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12094:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12094:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"12078:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12078:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14444,"nodeType":"ExpressionStatement","src":"12078:83:30"}]},"id":14446,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12008:3:30","nodeType":"FunctionDefinition","parameters":{"id":14433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14428,"mutability":"mutable","name":"p0","nameLocation":"12026:2:30","nodeType":"VariableDeclaration","scope":14446,"src":"12012:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14427,"name":"string","nodeType":"ElementaryTypeName","src":"12012:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14430,"mutability":"mutable","name":"p1","nameLocation":"12038:2:30","nodeType":"VariableDeclaration","scope":14446,"src":"12030:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14429,"name":"uint256","nodeType":"ElementaryTypeName","src":"12030:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14432,"mutability":"mutable","name":"p2","nameLocation":"12050:2:30","nodeType":"VariableDeclaration","scope":14446,"src":"12042:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14431,"name":"address","nodeType":"ElementaryTypeName","src":"12042:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12011:42:30"},"returnParameters":{"id":14434,"nodeType":"ParameterList","parameters":[],"src":"12068:0:30"},"scope":21215,"src":"11999:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14465,"nodeType":"Block","src":"12249:99:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":14458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12299:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":14459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14448,"src":"12329:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14460,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14450,"src":"12333:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14461,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14452,"src":"12337:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12275:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12279:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12275:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12275:65:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"12259:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12259:82:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14464,"nodeType":"ExpressionStatement","src":"12259:82:30"}]},"id":14466,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12183:3:30","nodeType":"FunctionDefinition","parameters":{"id":14453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14448,"mutability":"mutable","name":"p0","nameLocation":"12201:2:30","nodeType":"VariableDeclaration","scope":14466,"src":"12187:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14447,"name":"string","nodeType":"ElementaryTypeName","src":"12187:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14450,"mutability":"mutable","name":"p1","nameLocation":"12219:2:30","nodeType":"VariableDeclaration","scope":14466,"src":"12205:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14449,"name":"string","nodeType":"ElementaryTypeName","src":"12205:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14452,"mutability":"mutable","name":"p2","nameLocation":"12231:2:30","nodeType":"VariableDeclaration","scope":14466,"src":"12223:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14451,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12186:48:30"},"returnParameters":{"id":14454,"nodeType":"ParameterList","parameters":[],"src":"12249:0:30"},"scope":21215,"src":"12174:174:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14485,"nodeType":"Block","src":"12435:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":14478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12485:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":14479,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14468,"src":"12514:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14480,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14470,"src":"12518:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14481,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14472,"src":"12522:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14476,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12461:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12465:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12461:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12461:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14475,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"12445:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12445:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14484,"nodeType":"ExpressionStatement","src":"12445:81:30"}]},"id":14486,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12363:3:30","nodeType":"FunctionDefinition","parameters":{"id":14473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14468,"mutability":"mutable","name":"p0","nameLocation":"12381:2:30","nodeType":"VariableDeclaration","scope":14486,"src":"12367:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14467,"name":"string","nodeType":"ElementaryTypeName","src":"12367:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14470,"mutability":"mutable","name":"p1","nameLocation":"12399:2:30","nodeType":"VariableDeclaration","scope":14486,"src":"12385:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14469,"name":"string","nodeType":"ElementaryTypeName","src":"12385:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14472,"mutability":"mutable","name":"p2","nameLocation":"12417:2:30","nodeType":"VariableDeclaration","scope":14486,"src":"12403:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14471,"name":"string","nodeType":"ElementaryTypeName","src":"12403:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:54:30"},"returnParameters":{"id":14474,"nodeType":"ParameterList","parameters":[],"src":"12435:0:30"},"scope":21215,"src":"12354:179:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14505,"nodeType":"Block","src":"12611:96:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":14498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12661:25:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":14499,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14488,"src":"12688:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14500,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14490,"src":"12692:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14501,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14492,"src":"12696:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12637:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12641:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12637:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12637:62:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14495,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"12621:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12621:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14504,"nodeType":"ExpressionStatement","src":"12621:79:30"}]},"id":14506,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12548:3:30","nodeType":"FunctionDefinition","parameters":{"id":14493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14488,"mutability":"mutable","name":"p0","nameLocation":"12566:2:30","nodeType":"VariableDeclaration","scope":14506,"src":"12552:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14487,"name":"string","nodeType":"ElementaryTypeName","src":"12552:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14490,"mutability":"mutable","name":"p1","nameLocation":"12584:2:30","nodeType":"VariableDeclaration","scope":14506,"src":"12570:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14489,"name":"string","nodeType":"ElementaryTypeName","src":"12570:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14492,"mutability":"mutable","name":"p2","nameLocation":"12593:2:30","nodeType":"VariableDeclaration","scope":14506,"src":"12588:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14491,"name":"bool","nodeType":"ElementaryTypeName","src":"12588:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12551:45:30"},"returnParameters":{"id":14494,"nodeType":"ParameterList","parameters":[],"src":"12611:0:30"},"scope":21215,"src":"12539:168:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14525,"nodeType":"Block","src":"12788:99:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":14518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12838:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":14519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14508,"src":"12868:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14510,"src":"12872:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14512,"src":"12876:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12814:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12818:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12814:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12814:65:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"12798:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12798:82:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14524,"nodeType":"ExpressionStatement","src":"12798:82:30"}]},"id":14526,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12722:3:30","nodeType":"FunctionDefinition","parameters":{"id":14513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14508,"mutability":"mutable","name":"p0","nameLocation":"12740:2:30","nodeType":"VariableDeclaration","scope":14526,"src":"12726:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14507,"name":"string","nodeType":"ElementaryTypeName","src":"12726:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14510,"mutability":"mutable","name":"p1","nameLocation":"12758:2:30","nodeType":"VariableDeclaration","scope":14526,"src":"12744:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14509,"name":"string","nodeType":"ElementaryTypeName","src":"12744:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14512,"mutability":"mutable","name":"p2","nameLocation":"12770:2:30","nodeType":"VariableDeclaration","scope":14526,"src":"12762:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14511,"name":"address","nodeType":"ElementaryTypeName","src":"12762:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12725:48:30"},"returnParameters":{"id":14514,"nodeType":"ParameterList","parameters":[],"src":"12788:0:30"},"scope":21215,"src":"12713:174:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14545,"nodeType":"Block","src":"12959:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":14538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13009:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":14539,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14528,"src":"13037:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14540,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14530,"src":"13041:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14541,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14532,"src":"13045:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12985:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12989:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12985:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12985:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"12969:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12969:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14544,"nodeType":"ExpressionStatement","src":"12969:80:30"}]},"id":14546,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12902:3:30","nodeType":"FunctionDefinition","parameters":{"id":14533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14528,"mutability":"mutable","name":"p0","nameLocation":"12920:2:30","nodeType":"VariableDeclaration","scope":14546,"src":"12906:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14527,"name":"string","nodeType":"ElementaryTypeName","src":"12906:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14530,"mutability":"mutable","name":"p1","nameLocation":"12929:2:30","nodeType":"VariableDeclaration","scope":14546,"src":"12924:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14529,"name":"bool","nodeType":"ElementaryTypeName","src":"12924:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14532,"mutability":"mutable","name":"p2","nameLocation":"12941:2:30","nodeType":"VariableDeclaration","scope":14546,"src":"12933:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14531,"name":"uint256","nodeType":"ElementaryTypeName","src":"12933:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12905:39:30"},"returnParameters":{"id":14534,"nodeType":"ParameterList","parameters":[],"src":"12959:0:30"},"scope":21215,"src":"12893:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14565,"nodeType":"Block","src":"13134:96:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":14558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13184:25:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":14559,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14548,"src":"13211:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14560,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14550,"src":"13215:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14561,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14552,"src":"13219:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14556,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13160:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13164:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13160:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13160:62:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14555,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"13144:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13144:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14564,"nodeType":"ExpressionStatement","src":"13144:79:30"}]},"id":14566,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13071:3:30","nodeType":"FunctionDefinition","parameters":{"id":14553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14548,"mutability":"mutable","name":"p0","nameLocation":"13089:2:30","nodeType":"VariableDeclaration","scope":14566,"src":"13075:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14547,"name":"string","nodeType":"ElementaryTypeName","src":"13075:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14550,"mutability":"mutable","name":"p1","nameLocation":"13098:2:30","nodeType":"VariableDeclaration","scope":14566,"src":"13093:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14549,"name":"bool","nodeType":"ElementaryTypeName","src":"13093:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14552,"mutability":"mutable","name":"p2","nameLocation":"13116:2:30","nodeType":"VariableDeclaration","scope":14566,"src":"13102:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14551,"name":"string","nodeType":"ElementaryTypeName","src":"13102:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13074:45:30"},"returnParameters":{"id":14554,"nodeType":"ParameterList","parameters":[],"src":"13134:0:30"},"scope":21215,"src":"13062:168:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14585,"nodeType":"Block","src":"13299:94:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":14578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13349:23:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":14579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14568,"src":"13374:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14570,"src":"13378:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14572,"src":"13382:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13325:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13329:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13325:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13325:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"13309:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13309:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14584,"nodeType":"ExpressionStatement","src":"13309:77:30"}]},"id":14586,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13245:3:30","nodeType":"FunctionDefinition","parameters":{"id":14573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14568,"mutability":"mutable","name":"p0","nameLocation":"13263:2:30","nodeType":"VariableDeclaration","scope":14586,"src":"13249:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14567,"name":"string","nodeType":"ElementaryTypeName","src":"13249:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14570,"mutability":"mutable","name":"p1","nameLocation":"13272:2:30","nodeType":"VariableDeclaration","scope":14586,"src":"13267:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14569,"name":"bool","nodeType":"ElementaryTypeName","src":"13267:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14572,"mutability":"mutable","name":"p2","nameLocation":"13281:2:30","nodeType":"VariableDeclaration","scope":14586,"src":"13276:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14571,"name":"bool","nodeType":"ElementaryTypeName","src":"13276:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13248:36:30"},"returnParameters":{"id":14574,"nodeType":"ParameterList","parameters":[],"src":"13299:0:30"},"scope":21215,"src":"13236:157:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14605,"nodeType":"Block","src":"13465:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":14598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13515:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":14599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14588,"src":"13543:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14600,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14590,"src":"13547:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14601,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14592,"src":"13551:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13491:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13495:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13491:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13491:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"13475:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13475:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14604,"nodeType":"ExpressionStatement","src":"13475:80:30"}]},"id":14606,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13408:3:30","nodeType":"FunctionDefinition","parameters":{"id":14593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14588,"mutability":"mutable","name":"p0","nameLocation":"13426:2:30","nodeType":"VariableDeclaration","scope":14606,"src":"13412:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14587,"name":"string","nodeType":"ElementaryTypeName","src":"13412:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14590,"mutability":"mutable","name":"p1","nameLocation":"13435:2:30","nodeType":"VariableDeclaration","scope":14606,"src":"13430:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14589,"name":"bool","nodeType":"ElementaryTypeName","src":"13430:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14592,"mutability":"mutable","name":"p2","nameLocation":"13447:2:30","nodeType":"VariableDeclaration","scope":14606,"src":"13439:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14591,"name":"address","nodeType":"ElementaryTypeName","src":"13439:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13411:39:30"},"returnParameters":{"id":14594,"nodeType":"ParameterList","parameters":[],"src":"13465:0:30"},"scope":21215,"src":"13399:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14625,"nodeType":"Block","src":"13637:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":14618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13687:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":14619,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14608,"src":"13718:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14620,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14610,"src":"13722:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14621,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14612,"src":"13726:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14616,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13663:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13667:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13663:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14615,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"13647:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13647:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14624,"nodeType":"ExpressionStatement","src":"13647:83:30"}]},"id":14626,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13577:3:30","nodeType":"FunctionDefinition","parameters":{"id":14613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14608,"mutability":"mutable","name":"p0","nameLocation":"13595:2:30","nodeType":"VariableDeclaration","scope":14626,"src":"13581:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14607,"name":"string","nodeType":"ElementaryTypeName","src":"13581:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14610,"mutability":"mutable","name":"p1","nameLocation":"13607:2:30","nodeType":"VariableDeclaration","scope":14626,"src":"13599:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14609,"name":"address","nodeType":"ElementaryTypeName","src":"13599:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14612,"mutability":"mutable","name":"p2","nameLocation":"13619:2:30","nodeType":"VariableDeclaration","scope":14626,"src":"13611:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14611,"name":"uint256","nodeType":"ElementaryTypeName","src":"13611:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13580:42:30"},"returnParameters":{"id":14614,"nodeType":"ParameterList","parameters":[],"src":"13637:0:30"},"scope":21215,"src":"13568:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14645,"nodeType":"Block","src":"13818:99:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":14638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13868:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":14639,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14628,"src":"13898:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14640,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14630,"src":"13902:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14641,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14632,"src":"13906:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13844:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13848:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13844:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13844:65:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14635,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"13828:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13828:82:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14644,"nodeType":"ExpressionStatement","src":"13828:82:30"}]},"id":14646,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13752:3:30","nodeType":"FunctionDefinition","parameters":{"id":14633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14628,"mutability":"mutable","name":"p0","nameLocation":"13770:2:30","nodeType":"VariableDeclaration","scope":14646,"src":"13756:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14627,"name":"string","nodeType":"ElementaryTypeName","src":"13756:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14630,"mutability":"mutable","name":"p1","nameLocation":"13782:2:30","nodeType":"VariableDeclaration","scope":14646,"src":"13774:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14629,"name":"address","nodeType":"ElementaryTypeName","src":"13774:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14632,"mutability":"mutable","name":"p2","nameLocation":"13800:2:30","nodeType":"VariableDeclaration","scope":14646,"src":"13786:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14631,"name":"string","nodeType":"ElementaryTypeName","src":"13786:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13755:48:30"},"returnParameters":{"id":14634,"nodeType":"ParameterList","parameters":[],"src":"13818:0:30"},"scope":21215,"src":"13743:174:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14665,"nodeType":"Block","src":"13989:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":14658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14039:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":14659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14648,"src":"14067:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14650,"src":"14071:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14652,"src":"14075:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14015:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14019:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14015:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14015:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"13999:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13999:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14664,"nodeType":"ExpressionStatement","src":"13999:80:30"}]},"id":14666,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13932:3:30","nodeType":"FunctionDefinition","parameters":{"id":14653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14648,"mutability":"mutable","name":"p0","nameLocation":"13950:2:30","nodeType":"VariableDeclaration","scope":14666,"src":"13936:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14647,"name":"string","nodeType":"ElementaryTypeName","src":"13936:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14650,"mutability":"mutable","name":"p1","nameLocation":"13962:2:30","nodeType":"VariableDeclaration","scope":14666,"src":"13954:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14649,"name":"address","nodeType":"ElementaryTypeName","src":"13954:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14652,"mutability":"mutable","name":"p2","nameLocation":"13971:2:30","nodeType":"VariableDeclaration","scope":14666,"src":"13966:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14651,"name":"bool","nodeType":"ElementaryTypeName","src":"13966:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13935:39:30"},"returnParameters":{"id":14654,"nodeType":"ParameterList","parameters":[],"src":"13989:0:30"},"scope":21215,"src":"13923:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14685,"nodeType":"Block","src":"14161:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":14678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14211:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":14679,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14668,"src":"14242:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14680,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14670,"src":"14246:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14681,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14672,"src":"14250:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14676,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14187:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14191:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14187:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14187:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14675,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"14171:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14171:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14684,"nodeType":"ExpressionStatement","src":"14171:83:30"}]},"id":14686,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14101:3:30","nodeType":"FunctionDefinition","parameters":{"id":14673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14668,"mutability":"mutable","name":"p0","nameLocation":"14119:2:30","nodeType":"VariableDeclaration","scope":14686,"src":"14105:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14667,"name":"string","nodeType":"ElementaryTypeName","src":"14105:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14670,"mutability":"mutable","name":"p1","nameLocation":"14131:2:30","nodeType":"VariableDeclaration","scope":14686,"src":"14123:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14669,"name":"address","nodeType":"ElementaryTypeName","src":"14123:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14672,"mutability":"mutable","name":"p2","nameLocation":"14143:2:30","nodeType":"VariableDeclaration","scope":14686,"src":"14135:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14671,"name":"address","nodeType":"ElementaryTypeName","src":"14135:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14104:42:30"},"returnParameters":{"id":14674,"nodeType":"ParameterList","parameters":[],"src":"14161:0:30"},"scope":21215,"src":"14092:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14705,"nodeType":"Block","src":"14327:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":14698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14377:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":14699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14688,"src":"14406:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14690,"src":"14410:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14692,"src":"14414:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14353:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14357:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14353:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14353:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"14337:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14337:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14704,"nodeType":"ExpressionStatement","src":"14337:81:30"}]},"id":14706,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14276:3:30","nodeType":"FunctionDefinition","parameters":{"id":14693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14688,"mutability":"mutable","name":"p0","nameLocation":"14285:2:30","nodeType":"VariableDeclaration","scope":14706,"src":"14280:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14687,"name":"bool","nodeType":"ElementaryTypeName","src":"14280:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14690,"mutability":"mutable","name":"p1","nameLocation":"14297:2:30","nodeType":"VariableDeclaration","scope":14706,"src":"14289:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14689,"name":"uint256","nodeType":"ElementaryTypeName","src":"14289:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14692,"mutability":"mutable","name":"p2","nameLocation":"14309:2:30","nodeType":"VariableDeclaration","scope":14706,"src":"14301:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14691,"name":"uint256","nodeType":"ElementaryTypeName","src":"14301:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14279:33:30"},"returnParameters":{"id":14694,"nodeType":"ParameterList","parameters":[],"src":"14327:0:30"},"scope":21215,"src":"14267:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14725,"nodeType":"Block","src":"14497:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":14718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14547:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":14719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14708,"src":"14575:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14720,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14710,"src":"14579:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14721,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14712,"src":"14583:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14523:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14527:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14523:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"14507:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14724,"nodeType":"ExpressionStatement","src":"14507:80:30"}]},"id":14726,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14440:3:30","nodeType":"FunctionDefinition","parameters":{"id":14713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14708,"mutability":"mutable","name":"p0","nameLocation":"14449:2:30","nodeType":"VariableDeclaration","scope":14726,"src":"14444:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14707,"name":"bool","nodeType":"ElementaryTypeName","src":"14444:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14710,"mutability":"mutable","name":"p1","nameLocation":"14461:2:30","nodeType":"VariableDeclaration","scope":14726,"src":"14453:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14709,"name":"uint256","nodeType":"ElementaryTypeName","src":"14453:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14712,"mutability":"mutable","name":"p2","nameLocation":"14479:2:30","nodeType":"VariableDeclaration","scope":14726,"src":"14465:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14711,"name":"string","nodeType":"ElementaryTypeName","src":"14465:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14443:39:30"},"returnParameters":{"id":14714,"nodeType":"ParameterList","parameters":[],"src":"14497:0:30"},"scope":21215,"src":"14431:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14745,"nodeType":"Block","src":"14657:95:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":14738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14707:24:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":14739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14728,"src":"14733:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14730,"src":"14737:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14732,"src":"14741:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14683:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14687:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14683:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14683:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"14667:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14667:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14744,"nodeType":"ExpressionStatement","src":"14667:78:30"}]},"id":14746,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14609:3:30","nodeType":"FunctionDefinition","parameters":{"id":14733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14728,"mutability":"mutable","name":"p0","nameLocation":"14618:2:30","nodeType":"VariableDeclaration","scope":14746,"src":"14613:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14727,"name":"bool","nodeType":"ElementaryTypeName","src":"14613:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14730,"mutability":"mutable","name":"p1","nameLocation":"14630:2:30","nodeType":"VariableDeclaration","scope":14746,"src":"14622:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14729,"name":"uint256","nodeType":"ElementaryTypeName","src":"14622:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14732,"mutability":"mutable","name":"p2","nameLocation":"14639:2:30","nodeType":"VariableDeclaration","scope":14746,"src":"14634:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14731,"name":"bool","nodeType":"ElementaryTypeName","src":"14634:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14612:30:30"},"returnParameters":{"id":14734,"nodeType":"ParameterList","parameters":[],"src":"14657:0:30"},"scope":21215,"src":"14600:152:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14765,"nodeType":"Block","src":"14818:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":14758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14868:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":14759,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14748,"src":"14897:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14760,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14750,"src":"14901:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14761,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14752,"src":"14905:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14844:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14848:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14844:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14755,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"14828:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14828:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14764,"nodeType":"ExpressionStatement","src":"14828:81:30"}]},"id":14766,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14767:3:30","nodeType":"FunctionDefinition","parameters":{"id":14753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14748,"mutability":"mutable","name":"p0","nameLocation":"14776:2:30","nodeType":"VariableDeclaration","scope":14766,"src":"14771:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14747,"name":"bool","nodeType":"ElementaryTypeName","src":"14771:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14750,"mutability":"mutable","name":"p1","nameLocation":"14788:2:30","nodeType":"VariableDeclaration","scope":14766,"src":"14780:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14749,"name":"uint256","nodeType":"ElementaryTypeName","src":"14780:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14752,"mutability":"mutable","name":"p2","nameLocation":"14800:2:30","nodeType":"VariableDeclaration","scope":14766,"src":"14792:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14751,"name":"address","nodeType":"ElementaryTypeName","src":"14792:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14770:33:30"},"returnParameters":{"id":14754,"nodeType":"ParameterList","parameters":[],"src":"14818:0:30"},"scope":21215,"src":"14758:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14785,"nodeType":"Block","src":"14988:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":14778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15038:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":14779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14768,"src":"15066:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14770,"src":"15070:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14772,"src":"15074:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15014:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15018:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15014:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15014:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"14998:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14998:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14784,"nodeType":"ExpressionStatement","src":"14998:80:30"}]},"id":14786,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14931:3:30","nodeType":"FunctionDefinition","parameters":{"id":14773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14768,"mutability":"mutable","name":"p0","nameLocation":"14940:2:30","nodeType":"VariableDeclaration","scope":14786,"src":"14935:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14767,"name":"bool","nodeType":"ElementaryTypeName","src":"14935:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14770,"mutability":"mutable","name":"p1","nameLocation":"14958:2:30","nodeType":"VariableDeclaration","scope":14786,"src":"14944:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14769,"name":"string","nodeType":"ElementaryTypeName","src":"14944:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14772,"mutability":"mutable","name":"p2","nameLocation":"14970:2:30","nodeType":"VariableDeclaration","scope":14786,"src":"14962:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14771,"name":"uint256","nodeType":"ElementaryTypeName","src":"14962:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14934:39:30"},"returnParameters":{"id":14774,"nodeType":"ParameterList","parameters":[],"src":"14988:0:30"},"scope":21215,"src":"14922:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14805,"nodeType":"Block","src":"15163:96:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":14798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15213:25:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":14799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14788,"src":"15240:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14790,"src":"15244:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14792,"src":"15248:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15189:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15193:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15189:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15189:62:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"15173:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15173:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14804,"nodeType":"ExpressionStatement","src":"15173:79:30"}]},"id":14806,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15100:3:30","nodeType":"FunctionDefinition","parameters":{"id":14793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14788,"mutability":"mutable","name":"p0","nameLocation":"15109:2:30","nodeType":"VariableDeclaration","scope":14806,"src":"15104:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14787,"name":"bool","nodeType":"ElementaryTypeName","src":"15104:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14790,"mutability":"mutable","name":"p1","nameLocation":"15127:2:30","nodeType":"VariableDeclaration","scope":14806,"src":"15113:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14789,"name":"string","nodeType":"ElementaryTypeName","src":"15113:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14792,"mutability":"mutable","name":"p2","nameLocation":"15145:2:30","nodeType":"VariableDeclaration","scope":14806,"src":"15131:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14791,"name":"string","nodeType":"ElementaryTypeName","src":"15131:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15103:45:30"},"returnParameters":{"id":14794,"nodeType":"ParameterList","parameters":[],"src":"15163:0:30"},"scope":21215,"src":"15091:168:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14825,"nodeType":"Block","src":"15328:94:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":14818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15378:23:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":14819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14808,"src":"15403:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14810,"src":"15407:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14812,"src":"15411:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15354:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15358:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15354:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15354:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"15338:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15338:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14824,"nodeType":"ExpressionStatement","src":"15338:77:30"}]},"id":14826,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15274:3:30","nodeType":"FunctionDefinition","parameters":{"id":14813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14808,"mutability":"mutable","name":"p0","nameLocation":"15283:2:30","nodeType":"VariableDeclaration","scope":14826,"src":"15278:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14807,"name":"bool","nodeType":"ElementaryTypeName","src":"15278:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14810,"mutability":"mutable","name":"p1","nameLocation":"15301:2:30","nodeType":"VariableDeclaration","scope":14826,"src":"15287:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14809,"name":"string","nodeType":"ElementaryTypeName","src":"15287:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14812,"mutability":"mutable","name":"p2","nameLocation":"15310:2:30","nodeType":"VariableDeclaration","scope":14826,"src":"15305:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14811,"name":"bool","nodeType":"ElementaryTypeName","src":"15305:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15277:36:30"},"returnParameters":{"id":14814,"nodeType":"ParameterList","parameters":[],"src":"15328:0:30"},"scope":21215,"src":"15265:157:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14845,"nodeType":"Block","src":"15494:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":14838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15544:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":14839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14828,"src":"15572:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14830,"src":"15576:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14841,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14832,"src":"15580:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15520:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15524:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15520:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15520:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"15504:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15504:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14844,"nodeType":"ExpressionStatement","src":"15504:80:30"}]},"id":14846,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15437:3:30","nodeType":"FunctionDefinition","parameters":{"id":14833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14828,"mutability":"mutable","name":"p0","nameLocation":"15446:2:30","nodeType":"VariableDeclaration","scope":14846,"src":"15441:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14827,"name":"bool","nodeType":"ElementaryTypeName","src":"15441:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14830,"mutability":"mutable","name":"p1","nameLocation":"15464:2:30","nodeType":"VariableDeclaration","scope":14846,"src":"15450:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14829,"name":"string","nodeType":"ElementaryTypeName","src":"15450:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14832,"mutability":"mutable","name":"p2","nameLocation":"15476:2:30","nodeType":"VariableDeclaration","scope":14846,"src":"15468:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14831,"name":"address","nodeType":"ElementaryTypeName","src":"15468:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15440:39:30"},"returnParameters":{"id":14834,"nodeType":"ParameterList","parameters":[],"src":"15494:0:30"},"scope":21215,"src":"15428:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14865,"nodeType":"Block","src":"15654:95:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":14858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15704:24:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":14859,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14848,"src":"15730:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14860,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14850,"src":"15734:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14861,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14852,"src":"15738:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15680:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15684:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15680:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15680:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"15664:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15664:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14864,"nodeType":"ExpressionStatement","src":"15664:78:30"}]},"id":14866,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15606:3:30","nodeType":"FunctionDefinition","parameters":{"id":14853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14848,"mutability":"mutable","name":"p0","nameLocation":"15615:2:30","nodeType":"VariableDeclaration","scope":14866,"src":"15610:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14847,"name":"bool","nodeType":"ElementaryTypeName","src":"15610:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14850,"mutability":"mutable","name":"p1","nameLocation":"15624:2:30","nodeType":"VariableDeclaration","scope":14866,"src":"15619:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14849,"name":"bool","nodeType":"ElementaryTypeName","src":"15619:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14852,"mutability":"mutable","name":"p2","nameLocation":"15636:2:30","nodeType":"VariableDeclaration","scope":14866,"src":"15628:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14851,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15609:30:30"},"returnParameters":{"id":14854,"nodeType":"ParameterList","parameters":[],"src":"15654:0:30"},"scope":21215,"src":"15597:152:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14885,"nodeType":"Block","src":"15818:94:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":14878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15868:23:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":14879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14868,"src":"15893:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14870,"src":"15897:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14872,"src":"15901:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15844:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15848:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15844:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15844:60:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"15828:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15828:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14884,"nodeType":"ExpressionStatement","src":"15828:77:30"}]},"id":14886,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15764:3:30","nodeType":"FunctionDefinition","parameters":{"id":14873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14868,"mutability":"mutable","name":"p0","nameLocation":"15773:2:30","nodeType":"VariableDeclaration","scope":14886,"src":"15768:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14867,"name":"bool","nodeType":"ElementaryTypeName","src":"15768:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14870,"mutability":"mutable","name":"p1","nameLocation":"15782:2:30","nodeType":"VariableDeclaration","scope":14886,"src":"15777:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14869,"name":"bool","nodeType":"ElementaryTypeName","src":"15777:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14872,"mutability":"mutable","name":"p2","nameLocation":"15800:2:30","nodeType":"VariableDeclaration","scope":14886,"src":"15786:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14871,"name":"string","nodeType":"ElementaryTypeName","src":"15786:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15767:36:30"},"returnParameters":{"id":14874,"nodeType":"ParameterList","parameters":[],"src":"15818:0:30"},"scope":21215,"src":"15755:157:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14905,"nodeType":"Block","src":"15972:92:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":14898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16022:21:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":14899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14888,"src":"16045:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14890,"src":"16049:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14892,"src":"16053:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15998:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16002:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15998:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15998:58:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"15982:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15982:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14904,"nodeType":"ExpressionStatement","src":"15982:75:30"}]},"id":14906,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15927:3:30","nodeType":"FunctionDefinition","parameters":{"id":14893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14888,"mutability":"mutable","name":"p0","nameLocation":"15936:2:30","nodeType":"VariableDeclaration","scope":14906,"src":"15931:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14887,"name":"bool","nodeType":"ElementaryTypeName","src":"15931:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14890,"mutability":"mutable","name":"p1","nameLocation":"15945:2:30","nodeType":"VariableDeclaration","scope":14906,"src":"15940:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14889,"name":"bool","nodeType":"ElementaryTypeName","src":"15940:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14892,"mutability":"mutable","name":"p2","nameLocation":"15954:2:30","nodeType":"VariableDeclaration","scope":14906,"src":"15949:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14891,"name":"bool","nodeType":"ElementaryTypeName","src":"15949:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15930:27:30"},"returnParameters":{"id":14894,"nodeType":"ParameterList","parameters":[],"src":"15972:0:30"},"scope":21215,"src":"15918:146:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14925,"nodeType":"Block","src":"16127:95:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":14918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16177:24:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":14919,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14908,"src":"16203:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14920,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14910,"src":"16207:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14921,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14912,"src":"16211:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16153:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16157:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16153:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16153:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"16137:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14924,"nodeType":"ExpressionStatement","src":"16137:78:30"}]},"id":14926,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16079:3:30","nodeType":"FunctionDefinition","parameters":{"id":14913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14908,"mutability":"mutable","name":"p0","nameLocation":"16088:2:30","nodeType":"VariableDeclaration","scope":14926,"src":"16083:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14907,"name":"bool","nodeType":"ElementaryTypeName","src":"16083:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14910,"mutability":"mutable","name":"p1","nameLocation":"16097:2:30","nodeType":"VariableDeclaration","scope":14926,"src":"16092:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14909,"name":"bool","nodeType":"ElementaryTypeName","src":"16092:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14912,"mutability":"mutable","name":"p2","nameLocation":"16109:2:30","nodeType":"VariableDeclaration","scope":14926,"src":"16101:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14911,"name":"address","nodeType":"ElementaryTypeName","src":"16101:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16082:30:30"},"returnParameters":{"id":14914,"nodeType":"ParameterList","parameters":[],"src":"16127:0:30"},"scope":21215,"src":"16070:152:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14945,"nodeType":"Block","src":"16288:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":14938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16338:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":14939,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14928,"src":"16367:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14940,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14930,"src":"16371:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14941,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14932,"src":"16375:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14936,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16314:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16318:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16314:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16314:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"16298:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16298:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14944,"nodeType":"ExpressionStatement","src":"16298:81:30"}]},"id":14946,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16237:3:30","nodeType":"FunctionDefinition","parameters":{"id":14933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14928,"mutability":"mutable","name":"p0","nameLocation":"16246:2:30","nodeType":"VariableDeclaration","scope":14946,"src":"16241:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14927,"name":"bool","nodeType":"ElementaryTypeName","src":"16241:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14930,"mutability":"mutable","name":"p1","nameLocation":"16258:2:30","nodeType":"VariableDeclaration","scope":14946,"src":"16250:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14929,"name":"address","nodeType":"ElementaryTypeName","src":"16250:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14932,"mutability":"mutable","name":"p2","nameLocation":"16270:2:30","nodeType":"VariableDeclaration","scope":14946,"src":"16262:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14931,"name":"uint256","nodeType":"ElementaryTypeName","src":"16262:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16240:33:30"},"returnParameters":{"id":14934,"nodeType":"ParameterList","parameters":[],"src":"16288:0:30"},"scope":21215,"src":"16228:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14965,"nodeType":"Block","src":"16458:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":14958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16508:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":14959,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14948,"src":"16536:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14960,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14950,"src":"16540:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14961,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14952,"src":"16544:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16484:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16488:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16484:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"16468:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16468:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14964,"nodeType":"ExpressionStatement","src":"16468:80:30"}]},"id":14966,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16401:3:30","nodeType":"FunctionDefinition","parameters":{"id":14953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14948,"mutability":"mutable","name":"p0","nameLocation":"16410:2:30","nodeType":"VariableDeclaration","scope":14966,"src":"16405:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14947,"name":"bool","nodeType":"ElementaryTypeName","src":"16405:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14950,"mutability":"mutable","name":"p1","nameLocation":"16422:2:30","nodeType":"VariableDeclaration","scope":14966,"src":"16414:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14949,"name":"address","nodeType":"ElementaryTypeName","src":"16414:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14952,"mutability":"mutable","name":"p2","nameLocation":"16440:2:30","nodeType":"VariableDeclaration","scope":14966,"src":"16426:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14951,"name":"string","nodeType":"ElementaryTypeName","src":"16426:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16404:39:30"},"returnParameters":{"id":14954,"nodeType":"ParameterList","parameters":[],"src":"16458:0:30"},"scope":21215,"src":"16392:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14985,"nodeType":"Block","src":"16618:95:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":14978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16668:24:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":14979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14968,"src":"16694:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14970,"src":"16698:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14972,"src":"16702:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16644:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16648:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16644:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16644:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"16628:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16628:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14984,"nodeType":"ExpressionStatement","src":"16628:78:30"}]},"id":14986,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16570:3:30","nodeType":"FunctionDefinition","parameters":{"id":14973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14968,"mutability":"mutable","name":"p0","nameLocation":"16579:2:30","nodeType":"VariableDeclaration","scope":14986,"src":"16574:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14967,"name":"bool","nodeType":"ElementaryTypeName","src":"16574:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14970,"mutability":"mutable","name":"p1","nameLocation":"16591:2:30","nodeType":"VariableDeclaration","scope":14986,"src":"16583:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14969,"name":"address","nodeType":"ElementaryTypeName","src":"16583:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14972,"mutability":"mutable","name":"p2","nameLocation":"16600:2:30","nodeType":"VariableDeclaration","scope":14986,"src":"16595:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14971,"name":"bool","nodeType":"ElementaryTypeName","src":"16595:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16573:30:30"},"returnParameters":{"id":14974,"nodeType":"ParameterList","parameters":[],"src":"16618:0:30"},"scope":21215,"src":"16561:152:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15005,"nodeType":"Block","src":"16779:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":14998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16829:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":14999,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14988,"src":"16858:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15000,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14990,"src":"16862:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15001,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14992,"src":"16866:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16805:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16809:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16805:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16805:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14995,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"16789:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16789:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15004,"nodeType":"ExpressionStatement","src":"16789:81:30"}]},"id":15006,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16728:3:30","nodeType":"FunctionDefinition","parameters":{"id":14993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14988,"mutability":"mutable","name":"p0","nameLocation":"16737:2:30","nodeType":"VariableDeclaration","scope":15006,"src":"16732:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14987,"name":"bool","nodeType":"ElementaryTypeName","src":"16732:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14990,"mutability":"mutable","name":"p1","nameLocation":"16749:2:30","nodeType":"VariableDeclaration","scope":15006,"src":"16741:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14989,"name":"address","nodeType":"ElementaryTypeName","src":"16741:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14992,"mutability":"mutable","name":"p2","nameLocation":"16761:2:30","nodeType":"VariableDeclaration","scope":15006,"src":"16753:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14991,"name":"address","nodeType":"ElementaryTypeName","src":"16753:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16731:33:30"},"returnParameters":{"id":14994,"nodeType":"ParameterList","parameters":[],"src":"16779:0:30"},"scope":21215,"src":"16719:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15025,"nodeType":"Block","src":"16946:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":15018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16996:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":15019,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15008,"src":"17028:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15020,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15010,"src":"17032:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15021,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15012,"src":"17036:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15016,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16972:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16976:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16972:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16972:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15015,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"16956:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16956:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15024,"nodeType":"ExpressionStatement","src":"16956:84:30"}]},"id":15026,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16892:3:30","nodeType":"FunctionDefinition","parameters":{"id":15013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15008,"mutability":"mutable","name":"p0","nameLocation":"16904:2:30","nodeType":"VariableDeclaration","scope":15026,"src":"16896:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15007,"name":"address","nodeType":"ElementaryTypeName","src":"16896:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15010,"mutability":"mutable","name":"p1","nameLocation":"16916:2:30","nodeType":"VariableDeclaration","scope":15026,"src":"16908:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15009,"name":"uint256","nodeType":"ElementaryTypeName","src":"16908:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15012,"mutability":"mutable","name":"p2","nameLocation":"16928:2:30","nodeType":"VariableDeclaration","scope":15026,"src":"16920:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15011,"name":"uint256","nodeType":"ElementaryTypeName","src":"16920:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16895:36:30"},"returnParameters":{"id":15014,"nodeType":"ParameterList","parameters":[],"src":"16946:0:30"},"scope":21215,"src":"16883:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15045,"nodeType":"Block","src":"17122:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":15038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17172:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":15039,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15028,"src":"17203:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15040,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15030,"src":"17207:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15041,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15032,"src":"17211:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15036,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17148:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17152:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17148:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17148:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"17132:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17132:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15044,"nodeType":"ExpressionStatement","src":"17132:83:30"}]},"id":15046,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17062:3:30","nodeType":"FunctionDefinition","parameters":{"id":15033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15028,"mutability":"mutable","name":"p0","nameLocation":"17074:2:30","nodeType":"VariableDeclaration","scope":15046,"src":"17066:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15027,"name":"address","nodeType":"ElementaryTypeName","src":"17066:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15030,"mutability":"mutable","name":"p1","nameLocation":"17086:2:30","nodeType":"VariableDeclaration","scope":15046,"src":"17078:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15029,"name":"uint256","nodeType":"ElementaryTypeName","src":"17078:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15032,"mutability":"mutable","name":"p2","nameLocation":"17104:2:30","nodeType":"VariableDeclaration","scope":15046,"src":"17090:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15031,"name":"string","nodeType":"ElementaryTypeName","src":"17090:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17065:42:30"},"returnParameters":{"id":15034,"nodeType":"ParameterList","parameters":[],"src":"17122:0:30"},"scope":21215,"src":"17053:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15065,"nodeType":"Block","src":"17288:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":15058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17338:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":15059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15048,"src":"17367:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15050,"src":"17371:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15052,"src":"17375:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17314:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17318:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17314:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17314:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"17298:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17298:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15064,"nodeType":"ExpressionStatement","src":"17298:81:30"}]},"id":15066,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17237:3:30","nodeType":"FunctionDefinition","parameters":{"id":15053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15048,"mutability":"mutable","name":"p0","nameLocation":"17249:2:30","nodeType":"VariableDeclaration","scope":15066,"src":"17241:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15047,"name":"address","nodeType":"ElementaryTypeName","src":"17241:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15050,"mutability":"mutable","name":"p1","nameLocation":"17261:2:30","nodeType":"VariableDeclaration","scope":15066,"src":"17253:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15049,"name":"uint256","nodeType":"ElementaryTypeName","src":"17253:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15052,"mutability":"mutable","name":"p2","nameLocation":"17270:2:30","nodeType":"VariableDeclaration","scope":15066,"src":"17265:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15051,"name":"bool","nodeType":"ElementaryTypeName","src":"17265:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17240:33:30"},"returnParameters":{"id":15054,"nodeType":"ParameterList","parameters":[],"src":"17288:0:30"},"scope":21215,"src":"17228:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15085,"nodeType":"Block","src":"17455:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":15078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17505:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":15079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15068,"src":"17537:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15070,"src":"17541:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15072,"src":"17545:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17481:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17485:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17481:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17481:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"17465:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17465:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15084,"nodeType":"ExpressionStatement","src":"17465:84:30"}]},"id":15086,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17401:3:30","nodeType":"FunctionDefinition","parameters":{"id":15073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15068,"mutability":"mutable","name":"p0","nameLocation":"17413:2:30","nodeType":"VariableDeclaration","scope":15086,"src":"17405:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15067,"name":"address","nodeType":"ElementaryTypeName","src":"17405:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15070,"mutability":"mutable","name":"p1","nameLocation":"17425:2:30","nodeType":"VariableDeclaration","scope":15086,"src":"17417:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15069,"name":"uint256","nodeType":"ElementaryTypeName","src":"17417:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15072,"mutability":"mutable","name":"p2","nameLocation":"17437:2:30","nodeType":"VariableDeclaration","scope":15086,"src":"17429:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15071,"name":"address","nodeType":"ElementaryTypeName","src":"17429:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17404:36:30"},"returnParameters":{"id":15074,"nodeType":"ParameterList","parameters":[],"src":"17455:0:30"},"scope":21215,"src":"17392:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15105,"nodeType":"Block","src":"17631:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":15098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17681:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":15099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15088,"src":"17712:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15090,"src":"17716:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"17720:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17657:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17661:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17657:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17657:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"17641:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17641:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15104,"nodeType":"ExpressionStatement","src":"17641:83:30"}]},"id":15106,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17571:3:30","nodeType":"FunctionDefinition","parameters":{"id":15093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15088,"mutability":"mutable","name":"p0","nameLocation":"17583:2:30","nodeType":"VariableDeclaration","scope":15106,"src":"17575:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15087,"name":"address","nodeType":"ElementaryTypeName","src":"17575:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15090,"mutability":"mutable","name":"p1","nameLocation":"17601:2:30","nodeType":"VariableDeclaration","scope":15106,"src":"17587:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15089,"name":"string","nodeType":"ElementaryTypeName","src":"17587:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15092,"mutability":"mutable","name":"p2","nameLocation":"17613:2:30","nodeType":"VariableDeclaration","scope":15106,"src":"17605:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15091,"name":"uint256","nodeType":"ElementaryTypeName","src":"17605:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17574:42:30"},"returnParameters":{"id":15094,"nodeType":"ParameterList","parameters":[],"src":"17631:0:30"},"scope":21215,"src":"17562:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15125,"nodeType":"Block","src":"17812:99:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":15118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17862:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":15119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15108,"src":"17892:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15110,"src":"17896:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15112,"src":"17900:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17838:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17842:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17838:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17838:65:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"17822:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17822:82:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15124,"nodeType":"ExpressionStatement","src":"17822:82:30"}]},"id":15126,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17746:3:30","nodeType":"FunctionDefinition","parameters":{"id":15113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15108,"mutability":"mutable","name":"p0","nameLocation":"17758:2:30","nodeType":"VariableDeclaration","scope":15126,"src":"17750:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15107,"name":"address","nodeType":"ElementaryTypeName","src":"17750:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15110,"mutability":"mutable","name":"p1","nameLocation":"17776:2:30","nodeType":"VariableDeclaration","scope":15126,"src":"17762:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15109,"name":"string","nodeType":"ElementaryTypeName","src":"17762:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15112,"mutability":"mutable","name":"p2","nameLocation":"17794:2:30","nodeType":"VariableDeclaration","scope":15126,"src":"17780:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15111,"name":"string","nodeType":"ElementaryTypeName","src":"17780:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17749:48:30"},"returnParameters":{"id":15114,"nodeType":"ParameterList","parameters":[],"src":"17812:0:30"},"scope":21215,"src":"17737:174:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15145,"nodeType":"Block","src":"17983:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":15138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18033:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":15139,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15128,"src":"18061:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15140,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15130,"src":"18065:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15141,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15132,"src":"18069:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18009:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18013:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18009:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18009:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15135,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"17993:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17993:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15144,"nodeType":"ExpressionStatement","src":"17993:80:30"}]},"id":15146,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17926:3:30","nodeType":"FunctionDefinition","parameters":{"id":15133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15128,"mutability":"mutable","name":"p0","nameLocation":"17938:2:30","nodeType":"VariableDeclaration","scope":15146,"src":"17930:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15127,"name":"address","nodeType":"ElementaryTypeName","src":"17930:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15130,"mutability":"mutable","name":"p1","nameLocation":"17956:2:30","nodeType":"VariableDeclaration","scope":15146,"src":"17942:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15129,"name":"string","nodeType":"ElementaryTypeName","src":"17942:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15132,"mutability":"mutable","name":"p2","nameLocation":"17965:2:30","nodeType":"VariableDeclaration","scope":15146,"src":"17960:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15131,"name":"bool","nodeType":"ElementaryTypeName","src":"17960:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17929:39:30"},"returnParameters":{"id":15134,"nodeType":"ParameterList","parameters":[],"src":"17983:0:30"},"scope":21215,"src":"17917:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15165,"nodeType":"Block","src":"18155:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":15158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18205:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":15159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15148,"src":"18236:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15150,"src":"18240:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15152,"src":"18244:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18181:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18185:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18181:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18181:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"18165:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18165:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15164,"nodeType":"ExpressionStatement","src":"18165:83:30"}]},"id":15166,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18095:3:30","nodeType":"FunctionDefinition","parameters":{"id":15153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15148,"mutability":"mutable","name":"p0","nameLocation":"18107:2:30","nodeType":"VariableDeclaration","scope":15166,"src":"18099:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15147,"name":"address","nodeType":"ElementaryTypeName","src":"18099:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15150,"mutability":"mutable","name":"p1","nameLocation":"18125:2:30","nodeType":"VariableDeclaration","scope":15166,"src":"18111:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15149,"name":"string","nodeType":"ElementaryTypeName","src":"18111:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15152,"mutability":"mutable","name":"p2","nameLocation":"18137:2:30","nodeType":"VariableDeclaration","scope":15166,"src":"18129:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15151,"name":"address","nodeType":"ElementaryTypeName","src":"18129:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18098:42:30"},"returnParameters":{"id":15154,"nodeType":"ParameterList","parameters":[],"src":"18155:0:30"},"scope":21215,"src":"18086:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15185,"nodeType":"Block","src":"18321:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":15178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18371:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":15179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15168,"src":"18400:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15170,"src":"18404:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15172,"src":"18408:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18347:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18351:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18347:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18347:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"18331:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18331:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15184,"nodeType":"ExpressionStatement","src":"18331:81:30"}]},"id":15186,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18270:3:30","nodeType":"FunctionDefinition","parameters":{"id":15173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15168,"mutability":"mutable","name":"p0","nameLocation":"18282:2:30","nodeType":"VariableDeclaration","scope":15186,"src":"18274:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15167,"name":"address","nodeType":"ElementaryTypeName","src":"18274:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15170,"mutability":"mutable","name":"p1","nameLocation":"18291:2:30","nodeType":"VariableDeclaration","scope":15186,"src":"18286:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15169,"name":"bool","nodeType":"ElementaryTypeName","src":"18286:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15172,"mutability":"mutable","name":"p2","nameLocation":"18303:2:30","nodeType":"VariableDeclaration","scope":15186,"src":"18295:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15171,"name":"uint256","nodeType":"ElementaryTypeName","src":"18295:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18273:33:30"},"returnParameters":{"id":15174,"nodeType":"ParameterList","parameters":[],"src":"18321:0:30"},"scope":21215,"src":"18261:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15205,"nodeType":"Block","src":"18491:97:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":15198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18541:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":15199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15188,"src":"18569:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15190,"src":"18573:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15192,"src":"18577:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18517:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18521:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18517:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18517:63:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"18501:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18501:80:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15204,"nodeType":"ExpressionStatement","src":"18501:80:30"}]},"id":15206,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18434:3:30","nodeType":"FunctionDefinition","parameters":{"id":15193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15188,"mutability":"mutable","name":"p0","nameLocation":"18446:2:30","nodeType":"VariableDeclaration","scope":15206,"src":"18438:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15187,"name":"address","nodeType":"ElementaryTypeName","src":"18438:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15190,"mutability":"mutable","name":"p1","nameLocation":"18455:2:30","nodeType":"VariableDeclaration","scope":15206,"src":"18450:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15189,"name":"bool","nodeType":"ElementaryTypeName","src":"18450:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15192,"mutability":"mutable","name":"p2","nameLocation":"18473:2:30","nodeType":"VariableDeclaration","scope":15206,"src":"18459:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15191,"name":"string","nodeType":"ElementaryTypeName","src":"18459:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18437:39:30"},"returnParameters":{"id":15194,"nodeType":"ParameterList","parameters":[],"src":"18491:0:30"},"scope":21215,"src":"18425:163:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15225,"nodeType":"Block","src":"18651:95:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":15218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18701:24:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":15219,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15208,"src":"18727:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15220,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15210,"src":"18731:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15221,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15212,"src":"18735:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15216,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18677:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18681:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18677:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18677:61:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"18661:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18661:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15224,"nodeType":"ExpressionStatement","src":"18661:78:30"}]},"id":15226,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18603:3:30","nodeType":"FunctionDefinition","parameters":{"id":15213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15208,"mutability":"mutable","name":"p0","nameLocation":"18615:2:30","nodeType":"VariableDeclaration","scope":15226,"src":"18607:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15207,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15210,"mutability":"mutable","name":"p1","nameLocation":"18624:2:30","nodeType":"VariableDeclaration","scope":15226,"src":"18619:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15209,"name":"bool","nodeType":"ElementaryTypeName","src":"18619:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15212,"mutability":"mutable","name":"p2","nameLocation":"18633:2:30","nodeType":"VariableDeclaration","scope":15226,"src":"18628:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15211,"name":"bool","nodeType":"ElementaryTypeName","src":"18628:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18606:30:30"},"returnParameters":{"id":15214,"nodeType":"ParameterList","parameters":[],"src":"18651:0:30"},"scope":21215,"src":"18594:152:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15245,"nodeType":"Block","src":"18812:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":15238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18862:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":15239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15228,"src":"18891:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15230,"src":"18895:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15232,"src":"18899:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18838:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18838:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18838:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"18822:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18822:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15244,"nodeType":"ExpressionStatement","src":"18822:81:30"}]},"id":15246,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18761:3:30","nodeType":"FunctionDefinition","parameters":{"id":15233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15228,"mutability":"mutable","name":"p0","nameLocation":"18773:2:30","nodeType":"VariableDeclaration","scope":15246,"src":"18765:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15227,"name":"address","nodeType":"ElementaryTypeName","src":"18765:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15230,"mutability":"mutable","name":"p1","nameLocation":"18782:2:30","nodeType":"VariableDeclaration","scope":15246,"src":"18777:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15229,"name":"bool","nodeType":"ElementaryTypeName","src":"18777:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15232,"mutability":"mutable","name":"p2","nameLocation":"18794:2:30","nodeType":"VariableDeclaration","scope":15246,"src":"18786:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15231,"name":"address","nodeType":"ElementaryTypeName","src":"18786:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18764:33:30"},"returnParameters":{"id":15234,"nodeType":"ParameterList","parameters":[],"src":"18812:0:30"},"scope":21215,"src":"18752:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15265,"nodeType":"Block","src":"18979:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":15258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19029:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":15259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15248,"src":"19061:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15250,"src":"19065:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15252,"src":"19069:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19005:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19009:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19005:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19005:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"18989:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18989:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15264,"nodeType":"ExpressionStatement","src":"18989:84:30"}]},"id":15266,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18925:3:30","nodeType":"FunctionDefinition","parameters":{"id":15253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15248,"mutability":"mutable","name":"p0","nameLocation":"18937:2:30","nodeType":"VariableDeclaration","scope":15266,"src":"18929:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15247,"name":"address","nodeType":"ElementaryTypeName","src":"18929:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15250,"mutability":"mutable","name":"p1","nameLocation":"18949:2:30","nodeType":"VariableDeclaration","scope":15266,"src":"18941:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15249,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15252,"mutability":"mutable","name":"p2","nameLocation":"18961:2:30","nodeType":"VariableDeclaration","scope":15266,"src":"18953:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15251,"name":"uint256","nodeType":"ElementaryTypeName","src":"18953:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18928:36:30"},"returnParameters":{"id":15254,"nodeType":"ParameterList","parameters":[],"src":"18979:0:30"},"scope":21215,"src":"18916:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15285,"nodeType":"Block","src":"19155:100:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":15278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19205:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":15279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15268,"src":"19236:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"19240:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15272,"src":"19244:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19181:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19185:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19181:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19181:66:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"19165:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19165:83:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15284,"nodeType":"ExpressionStatement","src":"19165:83:30"}]},"id":15286,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19095:3:30","nodeType":"FunctionDefinition","parameters":{"id":15273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15268,"mutability":"mutable","name":"p0","nameLocation":"19107:2:30","nodeType":"VariableDeclaration","scope":15286,"src":"19099:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15267,"name":"address","nodeType":"ElementaryTypeName","src":"19099:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15270,"mutability":"mutable","name":"p1","nameLocation":"19119:2:30","nodeType":"VariableDeclaration","scope":15286,"src":"19111:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15269,"name":"address","nodeType":"ElementaryTypeName","src":"19111:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15272,"mutability":"mutable","name":"p2","nameLocation":"19137:2:30","nodeType":"VariableDeclaration","scope":15286,"src":"19123:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15271,"name":"string","nodeType":"ElementaryTypeName","src":"19123:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19098:42:30"},"returnParameters":{"id":15274,"nodeType":"ParameterList","parameters":[],"src":"19155:0:30"},"scope":21215,"src":"19086:169:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15305,"nodeType":"Block","src":"19321:98:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":15298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19371:27:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":15299,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15288,"src":"19400:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15300,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15290,"src":"19404:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15301,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15292,"src":"19408:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19347:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19351:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19347:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19347:64:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"19331:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19331:81:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15304,"nodeType":"ExpressionStatement","src":"19331:81:30"}]},"id":15306,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19270:3:30","nodeType":"FunctionDefinition","parameters":{"id":15293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15288,"mutability":"mutable","name":"p0","nameLocation":"19282:2:30","nodeType":"VariableDeclaration","scope":15306,"src":"19274:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15287,"name":"address","nodeType":"ElementaryTypeName","src":"19274:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15290,"mutability":"mutable","name":"p1","nameLocation":"19294:2:30","nodeType":"VariableDeclaration","scope":15306,"src":"19286:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15289,"name":"address","nodeType":"ElementaryTypeName","src":"19286:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15292,"mutability":"mutable","name":"p2","nameLocation":"19303:2:30","nodeType":"VariableDeclaration","scope":15306,"src":"19298:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15291,"name":"bool","nodeType":"ElementaryTypeName","src":"19298:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19273:33:30"},"returnParameters":{"id":15294,"nodeType":"ParameterList","parameters":[],"src":"19321:0:30"},"scope":21215,"src":"19261:158:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15325,"nodeType":"Block","src":"19488:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":15318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19538:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":15319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15308,"src":"19570:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15310,"src":"19574:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15312,"src":"19578:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19514:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19518:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19514:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19514:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"19498:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19498:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15324,"nodeType":"ExpressionStatement","src":"19498:84:30"}]},"id":15326,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19434:3:30","nodeType":"FunctionDefinition","parameters":{"id":15313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15308,"mutability":"mutable","name":"p0","nameLocation":"19446:2:30","nodeType":"VariableDeclaration","scope":15326,"src":"19438:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15307,"name":"address","nodeType":"ElementaryTypeName","src":"19438:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15310,"mutability":"mutable","name":"p1","nameLocation":"19458:2:30","nodeType":"VariableDeclaration","scope":15326,"src":"19450:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15309,"name":"address","nodeType":"ElementaryTypeName","src":"19450:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15312,"mutability":"mutable","name":"p2","nameLocation":"19470:2:30","nodeType":"VariableDeclaration","scope":15326,"src":"19462:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15311,"name":"address","nodeType":"ElementaryTypeName","src":"19462:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19437:36:30"},"returnParameters":{"id":15314,"nodeType":"ParameterList","parameters":[],"src":"19488:0:30"},"scope":21215,"src":"19425:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15348,"nodeType":"Block","src":"19670:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":15340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19720:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":15341,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15328,"src":"19760:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15342,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15330,"src":"19764:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15343,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15332,"src":"19768:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15344,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15334,"src":"19772:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19696:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19700:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19696:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19696:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"19680:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19680:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15347,"nodeType":"ExpressionStatement","src":"19680:96:30"}]},"id":15349,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19604:3:30","nodeType":"FunctionDefinition","parameters":{"id":15335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15328,"mutability":"mutable","name":"p0","nameLocation":"19616:2:30","nodeType":"VariableDeclaration","scope":15349,"src":"19608:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15327,"name":"uint256","nodeType":"ElementaryTypeName","src":"19608:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15330,"mutability":"mutable","name":"p1","nameLocation":"19628:2:30","nodeType":"VariableDeclaration","scope":15349,"src":"19620:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15329,"name":"uint256","nodeType":"ElementaryTypeName","src":"19620:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15332,"mutability":"mutable","name":"p2","nameLocation":"19640:2:30","nodeType":"VariableDeclaration","scope":15349,"src":"19632:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15331,"name":"uint256","nodeType":"ElementaryTypeName","src":"19632:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15334,"mutability":"mutable","name":"p3","nameLocation":"19652:2:30","nodeType":"VariableDeclaration","scope":15349,"src":"19644:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15333,"name":"uint256","nodeType":"ElementaryTypeName","src":"19644:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19607:48:30"},"returnParameters":{"id":15336,"nodeType":"ParameterList","parameters":[],"src":"19670:0:30"},"scope":21215,"src":"19595:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15371,"nodeType":"Block","src":"19870:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":15363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19920:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":15364,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15351,"src":"19959:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15365,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15353,"src":"19963:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15366,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15355,"src":"19967:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15367,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15357,"src":"19971:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19896:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19900:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19896:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19896:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15360,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"19880:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19880:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15370,"nodeType":"ExpressionStatement","src":"19880:95:30"}]},"id":15372,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19798:3:30","nodeType":"FunctionDefinition","parameters":{"id":15358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15351,"mutability":"mutable","name":"p0","nameLocation":"19810:2:30","nodeType":"VariableDeclaration","scope":15372,"src":"19802:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15350,"name":"uint256","nodeType":"ElementaryTypeName","src":"19802:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15353,"mutability":"mutable","name":"p1","nameLocation":"19822:2:30","nodeType":"VariableDeclaration","scope":15372,"src":"19814:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15352,"name":"uint256","nodeType":"ElementaryTypeName","src":"19814:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15355,"mutability":"mutable","name":"p2","nameLocation":"19834:2:30","nodeType":"VariableDeclaration","scope":15372,"src":"19826:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15354,"name":"uint256","nodeType":"ElementaryTypeName","src":"19826:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15357,"mutability":"mutable","name":"p3","nameLocation":"19852:2:30","nodeType":"VariableDeclaration","scope":15372,"src":"19838:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15356,"name":"string","nodeType":"ElementaryTypeName","src":"19838:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19801:54:30"},"returnParameters":{"id":15359,"nodeType":"ParameterList","parameters":[],"src":"19870:0:30"},"scope":21215,"src":"19789:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15394,"nodeType":"Block","src":"20060:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":15386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20110:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":15387,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15374,"src":"20147:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15388,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15376,"src":"20151:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15389,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15378,"src":"20155:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15390,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15380,"src":"20159:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15384,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20086:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20090:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20086:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20086:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15383,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"20070:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20070:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15393,"nodeType":"ExpressionStatement","src":"20070:93:30"}]},"id":15395,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19997:3:30","nodeType":"FunctionDefinition","parameters":{"id":15381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15374,"mutability":"mutable","name":"p0","nameLocation":"20009:2:30","nodeType":"VariableDeclaration","scope":15395,"src":"20001:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15373,"name":"uint256","nodeType":"ElementaryTypeName","src":"20001:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15376,"mutability":"mutable","name":"p1","nameLocation":"20021:2:30","nodeType":"VariableDeclaration","scope":15395,"src":"20013:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15375,"name":"uint256","nodeType":"ElementaryTypeName","src":"20013:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15378,"mutability":"mutable","name":"p2","nameLocation":"20033:2:30","nodeType":"VariableDeclaration","scope":15395,"src":"20025:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15377,"name":"uint256","nodeType":"ElementaryTypeName","src":"20025:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15380,"mutability":"mutable","name":"p3","nameLocation":"20042:2:30","nodeType":"VariableDeclaration","scope":15395,"src":"20037:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15379,"name":"bool","nodeType":"ElementaryTypeName","src":"20037:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20000:45:30"},"returnParameters":{"id":15382,"nodeType":"ParameterList","parameters":[],"src":"20060:0:30"},"scope":21215,"src":"19988:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15417,"nodeType":"Block","src":"20251:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":15409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20301:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":15410,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15397,"src":"20341:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15411,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15399,"src":"20345:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15412,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15401,"src":"20349:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15413,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15403,"src":"20353:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15407,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20277:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20281:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20277:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20277:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15406,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"20261:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20261:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15416,"nodeType":"ExpressionStatement","src":"20261:96:30"}]},"id":15418,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20185:3:30","nodeType":"FunctionDefinition","parameters":{"id":15404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15397,"mutability":"mutable","name":"p0","nameLocation":"20197:2:30","nodeType":"VariableDeclaration","scope":15418,"src":"20189:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15396,"name":"uint256","nodeType":"ElementaryTypeName","src":"20189:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15399,"mutability":"mutable","name":"p1","nameLocation":"20209:2:30","nodeType":"VariableDeclaration","scope":15418,"src":"20201:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15398,"name":"uint256","nodeType":"ElementaryTypeName","src":"20201:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15401,"mutability":"mutable","name":"p2","nameLocation":"20221:2:30","nodeType":"VariableDeclaration","scope":15418,"src":"20213:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15400,"name":"uint256","nodeType":"ElementaryTypeName","src":"20213:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15403,"mutability":"mutable","name":"p3","nameLocation":"20233:2:30","nodeType":"VariableDeclaration","scope":15418,"src":"20225:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15402,"name":"address","nodeType":"ElementaryTypeName","src":"20225:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20188:48:30"},"returnParameters":{"id":15405,"nodeType":"ParameterList","parameters":[],"src":"20251:0:30"},"scope":21215,"src":"20176:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15440,"nodeType":"Block","src":"20451:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":15432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20501:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":15433,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15420,"src":"20540:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15434,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15422,"src":"20544:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15435,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15424,"src":"20548:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15436,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15426,"src":"20552:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15430,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20477:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20481:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20477:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20477:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15429,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"20461:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20461:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15439,"nodeType":"ExpressionStatement","src":"20461:95:30"}]},"id":15441,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20379:3:30","nodeType":"FunctionDefinition","parameters":{"id":15427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15420,"mutability":"mutable","name":"p0","nameLocation":"20391:2:30","nodeType":"VariableDeclaration","scope":15441,"src":"20383:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15419,"name":"uint256","nodeType":"ElementaryTypeName","src":"20383:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15422,"mutability":"mutable","name":"p1","nameLocation":"20403:2:30","nodeType":"VariableDeclaration","scope":15441,"src":"20395:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15421,"name":"uint256","nodeType":"ElementaryTypeName","src":"20395:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15424,"mutability":"mutable","name":"p2","nameLocation":"20421:2:30","nodeType":"VariableDeclaration","scope":15441,"src":"20407:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15423,"name":"string","nodeType":"ElementaryTypeName","src":"20407:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15426,"mutability":"mutable","name":"p3","nameLocation":"20433:2:30","nodeType":"VariableDeclaration","scope":15441,"src":"20425:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15425,"name":"uint256","nodeType":"ElementaryTypeName","src":"20425:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20382:54:30"},"returnParameters":{"id":15428,"nodeType":"ParameterList","parameters":[],"src":"20451:0:30"},"scope":21215,"src":"20370:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15463,"nodeType":"Block","src":"20656:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":15455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20706:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":15456,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15443,"src":"20744:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15457,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15445,"src":"20748:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15458,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15447,"src":"20752:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15459,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15449,"src":"20756:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15453,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20682:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20686:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20682:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20682:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15452,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"20666:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20666:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15462,"nodeType":"ExpressionStatement","src":"20666:94:30"}]},"id":15464,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20578:3:30","nodeType":"FunctionDefinition","parameters":{"id":15450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15443,"mutability":"mutable","name":"p0","nameLocation":"20590:2:30","nodeType":"VariableDeclaration","scope":15464,"src":"20582:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15442,"name":"uint256","nodeType":"ElementaryTypeName","src":"20582:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15445,"mutability":"mutable","name":"p1","nameLocation":"20602:2:30","nodeType":"VariableDeclaration","scope":15464,"src":"20594:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15444,"name":"uint256","nodeType":"ElementaryTypeName","src":"20594:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15447,"mutability":"mutable","name":"p2","nameLocation":"20620:2:30","nodeType":"VariableDeclaration","scope":15464,"src":"20606:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15446,"name":"string","nodeType":"ElementaryTypeName","src":"20606:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15449,"mutability":"mutable","name":"p3","nameLocation":"20638:2:30","nodeType":"VariableDeclaration","scope":15464,"src":"20624:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15448,"name":"string","nodeType":"ElementaryTypeName","src":"20624:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20581:60:30"},"returnParameters":{"id":15451,"nodeType":"ParameterList","parameters":[],"src":"20656:0:30"},"scope":21215,"src":"20569:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15486,"nodeType":"Block","src":"20851:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":15478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20901:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":15479,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15466,"src":"20937:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15480,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15468,"src":"20941:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15481,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15470,"src":"20945:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15482,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15472,"src":"20949:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15476,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20877:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20881:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20877:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20877:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15475,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"20861:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20861:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15485,"nodeType":"ExpressionStatement","src":"20861:92:30"}]},"id":15487,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20782:3:30","nodeType":"FunctionDefinition","parameters":{"id":15473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15466,"mutability":"mutable","name":"p0","nameLocation":"20794:2:30","nodeType":"VariableDeclaration","scope":15487,"src":"20786:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15465,"name":"uint256","nodeType":"ElementaryTypeName","src":"20786:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15468,"mutability":"mutable","name":"p1","nameLocation":"20806:2:30","nodeType":"VariableDeclaration","scope":15487,"src":"20798:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15467,"name":"uint256","nodeType":"ElementaryTypeName","src":"20798:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15470,"mutability":"mutable","name":"p2","nameLocation":"20824:2:30","nodeType":"VariableDeclaration","scope":15487,"src":"20810:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15469,"name":"string","nodeType":"ElementaryTypeName","src":"20810:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15472,"mutability":"mutable","name":"p3","nameLocation":"20833:2:30","nodeType":"VariableDeclaration","scope":15487,"src":"20828:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15471,"name":"bool","nodeType":"ElementaryTypeName","src":"20828:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20785:51:30"},"returnParameters":{"id":15474,"nodeType":"ParameterList","parameters":[],"src":"20851:0:30"},"scope":21215,"src":"20773:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15509,"nodeType":"Block","src":"21047:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":15501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21097:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":15502,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15489,"src":"21136:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15503,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15491,"src":"21140:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15504,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15493,"src":"21144:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15505,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15495,"src":"21148:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15499,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21073:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21077:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21073:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21073:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15498,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"21057:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21057:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15508,"nodeType":"ExpressionStatement","src":"21057:95:30"}]},"id":15510,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20975:3:30","nodeType":"FunctionDefinition","parameters":{"id":15496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15489,"mutability":"mutable","name":"p0","nameLocation":"20987:2:30","nodeType":"VariableDeclaration","scope":15510,"src":"20979:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15488,"name":"uint256","nodeType":"ElementaryTypeName","src":"20979:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15491,"mutability":"mutable","name":"p1","nameLocation":"20999:2:30","nodeType":"VariableDeclaration","scope":15510,"src":"20991:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15490,"name":"uint256","nodeType":"ElementaryTypeName","src":"20991:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15493,"mutability":"mutable","name":"p2","nameLocation":"21017:2:30","nodeType":"VariableDeclaration","scope":15510,"src":"21003:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15492,"name":"string","nodeType":"ElementaryTypeName","src":"21003:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15495,"mutability":"mutable","name":"p3","nameLocation":"21029:2:30","nodeType":"VariableDeclaration","scope":15510,"src":"21021:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15494,"name":"address","nodeType":"ElementaryTypeName","src":"21021:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20978:54:30"},"returnParameters":{"id":15497,"nodeType":"ParameterList","parameters":[],"src":"21047:0:30"},"scope":21215,"src":"20966:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15532,"nodeType":"Block","src":"21237:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":15524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21287:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":15525,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15512,"src":"21324:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15526,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15514,"src":"21328:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15527,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15516,"src":"21332:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15528,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15518,"src":"21336:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21263:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21267:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21263:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21263:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15521,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"21247:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21247:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15531,"nodeType":"ExpressionStatement","src":"21247:93:30"}]},"id":15533,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21174:3:30","nodeType":"FunctionDefinition","parameters":{"id":15519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15512,"mutability":"mutable","name":"p0","nameLocation":"21186:2:30","nodeType":"VariableDeclaration","scope":15533,"src":"21178:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15511,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15514,"mutability":"mutable","name":"p1","nameLocation":"21198:2:30","nodeType":"VariableDeclaration","scope":15533,"src":"21190:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15513,"name":"uint256","nodeType":"ElementaryTypeName","src":"21190:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15516,"mutability":"mutable","name":"p2","nameLocation":"21207:2:30","nodeType":"VariableDeclaration","scope":15533,"src":"21202:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15515,"name":"bool","nodeType":"ElementaryTypeName","src":"21202:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15518,"mutability":"mutable","name":"p3","nameLocation":"21219:2:30","nodeType":"VariableDeclaration","scope":15533,"src":"21211:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15517,"name":"uint256","nodeType":"ElementaryTypeName","src":"21211:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21177:45:30"},"returnParameters":{"id":15520,"nodeType":"ParameterList","parameters":[],"src":"21237:0:30"},"scope":21215,"src":"21165:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15555,"nodeType":"Block","src":"21431:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":15547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21481:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":15548,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15535,"src":"21517:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15549,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15537,"src":"21521:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15550,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15539,"src":"21525:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15551,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15541,"src":"21529:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21457:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21461:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21457:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21457:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15544,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"21441:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21441:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15554,"nodeType":"ExpressionStatement","src":"21441:92:30"}]},"id":15556,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21362:3:30","nodeType":"FunctionDefinition","parameters":{"id":15542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15535,"mutability":"mutable","name":"p0","nameLocation":"21374:2:30","nodeType":"VariableDeclaration","scope":15556,"src":"21366:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15534,"name":"uint256","nodeType":"ElementaryTypeName","src":"21366:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15537,"mutability":"mutable","name":"p1","nameLocation":"21386:2:30","nodeType":"VariableDeclaration","scope":15556,"src":"21378:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15536,"name":"uint256","nodeType":"ElementaryTypeName","src":"21378:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15539,"mutability":"mutable","name":"p2","nameLocation":"21395:2:30","nodeType":"VariableDeclaration","scope":15556,"src":"21390:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15538,"name":"bool","nodeType":"ElementaryTypeName","src":"21390:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15541,"mutability":"mutable","name":"p3","nameLocation":"21413:2:30","nodeType":"VariableDeclaration","scope":15556,"src":"21399:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15540,"name":"string","nodeType":"ElementaryTypeName","src":"21399:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21365:51:30"},"returnParameters":{"id":15543,"nodeType":"ParameterList","parameters":[],"src":"21431:0:30"},"scope":21215,"src":"21353:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15578,"nodeType":"Block","src":"21615:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":15570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21665:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":15571,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15558,"src":"21699:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15572,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15560,"src":"21703:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15573,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15562,"src":"21707:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15574,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15564,"src":"21711:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15568,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21641:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21645:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21641:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21641:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15567,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"21625:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21625:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15577,"nodeType":"ExpressionStatement","src":"21625:90:30"}]},"id":15579,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21555:3:30","nodeType":"FunctionDefinition","parameters":{"id":15565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15558,"mutability":"mutable","name":"p0","nameLocation":"21567:2:30","nodeType":"VariableDeclaration","scope":15579,"src":"21559:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15557,"name":"uint256","nodeType":"ElementaryTypeName","src":"21559:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15560,"mutability":"mutable","name":"p1","nameLocation":"21579:2:30","nodeType":"VariableDeclaration","scope":15579,"src":"21571:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15559,"name":"uint256","nodeType":"ElementaryTypeName","src":"21571:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15562,"mutability":"mutable","name":"p2","nameLocation":"21588:2:30","nodeType":"VariableDeclaration","scope":15579,"src":"21583:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15561,"name":"bool","nodeType":"ElementaryTypeName","src":"21583:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15564,"mutability":"mutable","name":"p3","nameLocation":"21597:2:30","nodeType":"VariableDeclaration","scope":15579,"src":"21592:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15563,"name":"bool","nodeType":"ElementaryTypeName","src":"21592:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21558:42:30"},"returnParameters":{"id":15566,"nodeType":"ParameterList","parameters":[],"src":"21615:0:30"},"scope":21215,"src":"21546:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15601,"nodeType":"Block","src":"21800:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":15593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21850:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":15594,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15581,"src":"21887:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15595,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15583,"src":"21891:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15596,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15585,"src":"21895:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15597,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15587,"src":"21899:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15591,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21826:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21830:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21826:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21826:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15590,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"21810:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21810:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15600,"nodeType":"ExpressionStatement","src":"21810:93:30"}]},"id":15602,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21737:3:30","nodeType":"FunctionDefinition","parameters":{"id":15588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15581,"mutability":"mutable","name":"p0","nameLocation":"21749:2:30","nodeType":"VariableDeclaration","scope":15602,"src":"21741:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15580,"name":"uint256","nodeType":"ElementaryTypeName","src":"21741:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15583,"mutability":"mutable","name":"p1","nameLocation":"21761:2:30","nodeType":"VariableDeclaration","scope":15602,"src":"21753:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15582,"name":"uint256","nodeType":"ElementaryTypeName","src":"21753:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15585,"mutability":"mutable","name":"p2","nameLocation":"21770:2:30","nodeType":"VariableDeclaration","scope":15602,"src":"21765:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15584,"name":"bool","nodeType":"ElementaryTypeName","src":"21765:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15587,"mutability":"mutable","name":"p3","nameLocation":"21782:2:30","nodeType":"VariableDeclaration","scope":15602,"src":"21774:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15586,"name":"address","nodeType":"ElementaryTypeName","src":"21774:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21740:45:30"},"returnParameters":{"id":15589,"nodeType":"ParameterList","parameters":[],"src":"21800:0:30"},"scope":21215,"src":"21728:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15624,"nodeType":"Block","src":"21991:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":15616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22041:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":15617,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15604,"src":"22081:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15618,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15606,"src":"22085:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15619,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15608,"src":"22089:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15620,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15610,"src":"22093:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15614,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22017:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22021:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22017:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22017:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15613,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"22001:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22001:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15623,"nodeType":"ExpressionStatement","src":"22001:96:30"}]},"id":15625,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21925:3:30","nodeType":"FunctionDefinition","parameters":{"id":15611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15604,"mutability":"mutable","name":"p0","nameLocation":"21937:2:30","nodeType":"VariableDeclaration","scope":15625,"src":"21929:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15603,"name":"uint256","nodeType":"ElementaryTypeName","src":"21929:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15606,"mutability":"mutable","name":"p1","nameLocation":"21949:2:30","nodeType":"VariableDeclaration","scope":15625,"src":"21941:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15605,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15608,"mutability":"mutable","name":"p2","nameLocation":"21961:2:30","nodeType":"VariableDeclaration","scope":15625,"src":"21953:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15607,"name":"address","nodeType":"ElementaryTypeName","src":"21953:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15610,"mutability":"mutable","name":"p3","nameLocation":"21973:2:30","nodeType":"VariableDeclaration","scope":15625,"src":"21965:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15609,"name":"uint256","nodeType":"ElementaryTypeName","src":"21965:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21928:48:30"},"returnParameters":{"id":15612,"nodeType":"ParameterList","parameters":[],"src":"21991:0:30"},"scope":21215,"src":"21916:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15647,"nodeType":"Block","src":"22191:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":15639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22241:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":15640,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15627,"src":"22280:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15641,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15629,"src":"22284:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15642,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15631,"src":"22288:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15643,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15633,"src":"22292:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15637,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22217:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22221:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22217:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15636,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"22201:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22201:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15646,"nodeType":"ExpressionStatement","src":"22201:95:30"}]},"id":15648,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22119:3:30","nodeType":"FunctionDefinition","parameters":{"id":15634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15627,"mutability":"mutable","name":"p0","nameLocation":"22131:2:30","nodeType":"VariableDeclaration","scope":15648,"src":"22123:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15626,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15629,"mutability":"mutable","name":"p1","nameLocation":"22143:2:30","nodeType":"VariableDeclaration","scope":15648,"src":"22135:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15628,"name":"uint256","nodeType":"ElementaryTypeName","src":"22135:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15631,"mutability":"mutable","name":"p2","nameLocation":"22155:2:30","nodeType":"VariableDeclaration","scope":15648,"src":"22147:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15630,"name":"address","nodeType":"ElementaryTypeName","src":"22147:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15633,"mutability":"mutable","name":"p3","nameLocation":"22173:2:30","nodeType":"VariableDeclaration","scope":15648,"src":"22159:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15632,"name":"string","nodeType":"ElementaryTypeName","src":"22159:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22122:54:30"},"returnParameters":{"id":15635,"nodeType":"ParameterList","parameters":[],"src":"22191:0:30"},"scope":21215,"src":"22110:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15670,"nodeType":"Block","src":"22381:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":15662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22431:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":15663,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15650,"src":"22468:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15664,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15652,"src":"22472:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15665,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15654,"src":"22476:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15666,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15656,"src":"22480:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22407:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22411:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22407:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22407:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15659,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"22391:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22391:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15669,"nodeType":"ExpressionStatement","src":"22391:93:30"}]},"id":15671,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22318:3:30","nodeType":"FunctionDefinition","parameters":{"id":15657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15650,"mutability":"mutable","name":"p0","nameLocation":"22330:2:30","nodeType":"VariableDeclaration","scope":15671,"src":"22322:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15649,"name":"uint256","nodeType":"ElementaryTypeName","src":"22322:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15652,"mutability":"mutable","name":"p1","nameLocation":"22342:2:30","nodeType":"VariableDeclaration","scope":15671,"src":"22334:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15651,"name":"uint256","nodeType":"ElementaryTypeName","src":"22334:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15654,"mutability":"mutable","name":"p2","nameLocation":"22354:2:30","nodeType":"VariableDeclaration","scope":15671,"src":"22346:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15653,"name":"address","nodeType":"ElementaryTypeName","src":"22346:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15656,"mutability":"mutable","name":"p3","nameLocation":"22363:2:30","nodeType":"VariableDeclaration","scope":15671,"src":"22358:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15655,"name":"bool","nodeType":"ElementaryTypeName","src":"22358:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22321:45:30"},"returnParameters":{"id":15658,"nodeType":"ParameterList","parameters":[],"src":"22381:0:30"},"scope":21215,"src":"22309:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15693,"nodeType":"Block","src":"22572:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":15685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22622:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":15686,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15673,"src":"22662:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15687,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15675,"src":"22666:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15688,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15677,"src":"22670:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15689,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15679,"src":"22674:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15683,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22598:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22602:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22598:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22598:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15682,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"22582:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22582:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15692,"nodeType":"ExpressionStatement","src":"22582:96:30"}]},"id":15694,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22506:3:30","nodeType":"FunctionDefinition","parameters":{"id":15680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15673,"mutability":"mutable","name":"p0","nameLocation":"22518:2:30","nodeType":"VariableDeclaration","scope":15694,"src":"22510:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15672,"name":"uint256","nodeType":"ElementaryTypeName","src":"22510:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15675,"mutability":"mutable","name":"p1","nameLocation":"22530:2:30","nodeType":"VariableDeclaration","scope":15694,"src":"22522:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15674,"name":"uint256","nodeType":"ElementaryTypeName","src":"22522:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15677,"mutability":"mutable","name":"p2","nameLocation":"22542:2:30","nodeType":"VariableDeclaration","scope":15694,"src":"22534:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15676,"name":"address","nodeType":"ElementaryTypeName","src":"22534:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15679,"mutability":"mutable","name":"p3","nameLocation":"22554:2:30","nodeType":"VariableDeclaration","scope":15694,"src":"22546:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15678,"name":"address","nodeType":"ElementaryTypeName","src":"22546:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22509:48:30"},"returnParameters":{"id":15681,"nodeType":"ParameterList","parameters":[],"src":"22572:0:30"},"scope":21215,"src":"22497:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15716,"nodeType":"Block","src":"22772:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":15708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22822:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":15709,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15696,"src":"22861:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15710,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15698,"src":"22865:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15711,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15700,"src":"22869:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15712,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15702,"src":"22873:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15706,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22798:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22802:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22798:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22798:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15705,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"22782:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22782:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15715,"nodeType":"ExpressionStatement","src":"22782:95:30"}]},"id":15717,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22700:3:30","nodeType":"FunctionDefinition","parameters":{"id":15703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15696,"mutability":"mutable","name":"p0","nameLocation":"22712:2:30","nodeType":"VariableDeclaration","scope":15717,"src":"22704:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22704:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15698,"mutability":"mutable","name":"p1","nameLocation":"22730:2:30","nodeType":"VariableDeclaration","scope":15717,"src":"22716:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15697,"name":"string","nodeType":"ElementaryTypeName","src":"22716:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15700,"mutability":"mutable","name":"p2","nameLocation":"22742:2:30","nodeType":"VariableDeclaration","scope":15717,"src":"22734:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15699,"name":"uint256","nodeType":"ElementaryTypeName","src":"22734:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15702,"mutability":"mutable","name":"p3","nameLocation":"22754:2:30","nodeType":"VariableDeclaration","scope":15717,"src":"22746:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15701,"name":"uint256","nodeType":"ElementaryTypeName","src":"22746:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22703:54:30"},"returnParameters":{"id":15704,"nodeType":"ParameterList","parameters":[],"src":"22772:0:30"},"scope":21215,"src":"22691:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15739,"nodeType":"Block","src":"22977:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":15731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23027:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":15732,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15719,"src":"23065:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15733,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15721,"src":"23069:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15734,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15723,"src":"23073:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15735,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15725,"src":"23077:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15729,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23003:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15730,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23007:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23003:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23003:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15728,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"22987:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22987:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15738,"nodeType":"ExpressionStatement","src":"22987:94:30"}]},"id":15740,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22899:3:30","nodeType":"FunctionDefinition","parameters":{"id":15726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15719,"mutability":"mutable","name":"p0","nameLocation":"22911:2:30","nodeType":"VariableDeclaration","scope":15740,"src":"22903:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15718,"name":"uint256","nodeType":"ElementaryTypeName","src":"22903:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15721,"mutability":"mutable","name":"p1","nameLocation":"22929:2:30","nodeType":"VariableDeclaration","scope":15740,"src":"22915:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15720,"name":"string","nodeType":"ElementaryTypeName","src":"22915:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15723,"mutability":"mutable","name":"p2","nameLocation":"22941:2:30","nodeType":"VariableDeclaration","scope":15740,"src":"22933:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15722,"name":"uint256","nodeType":"ElementaryTypeName","src":"22933:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15725,"mutability":"mutable","name":"p3","nameLocation":"22959:2:30","nodeType":"VariableDeclaration","scope":15740,"src":"22945:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15724,"name":"string","nodeType":"ElementaryTypeName","src":"22945:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22902:60:30"},"returnParameters":{"id":15727,"nodeType":"ParameterList","parameters":[],"src":"22977:0:30"},"scope":21215,"src":"22890:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15762,"nodeType":"Block","src":"23172:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":15754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23222:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":15755,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15742,"src":"23258:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15756,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15744,"src":"23262:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15757,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15746,"src":"23266:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15758,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15748,"src":"23270:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15752,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23198:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23202:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23198:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15751,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"23182:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23182:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15761,"nodeType":"ExpressionStatement","src":"23182:92:30"}]},"id":15763,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23103:3:30","nodeType":"FunctionDefinition","parameters":{"id":15749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15742,"mutability":"mutable","name":"p0","nameLocation":"23115:2:30","nodeType":"VariableDeclaration","scope":15763,"src":"23107:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15741,"name":"uint256","nodeType":"ElementaryTypeName","src":"23107:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15744,"mutability":"mutable","name":"p1","nameLocation":"23133:2:30","nodeType":"VariableDeclaration","scope":15763,"src":"23119:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15743,"name":"string","nodeType":"ElementaryTypeName","src":"23119:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15746,"mutability":"mutable","name":"p2","nameLocation":"23145:2:30","nodeType":"VariableDeclaration","scope":15763,"src":"23137:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15745,"name":"uint256","nodeType":"ElementaryTypeName","src":"23137:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15748,"mutability":"mutable","name":"p3","nameLocation":"23154:2:30","nodeType":"VariableDeclaration","scope":15763,"src":"23149:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15747,"name":"bool","nodeType":"ElementaryTypeName","src":"23149:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23106:51:30"},"returnParameters":{"id":15750,"nodeType":"ParameterList","parameters":[],"src":"23172:0:30"},"scope":21215,"src":"23094:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15785,"nodeType":"Block","src":"23368:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":15777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23418:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":15778,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15765,"src":"23457:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15779,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15767,"src":"23461:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15780,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15769,"src":"23465:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15781,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15771,"src":"23469:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15775,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23394:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23398:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23394:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23394:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15774,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"23378:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23378:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15784,"nodeType":"ExpressionStatement","src":"23378:95:30"}]},"id":15786,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23296:3:30","nodeType":"FunctionDefinition","parameters":{"id":15772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15765,"mutability":"mutable","name":"p0","nameLocation":"23308:2:30","nodeType":"VariableDeclaration","scope":15786,"src":"23300:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15764,"name":"uint256","nodeType":"ElementaryTypeName","src":"23300:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15767,"mutability":"mutable","name":"p1","nameLocation":"23326:2:30","nodeType":"VariableDeclaration","scope":15786,"src":"23312:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15766,"name":"string","nodeType":"ElementaryTypeName","src":"23312:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15769,"mutability":"mutable","name":"p2","nameLocation":"23338:2:30","nodeType":"VariableDeclaration","scope":15786,"src":"23330:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15768,"name":"uint256","nodeType":"ElementaryTypeName","src":"23330:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15771,"mutability":"mutable","name":"p3","nameLocation":"23350:2:30","nodeType":"VariableDeclaration","scope":15786,"src":"23342:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15770,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23299:54:30"},"returnParameters":{"id":15773,"nodeType":"ParameterList","parameters":[],"src":"23368:0:30"},"scope":21215,"src":"23287:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15808,"nodeType":"Block","src":"23573:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":15800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23623:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":15801,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15788,"src":"23661:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15802,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15790,"src":"23665:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15803,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15792,"src":"23669:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15804,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15794,"src":"23673:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23599:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23603:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23599:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23599:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15797,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"23583:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23583:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15807,"nodeType":"ExpressionStatement","src":"23583:94:30"}]},"id":15809,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23495:3:30","nodeType":"FunctionDefinition","parameters":{"id":15795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15788,"mutability":"mutable","name":"p0","nameLocation":"23507:2:30","nodeType":"VariableDeclaration","scope":15809,"src":"23499:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15787,"name":"uint256","nodeType":"ElementaryTypeName","src":"23499:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15790,"mutability":"mutable","name":"p1","nameLocation":"23525:2:30","nodeType":"VariableDeclaration","scope":15809,"src":"23511:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15789,"name":"string","nodeType":"ElementaryTypeName","src":"23511:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15792,"mutability":"mutable","name":"p2","nameLocation":"23543:2:30","nodeType":"VariableDeclaration","scope":15809,"src":"23529:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15791,"name":"string","nodeType":"ElementaryTypeName","src":"23529:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15794,"mutability":"mutable","name":"p3","nameLocation":"23555:2:30","nodeType":"VariableDeclaration","scope":15809,"src":"23547:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15793,"name":"uint256","nodeType":"ElementaryTypeName","src":"23547:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23498:60:30"},"returnParameters":{"id":15796,"nodeType":"ParameterList","parameters":[],"src":"23573:0:30"},"scope":21215,"src":"23486:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15831,"nodeType":"Block","src":"23783:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":15823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23833:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":15824,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15811,"src":"23870:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15825,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15813,"src":"23874:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15826,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15815,"src":"23878:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15827,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15817,"src":"23882:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23809:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23813:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23809:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23809:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15820,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"23793:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23793:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15830,"nodeType":"ExpressionStatement","src":"23793:93:30"}]},"id":15832,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23699:3:30","nodeType":"FunctionDefinition","parameters":{"id":15818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15811,"mutability":"mutable","name":"p0","nameLocation":"23711:2:30","nodeType":"VariableDeclaration","scope":15832,"src":"23703:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15810,"name":"uint256","nodeType":"ElementaryTypeName","src":"23703:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15813,"mutability":"mutable","name":"p1","nameLocation":"23729:2:30","nodeType":"VariableDeclaration","scope":15832,"src":"23715:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15812,"name":"string","nodeType":"ElementaryTypeName","src":"23715:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15815,"mutability":"mutable","name":"p2","nameLocation":"23747:2:30","nodeType":"VariableDeclaration","scope":15832,"src":"23733:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15814,"name":"string","nodeType":"ElementaryTypeName","src":"23733:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15817,"mutability":"mutable","name":"p3","nameLocation":"23765:2:30","nodeType":"VariableDeclaration","scope":15832,"src":"23751:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15816,"name":"string","nodeType":"ElementaryTypeName","src":"23751:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23702:66:30"},"returnParameters":{"id":15819,"nodeType":"ParameterList","parameters":[],"src":"23783:0:30"},"scope":21215,"src":"23690:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15854,"nodeType":"Block","src":"23983:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":15846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24033:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":15847,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15834,"src":"24068:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15848,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15836,"src":"24072:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15849,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15838,"src":"24076:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15850,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15840,"src":"24080:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15844,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24009:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24013:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24009:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24009:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15843,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"23993:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23993:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15853,"nodeType":"ExpressionStatement","src":"23993:91:30"}]},"id":15855,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23908:3:30","nodeType":"FunctionDefinition","parameters":{"id":15841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15834,"mutability":"mutable","name":"p0","nameLocation":"23920:2:30","nodeType":"VariableDeclaration","scope":15855,"src":"23912:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15833,"name":"uint256","nodeType":"ElementaryTypeName","src":"23912:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15836,"mutability":"mutable","name":"p1","nameLocation":"23938:2:30","nodeType":"VariableDeclaration","scope":15855,"src":"23924:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15835,"name":"string","nodeType":"ElementaryTypeName","src":"23924:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15838,"mutability":"mutable","name":"p2","nameLocation":"23956:2:30","nodeType":"VariableDeclaration","scope":15855,"src":"23942:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15837,"name":"string","nodeType":"ElementaryTypeName","src":"23942:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15840,"mutability":"mutable","name":"p3","nameLocation":"23965:2:30","nodeType":"VariableDeclaration","scope":15855,"src":"23960:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15839,"name":"bool","nodeType":"ElementaryTypeName","src":"23960:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23911:57:30"},"returnParameters":{"id":15842,"nodeType":"ParameterList","parameters":[],"src":"23983:0:30"},"scope":21215,"src":"23899:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15877,"nodeType":"Block","src":"24184:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":15869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24234:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":15870,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"24272:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15871,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15859,"src":"24276:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15872,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15861,"src":"24280:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15873,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15863,"src":"24284:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15867,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24210:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24214:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24210:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24210:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15866,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"24194:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24194:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15876,"nodeType":"ExpressionStatement","src":"24194:94:30"}]},"id":15878,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24106:3:30","nodeType":"FunctionDefinition","parameters":{"id":15864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15857,"mutability":"mutable","name":"p0","nameLocation":"24118:2:30","nodeType":"VariableDeclaration","scope":15878,"src":"24110:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15856,"name":"uint256","nodeType":"ElementaryTypeName","src":"24110:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15859,"mutability":"mutable","name":"p1","nameLocation":"24136:2:30","nodeType":"VariableDeclaration","scope":15878,"src":"24122:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15858,"name":"string","nodeType":"ElementaryTypeName","src":"24122:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15861,"mutability":"mutable","name":"p2","nameLocation":"24154:2:30","nodeType":"VariableDeclaration","scope":15878,"src":"24140:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15860,"name":"string","nodeType":"ElementaryTypeName","src":"24140:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15863,"mutability":"mutable","name":"p3","nameLocation":"24166:2:30","nodeType":"VariableDeclaration","scope":15878,"src":"24158:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15862,"name":"address","nodeType":"ElementaryTypeName","src":"24158:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24109:60:30"},"returnParameters":{"id":15865,"nodeType":"ParameterList","parameters":[],"src":"24184:0:30"},"scope":21215,"src":"24097:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15900,"nodeType":"Block","src":"24379:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":15892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24429:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":15893,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15880,"src":"24465:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15894,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15882,"src":"24469:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15895,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15884,"src":"24473:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15896,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15886,"src":"24477:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15890,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24405:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24409:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24405:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24405:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15889,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"24389:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24389:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15899,"nodeType":"ExpressionStatement","src":"24389:92:30"}]},"id":15901,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24310:3:30","nodeType":"FunctionDefinition","parameters":{"id":15887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15880,"mutability":"mutable","name":"p0","nameLocation":"24322:2:30","nodeType":"VariableDeclaration","scope":15901,"src":"24314:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15879,"name":"uint256","nodeType":"ElementaryTypeName","src":"24314:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15882,"mutability":"mutable","name":"p1","nameLocation":"24340:2:30","nodeType":"VariableDeclaration","scope":15901,"src":"24326:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15881,"name":"string","nodeType":"ElementaryTypeName","src":"24326:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15884,"mutability":"mutable","name":"p2","nameLocation":"24349:2:30","nodeType":"VariableDeclaration","scope":15901,"src":"24344:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15883,"name":"bool","nodeType":"ElementaryTypeName","src":"24344:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15886,"mutability":"mutable","name":"p3","nameLocation":"24361:2:30","nodeType":"VariableDeclaration","scope":15901,"src":"24353:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15885,"name":"uint256","nodeType":"ElementaryTypeName","src":"24353:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24313:51:30"},"returnParameters":{"id":15888,"nodeType":"ParameterList","parameters":[],"src":"24379:0:30"},"scope":21215,"src":"24301:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15923,"nodeType":"Block","src":"24578:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":15915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24628:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":15916,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15903,"src":"24663:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15917,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15905,"src":"24667:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15918,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15907,"src":"24671:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15919,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15909,"src":"24675:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15913,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24604:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24608:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24604:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24604:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15912,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"24588:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24588:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15922,"nodeType":"ExpressionStatement","src":"24588:91:30"}]},"id":15924,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24503:3:30","nodeType":"FunctionDefinition","parameters":{"id":15910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15903,"mutability":"mutable","name":"p0","nameLocation":"24515:2:30","nodeType":"VariableDeclaration","scope":15924,"src":"24507:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15902,"name":"uint256","nodeType":"ElementaryTypeName","src":"24507:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15905,"mutability":"mutable","name":"p1","nameLocation":"24533:2:30","nodeType":"VariableDeclaration","scope":15924,"src":"24519:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15904,"name":"string","nodeType":"ElementaryTypeName","src":"24519:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15907,"mutability":"mutable","name":"p2","nameLocation":"24542:2:30","nodeType":"VariableDeclaration","scope":15924,"src":"24537:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15906,"name":"bool","nodeType":"ElementaryTypeName","src":"24537:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15909,"mutability":"mutable","name":"p3","nameLocation":"24560:2:30","nodeType":"VariableDeclaration","scope":15924,"src":"24546:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15908,"name":"string","nodeType":"ElementaryTypeName","src":"24546:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24506:57:30"},"returnParameters":{"id":15911,"nodeType":"ParameterList","parameters":[],"src":"24578:0:30"},"scope":21215,"src":"24494:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15946,"nodeType":"Block","src":"24767:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":15938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24817:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":15939,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15926,"src":"24850:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15940,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15928,"src":"24854:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15941,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15930,"src":"24858:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15942,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15932,"src":"24862:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15936,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24793:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24797:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24793:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24793:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"24777:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24777:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15945,"nodeType":"ExpressionStatement","src":"24777:89:30"}]},"id":15947,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24701:3:30","nodeType":"FunctionDefinition","parameters":{"id":15933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15926,"mutability":"mutable","name":"p0","nameLocation":"24713:2:30","nodeType":"VariableDeclaration","scope":15947,"src":"24705:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15925,"name":"uint256","nodeType":"ElementaryTypeName","src":"24705:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15928,"mutability":"mutable","name":"p1","nameLocation":"24731:2:30","nodeType":"VariableDeclaration","scope":15947,"src":"24717:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15927,"name":"string","nodeType":"ElementaryTypeName","src":"24717:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15930,"mutability":"mutable","name":"p2","nameLocation":"24740:2:30","nodeType":"VariableDeclaration","scope":15947,"src":"24735:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15929,"name":"bool","nodeType":"ElementaryTypeName","src":"24735:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15932,"mutability":"mutable","name":"p3","nameLocation":"24749:2:30","nodeType":"VariableDeclaration","scope":15947,"src":"24744:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15931,"name":"bool","nodeType":"ElementaryTypeName","src":"24744:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24704:48:30"},"returnParameters":{"id":15934,"nodeType":"ParameterList","parameters":[],"src":"24767:0:30"},"scope":21215,"src":"24692:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15969,"nodeType":"Block","src":"24957:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":15961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25007:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":15962,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15949,"src":"25043:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15963,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15951,"src":"25047:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15964,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15953,"src":"25051:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15965,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15955,"src":"25055:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15959,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24983:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24987:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24983:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24983:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15958,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"24967:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24967:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15968,"nodeType":"ExpressionStatement","src":"24967:92:30"}]},"id":15970,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24888:3:30","nodeType":"FunctionDefinition","parameters":{"id":15956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15949,"mutability":"mutable","name":"p0","nameLocation":"24900:2:30","nodeType":"VariableDeclaration","scope":15970,"src":"24892:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15948,"name":"uint256","nodeType":"ElementaryTypeName","src":"24892:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15951,"mutability":"mutable","name":"p1","nameLocation":"24918:2:30","nodeType":"VariableDeclaration","scope":15970,"src":"24904:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15950,"name":"string","nodeType":"ElementaryTypeName","src":"24904:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15953,"mutability":"mutable","name":"p2","nameLocation":"24927:2:30","nodeType":"VariableDeclaration","scope":15970,"src":"24922:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15952,"name":"bool","nodeType":"ElementaryTypeName","src":"24922:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15955,"mutability":"mutable","name":"p3","nameLocation":"24939:2:30","nodeType":"VariableDeclaration","scope":15970,"src":"24931:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15954,"name":"address","nodeType":"ElementaryTypeName","src":"24931:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24891:51:30"},"returnParameters":{"id":15957,"nodeType":"ParameterList","parameters":[],"src":"24957:0:30"},"scope":21215,"src":"24879:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":15992,"nodeType":"Block","src":"25153:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":15984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25203:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":15985,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15972,"src":"25242:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15986,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15974,"src":"25246:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15987,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15976,"src":"25250:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15988,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15978,"src":"25254:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25179:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25183:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25179:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"25163:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":15990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25163:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15991,"nodeType":"ExpressionStatement","src":"25163:95:30"}]},"id":15993,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25081:3:30","nodeType":"FunctionDefinition","parameters":{"id":15979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15972,"mutability":"mutable","name":"p0","nameLocation":"25093:2:30","nodeType":"VariableDeclaration","scope":15993,"src":"25085:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15971,"name":"uint256","nodeType":"ElementaryTypeName","src":"25085:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15974,"mutability":"mutable","name":"p1","nameLocation":"25111:2:30","nodeType":"VariableDeclaration","scope":15993,"src":"25097:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15973,"name":"string","nodeType":"ElementaryTypeName","src":"25097:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15976,"mutability":"mutable","name":"p2","nameLocation":"25123:2:30","nodeType":"VariableDeclaration","scope":15993,"src":"25115:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15975,"name":"address","nodeType":"ElementaryTypeName","src":"25115:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15978,"mutability":"mutable","name":"p3","nameLocation":"25135:2:30","nodeType":"VariableDeclaration","scope":15993,"src":"25127:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15977,"name":"uint256","nodeType":"ElementaryTypeName","src":"25127:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25084:54:30"},"returnParameters":{"id":15980,"nodeType":"ParameterList","parameters":[],"src":"25153:0:30"},"scope":21215,"src":"25072:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16015,"nodeType":"Block","src":"25358:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":16007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25408:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":16008,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15995,"src":"25446:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16009,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15997,"src":"25450:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16010,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15999,"src":"25454:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16011,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16001,"src":"25458:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25384:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25388:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25384:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25384:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16004,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"25368:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25368:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16014,"nodeType":"ExpressionStatement","src":"25368:94:30"}]},"id":16016,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25280:3:30","nodeType":"FunctionDefinition","parameters":{"id":16002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15995,"mutability":"mutable","name":"p0","nameLocation":"25292:2:30","nodeType":"VariableDeclaration","scope":16016,"src":"25284:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15994,"name":"uint256","nodeType":"ElementaryTypeName","src":"25284:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15997,"mutability":"mutable","name":"p1","nameLocation":"25310:2:30","nodeType":"VariableDeclaration","scope":16016,"src":"25296:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15996,"name":"string","nodeType":"ElementaryTypeName","src":"25296:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15999,"mutability":"mutable","name":"p2","nameLocation":"25322:2:30","nodeType":"VariableDeclaration","scope":16016,"src":"25314:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15998,"name":"address","nodeType":"ElementaryTypeName","src":"25314:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16001,"mutability":"mutable","name":"p3","nameLocation":"25340:2:30","nodeType":"VariableDeclaration","scope":16016,"src":"25326:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16000,"name":"string","nodeType":"ElementaryTypeName","src":"25326:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25283:60:30"},"returnParameters":{"id":16003,"nodeType":"ParameterList","parameters":[],"src":"25358:0:30"},"scope":21215,"src":"25271:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16038,"nodeType":"Block","src":"25553:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":16030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25603:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":16031,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16018,"src":"25639:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16032,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16020,"src":"25643:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16033,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16022,"src":"25647:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16034,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16024,"src":"25651:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16028,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25579:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25583:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25579:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25579:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16027,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"25563:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25563:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16037,"nodeType":"ExpressionStatement","src":"25563:92:30"}]},"id":16039,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25484:3:30","nodeType":"FunctionDefinition","parameters":{"id":16025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16018,"mutability":"mutable","name":"p0","nameLocation":"25496:2:30","nodeType":"VariableDeclaration","scope":16039,"src":"25488:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16017,"name":"uint256","nodeType":"ElementaryTypeName","src":"25488:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16020,"mutability":"mutable","name":"p1","nameLocation":"25514:2:30","nodeType":"VariableDeclaration","scope":16039,"src":"25500:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16019,"name":"string","nodeType":"ElementaryTypeName","src":"25500:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16022,"mutability":"mutable","name":"p2","nameLocation":"25526:2:30","nodeType":"VariableDeclaration","scope":16039,"src":"25518:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16021,"name":"address","nodeType":"ElementaryTypeName","src":"25518:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16024,"mutability":"mutable","name":"p3","nameLocation":"25535:2:30","nodeType":"VariableDeclaration","scope":16039,"src":"25530:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16023,"name":"bool","nodeType":"ElementaryTypeName","src":"25530:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25487:51:30"},"returnParameters":{"id":16026,"nodeType":"ParameterList","parameters":[],"src":"25553:0:30"},"scope":21215,"src":"25475:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16061,"nodeType":"Block","src":"25749:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":16053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25799:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":16054,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16041,"src":"25838:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16055,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16043,"src":"25842:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16056,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16045,"src":"25846:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16057,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16047,"src":"25850:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16051,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25775:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25779:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25775:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25775:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16050,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"25759:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25759:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16060,"nodeType":"ExpressionStatement","src":"25759:95:30"}]},"id":16062,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25677:3:30","nodeType":"FunctionDefinition","parameters":{"id":16048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16041,"mutability":"mutable","name":"p0","nameLocation":"25689:2:30","nodeType":"VariableDeclaration","scope":16062,"src":"25681:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16040,"name":"uint256","nodeType":"ElementaryTypeName","src":"25681:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16043,"mutability":"mutable","name":"p1","nameLocation":"25707:2:30","nodeType":"VariableDeclaration","scope":16062,"src":"25693:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16042,"name":"string","nodeType":"ElementaryTypeName","src":"25693:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16045,"mutability":"mutable","name":"p2","nameLocation":"25719:2:30","nodeType":"VariableDeclaration","scope":16062,"src":"25711:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16044,"name":"address","nodeType":"ElementaryTypeName","src":"25711:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16047,"mutability":"mutable","name":"p3","nameLocation":"25731:2:30","nodeType":"VariableDeclaration","scope":16062,"src":"25723:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16046,"name":"address","nodeType":"ElementaryTypeName","src":"25723:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25680:54:30"},"returnParameters":{"id":16049,"nodeType":"ParameterList","parameters":[],"src":"25749:0:30"},"scope":21215,"src":"25668:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16084,"nodeType":"Block","src":"25939:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":16076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25989:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":16077,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16064,"src":"26026:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16078,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16066,"src":"26030:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16079,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16068,"src":"26034:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16080,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16070,"src":"26038:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16074,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25965:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16075,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25969:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25965:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25965:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16073,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"25949:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25949:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16083,"nodeType":"ExpressionStatement","src":"25949:93:30"}]},"id":16085,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25876:3:30","nodeType":"FunctionDefinition","parameters":{"id":16071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16064,"mutability":"mutable","name":"p0","nameLocation":"25888:2:30","nodeType":"VariableDeclaration","scope":16085,"src":"25880:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16063,"name":"uint256","nodeType":"ElementaryTypeName","src":"25880:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16066,"mutability":"mutable","name":"p1","nameLocation":"25897:2:30","nodeType":"VariableDeclaration","scope":16085,"src":"25892:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16065,"name":"bool","nodeType":"ElementaryTypeName","src":"25892:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16068,"mutability":"mutable","name":"p2","nameLocation":"25909:2:30","nodeType":"VariableDeclaration","scope":16085,"src":"25901:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16067,"name":"uint256","nodeType":"ElementaryTypeName","src":"25901:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16070,"mutability":"mutable","name":"p3","nameLocation":"25921:2:30","nodeType":"VariableDeclaration","scope":16085,"src":"25913:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16069,"name":"uint256","nodeType":"ElementaryTypeName","src":"25913:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25879:45:30"},"returnParameters":{"id":16072,"nodeType":"ParameterList","parameters":[],"src":"25939:0:30"},"scope":21215,"src":"25867:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16107,"nodeType":"Block","src":"26133:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":16099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26183:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":16100,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16087,"src":"26219:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16101,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16089,"src":"26223:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16102,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16091,"src":"26227:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16103,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16093,"src":"26231:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16097,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26159:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26163:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26159:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26159:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16096,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"26143:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26143:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16106,"nodeType":"ExpressionStatement","src":"26143:92:30"}]},"id":16108,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26064:3:30","nodeType":"FunctionDefinition","parameters":{"id":16094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16087,"mutability":"mutable","name":"p0","nameLocation":"26076:2:30","nodeType":"VariableDeclaration","scope":16108,"src":"26068:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16086,"name":"uint256","nodeType":"ElementaryTypeName","src":"26068:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16089,"mutability":"mutable","name":"p1","nameLocation":"26085:2:30","nodeType":"VariableDeclaration","scope":16108,"src":"26080:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16088,"name":"bool","nodeType":"ElementaryTypeName","src":"26080:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16091,"mutability":"mutable","name":"p2","nameLocation":"26097:2:30","nodeType":"VariableDeclaration","scope":16108,"src":"26089:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16090,"name":"uint256","nodeType":"ElementaryTypeName","src":"26089:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16093,"mutability":"mutable","name":"p3","nameLocation":"26115:2:30","nodeType":"VariableDeclaration","scope":16108,"src":"26101:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16092,"name":"string","nodeType":"ElementaryTypeName","src":"26101:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26067:51:30"},"returnParameters":{"id":16095,"nodeType":"ParameterList","parameters":[],"src":"26133:0:30"},"scope":21215,"src":"26055:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16130,"nodeType":"Block","src":"26317:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":16122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26367:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":16123,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16110,"src":"26401:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16124,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16112,"src":"26405:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16125,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16114,"src":"26409:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16126,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16116,"src":"26413:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26343:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26347:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26343:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26343:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16119,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"26327:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26327:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16129,"nodeType":"ExpressionStatement","src":"26327:90:30"}]},"id":16131,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26257:3:30","nodeType":"FunctionDefinition","parameters":{"id":16117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16110,"mutability":"mutable","name":"p0","nameLocation":"26269:2:30","nodeType":"VariableDeclaration","scope":16131,"src":"26261:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16109,"name":"uint256","nodeType":"ElementaryTypeName","src":"26261:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16112,"mutability":"mutable","name":"p1","nameLocation":"26278:2:30","nodeType":"VariableDeclaration","scope":16131,"src":"26273:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16111,"name":"bool","nodeType":"ElementaryTypeName","src":"26273:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16114,"mutability":"mutable","name":"p2","nameLocation":"26290:2:30","nodeType":"VariableDeclaration","scope":16131,"src":"26282:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16113,"name":"uint256","nodeType":"ElementaryTypeName","src":"26282:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16116,"mutability":"mutable","name":"p3","nameLocation":"26299:2:30","nodeType":"VariableDeclaration","scope":16131,"src":"26294:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16115,"name":"bool","nodeType":"ElementaryTypeName","src":"26294:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26260:42:30"},"returnParameters":{"id":16118,"nodeType":"ParameterList","parameters":[],"src":"26317:0:30"},"scope":21215,"src":"26248:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16153,"nodeType":"Block","src":"26502:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":16145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26552:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":16146,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16133,"src":"26589:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16147,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16135,"src":"26593:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16148,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16137,"src":"26597:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16149,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16139,"src":"26601:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16143,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26528:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26532:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26528:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26528:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16142,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"26512:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26512:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16152,"nodeType":"ExpressionStatement","src":"26512:93:30"}]},"id":16154,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26439:3:30","nodeType":"FunctionDefinition","parameters":{"id":16140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16133,"mutability":"mutable","name":"p0","nameLocation":"26451:2:30","nodeType":"VariableDeclaration","scope":16154,"src":"26443:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16132,"name":"uint256","nodeType":"ElementaryTypeName","src":"26443:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16135,"mutability":"mutable","name":"p1","nameLocation":"26460:2:30","nodeType":"VariableDeclaration","scope":16154,"src":"26455:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16134,"name":"bool","nodeType":"ElementaryTypeName","src":"26455:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16137,"mutability":"mutable","name":"p2","nameLocation":"26472:2:30","nodeType":"VariableDeclaration","scope":16154,"src":"26464:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16136,"name":"uint256","nodeType":"ElementaryTypeName","src":"26464:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16139,"mutability":"mutable","name":"p3","nameLocation":"26484:2:30","nodeType":"VariableDeclaration","scope":16154,"src":"26476:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16138,"name":"address","nodeType":"ElementaryTypeName","src":"26476:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26442:45:30"},"returnParameters":{"id":16141,"nodeType":"ParameterList","parameters":[],"src":"26502:0:30"},"scope":21215,"src":"26430:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16176,"nodeType":"Block","src":"26696:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":16168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26746:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":16169,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16156,"src":"26782:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16170,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16158,"src":"26786:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16171,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16160,"src":"26790:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16172,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16162,"src":"26794:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16166,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26722:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26726:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26722:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26722:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16165,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"26706:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26706:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16175,"nodeType":"ExpressionStatement","src":"26706:92:30"}]},"id":16177,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26627:3:30","nodeType":"FunctionDefinition","parameters":{"id":16163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16156,"mutability":"mutable","name":"p0","nameLocation":"26639:2:30","nodeType":"VariableDeclaration","scope":16177,"src":"26631:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16155,"name":"uint256","nodeType":"ElementaryTypeName","src":"26631:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16158,"mutability":"mutable","name":"p1","nameLocation":"26648:2:30","nodeType":"VariableDeclaration","scope":16177,"src":"26643:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16157,"name":"bool","nodeType":"ElementaryTypeName","src":"26643:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16160,"mutability":"mutable","name":"p2","nameLocation":"26666:2:30","nodeType":"VariableDeclaration","scope":16177,"src":"26652:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16159,"name":"string","nodeType":"ElementaryTypeName","src":"26652:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16162,"mutability":"mutable","name":"p3","nameLocation":"26678:2:30","nodeType":"VariableDeclaration","scope":16177,"src":"26670:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16161,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26630:51:30"},"returnParameters":{"id":16164,"nodeType":"ParameterList","parameters":[],"src":"26696:0:30"},"scope":21215,"src":"26618:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16199,"nodeType":"Block","src":"26895:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":16191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26945:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":16192,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16179,"src":"26980:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16193,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16181,"src":"26984:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16194,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16183,"src":"26988:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16195,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16185,"src":"26992:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26921:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26925:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26921:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26921:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16188,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"26905:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26905:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16198,"nodeType":"ExpressionStatement","src":"26905:91:30"}]},"id":16200,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26820:3:30","nodeType":"FunctionDefinition","parameters":{"id":16186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16179,"mutability":"mutable","name":"p0","nameLocation":"26832:2:30","nodeType":"VariableDeclaration","scope":16200,"src":"26824:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16178,"name":"uint256","nodeType":"ElementaryTypeName","src":"26824:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16181,"mutability":"mutable","name":"p1","nameLocation":"26841:2:30","nodeType":"VariableDeclaration","scope":16200,"src":"26836:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16180,"name":"bool","nodeType":"ElementaryTypeName","src":"26836:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16183,"mutability":"mutable","name":"p2","nameLocation":"26859:2:30","nodeType":"VariableDeclaration","scope":16200,"src":"26845:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16182,"name":"string","nodeType":"ElementaryTypeName","src":"26845:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16185,"mutability":"mutable","name":"p3","nameLocation":"26877:2:30","nodeType":"VariableDeclaration","scope":16200,"src":"26863:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16184,"name":"string","nodeType":"ElementaryTypeName","src":"26863:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26823:57:30"},"returnParameters":{"id":16187,"nodeType":"ParameterList","parameters":[],"src":"26895:0:30"},"scope":21215,"src":"26811:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16222,"nodeType":"Block","src":"27084:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":16214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27134:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":16215,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16202,"src":"27167:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16216,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16204,"src":"27171:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16217,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16206,"src":"27175:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16218,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16208,"src":"27179:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16212,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27110:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27114:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27110:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27110:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16211,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"27094:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27094:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16221,"nodeType":"ExpressionStatement","src":"27094:89:30"}]},"id":16223,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27018:3:30","nodeType":"FunctionDefinition","parameters":{"id":16209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16202,"mutability":"mutable","name":"p0","nameLocation":"27030:2:30","nodeType":"VariableDeclaration","scope":16223,"src":"27022:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16201,"name":"uint256","nodeType":"ElementaryTypeName","src":"27022:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16204,"mutability":"mutable","name":"p1","nameLocation":"27039:2:30","nodeType":"VariableDeclaration","scope":16223,"src":"27034:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16203,"name":"bool","nodeType":"ElementaryTypeName","src":"27034:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16206,"mutability":"mutable","name":"p2","nameLocation":"27057:2:30","nodeType":"VariableDeclaration","scope":16223,"src":"27043:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16205,"name":"string","nodeType":"ElementaryTypeName","src":"27043:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16208,"mutability":"mutable","name":"p3","nameLocation":"27066:2:30","nodeType":"VariableDeclaration","scope":16223,"src":"27061:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16207,"name":"bool","nodeType":"ElementaryTypeName","src":"27061:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27021:48:30"},"returnParameters":{"id":16210,"nodeType":"ParameterList","parameters":[],"src":"27084:0:30"},"scope":21215,"src":"27009:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16245,"nodeType":"Block","src":"27274:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":16237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27324:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":16238,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16225,"src":"27360:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16239,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16227,"src":"27364:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16240,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16229,"src":"27368:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16241,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16231,"src":"27372:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16235,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27300:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27304:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27300:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27300:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16234,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"27284:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27284:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16244,"nodeType":"ExpressionStatement","src":"27284:92:30"}]},"id":16246,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27205:3:30","nodeType":"FunctionDefinition","parameters":{"id":16232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16225,"mutability":"mutable","name":"p0","nameLocation":"27217:2:30","nodeType":"VariableDeclaration","scope":16246,"src":"27209:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16224,"name":"uint256","nodeType":"ElementaryTypeName","src":"27209:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16227,"mutability":"mutable","name":"p1","nameLocation":"27226:2:30","nodeType":"VariableDeclaration","scope":16246,"src":"27221:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16226,"name":"bool","nodeType":"ElementaryTypeName","src":"27221:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16229,"mutability":"mutable","name":"p2","nameLocation":"27244:2:30","nodeType":"VariableDeclaration","scope":16246,"src":"27230:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16228,"name":"string","nodeType":"ElementaryTypeName","src":"27230:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16231,"mutability":"mutable","name":"p3","nameLocation":"27256:2:30","nodeType":"VariableDeclaration","scope":16246,"src":"27248:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16230,"name":"address","nodeType":"ElementaryTypeName","src":"27248:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27208:51:30"},"returnParameters":{"id":16233,"nodeType":"ParameterList","parameters":[],"src":"27274:0:30"},"scope":21215,"src":"27196:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16268,"nodeType":"Block","src":"27458:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":16260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27508:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":16261,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16248,"src":"27542:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16262,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16250,"src":"27546:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16263,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16252,"src":"27550:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16264,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16254,"src":"27554:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27484:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27488:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27484:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"27468:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27468:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16267,"nodeType":"ExpressionStatement","src":"27468:90:30"}]},"id":16269,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27398:3:30","nodeType":"FunctionDefinition","parameters":{"id":16255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16248,"mutability":"mutable","name":"p0","nameLocation":"27410:2:30","nodeType":"VariableDeclaration","scope":16269,"src":"27402:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16247,"name":"uint256","nodeType":"ElementaryTypeName","src":"27402:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16250,"mutability":"mutable","name":"p1","nameLocation":"27419:2:30","nodeType":"VariableDeclaration","scope":16269,"src":"27414:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16249,"name":"bool","nodeType":"ElementaryTypeName","src":"27414:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16252,"mutability":"mutable","name":"p2","nameLocation":"27428:2:30","nodeType":"VariableDeclaration","scope":16269,"src":"27423:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16251,"name":"bool","nodeType":"ElementaryTypeName","src":"27423:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16254,"mutability":"mutable","name":"p3","nameLocation":"27440:2:30","nodeType":"VariableDeclaration","scope":16269,"src":"27432:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16253,"name":"uint256","nodeType":"ElementaryTypeName","src":"27432:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27401:42:30"},"returnParameters":{"id":16256,"nodeType":"ParameterList","parameters":[],"src":"27458:0:30"},"scope":21215,"src":"27389:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16291,"nodeType":"Block","src":"27646:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":16283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27696:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":16284,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16271,"src":"27729:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16285,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16273,"src":"27733:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16286,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16275,"src":"27737:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16287,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16277,"src":"27741:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16281,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27672:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27676:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27672:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27672:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16280,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"27656:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27656:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16290,"nodeType":"ExpressionStatement","src":"27656:89:30"}]},"id":16292,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27580:3:30","nodeType":"FunctionDefinition","parameters":{"id":16278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16271,"mutability":"mutable","name":"p0","nameLocation":"27592:2:30","nodeType":"VariableDeclaration","scope":16292,"src":"27584:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16270,"name":"uint256","nodeType":"ElementaryTypeName","src":"27584:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16273,"mutability":"mutable","name":"p1","nameLocation":"27601:2:30","nodeType":"VariableDeclaration","scope":16292,"src":"27596:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16272,"name":"bool","nodeType":"ElementaryTypeName","src":"27596:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16275,"mutability":"mutable","name":"p2","nameLocation":"27610:2:30","nodeType":"VariableDeclaration","scope":16292,"src":"27605:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16274,"name":"bool","nodeType":"ElementaryTypeName","src":"27605:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16277,"mutability":"mutable","name":"p3","nameLocation":"27628:2:30","nodeType":"VariableDeclaration","scope":16292,"src":"27614:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16276,"name":"string","nodeType":"ElementaryTypeName","src":"27614:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27583:48:30"},"returnParameters":{"id":16279,"nodeType":"ParameterList","parameters":[],"src":"27646:0:30"},"scope":21215,"src":"27571:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16314,"nodeType":"Block","src":"27824:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":16306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27874:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":16307,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16294,"src":"27905:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16308,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16296,"src":"27909:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16309,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16298,"src":"27913:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16310,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16300,"src":"27917:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16304,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27850:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16305,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27854:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27850:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27850:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16303,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"27834:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27834:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16313,"nodeType":"ExpressionStatement","src":"27834:87:30"}]},"id":16315,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27767:3:30","nodeType":"FunctionDefinition","parameters":{"id":16301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16294,"mutability":"mutable","name":"p0","nameLocation":"27779:2:30","nodeType":"VariableDeclaration","scope":16315,"src":"27771:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16293,"name":"uint256","nodeType":"ElementaryTypeName","src":"27771:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16296,"mutability":"mutable","name":"p1","nameLocation":"27788:2:30","nodeType":"VariableDeclaration","scope":16315,"src":"27783:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16295,"name":"bool","nodeType":"ElementaryTypeName","src":"27783:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16298,"mutability":"mutable","name":"p2","nameLocation":"27797:2:30","nodeType":"VariableDeclaration","scope":16315,"src":"27792:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16297,"name":"bool","nodeType":"ElementaryTypeName","src":"27792:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16300,"mutability":"mutable","name":"p3","nameLocation":"27806:2:30","nodeType":"VariableDeclaration","scope":16315,"src":"27801:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16299,"name":"bool","nodeType":"ElementaryTypeName","src":"27801:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27770:39:30"},"returnParameters":{"id":16302,"nodeType":"ParameterList","parameters":[],"src":"27824:0:30"},"scope":21215,"src":"27758:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16337,"nodeType":"Block","src":"28003:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":16329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28053:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":16330,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16317,"src":"28087:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16331,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16319,"src":"28091:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16332,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16321,"src":"28095:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16333,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16323,"src":"28099:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16327,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28029:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28033:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28029:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28029:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16326,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"28013:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28013:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16336,"nodeType":"ExpressionStatement","src":"28013:90:30"}]},"id":16338,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27943:3:30","nodeType":"FunctionDefinition","parameters":{"id":16324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16317,"mutability":"mutable","name":"p0","nameLocation":"27955:2:30","nodeType":"VariableDeclaration","scope":16338,"src":"27947:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16316,"name":"uint256","nodeType":"ElementaryTypeName","src":"27947:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16319,"mutability":"mutable","name":"p1","nameLocation":"27964:2:30","nodeType":"VariableDeclaration","scope":16338,"src":"27959:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16318,"name":"bool","nodeType":"ElementaryTypeName","src":"27959:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16321,"mutability":"mutable","name":"p2","nameLocation":"27973:2:30","nodeType":"VariableDeclaration","scope":16338,"src":"27968:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16320,"name":"bool","nodeType":"ElementaryTypeName","src":"27968:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16323,"mutability":"mutable","name":"p3","nameLocation":"27985:2:30","nodeType":"VariableDeclaration","scope":16338,"src":"27977:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16322,"name":"address","nodeType":"ElementaryTypeName","src":"27977:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27946:42:30"},"returnParameters":{"id":16325,"nodeType":"ParameterList","parameters":[],"src":"28003:0:30"},"scope":21215,"src":"27934:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16360,"nodeType":"Block","src":"28188:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":16352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28238:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":16353,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16340,"src":"28275:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16354,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16342,"src":"28279:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16355,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16344,"src":"28283:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16356,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16346,"src":"28287:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16350,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28214:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28218:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28214:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28214:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16349,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"28198:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16359,"nodeType":"ExpressionStatement","src":"28198:93:30"}]},"id":16361,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28125:3:30","nodeType":"FunctionDefinition","parameters":{"id":16347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16340,"mutability":"mutable","name":"p0","nameLocation":"28137:2:30","nodeType":"VariableDeclaration","scope":16361,"src":"28129:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16339,"name":"uint256","nodeType":"ElementaryTypeName","src":"28129:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16342,"mutability":"mutable","name":"p1","nameLocation":"28146:2:30","nodeType":"VariableDeclaration","scope":16361,"src":"28141:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16341,"name":"bool","nodeType":"ElementaryTypeName","src":"28141:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16344,"mutability":"mutable","name":"p2","nameLocation":"28158:2:30","nodeType":"VariableDeclaration","scope":16361,"src":"28150:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16343,"name":"address","nodeType":"ElementaryTypeName","src":"28150:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16346,"mutability":"mutable","name":"p3","nameLocation":"28170:2:30","nodeType":"VariableDeclaration","scope":16361,"src":"28162:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16345,"name":"uint256","nodeType":"ElementaryTypeName","src":"28162:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28128:45:30"},"returnParameters":{"id":16348,"nodeType":"ParameterList","parameters":[],"src":"28188:0:30"},"scope":21215,"src":"28116:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16383,"nodeType":"Block","src":"28382:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":16375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28432:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":16376,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16363,"src":"28468:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16377,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16365,"src":"28472:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16378,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16367,"src":"28476:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16379,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16369,"src":"28480:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16373,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28408:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28412:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28408:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28408:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16372,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"28392:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28392:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16382,"nodeType":"ExpressionStatement","src":"28392:92:30"}]},"id":16384,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28313:3:30","nodeType":"FunctionDefinition","parameters":{"id":16370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16363,"mutability":"mutable","name":"p0","nameLocation":"28325:2:30","nodeType":"VariableDeclaration","scope":16384,"src":"28317:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16362,"name":"uint256","nodeType":"ElementaryTypeName","src":"28317:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16365,"mutability":"mutable","name":"p1","nameLocation":"28334:2:30","nodeType":"VariableDeclaration","scope":16384,"src":"28329:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16364,"name":"bool","nodeType":"ElementaryTypeName","src":"28329:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16367,"mutability":"mutable","name":"p2","nameLocation":"28346:2:30","nodeType":"VariableDeclaration","scope":16384,"src":"28338:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16366,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16369,"mutability":"mutable","name":"p3","nameLocation":"28364:2:30","nodeType":"VariableDeclaration","scope":16384,"src":"28350:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16368,"name":"string","nodeType":"ElementaryTypeName","src":"28350:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28316:51:30"},"returnParameters":{"id":16371,"nodeType":"ParameterList","parameters":[],"src":"28382:0:30"},"scope":21215,"src":"28304:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16406,"nodeType":"Block","src":"28566:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":16398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28616:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":16399,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16386,"src":"28650:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16400,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16388,"src":"28654:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16401,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16390,"src":"28658:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16402,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16392,"src":"28662:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16396,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28592:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28596:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28592:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28592:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"28576:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28576:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16405,"nodeType":"ExpressionStatement","src":"28576:90:30"}]},"id":16407,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28506:3:30","nodeType":"FunctionDefinition","parameters":{"id":16393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16386,"mutability":"mutable","name":"p0","nameLocation":"28518:2:30","nodeType":"VariableDeclaration","scope":16407,"src":"28510:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16385,"name":"uint256","nodeType":"ElementaryTypeName","src":"28510:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16388,"mutability":"mutable","name":"p1","nameLocation":"28527:2:30","nodeType":"VariableDeclaration","scope":16407,"src":"28522:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16387,"name":"bool","nodeType":"ElementaryTypeName","src":"28522:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16390,"mutability":"mutable","name":"p2","nameLocation":"28539:2:30","nodeType":"VariableDeclaration","scope":16407,"src":"28531:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16389,"name":"address","nodeType":"ElementaryTypeName","src":"28531:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16392,"mutability":"mutable","name":"p3","nameLocation":"28548:2:30","nodeType":"VariableDeclaration","scope":16407,"src":"28543:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16391,"name":"bool","nodeType":"ElementaryTypeName","src":"28543:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28509:42:30"},"returnParameters":{"id":16394,"nodeType":"ParameterList","parameters":[],"src":"28566:0:30"},"scope":21215,"src":"28497:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16429,"nodeType":"Block","src":"28751:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":16421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28801:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":16422,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16409,"src":"28838:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16423,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16411,"src":"28842:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16424,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16413,"src":"28846:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16425,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16415,"src":"28850:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16419,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28777:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28781:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28777:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28777:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16418,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"28761:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28761:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16428,"nodeType":"ExpressionStatement","src":"28761:93:30"}]},"id":16430,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28688:3:30","nodeType":"FunctionDefinition","parameters":{"id":16416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16409,"mutability":"mutable","name":"p0","nameLocation":"28700:2:30","nodeType":"VariableDeclaration","scope":16430,"src":"28692:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16408,"name":"uint256","nodeType":"ElementaryTypeName","src":"28692:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16411,"mutability":"mutable","name":"p1","nameLocation":"28709:2:30","nodeType":"VariableDeclaration","scope":16430,"src":"28704:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16410,"name":"bool","nodeType":"ElementaryTypeName","src":"28704:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16413,"mutability":"mutable","name":"p2","nameLocation":"28721:2:30","nodeType":"VariableDeclaration","scope":16430,"src":"28713:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16412,"name":"address","nodeType":"ElementaryTypeName","src":"28713:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16415,"mutability":"mutable","name":"p3","nameLocation":"28733:2:30","nodeType":"VariableDeclaration","scope":16430,"src":"28725:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16414,"name":"address","nodeType":"ElementaryTypeName","src":"28725:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28691:45:30"},"returnParameters":{"id":16417,"nodeType":"ParameterList","parameters":[],"src":"28751:0:30"},"scope":21215,"src":"28679:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16452,"nodeType":"Block","src":"28942:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":16444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28992:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":16445,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16432,"src":"29032:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16446,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16434,"src":"29036:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16447,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16436,"src":"29040:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16448,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16438,"src":"29044:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28968:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28972:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28968:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28968:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"28952:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28952:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16451,"nodeType":"ExpressionStatement","src":"28952:96:30"}]},"id":16453,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28876:3:30","nodeType":"FunctionDefinition","parameters":{"id":16439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16432,"mutability":"mutable","name":"p0","nameLocation":"28888:2:30","nodeType":"VariableDeclaration","scope":16453,"src":"28880:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16431,"name":"uint256","nodeType":"ElementaryTypeName","src":"28880:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16434,"mutability":"mutable","name":"p1","nameLocation":"28900:2:30","nodeType":"VariableDeclaration","scope":16453,"src":"28892:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16433,"name":"address","nodeType":"ElementaryTypeName","src":"28892:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16436,"mutability":"mutable","name":"p2","nameLocation":"28912:2:30","nodeType":"VariableDeclaration","scope":16453,"src":"28904:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16435,"name":"uint256","nodeType":"ElementaryTypeName","src":"28904:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16438,"mutability":"mutable","name":"p3","nameLocation":"28924:2:30","nodeType":"VariableDeclaration","scope":16453,"src":"28916:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16437,"name":"uint256","nodeType":"ElementaryTypeName","src":"28916:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28879:48:30"},"returnParameters":{"id":16440,"nodeType":"ParameterList","parameters":[],"src":"28942:0:30"},"scope":21215,"src":"28867:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16475,"nodeType":"Block","src":"29142:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":16467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29192:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":16468,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16455,"src":"29231:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16469,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16457,"src":"29235:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16470,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16459,"src":"29239:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16471,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16461,"src":"29243:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16465,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29168:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29172:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29168:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29168:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16464,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"29152:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29152:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16474,"nodeType":"ExpressionStatement","src":"29152:95:30"}]},"id":16476,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29070:3:30","nodeType":"FunctionDefinition","parameters":{"id":16462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16455,"mutability":"mutable","name":"p0","nameLocation":"29082:2:30","nodeType":"VariableDeclaration","scope":16476,"src":"29074:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16454,"name":"uint256","nodeType":"ElementaryTypeName","src":"29074:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16457,"mutability":"mutable","name":"p1","nameLocation":"29094:2:30","nodeType":"VariableDeclaration","scope":16476,"src":"29086:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16456,"name":"address","nodeType":"ElementaryTypeName","src":"29086:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16459,"mutability":"mutable","name":"p2","nameLocation":"29106:2:30","nodeType":"VariableDeclaration","scope":16476,"src":"29098:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16458,"name":"uint256","nodeType":"ElementaryTypeName","src":"29098:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16461,"mutability":"mutable","name":"p3","nameLocation":"29124:2:30","nodeType":"VariableDeclaration","scope":16476,"src":"29110:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16460,"name":"string","nodeType":"ElementaryTypeName","src":"29110:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29073:54:30"},"returnParameters":{"id":16463,"nodeType":"ParameterList","parameters":[],"src":"29142:0:30"},"scope":21215,"src":"29061:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16498,"nodeType":"Block","src":"29332:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":16490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29382:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":16491,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16478,"src":"29419:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16492,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16480,"src":"29423:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16493,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16482,"src":"29427:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16494,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16484,"src":"29431:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29358:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29362:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29358:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29358:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16487,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"29342:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29342:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16497,"nodeType":"ExpressionStatement","src":"29342:93:30"}]},"id":16499,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29269:3:30","nodeType":"FunctionDefinition","parameters":{"id":16485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16478,"mutability":"mutable","name":"p0","nameLocation":"29281:2:30","nodeType":"VariableDeclaration","scope":16499,"src":"29273:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16477,"name":"uint256","nodeType":"ElementaryTypeName","src":"29273:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16480,"mutability":"mutable","name":"p1","nameLocation":"29293:2:30","nodeType":"VariableDeclaration","scope":16499,"src":"29285:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16479,"name":"address","nodeType":"ElementaryTypeName","src":"29285:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16482,"mutability":"mutable","name":"p2","nameLocation":"29305:2:30","nodeType":"VariableDeclaration","scope":16499,"src":"29297:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16481,"name":"uint256","nodeType":"ElementaryTypeName","src":"29297:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16484,"mutability":"mutable","name":"p3","nameLocation":"29314:2:30","nodeType":"VariableDeclaration","scope":16499,"src":"29309:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16483,"name":"bool","nodeType":"ElementaryTypeName","src":"29309:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29272:45:30"},"returnParameters":{"id":16486,"nodeType":"ParameterList","parameters":[],"src":"29332:0:30"},"scope":21215,"src":"29260:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16521,"nodeType":"Block","src":"29523:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":16513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29573:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":16514,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16501,"src":"29613:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16515,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16503,"src":"29617:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16516,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16505,"src":"29621:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16517,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16507,"src":"29625:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16511,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29549:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29553:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29549:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29549:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16510,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"29533:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29533:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16520,"nodeType":"ExpressionStatement","src":"29533:96:30"}]},"id":16522,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29457:3:30","nodeType":"FunctionDefinition","parameters":{"id":16508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16501,"mutability":"mutable","name":"p0","nameLocation":"29469:2:30","nodeType":"VariableDeclaration","scope":16522,"src":"29461:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16500,"name":"uint256","nodeType":"ElementaryTypeName","src":"29461:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16503,"mutability":"mutable","name":"p1","nameLocation":"29481:2:30","nodeType":"VariableDeclaration","scope":16522,"src":"29473:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16502,"name":"address","nodeType":"ElementaryTypeName","src":"29473:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16505,"mutability":"mutable","name":"p2","nameLocation":"29493:2:30","nodeType":"VariableDeclaration","scope":16522,"src":"29485:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16504,"name":"uint256","nodeType":"ElementaryTypeName","src":"29485:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16507,"mutability":"mutable","name":"p3","nameLocation":"29505:2:30","nodeType":"VariableDeclaration","scope":16522,"src":"29497:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16506,"name":"address","nodeType":"ElementaryTypeName","src":"29497:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29460:48:30"},"returnParameters":{"id":16509,"nodeType":"ParameterList","parameters":[],"src":"29523:0:30"},"scope":21215,"src":"29448:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16544,"nodeType":"Block","src":"29723:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":16536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29773:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":16537,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16524,"src":"29812:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16538,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16526,"src":"29816:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16539,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16528,"src":"29820:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16540,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16530,"src":"29824:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16534,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29749:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29753:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29749:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29749:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16533,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"29733:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29733:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16543,"nodeType":"ExpressionStatement","src":"29733:95:30"}]},"id":16545,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29651:3:30","nodeType":"FunctionDefinition","parameters":{"id":16531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16524,"mutability":"mutable","name":"p0","nameLocation":"29663:2:30","nodeType":"VariableDeclaration","scope":16545,"src":"29655:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16523,"name":"uint256","nodeType":"ElementaryTypeName","src":"29655:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16526,"mutability":"mutable","name":"p1","nameLocation":"29675:2:30","nodeType":"VariableDeclaration","scope":16545,"src":"29667:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16525,"name":"address","nodeType":"ElementaryTypeName","src":"29667:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16528,"mutability":"mutable","name":"p2","nameLocation":"29693:2:30","nodeType":"VariableDeclaration","scope":16545,"src":"29679:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16527,"name":"string","nodeType":"ElementaryTypeName","src":"29679:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16530,"mutability":"mutable","name":"p3","nameLocation":"29705:2:30","nodeType":"VariableDeclaration","scope":16545,"src":"29697:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16529,"name":"uint256","nodeType":"ElementaryTypeName","src":"29697:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29654:54:30"},"returnParameters":{"id":16532,"nodeType":"ParameterList","parameters":[],"src":"29723:0:30"},"scope":21215,"src":"29642:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16567,"nodeType":"Block","src":"29928:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":16559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29978:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":16560,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16547,"src":"30016:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16561,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16549,"src":"30020:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16562,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16551,"src":"30024:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16563,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16553,"src":"30028:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16557,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29954:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29958:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29954:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29954:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16556,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"29938:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29938:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16566,"nodeType":"ExpressionStatement","src":"29938:94:30"}]},"id":16568,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29850:3:30","nodeType":"FunctionDefinition","parameters":{"id":16554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16547,"mutability":"mutable","name":"p0","nameLocation":"29862:2:30","nodeType":"VariableDeclaration","scope":16568,"src":"29854:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16546,"name":"uint256","nodeType":"ElementaryTypeName","src":"29854:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16549,"mutability":"mutable","name":"p1","nameLocation":"29874:2:30","nodeType":"VariableDeclaration","scope":16568,"src":"29866:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16548,"name":"address","nodeType":"ElementaryTypeName","src":"29866:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16551,"mutability":"mutable","name":"p2","nameLocation":"29892:2:30","nodeType":"VariableDeclaration","scope":16568,"src":"29878:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16550,"name":"string","nodeType":"ElementaryTypeName","src":"29878:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16553,"mutability":"mutable","name":"p3","nameLocation":"29910:2:30","nodeType":"VariableDeclaration","scope":16568,"src":"29896:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16552,"name":"string","nodeType":"ElementaryTypeName","src":"29896:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29853:60:30"},"returnParameters":{"id":16555,"nodeType":"ParameterList","parameters":[],"src":"29928:0:30"},"scope":21215,"src":"29841:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16590,"nodeType":"Block","src":"30123:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":16582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30173:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":16583,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16570,"src":"30209:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16584,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16572,"src":"30213:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16585,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16574,"src":"30217:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16586,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16576,"src":"30221:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16580,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30149:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30153:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30149:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30149:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16579,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"30133:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30133:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16589,"nodeType":"ExpressionStatement","src":"30133:92:30"}]},"id":16591,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30054:3:30","nodeType":"FunctionDefinition","parameters":{"id":16577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16570,"mutability":"mutable","name":"p0","nameLocation":"30066:2:30","nodeType":"VariableDeclaration","scope":16591,"src":"30058:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16569,"name":"uint256","nodeType":"ElementaryTypeName","src":"30058:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16572,"mutability":"mutable","name":"p1","nameLocation":"30078:2:30","nodeType":"VariableDeclaration","scope":16591,"src":"30070:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16571,"name":"address","nodeType":"ElementaryTypeName","src":"30070:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16574,"mutability":"mutable","name":"p2","nameLocation":"30096:2:30","nodeType":"VariableDeclaration","scope":16591,"src":"30082:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16573,"name":"string","nodeType":"ElementaryTypeName","src":"30082:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16576,"mutability":"mutable","name":"p3","nameLocation":"30105:2:30","nodeType":"VariableDeclaration","scope":16591,"src":"30100:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16575,"name":"bool","nodeType":"ElementaryTypeName","src":"30100:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30057:51:30"},"returnParameters":{"id":16578,"nodeType":"ParameterList","parameters":[],"src":"30123:0:30"},"scope":21215,"src":"30045:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16613,"nodeType":"Block","src":"30319:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":16605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30369:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":16606,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16593,"src":"30408:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16607,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16595,"src":"30412:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16608,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16597,"src":"30416:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16609,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16599,"src":"30420:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16603,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30345:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30349:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30345:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30345:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16602,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"30329:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30329:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16612,"nodeType":"ExpressionStatement","src":"30329:95:30"}]},"id":16614,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30247:3:30","nodeType":"FunctionDefinition","parameters":{"id":16600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16593,"mutability":"mutable","name":"p0","nameLocation":"30259:2:30","nodeType":"VariableDeclaration","scope":16614,"src":"30251:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16592,"name":"uint256","nodeType":"ElementaryTypeName","src":"30251:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16595,"mutability":"mutable","name":"p1","nameLocation":"30271:2:30","nodeType":"VariableDeclaration","scope":16614,"src":"30263:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16594,"name":"address","nodeType":"ElementaryTypeName","src":"30263:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16597,"mutability":"mutable","name":"p2","nameLocation":"30289:2:30","nodeType":"VariableDeclaration","scope":16614,"src":"30275:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16596,"name":"string","nodeType":"ElementaryTypeName","src":"30275:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16599,"mutability":"mutable","name":"p3","nameLocation":"30301:2:30","nodeType":"VariableDeclaration","scope":16614,"src":"30293:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16598,"name":"address","nodeType":"ElementaryTypeName","src":"30293:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:54:30"},"returnParameters":{"id":16601,"nodeType":"ParameterList","parameters":[],"src":"30319:0:30"},"scope":21215,"src":"30238:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16636,"nodeType":"Block","src":"30509:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":16628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30559:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":16629,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16616,"src":"30596:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16630,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16618,"src":"30600:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16631,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16620,"src":"30604:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16632,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16622,"src":"30608:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16626,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30535:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30539:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30535:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16625,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"30519:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30519:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16635,"nodeType":"ExpressionStatement","src":"30519:93:30"}]},"id":16637,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30446:3:30","nodeType":"FunctionDefinition","parameters":{"id":16623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16616,"mutability":"mutable","name":"p0","nameLocation":"30458:2:30","nodeType":"VariableDeclaration","scope":16637,"src":"30450:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16615,"name":"uint256","nodeType":"ElementaryTypeName","src":"30450:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16618,"mutability":"mutable","name":"p1","nameLocation":"30470:2:30","nodeType":"VariableDeclaration","scope":16637,"src":"30462:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16617,"name":"address","nodeType":"ElementaryTypeName","src":"30462:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16620,"mutability":"mutable","name":"p2","nameLocation":"30479:2:30","nodeType":"VariableDeclaration","scope":16637,"src":"30474:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16619,"name":"bool","nodeType":"ElementaryTypeName","src":"30474:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16622,"mutability":"mutable","name":"p3","nameLocation":"30491:2:30","nodeType":"VariableDeclaration","scope":16637,"src":"30483:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16621,"name":"uint256","nodeType":"ElementaryTypeName","src":"30483:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30449:45:30"},"returnParameters":{"id":16624,"nodeType":"ParameterList","parameters":[],"src":"30509:0:30"},"scope":21215,"src":"30437:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16659,"nodeType":"Block","src":"30703:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":16651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30753:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":16652,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16639,"src":"30789:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16653,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16641,"src":"30793:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16654,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16643,"src":"30797:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16655,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16645,"src":"30801:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16649,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30729:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30733:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30729:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30729:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16648,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"30713:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30713:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16658,"nodeType":"ExpressionStatement","src":"30713:92:30"}]},"id":16660,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30634:3:30","nodeType":"FunctionDefinition","parameters":{"id":16646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16639,"mutability":"mutable","name":"p0","nameLocation":"30646:2:30","nodeType":"VariableDeclaration","scope":16660,"src":"30638:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16638,"name":"uint256","nodeType":"ElementaryTypeName","src":"30638:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16641,"mutability":"mutable","name":"p1","nameLocation":"30658:2:30","nodeType":"VariableDeclaration","scope":16660,"src":"30650:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16640,"name":"address","nodeType":"ElementaryTypeName","src":"30650:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16643,"mutability":"mutable","name":"p2","nameLocation":"30667:2:30","nodeType":"VariableDeclaration","scope":16660,"src":"30662:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16642,"name":"bool","nodeType":"ElementaryTypeName","src":"30662:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16645,"mutability":"mutable","name":"p3","nameLocation":"30685:2:30","nodeType":"VariableDeclaration","scope":16660,"src":"30671:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16644,"name":"string","nodeType":"ElementaryTypeName","src":"30671:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30637:51:30"},"returnParameters":{"id":16647,"nodeType":"ParameterList","parameters":[],"src":"30703:0:30"},"scope":21215,"src":"30625:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16682,"nodeType":"Block","src":"30887:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":16674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30937:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":16675,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16662,"src":"30971:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16676,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16664,"src":"30975:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16677,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16666,"src":"30979:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16678,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16668,"src":"30983:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16672,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30913:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30917:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30913:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30913:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16671,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"30897:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30897:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16681,"nodeType":"ExpressionStatement","src":"30897:90:30"}]},"id":16683,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30827:3:30","nodeType":"FunctionDefinition","parameters":{"id":16669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16662,"mutability":"mutable","name":"p0","nameLocation":"30839:2:30","nodeType":"VariableDeclaration","scope":16683,"src":"30831:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16661,"name":"uint256","nodeType":"ElementaryTypeName","src":"30831:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16664,"mutability":"mutable","name":"p1","nameLocation":"30851:2:30","nodeType":"VariableDeclaration","scope":16683,"src":"30843:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16663,"name":"address","nodeType":"ElementaryTypeName","src":"30843:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16666,"mutability":"mutable","name":"p2","nameLocation":"30860:2:30","nodeType":"VariableDeclaration","scope":16683,"src":"30855:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16665,"name":"bool","nodeType":"ElementaryTypeName","src":"30855:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16668,"mutability":"mutable","name":"p3","nameLocation":"30869:2:30","nodeType":"VariableDeclaration","scope":16683,"src":"30864:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16667,"name":"bool","nodeType":"ElementaryTypeName","src":"30864:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30830:42:30"},"returnParameters":{"id":16670,"nodeType":"ParameterList","parameters":[],"src":"30887:0:30"},"scope":21215,"src":"30818:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16705,"nodeType":"Block","src":"31072:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":16697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31122:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":16698,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16685,"src":"31159:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16699,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16687,"src":"31163:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16700,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16689,"src":"31167:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16701,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16691,"src":"31171:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16695,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31098:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31102:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31098:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31098:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16694,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"31082:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31082:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16704,"nodeType":"ExpressionStatement","src":"31082:93:30"}]},"id":16706,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31009:3:30","nodeType":"FunctionDefinition","parameters":{"id":16692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16685,"mutability":"mutable","name":"p0","nameLocation":"31021:2:30","nodeType":"VariableDeclaration","scope":16706,"src":"31013:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16684,"name":"uint256","nodeType":"ElementaryTypeName","src":"31013:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16687,"mutability":"mutable","name":"p1","nameLocation":"31033:2:30","nodeType":"VariableDeclaration","scope":16706,"src":"31025:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16686,"name":"address","nodeType":"ElementaryTypeName","src":"31025:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16689,"mutability":"mutable","name":"p2","nameLocation":"31042:2:30","nodeType":"VariableDeclaration","scope":16706,"src":"31037:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16688,"name":"bool","nodeType":"ElementaryTypeName","src":"31037:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16691,"mutability":"mutable","name":"p3","nameLocation":"31054:2:30","nodeType":"VariableDeclaration","scope":16706,"src":"31046:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16690,"name":"address","nodeType":"ElementaryTypeName","src":"31046:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31012:45:30"},"returnParameters":{"id":16693,"nodeType":"ParameterList","parameters":[],"src":"31072:0:30"},"scope":21215,"src":"31000:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16728,"nodeType":"Block","src":"31263:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":16720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31313:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":16721,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16708,"src":"31353:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16722,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16710,"src":"31357:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16723,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16712,"src":"31361:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16724,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16714,"src":"31365:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31289:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31293:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31289:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31289:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"31273:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31273:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16727,"nodeType":"ExpressionStatement","src":"31273:96:30"}]},"id":16729,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31197:3:30","nodeType":"FunctionDefinition","parameters":{"id":16715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16708,"mutability":"mutable","name":"p0","nameLocation":"31209:2:30","nodeType":"VariableDeclaration","scope":16729,"src":"31201:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16707,"name":"uint256","nodeType":"ElementaryTypeName","src":"31201:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16710,"mutability":"mutable","name":"p1","nameLocation":"31221:2:30","nodeType":"VariableDeclaration","scope":16729,"src":"31213:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16709,"name":"address","nodeType":"ElementaryTypeName","src":"31213:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16712,"mutability":"mutable","name":"p2","nameLocation":"31233:2:30","nodeType":"VariableDeclaration","scope":16729,"src":"31225:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16711,"name":"address","nodeType":"ElementaryTypeName","src":"31225:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16714,"mutability":"mutable","name":"p3","nameLocation":"31245:2:30","nodeType":"VariableDeclaration","scope":16729,"src":"31237:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16713,"name":"uint256","nodeType":"ElementaryTypeName","src":"31237:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31200:48:30"},"returnParameters":{"id":16716,"nodeType":"ParameterList","parameters":[],"src":"31263:0:30"},"scope":21215,"src":"31188:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16751,"nodeType":"Block","src":"31463:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":16743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31513:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":16744,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16731,"src":"31552:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16745,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16733,"src":"31556:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16746,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16735,"src":"31560:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16747,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16737,"src":"31564:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31489:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31493:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31489:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31489:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16740,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"31473:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31473:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16750,"nodeType":"ExpressionStatement","src":"31473:95:30"}]},"id":16752,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31391:3:30","nodeType":"FunctionDefinition","parameters":{"id":16738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16731,"mutability":"mutable","name":"p0","nameLocation":"31403:2:30","nodeType":"VariableDeclaration","scope":16752,"src":"31395:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16730,"name":"uint256","nodeType":"ElementaryTypeName","src":"31395:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16733,"mutability":"mutable","name":"p1","nameLocation":"31415:2:30","nodeType":"VariableDeclaration","scope":16752,"src":"31407:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16732,"name":"address","nodeType":"ElementaryTypeName","src":"31407:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16735,"mutability":"mutable","name":"p2","nameLocation":"31427:2:30","nodeType":"VariableDeclaration","scope":16752,"src":"31419:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16734,"name":"address","nodeType":"ElementaryTypeName","src":"31419:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16737,"mutability":"mutable","name":"p3","nameLocation":"31445:2:30","nodeType":"VariableDeclaration","scope":16752,"src":"31431:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16736,"name":"string","nodeType":"ElementaryTypeName","src":"31431:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31394:54:30"},"returnParameters":{"id":16739,"nodeType":"ParameterList","parameters":[],"src":"31463:0:30"},"scope":21215,"src":"31382:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16774,"nodeType":"Block","src":"31653:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":16766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31703:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":16767,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16754,"src":"31740:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16768,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16756,"src":"31744:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16769,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16758,"src":"31748:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16770,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16760,"src":"31752:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16764,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31679:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31683:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31679:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31679:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"31663:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31663:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16773,"nodeType":"ExpressionStatement","src":"31663:93:30"}]},"id":16775,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31590:3:30","nodeType":"FunctionDefinition","parameters":{"id":16761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16754,"mutability":"mutable","name":"p0","nameLocation":"31602:2:30","nodeType":"VariableDeclaration","scope":16775,"src":"31594:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16753,"name":"uint256","nodeType":"ElementaryTypeName","src":"31594:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16756,"mutability":"mutable","name":"p1","nameLocation":"31614:2:30","nodeType":"VariableDeclaration","scope":16775,"src":"31606:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16755,"name":"address","nodeType":"ElementaryTypeName","src":"31606:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16758,"mutability":"mutable","name":"p2","nameLocation":"31626:2:30","nodeType":"VariableDeclaration","scope":16775,"src":"31618:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16757,"name":"address","nodeType":"ElementaryTypeName","src":"31618:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16760,"mutability":"mutable","name":"p3","nameLocation":"31635:2:30","nodeType":"VariableDeclaration","scope":16775,"src":"31630:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16759,"name":"bool","nodeType":"ElementaryTypeName","src":"31630:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31593:45:30"},"returnParameters":{"id":16762,"nodeType":"ParameterList","parameters":[],"src":"31653:0:30"},"scope":21215,"src":"31581:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16797,"nodeType":"Block","src":"31844:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":16789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31894:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":16790,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16777,"src":"31934:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16791,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16779,"src":"31938:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16792,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16781,"src":"31942:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16793,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16783,"src":"31946:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16787,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31870:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31874:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31870:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31870:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16786,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"31854:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31854:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16796,"nodeType":"ExpressionStatement","src":"31854:96:30"}]},"id":16798,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31778:3:30","nodeType":"FunctionDefinition","parameters":{"id":16784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16777,"mutability":"mutable","name":"p0","nameLocation":"31790:2:30","nodeType":"VariableDeclaration","scope":16798,"src":"31782:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16776,"name":"uint256","nodeType":"ElementaryTypeName","src":"31782:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16779,"mutability":"mutable","name":"p1","nameLocation":"31802:2:30","nodeType":"VariableDeclaration","scope":16798,"src":"31794:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16778,"name":"address","nodeType":"ElementaryTypeName","src":"31794:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16781,"mutability":"mutable","name":"p2","nameLocation":"31814:2:30","nodeType":"VariableDeclaration","scope":16798,"src":"31806:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16780,"name":"address","nodeType":"ElementaryTypeName","src":"31806:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16783,"mutability":"mutable","name":"p3","nameLocation":"31826:2:30","nodeType":"VariableDeclaration","scope":16798,"src":"31818:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16782,"name":"address","nodeType":"ElementaryTypeName","src":"31818:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31781:48:30"},"returnParameters":{"id":16785,"nodeType":"ParameterList","parameters":[],"src":"31844:0:30"},"scope":21215,"src":"31769:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16820,"nodeType":"Block","src":"32044:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":16812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32094:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":16813,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16800,"src":"32133:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16814,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16802,"src":"32137:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16815,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16804,"src":"32141:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16816,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16806,"src":"32145:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16810,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32070:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32074:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32070:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32070:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16809,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"32054:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32054:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16819,"nodeType":"ExpressionStatement","src":"32054:95:30"}]},"id":16821,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31972:3:30","nodeType":"FunctionDefinition","parameters":{"id":16807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16800,"mutability":"mutable","name":"p0","nameLocation":"31990:2:30","nodeType":"VariableDeclaration","scope":16821,"src":"31976:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16799,"name":"string","nodeType":"ElementaryTypeName","src":"31976:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16802,"mutability":"mutable","name":"p1","nameLocation":"32002:2:30","nodeType":"VariableDeclaration","scope":16821,"src":"31994:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16801,"name":"uint256","nodeType":"ElementaryTypeName","src":"31994:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16804,"mutability":"mutable","name":"p2","nameLocation":"32014:2:30","nodeType":"VariableDeclaration","scope":16821,"src":"32006:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16803,"name":"uint256","nodeType":"ElementaryTypeName","src":"32006:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16806,"mutability":"mutable","name":"p3","nameLocation":"32026:2:30","nodeType":"VariableDeclaration","scope":16821,"src":"32018:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16805,"name":"uint256","nodeType":"ElementaryTypeName","src":"32018:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31975:54:30"},"returnParameters":{"id":16808,"nodeType":"ParameterList","parameters":[],"src":"32044:0:30"},"scope":21215,"src":"31963:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16843,"nodeType":"Block","src":"32249:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":16835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32299:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":16836,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16823,"src":"32337:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16837,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16825,"src":"32341:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16838,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16827,"src":"32345:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16839,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16829,"src":"32349:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16833,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32275:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32279:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32275:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32275:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16832,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"32259:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32259:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16842,"nodeType":"ExpressionStatement","src":"32259:94:30"}]},"id":16844,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32171:3:30","nodeType":"FunctionDefinition","parameters":{"id":16830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16823,"mutability":"mutable","name":"p0","nameLocation":"32189:2:30","nodeType":"VariableDeclaration","scope":16844,"src":"32175:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16822,"name":"string","nodeType":"ElementaryTypeName","src":"32175:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16825,"mutability":"mutable","name":"p1","nameLocation":"32201:2:30","nodeType":"VariableDeclaration","scope":16844,"src":"32193:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16824,"name":"uint256","nodeType":"ElementaryTypeName","src":"32193:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16827,"mutability":"mutable","name":"p2","nameLocation":"32213:2:30","nodeType":"VariableDeclaration","scope":16844,"src":"32205:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16826,"name":"uint256","nodeType":"ElementaryTypeName","src":"32205:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16829,"mutability":"mutable","name":"p3","nameLocation":"32231:2:30","nodeType":"VariableDeclaration","scope":16844,"src":"32217:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16828,"name":"string","nodeType":"ElementaryTypeName","src":"32217:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32174:60:30"},"returnParameters":{"id":16831,"nodeType":"ParameterList","parameters":[],"src":"32249:0:30"},"scope":21215,"src":"32162:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16866,"nodeType":"Block","src":"32444:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":16858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32494:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":16859,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16846,"src":"32530:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16860,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16848,"src":"32534:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16861,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16850,"src":"32538:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16862,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16852,"src":"32542:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32470:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32474:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32470:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32470:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"32454:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32454:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16865,"nodeType":"ExpressionStatement","src":"32454:92:30"}]},"id":16867,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32375:3:30","nodeType":"FunctionDefinition","parameters":{"id":16853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16846,"mutability":"mutable","name":"p0","nameLocation":"32393:2:30","nodeType":"VariableDeclaration","scope":16867,"src":"32379:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16845,"name":"string","nodeType":"ElementaryTypeName","src":"32379:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16848,"mutability":"mutable","name":"p1","nameLocation":"32405:2:30","nodeType":"VariableDeclaration","scope":16867,"src":"32397:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16847,"name":"uint256","nodeType":"ElementaryTypeName","src":"32397:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16850,"mutability":"mutable","name":"p2","nameLocation":"32417:2:30","nodeType":"VariableDeclaration","scope":16867,"src":"32409:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16849,"name":"uint256","nodeType":"ElementaryTypeName","src":"32409:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16852,"mutability":"mutable","name":"p3","nameLocation":"32426:2:30","nodeType":"VariableDeclaration","scope":16867,"src":"32421:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16851,"name":"bool","nodeType":"ElementaryTypeName","src":"32421:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32378:51:30"},"returnParameters":{"id":16854,"nodeType":"ParameterList","parameters":[],"src":"32444:0:30"},"scope":21215,"src":"32366:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16889,"nodeType":"Block","src":"32640:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":16881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32690:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":16882,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16869,"src":"32729:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16883,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16871,"src":"32733:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16884,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16873,"src":"32737:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16885,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16875,"src":"32741:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16879,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32666:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32670:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32666:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32666:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16878,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"32650:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32650:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16888,"nodeType":"ExpressionStatement","src":"32650:95:30"}]},"id":16890,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32568:3:30","nodeType":"FunctionDefinition","parameters":{"id":16876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16869,"mutability":"mutable","name":"p0","nameLocation":"32586:2:30","nodeType":"VariableDeclaration","scope":16890,"src":"32572:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16868,"name":"string","nodeType":"ElementaryTypeName","src":"32572:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16871,"mutability":"mutable","name":"p1","nameLocation":"32598:2:30","nodeType":"VariableDeclaration","scope":16890,"src":"32590:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16870,"name":"uint256","nodeType":"ElementaryTypeName","src":"32590:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16873,"mutability":"mutable","name":"p2","nameLocation":"32610:2:30","nodeType":"VariableDeclaration","scope":16890,"src":"32602:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16872,"name":"uint256","nodeType":"ElementaryTypeName","src":"32602:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16875,"mutability":"mutable","name":"p3","nameLocation":"32622:2:30","nodeType":"VariableDeclaration","scope":16890,"src":"32614:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16874,"name":"address","nodeType":"ElementaryTypeName","src":"32614:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32571:54:30"},"returnParameters":{"id":16877,"nodeType":"ParameterList","parameters":[],"src":"32640:0:30"},"scope":21215,"src":"32559:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16912,"nodeType":"Block","src":"32845:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":16904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32895:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":16905,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16892,"src":"32933:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16906,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16894,"src":"32937:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16907,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16896,"src":"32941:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16908,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16898,"src":"32945:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16902,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32871:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32875:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32871:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32871:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16901,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"32855:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32855:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16911,"nodeType":"ExpressionStatement","src":"32855:94:30"}]},"id":16913,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32767:3:30","nodeType":"FunctionDefinition","parameters":{"id":16899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16892,"mutability":"mutable","name":"p0","nameLocation":"32785:2:30","nodeType":"VariableDeclaration","scope":16913,"src":"32771:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16891,"name":"string","nodeType":"ElementaryTypeName","src":"32771:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16894,"mutability":"mutable","name":"p1","nameLocation":"32797:2:30","nodeType":"VariableDeclaration","scope":16913,"src":"32789:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16893,"name":"uint256","nodeType":"ElementaryTypeName","src":"32789:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16896,"mutability":"mutable","name":"p2","nameLocation":"32815:2:30","nodeType":"VariableDeclaration","scope":16913,"src":"32801:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16895,"name":"string","nodeType":"ElementaryTypeName","src":"32801:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16898,"mutability":"mutable","name":"p3","nameLocation":"32827:2:30","nodeType":"VariableDeclaration","scope":16913,"src":"32819:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16897,"name":"uint256","nodeType":"ElementaryTypeName","src":"32819:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32770:60:30"},"returnParameters":{"id":16900,"nodeType":"ParameterList","parameters":[],"src":"32845:0:30"},"scope":21215,"src":"32758:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16935,"nodeType":"Block","src":"33055:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":16927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33105:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":16928,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16915,"src":"33142:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16929,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16917,"src":"33146:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16930,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16919,"src":"33150:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16931,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16921,"src":"33154:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16925,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33081:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33085:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33081:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33081:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16924,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"33065:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33065:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16934,"nodeType":"ExpressionStatement","src":"33065:93:30"}]},"id":16936,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32971:3:30","nodeType":"FunctionDefinition","parameters":{"id":16922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16915,"mutability":"mutable","name":"p0","nameLocation":"32989:2:30","nodeType":"VariableDeclaration","scope":16936,"src":"32975:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16914,"name":"string","nodeType":"ElementaryTypeName","src":"32975:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16917,"mutability":"mutable","name":"p1","nameLocation":"33001:2:30","nodeType":"VariableDeclaration","scope":16936,"src":"32993:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16916,"name":"uint256","nodeType":"ElementaryTypeName","src":"32993:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16919,"mutability":"mutable","name":"p2","nameLocation":"33019:2:30","nodeType":"VariableDeclaration","scope":16936,"src":"33005:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16918,"name":"string","nodeType":"ElementaryTypeName","src":"33005:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16921,"mutability":"mutable","name":"p3","nameLocation":"33037:2:30","nodeType":"VariableDeclaration","scope":16936,"src":"33023:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16920,"name":"string","nodeType":"ElementaryTypeName","src":"33023:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32974:66:30"},"returnParameters":{"id":16923,"nodeType":"ParameterList","parameters":[],"src":"33055:0:30"},"scope":21215,"src":"32962:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16958,"nodeType":"Block","src":"33255:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":16950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33305:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":16951,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16938,"src":"33340:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16952,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16940,"src":"33344:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16953,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16942,"src":"33348:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16954,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16944,"src":"33352:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16948,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33281:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33285:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33281:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33281:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16947,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"33265:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33265:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16957,"nodeType":"ExpressionStatement","src":"33265:91:30"}]},"id":16959,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33180:3:30","nodeType":"FunctionDefinition","parameters":{"id":16945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16938,"mutability":"mutable","name":"p0","nameLocation":"33198:2:30","nodeType":"VariableDeclaration","scope":16959,"src":"33184:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16937,"name":"string","nodeType":"ElementaryTypeName","src":"33184:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16940,"mutability":"mutable","name":"p1","nameLocation":"33210:2:30","nodeType":"VariableDeclaration","scope":16959,"src":"33202:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16939,"name":"uint256","nodeType":"ElementaryTypeName","src":"33202:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16942,"mutability":"mutable","name":"p2","nameLocation":"33228:2:30","nodeType":"VariableDeclaration","scope":16959,"src":"33214:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16941,"name":"string","nodeType":"ElementaryTypeName","src":"33214:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16944,"mutability":"mutable","name":"p3","nameLocation":"33237:2:30","nodeType":"VariableDeclaration","scope":16959,"src":"33232:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16943,"name":"bool","nodeType":"ElementaryTypeName","src":"33232:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33183:57:30"},"returnParameters":{"id":16946,"nodeType":"ParameterList","parameters":[],"src":"33255:0:30"},"scope":21215,"src":"33171:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":16981,"nodeType":"Block","src":"33456:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":16973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33506:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":16974,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16961,"src":"33544:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16975,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16963,"src":"33548:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16976,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16965,"src":"33552:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16977,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16967,"src":"33556:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16971,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33482:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33486:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33482:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33482:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16970,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"33466:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":16979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33466:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16980,"nodeType":"ExpressionStatement","src":"33466:94:30"}]},"id":16982,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33378:3:30","nodeType":"FunctionDefinition","parameters":{"id":16968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16961,"mutability":"mutable","name":"p0","nameLocation":"33396:2:30","nodeType":"VariableDeclaration","scope":16982,"src":"33382:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16960,"name":"string","nodeType":"ElementaryTypeName","src":"33382:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16963,"mutability":"mutable","name":"p1","nameLocation":"33408:2:30","nodeType":"VariableDeclaration","scope":16982,"src":"33400:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16962,"name":"uint256","nodeType":"ElementaryTypeName","src":"33400:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16965,"mutability":"mutable","name":"p2","nameLocation":"33426:2:30","nodeType":"VariableDeclaration","scope":16982,"src":"33412:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16964,"name":"string","nodeType":"ElementaryTypeName","src":"33412:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16967,"mutability":"mutable","name":"p3","nameLocation":"33438:2:30","nodeType":"VariableDeclaration","scope":16982,"src":"33430:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16966,"name":"address","nodeType":"ElementaryTypeName","src":"33430:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33381:60:30"},"returnParameters":{"id":16969,"nodeType":"ParameterList","parameters":[],"src":"33456:0:30"},"scope":21215,"src":"33369:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17004,"nodeType":"Block","src":"33651:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":16996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33701:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":16997,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16984,"src":"33737:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16998,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16986,"src":"33741:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16999,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16988,"src":"33745:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17000,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16990,"src":"33749:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16994,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33677:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33681:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33677:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33677:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16993,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"33661:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33661:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17003,"nodeType":"ExpressionStatement","src":"33661:92:30"}]},"id":17005,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33582:3:30","nodeType":"FunctionDefinition","parameters":{"id":16991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16984,"mutability":"mutable","name":"p0","nameLocation":"33600:2:30","nodeType":"VariableDeclaration","scope":17005,"src":"33586:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16983,"name":"string","nodeType":"ElementaryTypeName","src":"33586:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16986,"mutability":"mutable","name":"p1","nameLocation":"33612:2:30","nodeType":"VariableDeclaration","scope":17005,"src":"33604:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16985,"name":"uint256","nodeType":"ElementaryTypeName","src":"33604:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16988,"mutability":"mutable","name":"p2","nameLocation":"33621:2:30","nodeType":"VariableDeclaration","scope":17005,"src":"33616:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16987,"name":"bool","nodeType":"ElementaryTypeName","src":"33616:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16990,"mutability":"mutable","name":"p3","nameLocation":"33633:2:30","nodeType":"VariableDeclaration","scope":17005,"src":"33625:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16989,"name":"uint256","nodeType":"ElementaryTypeName","src":"33625:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33585:51:30"},"returnParameters":{"id":16992,"nodeType":"ParameterList","parameters":[],"src":"33651:0:30"},"scope":21215,"src":"33573:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17027,"nodeType":"Block","src":"33850:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":17019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33900:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":17020,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17007,"src":"33935:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17021,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17009,"src":"33939:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17022,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17011,"src":"33943:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17023,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17013,"src":"33947:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17017,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33876:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33880:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33876:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33876:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17016,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"33860:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33860:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17026,"nodeType":"ExpressionStatement","src":"33860:91:30"}]},"id":17028,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33775:3:30","nodeType":"FunctionDefinition","parameters":{"id":17014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17007,"mutability":"mutable","name":"p0","nameLocation":"33793:2:30","nodeType":"VariableDeclaration","scope":17028,"src":"33779:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17006,"name":"string","nodeType":"ElementaryTypeName","src":"33779:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17009,"mutability":"mutable","name":"p1","nameLocation":"33805:2:30","nodeType":"VariableDeclaration","scope":17028,"src":"33797:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17008,"name":"uint256","nodeType":"ElementaryTypeName","src":"33797:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17011,"mutability":"mutable","name":"p2","nameLocation":"33814:2:30","nodeType":"VariableDeclaration","scope":17028,"src":"33809:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17010,"name":"bool","nodeType":"ElementaryTypeName","src":"33809:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17013,"mutability":"mutable","name":"p3","nameLocation":"33832:2:30","nodeType":"VariableDeclaration","scope":17028,"src":"33818:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17012,"name":"string","nodeType":"ElementaryTypeName","src":"33818:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33778:57:30"},"returnParameters":{"id":17015,"nodeType":"ParameterList","parameters":[],"src":"33850:0:30"},"scope":21215,"src":"33766:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17050,"nodeType":"Block","src":"34039:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":17042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34089:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":17043,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17030,"src":"34122:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17044,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17032,"src":"34126:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17045,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17034,"src":"34130:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17046,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17036,"src":"34134:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17040,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34065:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34069:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34065:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34065:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17039,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"34049:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34049:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17049,"nodeType":"ExpressionStatement","src":"34049:89:30"}]},"id":17051,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33973:3:30","nodeType":"FunctionDefinition","parameters":{"id":17037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17030,"mutability":"mutable","name":"p0","nameLocation":"33991:2:30","nodeType":"VariableDeclaration","scope":17051,"src":"33977:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17029,"name":"string","nodeType":"ElementaryTypeName","src":"33977:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17032,"mutability":"mutable","name":"p1","nameLocation":"34003:2:30","nodeType":"VariableDeclaration","scope":17051,"src":"33995:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17031,"name":"uint256","nodeType":"ElementaryTypeName","src":"33995:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17034,"mutability":"mutable","name":"p2","nameLocation":"34012:2:30","nodeType":"VariableDeclaration","scope":17051,"src":"34007:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17033,"name":"bool","nodeType":"ElementaryTypeName","src":"34007:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17036,"mutability":"mutable","name":"p3","nameLocation":"34021:2:30","nodeType":"VariableDeclaration","scope":17051,"src":"34016:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17035,"name":"bool","nodeType":"ElementaryTypeName","src":"34016:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33976:48:30"},"returnParameters":{"id":17038,"nodeType":"ParameterList","parameters":[],"src":"34039:0:30"},"scope":21215,"src":"33964:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17073,"nodeType":"Block","src":"34229:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":17065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34279:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":17066,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17053,"src":"34315:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17067,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17055,"src":"34319:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17068,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17057,"src":"34323:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17069,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17059,"src":"34327:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34255:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34259:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34255:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34255:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17062,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"34239:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34239:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17072,"nodeType":"ExpressionStatement","src":"34239:92:30"}]},"id":17074,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34160:3:30","nodeType":"FunctionDefinition","parameters":{"id":17060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17053,"mutability":"mutable","name":"p0","nameLocation":"34178:2:30","nodeType":"VariableDeclaration","scope":17074,"src":"34164:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17052,"name":"string","nodeType":"ElementaryTypeName","src":"34164:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17055,"mutability":"mutable","name":"p1","nameLocation":"34190:2:30","nodeType":"VariableDeclaration","scope":17074,"src":"34182:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17054,"name":"uint256","nodeType":"ElementaryTypeName","src":"34182:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17057,"mutability":"mutable","name":"p2","nameLocation":"34199:2:30","nodeType":"VariableDeclaration","scope":17074,"src":"34194:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17056,"name":"bool","nodeType":"ElementaryTypeName","src":"34194:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17059,"mutability":"mutable","name":"p3","nameLocation":"34211:2:30","nodeType":"VariableDeclaration","scope":17074,"src":"34203:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17058,"name":"address","nodeType":"ElementaryTypeName","src":"34203:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34163:51:30"},"returnParameters":{"id":17061,"nodeType":"ParameterList","parameters":[],"src":"34229:0:30"},"scope":21215,"src":"34151:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17096,"nodeType":"Block","src":"34425:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":17088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34475:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":17089,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17076,"src":"34514:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17090,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17078,"src":"34518:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17091,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17080,"src":"34522:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17092,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17082,"src":"34526:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17086,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34451:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34455:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34451:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34451:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17085,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"34435:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34435:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17095,"nodeType":"ExpressionStatement","src":"34435:95:30"}]},"id":17097,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34353:3:30","nodeType":"FunctionDefinition","parameters":{"id":17083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17076,"mutability":"mutable","name":"p0","nameLocation":"34371:2:30","nodeType":"VariableDeclaration","scope":17097,"src":"34357:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17075,"name":"string","nodeType":"ElementaryTypeName","src":"34357:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17078,"mutability":"mutable","name":"p1","nameLocation":"34383:2:30","nodeType":"VariableDeclaration","scope":17097,"src":"34375:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17077,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17080,"mutability":"mutable","name":"p2","nameLocation":"34395:2:30","nodeType":"VariableDeclaration","scope":17097,"src":"34387:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17079,"name":"address","nodeType":"ElementaryTypeName","src":"34387:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17082,"mutability":"mutable","name":"p3","nameLocation":"34407:2:30","nodeType":"VariableDeclaration","scope":17097,"src":"34399:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17081,"name":"uint256","nodeType":"ElementaryTypeName","src":"34399:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34356:54:30"},"returnParameters":{"id":17084,"nodeType":"ParameterList","parameters":[],"src":"34425:0:30"},"scope":21215,"src":"34344:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17119,"nodeType":"Block","src":"34630:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":17111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34680:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":17112,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17099,"src":"34718:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17113,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17101,"src":"34722:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17114,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17103,"src":"34726:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17115,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17105,"src":"34730:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17109,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34656:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34660:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34656:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34656:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17108,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"34640:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34640:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17118,"nodeType":"ExpressionStatement","src":"34640:94:30"}]},"id":17120,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34552:3:30","nodeType":"FunctionDefinition","parameters":{"id":17106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17099,"mutability":"mutable","name":"p0","nameLocation":"34570:2:30","nodeType":"VariableDeclaration","scope":17120,"src":"34556:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17098,"name":"string","nodeType":"ElementaryTypeName","src":"34556:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17101,"mutability":"mutable","name":"p1","nameLocation":"34582:2:30","nodeType":"VariableDeclaration","scope":17120,"src":"34574:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17100,"name":"uint256","nodeType":"ElementaryTypeName","src":"34574:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17103,"mutability":"mutable","name":"p2","nameLocation":"34594:2:30","nodeType":"VariableDeclaration","scope":17120,"src":"34586:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17102,"name":"address","nodeType":"ElementaryTypeName","src":"34586:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17105,"mutability":"mutable","name":"p3","nameLocation":"34612:2:30","nodeType":"VariableDeclaration","scope":17120,"src":"34598:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17104,"name":"string","nodeType":"ElementaryTypeName","src":"34598:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34555:60:30"},"returnParameters":{"id":17107,"nodeType":"ParameterList","parameters":[],"src":"34630:0:30"},"scope":21215,"src":"34543:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17142,"nodeType":"Block","src":"34825:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":17134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34875:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":17135,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17122,"src":"34911:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17136,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17124,"src":"34915:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17137,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17126,"src":"34919:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17138,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17128,"src":"34923:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17132,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34851:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34855:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34851:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34851:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17131,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"34835:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34835:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17141,"nodeType":"ExpressionStatement","src":"34835:92:30"}]},"id":17143,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34756:3:30","nodeType":"FunctionDefinition","parameters":{"id":17129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17122,"mutability":"mutable","name":"p0","nameLocation":"34774:2:30","nodeType":"VariableDeclaration","scope":17143,"src":"34760:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17121,"name":"string","nodeType":"ElementaryTypeName","src":"34760:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17124,"mutability":"mutable","name":"p1","nameLocation":"34786:2:30","nodeType":"VariableDeclaration","scope":17143,"src":"34778:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17123,"name":"uint256","nodeType":"ElementaryTypeName","src":"34778:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17126,"mutability":"mutable","name":"p2","nameLocation":"34798:2:30","nodeType":"VariableDeclaration","scope":17143,"src":"34790:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17125,"name":"address","nodeType":"ElementaryTypeName","src":"34790:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17128,"mutability":"mutable","name":"p3","nameLocation":"34807:2:30","nodeType":"VariableDeclaration","scope":17143,"src":"34802:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17127,"name":"bool","nodeType":"ElementaryTypeName","src":"34802:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34759:51:30"},"returnParameters":{"id":17130,"nodeType":"ParameterList","parameters":[],"src":"34825:0:30"},"scope":21215,"src":"34747:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17165,"nodeType":"Block","src":"35021:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":17157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35071:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":17158,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17145,"src":"35110:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17159,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17147,"src":"35114:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17160,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17149,"src":"35118:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17161,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17151,"src":"35122:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17155,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35047:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35051:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35047:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35047:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17154,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"35031:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35031:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17164,"nodeType":"ExpressionStatement","src":"35031:95:30"}]},"id":17166,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34949:3:30","nodeType":"FunctionDefinition","parameters":{"id":17152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17145,"mutability":"mutable","name":"p0","nameLocation":"34967:2:30","nodeType":"VariableDeclaration","scope":17166,"src":"34953:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17144,"name":"string","nodeType":"ElementaryTypeName","src":"34953:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17147,"mutability":"mutable","name":"p1","nameLocation":"34979:2:30","nodeType":"VariableDeclaration","scope":17166,"src":"34971:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17146,"name":"uint256","nodeType":"ElementaryTypeName","src":"34971:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17149,"mutability":"mutable","name":"p2","nameLocation":"34991:2:30","nodeType":"VariableDeclaration","scope":17166,"src":"34983:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17148,"name":"address","nodeType":"ElementaryTypeName","src":"34983:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17151,"mutability":"mutable","name":"p3","nameLocation":"35003:2:30","nodeType":"VariableDeclaration","scope":17166,"src":"34995:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17150,"name":"address","nodeType":"ElementaryTypeName","src":"34995:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34952:54:30"},"returnParameters":{"id":17153,"nodeType":"ParameterList","parameters":[],"src":"35021:0:30"},"scope":21215,"src":"34940:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17188,"nodeType":"Block","src":"35226:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":17180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35276:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":17181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17168,"src":"35314:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17170,"src":"35318:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17172,"src":"35322:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17184,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17174,"src":"35326:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35252:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35256:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35252:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35252:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"35236:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35236:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17187,"nodeType":"ExpressionStatement","src":"35236:94:30"}]},"id":17189,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35148:3:30","nodeType":"FunctionDefinition","parameters":{"id":17175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17168,"mutability":"mutable","name":"p0","nameLocation":"35166:2:30","nodeType":"VariableDeclaration","scope":17189,"src":"35152:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17167,"name":"string","nodeType":"ElementaryTypeName","src":"35152:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17170,"mutability":"mutable","name":"p1","nameLocation":"35184:2:30","nodeType":"VariableDeclaration","scope":17189,"src":"35170:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17169,"name":"string","nodeType":"ElementaryTypeName","src":"35170:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17172,"mutability":"mutable","name":"p2","nameLocation":"35196:2:30","nodeType":"VariableDeclaration","scope":17189,"src":"35188:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17171,"name":"uint256","nodeType":"ElementaryTypeName","src":"35188:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17174,"mutability":"mutable","name":"p3","nameLocation":"35208:2:30","nodeType":"VariableDeclaration","scope":17189,"src":"35200:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17173,"name":"uint256","nodeType":"ElementaryTypeName","src":"35200:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35151:60:30"},"returnParameters":{"id":17176,"nodeType":"ParameterList","parameters":[],"src":"35226:0:30"},"scope":21215,"src":"35139:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17211,"nodeType":"Block","src":"35436:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":17203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35486:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":17204,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17191,"src":"35523:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17205,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17193,"src":"35527:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17206,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17195,"src":"35531:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17207,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17197,"src":"35535:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35462:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35466:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35462:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35462:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"35446:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35446:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17210,"nodeType":"ExpressionStatement","src":"35446:93:30"}]},"id":17212,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35352:3:30","nodeType":"FunctionDefinition","parameters":{"id":17198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17191,"mutability":"mutable","name":"p0","nameLocation":"35370:2:30","nodeType":"VariableDeclaration","scope":17212,"src":"35356:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17190,"name":"string","nodeType":"ElementaryTypeName","src":"35356:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17193,"mutability":"mutable","name":"p1","nameLocation":"35388:2:30","nodeType":"VariableDeclaration","scope":17212,"src":"35374:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17192,"name":"string","nodeType":"ElementaryTypeName","src":"35374:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17195,"mutability":"mutable","name":"p2","nameLocation":"35400:2:30","nodeType":"VariableDeclaration","scope":17212,"src":"35392:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17194,"name":"uint256","nodeType":"ElementaryTypeName","src":"35392:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17197,"mutability":"mutable","name":"p3","nameLocation":"35418:2:30","nodeType":"VariableDeclaration","scope":17212,"src":"35404:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17196,"name":"string","nodeType":"ElementaryTypeName","src":"35404:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35355:66:30"},"returnParameters":{"id":17199,"nodeType":"ParameterList","parameters":[],"src":"35436:0:30"},"scope":21215,"src":"35343:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17234,"nodeType":"Block","src":"35636:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":17226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35686:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":17227,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17214,"src":"35721:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17228,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17216,"src":"35725:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17229,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17218,"src":"35729:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17230,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17220,"src":"35733:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35662:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35666:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35662:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35662:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17223,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"35646:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35646:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17233,"nodeType":"ExpressionStatement","src":"35646:91:30"}]},"id":17235,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35561:3:30","nodeType":"FunctionDefinition","parameters":{"id":17221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17214,"mutability":"mutable","name":"p0","nameLocation":"35579:2:30","nodeType":"VariableDeclaration","scope":17235,"src":"35565:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17213,"name":"string","nodeType":"ElementaryTypeName","src":"35565:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17216,"mutability":"mutable","name":"p1","nameLocation":"35597:2:30","nodeType":"VariableDeclaration","scope":17235,"src":"35583:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17215,"name":"string","nodeType":"ElementaryTypeName","src":"35583:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17218,"mutability":"mutable","name":"p2","nameLocation":"35609:2:30","nodeType":"VariableDeclaration","scope":17235,"src":"35601:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17217,"name":"uint256","nodeType":"ElementaryTypeName","src":"35601:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17220,"mutability":"mutable","name":"p3","nameLocation":"35618:2:30","nodeType":"VariableDeclaration","scope":17235,"src":"35613:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17219,"name":"bool","nodeType":"ElementaryTypeName","src":"35613:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35564:57:30"},"returnParameters":{"id":17222,"nodeType":"ParameterList","parameters":[],"src":"35636:0:30"},"scope":21215,"src":"35552:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17257,"nodeType":"Block","src":"35837:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":17249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35887:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":17250,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17237,"src":"35925:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17251,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17239,"src":"35929:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17252,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17241,"src":"35933:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17253,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17243,"src":"35937:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17247,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35863:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35867:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35863:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35863:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17246,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"35847:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35847:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17256,"nodeType":"ExpressionStatement","src":"35847:94:30"}]},"id":17258,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35759:3:30","nodeType":"FunctionDefinition","parameters":{"id":17244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17237,"mutability":"mutable","name":"p0","nameLocation":"35777:2:30","nodeType":"VariableDeclaration","scope":17258,"src":"35763:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17236,"name":"string","nodeType":"ElementaryTypeName","src":"35763:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17239,"mutability":"mutable","name":"p1","nameLocation":"35795:2:30","nodeType":"VariableDeclaration","scope":17258,"src":"35781:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17238,"name":"string","nodeType":"ElementaryTypeName","src":"35781:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17241,"mutability":"mutable","name":"p2","nameLocation":"35807:2:30","nodeType":"VariableDeclaration","scope":17258,"src":"35799:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17240,"name":"uint256","nodeType":"ElementaryTypeName","src":"35799:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17243,"mutability":"mutable","name":"p3","nameLocation":"35819:2:30","nodeType":"VariableDeclaration","scope":17258,"src":"35811:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17242,"name":"address","nodeType":"ElementaryTypeName","src":"35811:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35762:60:30"},"returnParameters":{"id":17245,"nodeType":"ParameterList","parameters":[],"src":"35837:0:30"},"scope":21215,"src":"35750:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17280,"nodeType":"Block","src":"36047:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":17272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36097:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":17273,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17260,"src":"36134:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17274,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17262,"src":"36138:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17275,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17264,"src":"36142:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17276,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17266,"src":"36146:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17270,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36073:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36077:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36073:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36073:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17269,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"36057:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36057:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17279,"nodeType":"ExpressionStatement","src":"36057:93:30"}]},"id":17281,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35963:3:30","nodeType":"FunctionDefinition","parameters":{"id":17267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17260,"mutability":"mutable","name":"p0","nameLocation":"35981:2:30","nodeType":"VariableDeclaration","scope":17281,"src":"35967:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17259,"name":"string","nodeType":"ElementaryTypeName","src":"35967:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17262,"mutability":"mutable","name":"p1","nameLocation":"35999:2:30","nodeType":"VariableDeclaration","scope":17281,"src":"35985:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17261,"name":"string","nodeType":"ElementaryTypeName","src":"35985:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17264,"mutability":"mutable","name":"p2","nameLocation":"36017:2:30","nodeType":"VariableDeclaration","scope":17281,"src":"36003:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17263,"name":"string","nodeType":"ElementaryTypeName","src":"36003:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17266,"mutability":"mutable","name":"p3","nameLocation":"36029:2:30","nodeType":"VariableDeclaration","scope":17281,"src":"36021:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17265,"name":"uint256","nodeType":"ElementaryTypeName","src":"36021:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35966:66:30"},"returnParameters":{"id":17268,"nodeType":"ParameterList","parameters":[],"src":"36047:0:30"},"scope":21215,"src":"35954:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17303,"nodeType":"Block","src":"36262:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":17295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36312:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":17296,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17283,"src":"36348:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17297,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17285,"src":"36352:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17298,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17287,"src":"36356:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17299,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17289,"src":"36360:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36288:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36292:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36288:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36288:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"36272:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36272:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17302,"nodeType":"ExpressionStatement","src":"36272:92:30"}]},"id":17304,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36172:3:30","nodeType":"FunctionDefinition","parameters":{"id":17290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17283,"mutability":"mutable","name":"p0","nameLocation":"36190:2:30","nodeType":"VariableDeclaration","scope":17304,"src":"36176:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17282,"name":"string","nodeType":"ElementaryTypeName","src":"36176:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17285,"mutability":"mutable","name":"p1","nameLocation":"36208:2:30","nodeType":"VariableDeclaration","scope":17304,"src":"36194:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17284,"name":"string","nodeType":"ElementaryTypeName","src":"36194:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17287,"mutability":"mutable","name":"p2","nameLocation":"36226:2:30","nodeType":"VariableDeclaration","scope":17304,"src":"36212:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17286,"name":"string","nodeType":"ElementaryTypeName","src":"36212:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17289,"mutability":"mutable","name":"p3","nameLocation":"36244:2:30","nodeType":"VariableDeclaration","scope":17304,"src":"36230:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17288,"name":"string","nodeType":"ElementaryTypeName","src":"36230:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36175:72:30"},"returnParameters":{"id":17291,"nodeType":"ParameterList","parameters":[],"src":"36262:0:30"},"scope":21215,"src":"36163:208:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17326,"nodeType":"Block","src":"36467:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":17318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36517:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":17319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17306,"src":"36551:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17308,"src":"36555:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17310,"src":"36559:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17322,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17312,"src":"36563:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36493:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36497:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36493:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36493:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"36477:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36477:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17325,"nodeType":"ExpressionStatement","src":"36477:90:30"}]},"id":17327,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36386:3:30","nodeType":"FunctionDefinition","parameters":{"id":17313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17306,"mutability":"mutable","name":"p0","nameLocation":"36404:2:30","nodeType":"VariableDeclaration","scope":17327,"src":"36390:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17305,"name":"string","nodeType":"ElementaryTypeName","src":"36390:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17308,"mutability":"mutable","name":"p1","nameLocation":"36422:2:30","nodeType":"VariableDeclaration","scope":17327,"src":"36408:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17307,"name":"string","nodeType":"ElementaryTypeName","src":"36408:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17310,"mutability":"mutable","name":"p2","nameLocation":"36440:2:30","nodeType":"VariableDeclaration","scope":17327,"src":"36426:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17309,"name":"string","nodeType":"ElementaryTypeName","src":"36426:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17312,"mutability":"mutable","name":"p3","nameLocation":"36449:2:30","nodeType":"VariableDeclaration","scope":17327,"src":"36444:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17311,"name":"bool","nodeType":"ElementaryTypeName","src":"36444:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36389:63:30"},"returnParameters":{"id":17314,"nodeType":"ParameterList","parameters":[],"src":"36467:0:30"},"scope":21215,"src":"36377:197:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17349,"nodeType":"Block","src":"36673:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":17341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36723:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":17342,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17329,"src":"36760:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17343,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17331,"src":"36764:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17344,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17333,"src":"36768:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17345,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17335,"src":"36772:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17339,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36699:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36703:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36699:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36699:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17338,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"36683:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36683:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17348,"nodeType":"ExpressionStatement","src":"36683:93:30"}]},"id":17350,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36589:3:30","nodeType":"FunctionDefinition","parameters":{"id":17336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17329,"mutability":"mutable","name":"p0","nameLocation":"36607:2:30","nodeType":"VariableDeclaration","scope":17350,"src":"36593:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17328,"name":"string","nodeType":"ElementaryTypeName","src":"36593:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17331,"mutability":"mutable","name":"p1","nameLocation":"36625:2:30","nodeType":"VariableDeclaration","scope":17350,"src":"36611:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17330,"name":"string","nodeType":"ElementaryTypeName","src":"36611:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17333,"mutability":"mutable","name":"p2","nameLocation":"36643:2:30","nodeType":"VariableDeclaration","scope":17350,"src":"36629:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17332,"name":"string","nodeType":"ElementaryTypeName","src":"36629:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17335,"mutability":"mutable","name":"p3","nameLocation":"36655:2:30","nodeType":"VariableDeclaration","scope":17350,"src":"36647:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17334,"name":"address","nodeType":"ElementaryTypeName","src":"36647:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36592:66:30"},"returnParameters":{"id":17337,"nodeType":"ParameterList","parameters":[],"src":"36673:0:30"},"scope":21215,"src":"36580:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17372,"nodeType":"Block","src":"36873:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":17364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36923:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":17365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17352,"src":"36958:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17366,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17354,"src":"36962:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17367,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17356,"src":"36966:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17368,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17358,"src":"36970:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36899:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36903:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36899:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36899:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"36883:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36883:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17371,"nodeType":"ExpressionStatement","src":"36883:91:30"}]},"id":17373,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36798:3:30","nodeType":"FunctionDefinition","parameters":{"id":17359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17352,"mutability":"mutable","name":"p0","nameLocation":"36816:2:30","nodeType":"VariableDeclaration","scope":17373,"src":"36802:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17351,"name":"string","nodeType":"ElementaryTypeName","src":"36802:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17354,"mutability":"mutable","name":"p1","nameLocation":"36834:2:30","nodeType":"VariableDeclaration","scope":17373,"src":"36820:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17353,"name":"string","nodeType":"ElementaryTypeName","src":"36820:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17356,"mutability":"mutable","name":"p2","nameLocation":"36843:2:30","nodeType":"VariableDeclaration","scope":17373,"src":"36838:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17355,"name":"bool","nodeType":"ElementaryTypeName","src":"36838:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17358,"mutability":"mutable","name":"p3","nameLocation":"36855:2:30","nodeType":"VariableDeclaration","scope":17373,"src":"36847:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17357,"name":"uint256","nodeType":"ElementaryTypeName","src":"36847:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36801:57:30"},"returnParameters":{"id":17360,"nodeType":"ParameterList","parameters":[],"src":"36873:0:30"},"scope":21215,"src":"36789:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17395,"nodeType":"Block","src":"37077:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":17387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37127:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":17388,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17375,"src":"37161:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17389,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17377,"src":"37165:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17390,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17379,"src":"37169:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17391,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17381,"src":"37173:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17385,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37103:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37107:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37103:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37103:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17384,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"37087:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37087:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17394,"nodeType":"ExpressionStatement","src":"37087:90:30"}]},"id":17396,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36996:3:30","nodeType":"FunctionDefinition","parameters":{"id":17382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17375,"mutability":"mutable","name":"p0","nameLocation":"37014:2:30","nodeType":"VariableDeclaration","scope":17396,"src":"37000:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17374,"name":"string","nodeType":"ElementaryTypeName","src":"37000:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17377,"mutability":"mutable","name":"p1","nameLocation":"37032:2:30","nodeType":"VariableDeclaration","scope":17396,"src":"37018:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17376,"name":"string","nodeType":"ElementaryTypeName","src":"37018:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17379,"mutability":"mutable","name":"p2","nameLocation":"37041:2:30","nodeType":"VariableDeclaration","scope":17396,"src":"37036:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17378,"name":"bool","nodeType":"ElementaryTypeName","src":"37036:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17381,"mutability":"mutable","name":"p3","nameLocation":"37059:2:30","nodeType":"VariableDeclaration","scope":17396,"src":"37045:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17380,"name":"string","nodeType":"ElementaryTypeName","src":"37045:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36999:63:30"},"returnParameters":{"id":17383,"nodeType":"ParameterList","parameters":[],"src":"37077:0:30"},"scope":21215,"src":"36987:197:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17418,"nodeType":"Block","src":"37271:105:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":17410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37321:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":17411,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17398,"src":"37353:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17412,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17400,"src":"37357:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17413,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17402,"src":"37361:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17414,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17404,"src":"37365:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37297:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37301:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37297:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37297:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"37281:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37281:88:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17417,"nodeType":"ExpressionStatement","src":"37281:88:30"}]},"id":17419,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37199:3:30","nodeType":"FunctionDefinition","parameters":{"id":17405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17398,"mutability":"mutable","name":"p0","nameLocation":"37217:2:30","nodeType":"VariableDeclaration","scope":17419,"src":"37203:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17397,"name":"string","nodeType":"ElementaryTypeName","src":"37203:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17400,"mutability":"mutable","name":"p1","nameLocation":"37235:2:30","nodeType":"VariableDeclaration","scope":17419,"src":"37221:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17399,"name":"string","nodeType":"ElementaryTypeName","src":"37221:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17402,"mutability":"mutable","name":"p2","nameLocation":"37244:2:30","nodeType":"VariableDeclaration","scope":17419,"src":"37239:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17401,"name":"bool","nodeType":"ElementaryTypeName","src":"37239:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17404,"mutability":"mutable","name":"p3","nameLocation":"37253:2:30","nodeType":"VariableDeclaration","scope":17419,"src":"37248:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17403,"name":"bool","nodeType":"ElementaryTypeName","src":"37248:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37202:54:30"},"returnParameters":{"id":17406,"nodeType":"ParameterList","parameters":[],"src":"37271:0:30"},"scope":21215,"src":"37190:186:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17441,"nodeType":"Block","src":"37466:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":17433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37516:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":17434,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17421,"src":"37551:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17435,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17423,"src":"37555:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17436,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17425,"src":"37559:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17437,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17427,"src":"37563:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17431,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37492:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37496:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37492:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37492:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17430,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"37476:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37476:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17440,"nodeType":"ExpressionStatement","src":"37476:91:30"}]},"id":17442,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37391:3:30","nodeType":"FunctionDefinition","parameters":{"id":17428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17421,"mutability":"mutable","name":"p0","nameLocation":"37409:2:30","nodeType":"VariableDeclaration","scope":17442,"src":"37395:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17420,"name":"string","nodeType":"ElementaryTypeName","src":"37395:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17423,"mutability":"mutable","name":"p1","nameLocation":"37427:2:30","nodeType":"VariableDeclaration","scope":17442,"src":"37413:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17422,"name":"string","nodeType":"ElementaryTypeName","src":"37413:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17425,"mutability":"mutable","name":"p2","nameLocation":"37436:2:30","nodeType":"VariableDeclaration","scope":17442,"src":"37431:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17424,"name":"bool","nodeType":"ElementaryTypeName","src":"37431:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17427,"mutability":"mutable","name":"p3","nameLocation":"37448:2:30","nodeType":"VariableDeclaration","scope":17442,"src":"37440:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17426,"name":"address","nodeType":"ElementaryTypeName","src":"37440:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37394:57:30"},"returnParameters":{"id":17429,"nodeType":"ParameterList","parameters":[],"src":"37466:0:30"},"scope":21215,"src":"37382:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17464,"nodeType":"Block","src":"37667:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":17456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37717:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":17457,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17444,"src":"37755:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17458,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17446,"src":"37759:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17459,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17448,"src":"37763:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17460,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17450,"src":"37767:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17454,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37693:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37697:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37693:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37693:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17453,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"37677:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37677:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17463,"nodeType":"ExpressionStatement","src":"37677:94:30"}]},"id":17465,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37589:3:30","nodeType":"FunctionDefinition","parameters":{"id":17451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17444,"mutability":"mutable","name":"p0","nameLocation":"37607:2:30","nodeType":"VariableDeclaration","scope":17465,"src":"37593:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17443,"name":"string","nodeType":"ElementaryTypeName","src":"37593:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17446,"mutability":"mutable","name":"p1","nameLocation":"37625:2:30","nodeType":"VariableDeclaration","scope":17465,"src":"37611:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17445,"name":"string","nodeType":"ElementaryTypeName","src":"37611:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17448,"mutability":"mutable","name":"p2","nameLocation":"37637:2:30","nodeType":"VariableDeclaration","scope":17465,"src":"37629:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17447,"name":"address","nodeType":"ElementaryTypeName","src":"37629:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17450,"mutability":"mutable","name":"p3","nameLocation":"37649:2:30","nodeType":"VariableDeclaration","scope":17465,"src":"37641:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17449,"name":"uint256","nodeType":"ElementaryTypeName","src":"37641:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37592:60:30"},"returnParameters":{"id":17452,"nodeType":"ParameterList","parameters":[],"src":"37667:0:30"},"scope":21215,"src":"37580:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17487,"nodeType":"Block","src":"37877:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":17479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37927:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":17480,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17467,"src":"37964:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17481,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17469,"src":"37968:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17482,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17471,"src":"37972:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17483,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17473,"src":"37976:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17477,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37903:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37907:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37903:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37903:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17476,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"37887:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37887:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17486,"nodeType":"ExpressionStatement","src":"37887:93:30"}]},"id":17488,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37793:3:30","nodeType":"FunctionDefinition","parameters":{"id":17474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17467,"mutability":"mutable","name":"p0","nameLocation":"37811:2:30","nodeType":"VariableDeclaration","scope":17488,"src":"37797:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17466,"name":"string","nodeType":"ElementaryTypeName","src":"37797:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17469,"mutability":"mutable","name":"p1","nameLocation":"37829:2:30","nodeType":"VariableDeclaration","scope":17488,"src":"37815:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17468,"name":"string","nodeType":"ElementaryTypeName","src":"37815:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17471,"mutability":"mutable","name":"p2","nameLocation":"37841:2:30","nodeType":"VariableDeclaration","scope":17488,"src":"37833:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17470,"name":"address","nodeType":"ElementaryTypeName","src":"37833:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17473,"mutability":"mutable","name":"p3","nameLocation":"37859:2:30","nodeType":"VariableDeclaration","scope":17488,"src":"37845:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17472,"name":"string","nodeType":"ElementaryTypeName","src":"37845:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37796:66:30"},"returnParameters":{"id":17475,"nodeType":"ParameterList","parameters":[],"src":"37877:0:30"},"scope":21215,"src":"37784:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17510,"nodeType":"Block","src":"38077:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":17502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38127:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":17503,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17490,"src":"38162:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17504,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17492,"src":"38166:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17505,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17494,"src":"38170:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17506,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17496,"src":"38174:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17500,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38103:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38107:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38103:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38103:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17499,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"38087:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38087:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17509,"nodeType":"ExpressionStatement","src":"38087:91:30"}]},"id":17511,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38002:3:30","nodeType":"FunctionDefinition","parameters":{"id":17497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17490,"mutability":"mutable","name":"p0","nameLocation":"38020:2:30","nodeType":"VariableDeclaration","scope":17511,"src":"38006:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17489,"name":"string","nodeType":"ElementaryTypeName","src":"38006:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17492,"mutability":"mutable","name":"p1","nameLocation":"38038:2:30","nodeType":"VariableDeclaration","scope":17511,"src":"38024:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17491,"name":"string","nodeType":"ElementaryTypeName","src":"38024:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17494,"mutability":"mutable","name":"p2","nameLocation":"38050:2:30","nodeType":"VariableDeclaration","scope":17511,"src":"38042:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17493,"name":"address","nodeType":"ElementaryTypeName","src":"38042:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17496,"mutability":"mutable","name":"p3","nameLocation":"38059:2:30","nodeType":"VariableDeclaration","scope":17511,"src":"38054:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17495,"name":"bool","nodeType":"ElementaryTypeName","src":"38054:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38005:57:30"},"returnParameters":{"id":17498,"nodeType":"ParameterList","parameters":[],"src":"38077:0:30"},"scope":21215,"src":"37993:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17533,"nodeType":"Block","src":"38278:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":17525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38328:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":17526,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17513,"src":"38366:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17527,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17515,"src":"38370:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17528,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17517,"src":"38374:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17529,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17519,"src":"38378:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17523,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38304:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38308:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38304:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38304:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17522,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"38288:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38288:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17532,"nodeType":"ExpressionStatement","src":"38288:94:30"}]},"id":17534,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38200:3:30","nodeType":"FunctionDefinition","parameters":{"id":17520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17513,"mutability":"mutable","name":"p0","nameLocation":"38218:2:30","nodeType":"VariableDeclaration","scope":17534,"src":"38204:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17512,"name":"string","nodeType":"ElementaryTypeName","src":"38204:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17515,"mutability":"mutable","name":"p1","nameLocation":"38236:2:30","nodeType":"VariableDeclaration","scope":17534,"src":"38222:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17514,"name":"string","nodeType":"ElementaryTypeName","src":"38222:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17517,"mutability":"mutable","name":"p2","nameLocation":"38248:2:30","nodeType":"VariableDeclaration","scope":17534,"src":"38240:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17516,"name":"address","nodeType":"ElementaryTypeName","src":"38240:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17519,"mutability":"mutable","name":"p3","nameLocation":"38260:2:30","nodeType":"VariableDeclaration","scope":17534,"src":"38252:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17518,"name":"address","nodeType":"ElementaryTypeName","src":"38252:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38203:60:30"},"returnParameters":{"id":17521,"nodeType":"ParameterList","parameters":[],"src":"38278:0:30"},"scope":21215,"src":"38191:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17556,"nodeType":"Block","src":"38473:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":17548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38523:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":17549,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17536,"src":"38559:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17550,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17538,"src":"38563:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17551,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17540,"src":"38567:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17552,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17542,"src":"38571:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17546,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38499:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38503:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38499:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38499:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17545,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"38483:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38483:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17555,"nodeType":"ExpressionStatement","src":"38483:92:30"}]},"id":17557,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38404:3:30","nodeType":"FunctionDefinition","parameters":{"id":17543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17536,"mutability":"mutable","name":"p0","nameLocation":"38422:2:30","nodeType":"VariableDeclaration","scope":17557,"src":"38408:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17535,"name":"string","nodeType":"ElementaryTypeName","src":"38408:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17538,"mutability":"mutable","name":"p1","nameLocation":"38431:2:30","nodeType":"VariableDeclaration","scope":17557,"src":"38426:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17537,"name":"bool","nodeType":"ElementaryTypeName","src":"38426:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17540,"mutability":"mutable","name":"p2","nameLocation":"38443:2:30","nodeType":"VariableDeclaration","scope":17557,"src":"38435:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17539,"name":"uint256","nodeType":"ElementaryTypeName","src":"38435:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17542,"mutability":"mutable","name":"p3","nameLocation":"38455:2:30","nodeType":"VariableDeclaration","scope":17557,"src":"38447:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17541,"name":"uint256","nodeType":"ElementaryTypeName","src":"38447:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38407:51:30"},"returnParameters":{"id":17544,"nodeType":"ParameterList","parameters":[],"src":"38473:0:30"},"scope":21215,"src":"38395:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17579,"nodeType":"Block","src":"38672:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":17571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38722:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":17572,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17559,"src":"38757:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17573,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17561,"src":"38761:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17574,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17563,"src":"38765:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17575,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17565,"src":"38769:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17569,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38698:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38702:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38698:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38698:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17568,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"38682:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38682:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17578,"nodeType":"ExpressionStatement","src":"38682:91:30"}]},"id":17580,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38597:3:30","nodeType":"FunctionDefinition","parameters":{"id":17566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17559,"mutability":"mutable","name":"p0","nameLocation":"38615:2:30","nodeType":"VariableDeclaration","scope":17580,"src":"38601:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17558,"name":"string","nodeType":"ElementaryTypeName","src":"38601:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17561,"mutability":"mutable","name":"p1","nameLocation":"38624:2:30","nodeType":"VariableDeclaration","scope":17580,"src":"38619:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17560,"name":"bool","nodeType":"ElementaryTypeName","src":"38619:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17563,"mutability":"mutable","name":"p2","nameLocation":"38636:2:30","nodeType":"VariableDeclaration","scope":17580,"src":"38628:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17562,"name":"uint256","nodeType":"ElementaryTypeName","src":"38628:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17565,"mutability":"mutable","name":"p3","nameLocation":"38654:2:30","nodeType":"VariableDeclaration","scope":17580,"src":"38640:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17564,"name":"string","nodeType":"ElementaryTypeName","src":"38640:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38600:57:30"},"returnParameters":{"id":17567,"nodeType":"ParameterList","parameters":[],"src":"38672:0:30"},"scope":21215,"src":"38588:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17602,"nodeType":"Block","src":"38861:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":17594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38911:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":17595,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17582,"src":"38944:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17596,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17584,"src":"38948:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17597,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17586,"src":"38952:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17598,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17588,"src":"38956:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38887:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38891:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38887:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38887:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17591,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"38871:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38871:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17601,"nodeType":"ExpressionStatement","src":"38871:89:30"}]},"id":17603,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38795:3:30","nodeType":"FunctionDefinition","parameters":{"id":17589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17582,"mutability":"mutable","name":"p0","nameLocation":"38813:2:30","nodeType":"VariableDeclaration","scope":17603,"src":"38799:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17581,"name":"string","nodeType":"ElementaryTypeName","src":"38799:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17584,"mutability":"mutable","name":"p1","nameLocation":"38822:2:30","nodeType":"VariableDeclaration","scope":17603,"src":"38817:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17583,"name":"bool","nodeType":"ElementaryTypeName","src":"38817:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17586,"mutability":"mutable","name":"p2","nameLocation":"38834:2:30","nodeType":"VariableDeclaration","scope":17603,"src":"38826:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17585,"name":"uint256","nodeType":"ElementaryTypeName","src":"38826:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17588,"mutability":"mutable","name":"p3","nameLocation":"38843:2:30","nodeType":"VariableDeclaration","scope":17603,"src":"38838:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17587,"name":"bool","nodeType":"ElementaryTypeName","src":"38838:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38798:48:30"},"returnParameters":{"id":17590,"nodeType":"ParameterList","parameters":[],"src":"38861:0:30"},"scope":21215,"src":"38786:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17625,"nodeType":"Block","src":"39051:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":17617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39101:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":17618,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17605,"src":"39137:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17619,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17607,"src":"39141:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17620,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17609,"src":"39145:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17621,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17611,"src":"39149:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17615,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39077:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39081:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39077:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39077:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17614,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"39061:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39061:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17624,"nodeType":"ExpressionStatement","src":"39061:92:30"}]},"id":17626,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38982:3:30","nodeType":"FunctionDefinition","parameters":{"id":17612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17605,"mutability":"mutable","name":"p0","nameLocation":"39000:2:30","nodeType":"VariableDeclaration","scope":17626,"src":"38986:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17604,"name":"string","nodeType":"ElementaryTypeName","src":"38986:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17607,"mutability":"mutable","name":"p1","nameLocation":"39009:2:30","nodeType":"VariableDeclaration","scope":17626,"src":"39004:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17606,"name":"bool","nodeType":"ElementaryTypeName","src":"39004:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17609,"mutability":"mutable","name":"p2","nameLocation":"39021:2:30","nodeType":"VariableDeclaration","scope":17626,"src":"39013:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17608,"name":"uint256","nodeType":"ElementaryTypeName","src":"39013:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17611,"mutability":"mutable","name":"p3","nameLocation":"39033:2:30","nodeType":"VariableDeclaration","scope":17626,"src":"39025:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17610,"name":"address","nodeType":"ElementaryTypeName","src":"39025:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38985:51:30"},"returnParameters":{"id":17613,"nodeType":"ParameterList","parameters":[],"src":"39051:0:30"},"scope":21215,"src":"38973:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17648,"nodeType":"Block","src":"39250:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":17640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39300:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":17641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17628,"src":"39335:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17642,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17630,"src":"39339:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17643,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17632,"src":"39343:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17644,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17634,"src":"39347:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39276:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39280:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39276:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39276:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"39260:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39260:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17647,"nodeType":"ExpressionStatement","src":"39260:91:30"}]},"id":17649,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39175:3:30","nodeType":"FunctionDefinition","parameters":{"id":17635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17628,"mutability":"mutable","name":"p0","nameLocation":"39193:2:30","nodeType":"VariableDeclaration","scope":17649,"src":"39179:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17627,"name":"string","nodeType":"ElementaryTypeName","src":"39179:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17630,"mutability":"mutable","name":"p1","nameLocation":"39202:2:30","nodeType":"VariableDeclaration","scope":17649,"src":"39197:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17629,"name":"bool","nodeType":"ElementaryTypeName","src":"39197:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17632,"mutability":"mutable","name":"p2","nameLocation":"39220:2:30","nodeType":"VariableDeclaration","scope":17649,"src":"39206:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17631,"name":"string","nodeType":"ElementaryTypeName","src":"39206:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17634,"mutability":"mutable","name":"p3","nameLocation":"39232:2:30","nodeType":"VariableDeclaration","scope":17649,"src":"39224:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17633,"name":"uint256","nodeType":"ElementaryTypeName","src":"39224:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39178:57:30"},"returnParameters":{"id":17636,"nodeType":"ParameterList","parameters":[],"src":"39250:0:30"},"scope":21215,"src":"39166:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17671,"nodeType":"Block","src":"39454:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":17663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39504:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":17664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17651,"src":"39538:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17665,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17653,"src":"39542:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17666,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17655,"src":"39546:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17667,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17657,"src":"39550:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39480:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39484:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39480:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39480:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"39464:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39464:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17670,"nodeType":"ExpressionStatement","src":"39464:90:30"}]},"id":17672,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39373:3:30","nodeType":"FunctionDefinition","parameters":{"id":17658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17651,"mutability":"mutable","name":"p0","nameLocation":"39391:2:30","nodeType":"VariableDeclaration","scope":17672,"src":"39377:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17650,"name":"string","nodeType":"ElementaryTypeName","src":"39377:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17653,"mutability":"mutable","name":"p1","nameLocation":"39400:2:30","nodeType":"VariableDeclaration","scope":17672,"src":"39395:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17652,"name":"bool","nodeType":"ElementaryTypeName","src":"39395:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17655,"mutability":"mutable","name":"p2","nameLocation":"39418:2:30","nodeType":"VariableDeclaration","scope":17672,"src":"39404:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17654,"name":"string","nodeType":"ElementaryTypeName","src":"39404:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17657,"mutability":"mutable","name":"p3","nameLocation":"39436:2:30","nodeType":"VariableDeclaration","scope":17672,"src":"39422:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17656,"name":"string","nodeType":"ElementaryTypeName","src":"39422:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39376:63:30"},"returnParameters":{"id":17659,"nodeType":"ParameterList","parameters":[],"src":"39454:0:30"},"scope":21215,"src":"39364:197:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17694,"nodeType":"Block","src":"39648:105:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":17686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39698:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":17687,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17674,"src":"39730:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17688,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17676,"src":"39734:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17689,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17678,"src":"39738:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17690,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17680,"src":"39742:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39674:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39678:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39674:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39674:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17683,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"39658:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39658:88:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17693,"nodeType":"ExpressionStatement","src":"39658:88:30"}]},"id":17695,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39576:3:30","nodeType":"FunctionDefinition","parameters":{"id":17681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17674,"mutability":"mutable","name":"p0","nameLocation":"39594:2:30","nodeType":"VariableDeclaration","scope":17695,"src":"39580:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17673,"name":"string","nodeType":"ElementaryTypeName","src":"39580:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17676,"mutability":"mutable","name":"p1","nameLocation":"39603:2:30","nodeType":"VariableDeclaration","scope":17695,"src":"39598:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17675,"name":"bool","nodeType":"ElementaryTypeName","src":"39598:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17678,"mutability":"mutable","name":"p2","nameLocation":"39621:2:30","nodeType":"VariableDeclaration","scope":17695,"src":"39607:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17677,"name":"string","nodeType":"ElementaryTypeName","src":"39607:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17680,"mutability":"mutable","name":"p3","nameLocation":"39630:2:30","nodeType":"VariableDeclaration","scope":17695,"src":"39625:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17679,"name":"bool","nodeType":"ElementaryTypeName","src":"39625:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39579:54:30"},"returnParameters":{"id":17682,"nodeType":"ParameterList","parameters":[],"src":"39648:0:30"},"scope":21215,"src":"39567:186:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17717,"nodeType":"Block","src":"39843:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":17709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39893:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":17710,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17697,"src":"39928:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17711,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17699,"src":"39932:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17712,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17701,"src":"39936:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17713,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17703,"src":"39940:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17707,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39869:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39873:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39869:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39869:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17706,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"39853:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39853:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17716,"nodeType":"ExpressionStatement","src":"39853:91:30"}]},"id":17718,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39768:3:30","nodeType":"FunctionDefinition","parameters":{"id":17704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17697,"mutability":"mutable","name":"p0","nameLocation":"39786:2:30","nodeType":"VariableDeclaration","scope":17718,"src":"39772:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17696,"name":"string","nodeType":"ElementaryTypeName","src":"39772:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17699,"mutability":"mutable","name":"p1","nameLocation":"39795:2:30","nodeType":"VariableDeclaration","scope":17718,"src":"39790:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17698,"name":"bool","nodeType":"ElementaryTypeName","src":"39790:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17701,"mutability":"mutable","name":"p2","nameLocation":"39813:2:30","nodeType":"VariableDeclaration","scope":17718,"src":"39799:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17700,"name":"string","nodeType":"ElementaryTypeName","src":"39799:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17703,"mutability":"mutable","name":"p3","nameLocation":"39825:2:30","nodeType":"VariableDeclaration","scope":17718,"src":"39817:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17702,"name":"address","nodeType":"ElementaryTypeName","src":"39817:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39771:57:30"},"returnParameters":{"id":17705,"nodeType":"ParameterList","parameters":[],"src":"39843:0:30"},"scope":21215,"src":"39759:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17740,"nodeType":"Block","src":"40032:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":17732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40082:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":17733,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17720,"src":"40115:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17734,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17722,"src":"40119:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17735,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17724,"src":"40123:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17736,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17726,"src":"40127:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17730,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40058:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40062:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40058:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40058:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17729,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"40042:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40042:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17739,"nodeType":"ExpressionStatement","src":"40042:89:30"}]},"id":17741,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39966:3:30","nodeType":"FunctionDefinition","parameters":{"id":17727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17720,"mutability":"mutable","name":"p0","nameLocation":"39984:2:30","nodeType":"VariableDeclaration","scope":17741,"src":"39970:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17719,"name":"string","nodeType":"ElementaryTypeName","src":"39970:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17722,"mutability":"mutable","name":"p1","nameLocation":"39993:2:30","nodeType":"VariableDeclaration","scope":17741,"src":"39988:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17721,"name":"bool","nodeType":"ElementaryTypeName","src":"39988:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17724,"mutability":"mutable","name":"p2","nameLocation":"40002:2:30","nodeType":"VariableDeclaration","scope":17741,"src":"39997:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17723,"name":"bool","nodeType":"ElementaryTypeName","src":"39997:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17726,"mutability":"mutable","name":"p3","nameLocation":"40014:2:30","nodeType":"VariableDeclaration","scope":17741,"src":"40006:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17725,"name":"uint256","nodeType":"ElementaryTypeName","src":"40006:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39969:48:30"},"returnParameters":{"id":17728,"nodeType":"ParameterList","parameters":[],"src":"40032:0:30"},"scope":21215,"src":"39957:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17763,"nodeType":"Block","src":"40225:105:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":17755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40275:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":17756,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17743,"src":"40307:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17757,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17745,"src":"40311:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17758,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17747,"src":"40315:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17759,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17749,"src":"40319:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17753,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40251:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40255:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40251:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40251:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"40235:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40235:88:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17762,"nodeType":"ExpressionStatement","src":"40235:88:30"}]},"id":17764,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40153:3:30","nodeType":"FunctionDefinition","parameters":{"id":17750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17743,"mutability":"mutable","name":"p0","nameLocation":"40171:2:30","nodeType":"VariableDeclaration","scope":17764,"src":"40157:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17742,"name":"string","nodeType":"ElementaryTypeName","src":"40157:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17745,"mutability":"mutable","name":"p1","nameLocation":"40180:2:30","nodeType":"VariableDeclaration","scope":17764,"src":"40175:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17744,"name":"bool","nodeType":"ElementaryTypeName","src":"40175:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17747,"mutability":"mutable","name":"p2","nameLocation":"40189:2:30","nodeType":"VariableDeclaration","scope":17764,"src":"40184:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17746,"name":"bool","nodeType":"ElementaryTypeName","src":"40184:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17749,"mutability":"mutable","name":"p3","nameLocation":"40207:2:30","nodeType":"VariableDeclaration","scope":17764,"src":"40193:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17748,"name":"string","nodeType":"ElementaryTypeName","src":"40193:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40156:54:30"},"returnParameters":{"id":17751,"nodeType":"ParameterList","parameters":[],"src":"40225:0:30"},"scope":21215,"src":"40144:186:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17786,"nodeType":"Block","src":"40408:103:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":17778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40458:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":17779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17766,"src":"40488:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17768,"src":"40492:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17770,"src":"40496:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17782,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17772,"src":"40500:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40434:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40438:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40434:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40434:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"40418:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40418:86:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17785,"nodeType":"ExpressionStatement","src":"40418:86:30"}]},"id":17787,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40345:3:30","nodeType":"FunctionDefinition","parameters":{"id":17773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17766,"mutability":"mutable","name":"p0","nameLocation":"40363:2:30","nodeType":"VariableDeclaration","scope":17787,"src":"40349:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17765,"name":"string","nodeType":"ElementaryTypeName","src":"40349:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17768,"mutability":"mutable","name":"p1","nameLocation":"40372:2:30","nodeType":"VariableDeclaration","scope":17787,"src":"40367:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17767,"name":"bool","nodeType":"ElementaryTypeName","src":"40367:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17770,"mutability":"mutable","name":"p2","nameLocation":"40381:2:30","nodeType":"VariableDeclaration","scope":17787,"src":"40376:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17769,"name":"bool","nodeType":"ElementaryTypeName","src":"40376:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17772,"mutability":"mutable","name":"p3","nameLocation":"40390:2:30","nodeType":"VariableDeclaration","scope":17787,"src":"40385:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17771,"name":"bool","nodeType":"ElementaryTypeName","src":"40385:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40348:45:30"},"returnParameters":{"id":17774,"nodeType":"ParameterList","parameters":[],"src":"40408:0:30"},"scope":21215,"src":"40336:175:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17809,"nodeType":"Block","src":"40592:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":17801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40642:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":17802,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17789,"src":"40675:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17803,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17791,"src":"40679:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17804,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17793,"src":"40683:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17805,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17795,"src":"40687:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17799,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40618:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40622:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40618:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40618:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17798,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"40602:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40602:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17808,"nodeType":"ExpressionStatement","src":"40602:89:30"}]},"id":17810,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40526:3:30","nodeType":"FunctionDefinition","parameters":{"id":17796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17789,"mutability":"mutable","name":"p0","nameLocation":"40544:2:30","nodeType":"VariableDeclaration","scope":17810,"src":"40530:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17788,"name":"string","nodeType":"ElementaryTypeName","src":"40530:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17791,"mutability":"mutable","name":"p1","nameLocation":"40553:2:30","nodeType":"VariableDeclaration","scope":17810,"src":"40548:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17790,"name":"bool","nodeType":"ElementaryTypeName","src":"40548:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17793,"mutability":"mutable","name":"p2","nameLocation":"40562:2:30","nodeType":"VariableDeclaration","scope":17810,"src":"40557:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17792,"name":"bool","nodeType":"ElementaryTypeName","src":"40557:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17795,"mutability":"mutable","name":"p3","nameLocation":"40574:2:30","nodeType":"VariableDeclaration","scope":17810,"src":"40566:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17794,"name":"address","nodeType":"ElementaryTypeName","src":"40566:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40529:48:30"},"returnParameters":{"id":17797,"nodeType":"ParameterList","parameters":[],"src":"40592:0:30"},"scope":21215,"src":"40517:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17832,"nodeType":"Block","src":"40782:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":17824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40832:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":17825,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17812,"src":"40868:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17826,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17814,"src":"40872:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17827,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17816,"src":"40876:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17828,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17818,"src":"40880:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40808:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40812:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40808:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40808:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17821,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"40792:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40792:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17831,"nodeType":"ExpressionStatement","src":"40792:92:30"}]},"id":17833,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40713:3:30","nodeType":"FunctionDefinition","parameters":{"id":17819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17812,"mutability":"mutable","name":"p0","nameLocation":"40731:2:30","nodeType":"VariableDeclaration","scope":17833,"src":"40717:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17811,"name":"string","nodeType":"ElementaryTypeName","src":"40717:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17814,"mutability":"mutable","name":"p1","nameLocation":"40740:2:30","nodeType":"VariableDeclaration","scope":17833,"src":"40735:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17813,"name":"bool","nodeType":"ElementaryTypeName","src":"40735:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17816,"mutability":"mutable","name":"p2","nameLocation":"40752:2:30","nodeType":"VariableDeclaration","scope":17833,"src":"40744:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17815,"name":"address","nodeType":"ElementaryTypeName","src":"40744:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17818,"mutability":"mutable","name":"p3","nameLocation":"40764:2:30","nodeType":"VariableDeclaration","scope":17833,"src":"40756:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17817,"name":"uint256","nodeType":"ElementaryTypeName","src":"40756:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40716:51:30"},"returnParameters":{"id":17820,"nodeType":"ParameterList","parameters":[],"src":"40782:0:30"},"scope":21215,"src":"40704:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17855,"nodeType":"Block","src":"40981:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":17847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41031:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":17848,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17835,"src":"41066:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17849,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17837,"src":"41070:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17850,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17839,"src":"41074:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17851,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17841,"src":"41078:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17845,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41007:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41011:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41007:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41007:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17844,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"40991:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40991:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17854,"nodeType":"ExpressionStatement","src":"40991:91:30"}]},"id":17856,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40906:3:30","nodeType":"FunctionDefinition","parameters":{"id":17842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17835,"mutability":"mutable","name":"p0","nameLocation":"40924:2:30","nodeType":"VariableDeclaration","scope":17856,"src":"40910:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17834,"name":"string","nodeType":"ElementaryTypeName","src":"40910:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17837,"mutability":"mutable","name":"p1","nameLocation":"40933:2:30","nodeType":"VariableDeclaration","scope":17856,"src":"40928:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17836,"name":"bool","nodeType":"ElementaryTypeName","src":"40928:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17839,"mutability":"mutable","name":"p2","nameLocation":"40945:2:30","nodeType":"VariableDeclaration","scope":17856,"src":"40937:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17838,"name":"address","nodeType":"ElementaryTypeName","src":"40937:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17841,"mutability":"mutable","name":"p3","nameLocation":"40963:2:30","nodeType":"VariableDeclaration","scope":17856,"src":"40949:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17840,"name":"string","nodeType":"ElementaryTypeName","src":"40949:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40909:57:30"},"returnParameters":{"id":17843,"nodeType":"ParameterList","parameters":[],"src":"40981:0:30"},"scope":21215,"src":"40897:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17878,"nodeType":"Block","src":"41170:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":17870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41220:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":17871,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17858,"src":"41253:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17872,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17860,"src":"41257:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17873,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17862,"src":"41261:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17874,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17864,"src":"41265:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17868,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41196:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41200:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41196:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41196:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17867,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"41180:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41180:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17877,"nodeType":"ExpressionStatement","src":"41180:89:30"}]},"id":17879,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41104:3:30","nodeType":"FunctionDefinition","parameters":{"id":17865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17858,"mutability":"mutable","name":"p0","nameLocation":"41122:2:30","nodeType":"VariableDeclaration","scope":17879,"src":"41108:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17857,"name":"string","nodeType":"ElementaryTypeName","src":"41108:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17860,"mutability":"mutable","name":"p1","nameLocation":"41131:2:30","nodeType":"VariableDeclaration","scope":17879,"src":"41126:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17859,"name":"bool","nodeType":"ElementaryTypeName","src":"41126:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17862,"mutability":"mutable","name":"p2","nameLocation":"41143:2:30","nodeType":"VariableDeclaration","scope":17879,"src":"41135:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17861,"name":"address","nodeType":"ElementaryTypeName","src":"41135:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17864,"mutability":"mutable","name":"p3","nameLocation":"41152:2:30","nodeType":"VariableDeclaration","scope":17879,"src":"41147:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17863,"name":"bool","nodeType":"ElementaryTypeName","src":"41147:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41107:48:30"},"returnParameters":{"id":17866,"nodeType":"ParameterList","parameters":[],"src":"41170:0:30"},"scope":21215,"src":"41095:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17901,"nodeType":"Block","src":"41360:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":17893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41410:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":17894,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17881,"src":"41446:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17895,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17883,"src":"41450:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17896,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17885,"src":"41454:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17897,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17887,"src":"41458:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41386:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41390:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41386:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41386:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17890,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"41370:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41370:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17900,"nodeType":"ExpressionStatement","src":"41370:92:30"}]},"id":17902,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41291:3:30","nodeType":"FunctionDefinition","parameters":{"id":17888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17881,"mutability":"mutable","name":"p0","nameLocation":"41309:2:30","nodeType":"VariableDeclaration","scope":17902,"src":"41295:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17880,"name":"string","nodeType":"ElementaryTypeName","src":"41295:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17883,"mutability":"mutable","name":"p1","nameLocation":"41318:2:30","nodeType":"VariableDeclaration","scope":17902,"src":"41313:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17882,"name":"bool","nodeType":"ElementaryTypeName","src":"41313:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17885,"mutability":"mutable","name":"p2","nameLocation":"41330:2:30","nodeType":"VariableDeclaration","scope":17902,"src":"41322:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17884,"name":"address","nodeType":"ElementaryTypeName","src":"41322:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17887,"mutability":"mutable","name":"p3","nameLocation":"41342:2:30","nodeType":"VariableDeclaration","scope":17902,"src":"41334:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17886,"name":"address","nodeType":"ElementaryTypeName","src":"41334:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41294:51:30"},"returnParameters":{"id":17889,"nodeType":"ParameterList","parameters":[],"src":"41360:0:30"},"scope":21215,"src":"41282:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17924,"nodeType":"Block","src":"41556:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":17916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41606:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":17917,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17904,"src":"41645:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17918,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17906,"src":"41649:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17919,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17908,"src":"41653:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17920,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17910,"src":"41657:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17914,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41582:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41586:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41582:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41582:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"41566:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41566:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17923,"nodeType":"ExpressionStatement","src":"41566:95:30"}]},"id":17925,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41484:3:30","nodeType":"FunctionDefinition","parameters":{"id":17911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17904,"mutability":"mutable","name":"p0","nameLocation":"41502:2:30","nodeType":"VariableDeclaration","scope":17925,"src":"41488:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17903,"name":"string","nodeType":"ElementaryTypeName","src":"41488:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17906,"mutability":"mutable","name":"p1","nameLocation":"41514:2:30","nodeType":"VariableDeclaration","scope":17925,"src":"41506:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17905,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17908,"mutability":"mutable","name":"p2","nameLocation":"41526:2:30","nodeType":"VariableDeclaration","scope":17925,"src":"41518:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17907,"name":"uint256","nodeType":"ElementaryTypeName","src":"41518:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17910,"mutability":"mutable","name":"p3","nameLocation":"41538:2:30","nodeType":"VariableDeclaration","scope":17925,"src":"41530:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17909,"name":"uint256","nodeType":"ElementaryTypeName","src":"41530:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41487:54:30"},"returnParameters":{"id":17912,"nodeType":"ParameterList","parameters":[],"src":"41556:0:30"},"scope":21215,"src":"41475:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17947,"nodeType":"Block","src":"41761:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":17939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41811:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":17940,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17927,"src":"41849:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17941,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17929,"src":"41853:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17942,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17931,"src":"41857:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17943,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17933,"src":"41861:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17937,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41787:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41791:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41787:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41787:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17936,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"41771:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41771:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17946,"nodeType":"ExpressionStatement","src":"41771:94:30"}]},"id":17948,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41683:3:30","nodeType":"FunctionDefinition","parameters":{"id":17934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17927,"mutability":"mutable","name":"p0","nameLocation":"41701:2:30","nodeType":"VariableDeclaration","scope":17948,"src":"41687:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17926,"name":"string","nodeType":"ElementaryTypeName","src":"41687:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17929,"mutability":"mutable","name":"p1","nameLocation":"41713:2:30","nodeType":"VariableDeclaration","scope":17948,"src":"41705:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17928,"name":"address","nodeType":"ElementaryTypeName","src":"41705:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17931,"mutability":"mutable","name":"p2","nameLocation":"41725:2:30","nodeType":"VariableDeclaration","scope":17948,"src":"41717:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17930,"name":"uint256","nodeType":"ElementaryTypeName","src":"41717:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17933,"mutability":"mutable","name":"p3","nameLocation":"41743:2:30","nodeType":"VariableDeclaration","scope":17948,"src":"41729:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17932,"name":"string","nodeType":"ElementaryTypeName","src":"41729:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41686:60:30"},"returnParameters":{"id":17935,"nodeType":"ParameterList","parameters":[],"src":"41761:0:30"},"scope":21215,"src":"41674:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17970,"nodeType":"Block","src":"41956:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":17962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42006:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":17963,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17950,"src":"42042:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17964,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17952,"src":"42046:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17965,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17954,"src":"42050:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17966,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17956,"src":"42054:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17960,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41982:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41986:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41982:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41982:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17959,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"41966:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41966:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17969,"nodeType":"ExpressionStatement","src":"41966:92:30"}]},"id":17971,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41887:3:30","nodeType":"FunctionDefinition","parameters":{"id":17957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17950,"mutability":"mutable","name":"p0","nameLocation":"41905:2:30","nodeType":"VariableDeclaration","scope":17971,"src":"41891:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17949,"name":"string","nodeType":"ElementaryTypeName","src":"41891:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17952,"mutability":"mutable","name":"p1","nameLocation":"41917:2:30","nodeType":"VariableDeclaration","scope":17971,"src":"41909:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17951,"name":"address","nodeType":"ElementaryTypeName","src":"41909:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17954,"mutability":"mutable","name":"p2","nameLocation":"41929:2:30","nodeType":"VariableDeclaration","scope":17971,"src":"41921:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17953,"name":"uint256","nodeType":"ElementaryTypeName","src":"41921:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17956,"mutability":"mutable","name":"p3","nameLocation":"41938:2:30","nodeType":"VariableDeclaration","scope":17971,"src":"41933:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17955,"name":"bool","nodeType":"ElementaryTypeName","src":"41933:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41890:51:30"},"returnParameters":{"id":17958,"nodeType":"ParameterList","parameters":[],"src":"41956:0:30"},"scope":21215,"src":"41878:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":17993,"nodeType":"Block","src":"42152:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":17985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42202:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":17986,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17973,"src":"42241:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17987,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17975,"src":"42245:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17988,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17977,"src":"42249:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17989,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17979,"src":"42253:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17983,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42178:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42182:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42178:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42178:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"42162:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":17991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42162:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17992,"nodeType":"ExpressionStatement","src":"42162:95:30"}]},"id":17994,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42080:3:30","nodeType":"FunctionDefinition","parameters":{"id":17980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17973,"mutability":"mutable","name":"p0","nameLocation":"42098:2:30","nodeType":"VariableDeclaration","scope":17994,"src":"42084:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17972,"name":"string","nodeType":"ElementaryTypeName","src":"42084:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17975,"mutability":"mutable","name":"p1","nameLocation":"42110:2:30","nodeType":"VariableDeclaration","scope":17994,"src":"42102:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17974,"name":"address","nodeType":"ElementaryTypeName","src":"42102:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17977,"mutability":"mutable","name":"p2","nameLocation":"42122:2:30","nodeType":"VariableDeclaration","scope":17994,"src":"42114:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17976,"name":"uint256","nodeType":"ElementaryTypeName","src":"42114:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17979,"mutability":"mutable","name":"p3","nameLocation":"42134:2:30","nodeType":"VariableDeclaration","scope":17994,"src":"42126:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17978,"name":"address","nodeType":"ElementaryTypeName","src":"42126:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42083:54:30"},"returnParameters":{"id":17981,"nodeType":"ParameterList","parameters":[],"src":"42152:0:30"},"scope":21215,"src":"42071:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18016,"nodeType":"Block","src":"42357:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":18008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42407:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":18009,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17996,"src":"42445:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18010,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17998,"src":"42449:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18011,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18000,"src":"42453:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18012,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18002,"src":"42457:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18006,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42383:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42387:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42383:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42383:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18005,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"42367:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42367:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18015,"nodeType":"ExpressionStatement","src":"42367:94:30"}]},"id":18017,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42279:3:30","nodeType":"FunctionDefinition","parameters":{"id":18003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17996,"mutability":"mutable","name":"p0","nameLocation":"42297:2:30","nodeType":"VariableDeclaration","scope":18017,"src":"42283:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17995,"name":"string","nodeType":"ElementaryTypeName","src":"42283:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17998,"mutability":"mutable","name":"p1","nameLocation":"42309:2:30","nodeType":"VariableDeclaration","scope":18017,"src":"42301:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17997,"name":"address","nodeType":"ElementaryTypeName","src":"42301:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18000,"mutability":"mutable","name":"p2","nameLocation":"42327:2:30","nodeType":"VariableDeclaration","scope":18017,"src":"42313:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17999,"name":"string","nodeType":"ElementaryTypeName","src":"42313:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18002,"mutability":"mutable","name":"p3","nameLocation":"42339:2:30","nodeType":"VariableDeclaration","scope":18017,"src":"42331:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18001,"name":"uint256","nodeType":"ElementaryTypeName","src":"42331:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42282:60:30"},"returnParameters":{"id":18004,"nodeType":"ParameterList","parameters":[],"src":"42357:0:30"},"scope":21215,"src":"42270:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18039,"nodeType":"Block","src":"42567:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":18031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42617:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":18032,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18019,"src":"42654:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18033,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18021,"src":"42658:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18034,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18023,"src":"42662:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18035,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18025,"src":"42666:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18029,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42593:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42597:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42593:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42593:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18028,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"42577:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42577:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18038,"nodeType":"ExpressionStatement","src":"42577:93:30"}]},"id":18040,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42483:3:30","nodeType":"FunctionDefinition","parameters":{"id":18026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18019,"mutability":"mutable","name":"p0","nameLocation":"42501:2:30","nodeType":"VariableDeclaration","scope":18040,"src":"42487:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18018,"name":"string","nodeType":"ElementaryTypeName","src":"42487:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18021,"mutability":"mutable","name":"p1","nameLocation":"42513:2:30","nodeType":"VariableDeclaration","scope":18040,"src":"42505:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18020,"name":"address","nodeType":"ElementaryTypeName","src":"42505:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18023,"mutability":"mutable","name":"p2","nameLocation":"42531:2:30","nodeType":"VariableDeclaration","scope":18040,"src":"42517:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18022,"name":"string","nodeType":"ElementaryTypeName","src":"42517:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18025,"mutability":"mutable","name":"p3","nameLocation":"42549:2:30","nodeType":"VariableDeclaration","scope":18040,"src":"42535:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18024,"name":"string","nodeType":"ElementaryTypeName","src":"42535:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42486:66:30"},"returnParameters":{"id":18027,"nodeType":"ParameterList","parameters":[],"src":"42567:0:30"},"scope":21215,"src":"42474:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18062,"nodeType":"Block","src":"42767:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":18054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42817:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":18055,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18042,"src":"42852:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18056,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18044,"src":"42856:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18057,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18046,"src":"42860:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18058,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18048,"src":"42864:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18052,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42793:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42797:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42793:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42793:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18051,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"42777:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42777:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18061,"nodeType":"ExpressionStatement","src":"42777:91:30"}]},"id":18063,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42692:3:30","nodeType":"FunctionDefinition","parameters":{"id":18049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18042,"mutability":"mutable","name":"p0","nameLocation":"42710:2:30","nodeType":"VariableDeclaration","scope":18063,"src":"42696:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18041,"name":"string","nodeType":"ElementaryTypeName","src":"42696:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18044,"mutability":"mutable","name":"p1","nameLocation":"42722:2:30","nodeType":"VariableDeclaration","scope":18063,"src":"42714:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18043,"name":"address","nodeType":"ElementaryTypeName","src":"42714:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18046,"mutability":"mutable","name":"p2","nameLocation":"42740:2:30","nodeType":"VariableDeclaration","scope":18063,"src":"42726:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18045,"name":"string","nodeType":"ElementaryTypeName","src":"42726:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18048,"mutability":"mutable","name":"p3","nameLocation":"42749:2:30","nodeType":"VariableDeclaration","scope":18063,"src":"42744:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18047,"name":"bool","nodeType":"ElementaryTypeName","src":"42744:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42695:57:30"},"returnParameters":{"id":18050,"nodeType":"ParameterList","parameters":[],"src":"42767:0:30"},"scope":21215,"src":"42683:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18085,"nodeType":"Block","src":"42968:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":18077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43018:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":18078,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18065,"src":"43056:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18079,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18067,"src":"43060:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18080,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18069,"src":"43064:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18081,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18071,"src":"43068:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18075,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42994:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42998:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42994:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42994:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18074,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"42978:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42978:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18084,"nodeType":"ExpressionStatement","src":"42978:94:30"}]},"id":18086,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42890:3:30","nodeType":"FunctionDefinition","parameters":{"id":18072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18065,"mutability":"mutable","name":"p0","nameLocation":"42908:2:30","nodeType":"VariableDeclaration","scope":18086,"src":"42894:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18064,"name":"string","nodeType":"ElementaryTypeName","src":"42894:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18067,"mutability":"mutable","name":"p1","nameLocation":"42920:2:30","nodeType":"VariableDeclaration","scope":18086,"src":"42912:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18066,"name":"address","nodeType":"ElementaryTypeName","src":"42912:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18069,"mutability":"mutable","name":"p2","nameLocation":"42938:2:30","nodeType":"VariableDeclaration","scope":18086,"src":"42924:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18068,"name":"string","nodeType":"ElementaryTypeName","src":"42924:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18071,"mutability":"mutable","name":"p3","nameLocation":"42950:2:30","nodeType":"VariableDeclaration","scope":18086,"src":"42942:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18070,"name":"address","nodeType":"ElementaryTypeName","src":"42942:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42893:60:30"},"returnParameters":{"id":18073,"nodeType":"ParameterList","parameters":[],"src":"42968:0:30"},"scope":21215,"src":"42881:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18108,"nodeType":"Block","src":"43163:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":18100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43213:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":18101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18088,"src":"43249:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18090,"src":"43253:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18092,"src":"43257:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18104,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18094,"src":"43261:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43189:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43193:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43189:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43189:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"43173:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43173:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18107,"nodeType":"ExpressionStatement","src":"43173:92:30"}]},"id":18109,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43094:3:30","nodeType":"FunctionDefinition","parameters":{"id":18095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18088,"mutability":"mutable","name":"p0","nameLocation":"43112:2:30","nodeType":"VariableDeclaration","scope":18109,"src":"43098:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18087,"name":"string","nodeType":"ElementaryTypeName","src":"43098:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18090,"mutability":"mutable","name":"p1","nameLocation":"43124:2:30","nodeType":"VariableDeclaration","scope":18109,"src":"43116:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18089,"name":"address","nodeType":"ElementaryTypeName","src":"43116:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18092,"mutability":"mutable","name":"p2","nameLocation":"43133:2:30","nodeType":"VariableDeclaration","scope":18109,"src":"43128:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18091,"name":"bool","nodeType":"ElementaryTypeName","src":"43128:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18094,"mutability":"mutable","name":"p3","nameLocation":"43145:2:30","nodeType":"VariableDeclaration","scope":18109,"src":"43137:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18093,"name":"uint256","nodeType":"ElementaryTypeName","src":"43137:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43097:51:30"},"returnParameters":{"id":18096,"nodeType":"ParameterList","parameters":[],"src":"43163:0:30"},"scope":21215,"src":"43085:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18131,"nodeType":"Block","src":"43362:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":18123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43412:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":18124,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18111,"src":"43447:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18125,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18113,"src":"43451:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18126,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18115,"src":"43455:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18127,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18117,"src":"43459:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43388:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43392:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43388:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43388:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"43372:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43372:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18130,"nodeType":"ExpressionStatement","src":"43372:91:30"}]},"id":18132,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43287:3:30","nodeType":"FunctionDefinition","parameters":{"id":18118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18111,"mutability":"mutable","name":"p0","nameLocation":"43305:2:30","nodeType":"VariableDeclaration","scope":18132,"src":"43291:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18110,"name":"string","nodeType":"ElementaryTypeName","src":"43291:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18113,"mutability":"mutable","name":"p1","nameLocation":"43317:2:30","nodeType":"VariableDeclaration","scope":18132,"src":"43309:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18112,"name":"address","nodeType":"ElementaryTypeName","src":"43309:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18115,"mutability":"mutable","name":"p2","nameLocation":"43326:2:30","nodeType":"VariableDeclaration","scope":18132,"src":"43321:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18114,"name":"bool","nodeType":"ElementaryTypeName","src":"43321:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18117,"mutability":"mutable","name":"p3","nameLocation":"43344:2:30","nodeType":"VariableDeclaration","scope":18132,"src":"43330:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18116,"name":"string","nodeType":"ElementaryTypeName","src":"43330:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43290:57:30"},"returnParameters":{"id":18119,"nodeType":"ParameterList","parameters":[],"src":"43362:0:30"},"scope":21215,"src":"43278:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18154,"nodeType":"Block","src":"43551:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":18146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43601:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":18147,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18134,"src":"43634:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18148,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18136,"src":"43638:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18149,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18138,"src":"43642:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18150,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18140,"src":"43646:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18144,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43577:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43581:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43577:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43577:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18143,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"43561:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43561:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18153,"nodeType":"ExpressionStatement","src":"43561:89:30"}]},"id":18155,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43485:3:30","nodeType":"FunctionDefinition","parameters":{"id":18141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18134,"mutability":"mutable","name":"p0","nameLocation":"43503:2:30","nodeType":"VariableDeclaration","scope":18155,"src":"43489:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18133,"name":"string","nodeType":"ElementaryTypeName","src":"43489:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18136,"mutability":"mutable","name":"p1","nameLocation":"43515:2:30","nodeType":"VariableDeclaration","scope":18155,"src":"43507:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18135,"name":"address","nodeType":"ElementaryTypeName","src":"43507:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18138,"mutability":"mutable","name":"p2","nameLocation":"43524:2:30","nodeType":"VariableDeclaration","scope":18155,"src":"43519:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18137,"name":"bool","nodeType":"ElementaryTypeName","src":"43519:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18140,"mutability":"mutable","name":"p3","nameLocation":"43533:2:30","nodeType":"VariableDeclaration","scope":18155,"src":"43528:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18139,"name":"bool","nodeType":"ElementaryTypeName","src":"43528:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43488:48:30"},"returnParameters":{"id":18142,"nodeType":"ParameterList","parameters":[],"src":"43551:0:30"},"scope":21215,"src":"43476:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18177,"nodeType":"Block","src":"43741:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":18169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43791:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":18170,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18157,"src":"43827:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18171,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18159,"src":"43831:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18172,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18161,"src":"43835:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18173,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18163,"src":"43839:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43767:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43771:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43767:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43767:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18166,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"43751:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43751:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18176,"nodeType":"ExpressionStatement","src":"43751:92:30"}]},"id":18178,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43672:3:30","nodeType":"FunctionDefinition","parameters":{"id":18164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18157,"mutability":"mutable","name":"p0","nameLocation":"43690:2:30","nodeType":"VariableDeclaration","scope":18178,"src":"43676:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18156,"name":"string","nodeType":"ElementaryTypeName","src":"43676:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18159,"mutability":"mutable","name":"p1","nameLocation":"43702:2:30","nodeType":"VariableDeclaration","scope":18178,"src":"43694:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18158,"name":"address","nodeType":"ElementaryTypeName","src":"43694:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18161,"mutability":"mutable","name":"p2","nameLocation":"43711:2:30","nodeType":"VariableDeclaration","scope":18178,"src":"43706:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18160,"name":"bool","nodeType":"ElementaryTypeName","src":"43706:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18163,"mutability":"mutable","name":"p3","nameLocation":"43723:2:30","nodeType":"VariableDeclaration","scope":18178,"src":"43715:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18162,"name":"address","nodeType":"ElementaryTypeName","src":"43715:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43675:51:30"},"returnParameters":{"id":18165,"nodeType":"ParameterList","parameters":[],"src":"43741:0:30"},"scope":21215,"src":"43663:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18200,"nodeType":"Block","src":"43937:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":18192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43987:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":18193,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18180,"src":"44026:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18194,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18182,"src":"44030:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18195,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18184,"src":"44034:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18196,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18186,"src":"44038:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18190,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43963:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43967:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43963:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43963:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18189,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"43947:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43947:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18199,"nodeType":"ExpressionStatement","src":"43947:95:30"}]},"id":18201,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43865:3:30","nodeType":"FunctionDefinition","parameters":{"id":18187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18180,"mutability":"mutable","name":"p0","nameLocation":"43883:2:30","nodeType":"VariableDeclaration","scope":18201,"src":"43869:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18179,"name":"string","nodeType":"ElementaryTypeName","src":"43869:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18182,"mutability":"mutable","name":"p1","nameLocation":"43895:2:30","nodeType":"VariableDeclaration","scope":18201,"src":"43887:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18181,"name":"address","nodeType":"ElementaryTypeName","src":"43887:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18184,"mutability":"mutable","name":"p2","nameLocation":"43907:2:30","nodeType":"VariableDeclaration","scope":18201,"src":"43899:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18183,"name":"address","nodeType":"ElementaryTypeName","src":"43899:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18186,"mutability":"mutable","name":"p3","nameLocation":"43919:2:30","nodeType":"VariableDeclaration","scope":18201,"src":"43911:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18185,"name":"uint256","nodeType":"ElementaryTypeName","src":"43911:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43868:54:30"},"returnParameters":{"id":18188,"nodeType":"ParameterList","parameters":[],"src":"43937:0:30"},"scope":21215,"src":"43856:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18223,"nodeType":"Block","src":"44142:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":18215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44192:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":18216,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18203,"src":"44230:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18217,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18205,"src":"44234:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18218,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18207,"src":"44238:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18219,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18209,"src":"44242:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44168:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44172:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44168:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44168:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"44152:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44152:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18222,"nodeType":"ExpressionStatement","src":"44152:94:30"}]},"id":18224,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44064:3:30","nodeType":"FunctionDefinition","parameters":{"id":18210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18203,"mutability":"mutable","name":"p0","nameLocation":"44082:2:30","nodeType":"VariableDeclaration","scope":18224,"src":"44068:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18202,"name":"string","nodeType":"ElementaryTypeName","src":"44068:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18205,"mutability":"mutable","name":"p1","nameLocation":"44094:2:30","nodeType":"VariableDeclaration","scope":18224,"src":"44086:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18204,"name":"address","nodeType":"ElementaryTypeName","src":"44086:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18207,"mutability":"mutable","name":"p2","nameLocation":"44106:2:30","nodeType":"VariableDeclaration","scope":18224,"src":"44098:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18206,"name":"address","nodeType":"ElementaryTypeName","src":"44098:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18209,"mutability":"mutable","name":"p3","nameLocation":"44124:2:30","nodeType":"VariableDeclaration","scope":18224,"src":"44110:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18208,"name":"string","nodeType":"ElementaryTypeName","src":"44110:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44067:60:30"},"returnParameters":{"id":18211,"nodeType":"ParameterList","parameters":[],"src":"44142:0:30"},"scope":21215,"src":"44055:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18246,"nodeType":"Block","src":"44337:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":18238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44387:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":18239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18226,"src":"44423:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18228,"src":"44427:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18230,"src":"44431:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18242,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18232,"src":"44435:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44363:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44367:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44363:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44363:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"44347:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44347:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18245,"nodeType":"ExpressionStatement","src":"44347:92:30"}]},"id":18247,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44268:3:30","nodeType":"FunctionDefinition","parameters":{"id":18233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18226,"mutability":"mutable","name":"p0","nameLocation":"44286:2:30","nodeType":"VariableDeclaration","scope":18247,"src":"44272:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18225,"name":"string","nodeType":"ElementaryTypeName","src":"44272:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18228,"mutability":"mutable","name":"p1","nameLocation":"44298:2:30","nodeType":"VariableDeclaration","scope":18247,"src":"44290:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18227,"name":"address","nodeType":"ElementaryTypeName","src":"44290:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18230,"mutability":"mutable","name":"p2","nameLocation":"44310:2:30","nodeType":"VariableDeclaration","scope":18247,"src":"44302:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18229,"name":"address","nodeType":"ElementaryTypeName","src":"44302:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18232,"mutability":"mutable","name":"p3","nameLocation":"44319:2:30","nodeType":"VariableDeclaration","scope":18247,"src":"44314:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18231,"name":"bool","nodeType":"ElementaryTypeName","src":"44314:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44271:51:30"},"returnParameters":{"id":18234,"nodeType":"ParameterList","parameters":[],"src":"44337:0:30"},"scope":21215,"src":"44259:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18269,"nodeType":"Block","src":"44533:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":18261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44583:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":18262,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18249,"src":"44622:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18263,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18251,"src":"44626:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18264,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18253,"src":"44630:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18265,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18255,"src":"44634:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18259,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44559:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44563:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44559:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44559:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18258,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"44543:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44543:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18268,"nodeType":"ExpressionStatement","src":"44543:95:30"}]},"id":18270,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44461:3:30","nodeType":"FunctionDefinition","parameters":{"id":18256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18249,"mutability":"mutable","name":"p0","nameLocation":"44479:2:30","nodeType":"VariableDeclaration","scope":18270,"src":"44465:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18248,"name":"string","nodeType":"ElementaryTypeName","src":"44465:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18251,"mutability":"mutable","name":"p1","nameLocation":"44491:2:30","nodeType":"VariableDeclaration","scope":18270,"src":"44483:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18250,"name":"address","nodeType":"ElementaryTypeName","src":"44483:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18253,"mutability":"mutable","name":"p2","nameLocation":"44503:2:30","nodeType":"VariableDeclaration","scope":18270,"src":"44495:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18252,"name":"address","nodeType":"ElementaryTypeName","src":"44495:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18255,"mutability":"mutable","name":"p3","nameLocation":"44515:2:30","nodeType":"VariableDeclaration","scope":18270,"src":"44507:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18254,"name":"address","nodeType":"ElementaryTypeName","src":"44507:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44464:54:30"},"returnParameters":{"id":18257,"nodeType":"ParameterList","parameters":[],"src":"44533:0:30"},"scope":21215,"src":"44452:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18292,"nodeType":"Block","src":"44723:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":18284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44773:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":18285,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18272,"src":"44810:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18286,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18274,"src":"44814:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18287,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18276,"src":"44818:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18288,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18278,"src":"44822:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44749:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44753:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44749:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44749:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"44733:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44733:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18291,"nodeType":"ExpressionStatement","src":"44733:93:30"}]},"id":18293,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44660:3:30","nodeType":"FunctionDefinition","parameters":{"id":18279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18272,"mutability":"mutable","name":"p0","nameLocation":"44669:2:30","nodeType":"VariableDeclaration","scope":18293,"src":"44664:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18271,"name":"bool","nodeType":"ElementaryTypeName","src":"44664:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18274,"mutability":"mutable","name":"p1","nameLocation":"44681:2:30","nodeType":"VariableDeclaration","scope":18293,"src":"44673:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18273,"name":"uint256","nodeType":"ElementaryTypeName","src":"44673:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18276,"mutability":"mutable","name":"p2","nameLocation":"44693:2:30","nodeType":"VariableDeclaration","scope":18293,"src":"44685:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18275,"name":"uint256","nodeType":"ElementaryTypeName","src":"44685:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18278,"mutability":"mutable","name":"p3","nameLocation":"44705:2:30","nodeType":"VariableDeclaration","scope":18293,"src":"44697:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18277,"name":"uint256","nodeType":"ElementaryTypeName","src":"44697:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44663:45:30"},"returnParameters":{"id":18280,"nodeType":"ParameterList","parameters":[],"src":"44723:0:30"},"scope":21215,"src":"44651:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18315,"nodeType":"Block","src":"44917:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":18307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44967:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":18308,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18295,"src":"45003:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18309,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18297,"src":"45007:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18310,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18299,"src":"45011:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18311,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18301,"src":"45015:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18305,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44943:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44947:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44943:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44943:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18304,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"44927:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44927:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18314,"nodeType":"ExpressionStatement","src":"44927:92:30"}]},"id":18316,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44848:3:30","nodeType":"FunctionDefinition","parameters":{"id":18302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18295,"mutability":"mutable","name":"p0","nameLocation":"44857:2:30","nodeType":"VariableDeclaration","scope":18316,"src":"44852:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18294,"name":"bool","nodeType":"ElementaryTypeName","src":"44852:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18297,"mutability":"mutable","name":"p1","nameLocation":"44869:2:30","nodeType":"VariableDeclaration","scope":18316,"src":"44861:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18296,"name":"uint256","nodeType":"ElementaryTypeName","src":"44861:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18299,"mutability":"mutable","name":"p2","nameLocation":"44881:2:30","nodeType":"VariableDeclaration","scope":18316,"src":"44873:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18298,"name":"uint256","nodeType":"ElementaryTypeName","src":"44873:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18301,"mutability":"mutable","name":"p3","nameLocation":"44899:2:30","nodeType":"VariableDeclaration","scope":18316,"src":"44885:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18300,"name":"string","nodeType":"ElementaryTypeName","src":"44885:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44851:51:30"},"returnParameters":{"id":18303,"nodeType":"ParameterList","parameters":[],"src":"44917:0:30"},"scope":21215,"src":"44839:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18338,"nodeType":"Block","src":"45101:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":18330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45151:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":18331,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18318,"src":"45185:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18332,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18320,"src":"45189:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18333,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18322,"src":"45193:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18334,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18324,"src":"45197:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45127:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45131:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45127:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45127:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"45111:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45111:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18337,"nodeType":"ExpressionStatement","src":"45111:90:30"}]},"id":18339,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45041:3:30","nodeType":"FunctionDefinition","parameters":{"id":18325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18318,"mutability":"mutable","name":"p0","nameLocation":"45050:2:30","nodeType":"VariableDeclaration","scope":18339,"src":"45045:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18317,"name":"bool","nodeType":"ElementaryTypeName","src":"45045:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18320,"mutability":"mutable","name":"p1","nameLocation":"45062:2:30","nodeType":"VariableDeclaration","scope":18339,"src":"45054:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18319,"name":"uint256","nodeType":"ElementaryTypeName","src":"45054:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18322,"mutability":"mutable","name":"p2","nameLocation":"45074:2:30","nodeType":"VariableDeclaration","scope":18339,"src":"45066:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18321,"name":"uint256","nodeType":"ElementaryTypeName","src":"45066:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18324,"mutability":"mutable","name":"p3","nameLocation":"45083:2:30","nodeType":"VariableDeclaration","scope":18339,"src":"45078:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18323,"name":"bool","nodeType":"ElementaryTypeName","src":"45078:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45044:42:30"},"returnParameters":{"id":18326,"nodeType":"ParameterList","parameters":[],"src":"45101:0:30"},"scope":21215,"src":"45032:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18361,"nodeType":"Block","src":"45286:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":18353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45336:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":18354,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18341,"src":"45373:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18355,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18343,"src":"45377:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18356,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18345,"src":"45381:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18357,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18347,"src":"45385:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18351,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45312:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45316:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45312:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45312:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18350,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"45296:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45296:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18360,"nodeType":"ExpressionStatement","src":"45296:93:30"}]},"id":18362,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45223:3:30","nodeType":"FunctionDefinition","parameters":{"id":18348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18341,"mutability":"mutable","name":"p0","nameLocation":"45232:2:30","nodeType":"VariableDeclaration","scope":18362,"src":"45227:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18340,"name":"bool","nodeType":"ElementaryTypeName","src":"45227:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18343,"mutability":"mutable","name":"p1","nameLocation":"45244:2:30","nodeType":"VariableDeclaration","scope":18362,"src":"45236:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18342,"name":"uint256","nodeType":"ElementaryTypeName","src":"45236:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18345,"mutability":"mutable","name":"p2","nameLocation":"45256:2:30","nodeType":"VariableDeclaration","scope":18362,"src":"45248:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18344,"name":"uint256","nodeType":"ElementaryTypeName","src":"45248:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18347,"mutability":"mutable","name":"p3","nameLocation":"45268:2:30","nodeType":"VariableDeclaration","scope":18362,"src":"45260:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18346,"name":"address","nodeType":"ElementaryTypeName","src":"45260:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45226:45:30"},"returnParameters":{"id":18349,"nodeType":"ParameterList","parameters":[],"src":"45286:0:30"},"scope":21215,"src":"45214:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18384,"nodeType":"Block","src":"45480:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":18376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45530:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":18377,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18364,"src":"45566:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18378,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18366,"src":"45570:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18379,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18368,"src":"45574:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18380,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18370,"src":"45578:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45506:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45510:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45506:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45506:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18373,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"45490:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45490:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18383,"nodeType":"ExpressionStatement","src":"45490:92:30"}]},"id":18385,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45411:3:30","nodeType":"FunctionDefinition","parameters":{"id":18371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18364,"mutability":"mutable","name":"p0","nameLocation":"45420:2:30","nodeType":"VariableDeclaration","scope":18385,"src":"45415:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18363,"name":"bool","nodeType":"ElementaryTypeName","src":"45415:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18366,"mutability":"mutable","name":"p1","nameLocation":"45432:2:30","nodeType":"VariableDeclaration","scope":18385,"src":"45424:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18365,"name":"uint256","nodeType":"ElementaryTypeName","src":"45424:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18368,"mutability":"mutable","name":"p2","nameLocation":"45450:2:30","nodeType":"VariableDeclaration","scope":18385,"src":"45436:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18367,"name":"string","nodeType":"ElementaryTypeName","src":"45436:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18370,"mutability":"mutable","name":"p3","nameLocation":"45462:2:30","nodeType":"VariableDeclaration","scope":18385,"src":"45454:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18369,"name":"uint256","nodeType":"ElementaryTypeName","src":"45454:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45414:51:30"},"returnParameters":{"id":18372,"nodeType":"ParameterList","parameters":[],"src":"45480:0:30"},"scope":21215,"src":"45402:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18407,"nodeType":"Block","src":"45679:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":18399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45729:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":18400,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18387,"src":"45764:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18401,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18389,"src":"45768:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18402,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18391,"src":"45772:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18403,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18393,"src":"45776:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18397,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45705:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45709:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45705:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45705:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18396,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"45689:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45689:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18406,"nodeType":"ExpressionStatement","src":"45689:91:30"}]},"id":18408,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45604:3:30","nodeType":"FunctionDefinition","parameters":{"id":18394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18387,"mutability":"mutable","name":"p0","nameLocation":"45613:2:30","nodeType":"VariableDeclaration","scope":18408,"src":"45608:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18386,"name":"bool","nodeType":"ElementaryTypeName","src":"45608:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18389,"mutability":"mutable","name":"p1","nameLocation":"45625:2:30","nodeType":"VariableDeclaration","scope":18408,"src":"45617:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18388,"name":"uint256","nodeType":"ElementaryTypeName","src":"45617:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18391,"mutability":"mutable","name":"p2","nameLocation":"45643:2:30","nodeType":"VariableDeclaration","scope":18408,"src":"45629:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18390,"name":"string","nodeType":"ElementaryTypeName","src":"45629:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18393,"mutability":"mutable","name":"p3","nameLocation":"45661:2:30","nodeType":"VariableDeclaration","scope":18408,"src":"45647:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18392,"name":"string","nodeType":"ElementaryTypeName","src":"45647:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45607:57:30"},"returnParameters":{"id":18395,"nodeType":"ParameterList","parameters":[],"src":"45679:0:30"},"scope":21215,"src":"45595:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18430,"nodeType":"Block","src":"45868:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":18422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45918:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":18423,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18410,"src":"45951:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18424,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18412,"src":"45955:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18425,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18414,"src":"45959:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18426,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18416,"src":"45963:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45894:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45898:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45894:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45894:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18419,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"45878:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45878:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18429,"nodeType":"ExpressionStatement","src":"45878:89:30"}]},"id":18431,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45802:3:30","nodeType":"FunctionDefinition","parameters":{"id":18417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18410,"mutability":"mutable","name":"p0","nameLocation":"45811:2:30","nodeType":"VariableDeclaration","scope":18431,"src":"45806:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18409,"name":"bool","nodeType":"ElementaryTypeName","src":"45806:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18412,"mutability":"mutable","name":"p1","nameLocation":"45823:2:30","nodeType":"VariableDeclaration","scope":18431,"src":"45815:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18411,"name":"uint256","nodeType":"ElementaryTypeName","src":"45815:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18414,"mutability":"mutable","name":"p2","nameLocation":"45841:2:30","nodeType":"VariableDeclaration","scope":18431,"src":"45827:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18413,"name":"string","nodeType":"ElementaryTypeName","src":"45827:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18416,"mutability":"mutable","name":"p3","nameLocation":"45850:2:30","nodeType":"VariableDeclaration","scope":18431,"src":"45845:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18415,"name":"bool","nodeType":"ElementaryTypeName","src":"45845:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45805:48:30"},"returnParameters":{"id":18418,"nodeType":"ParameterList","parameters":[],"src":"45868:0:30"},"scope":21215,"src":"45793:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18453,"nodeType":"Block","src":"46058:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":18445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46108:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":18446,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18433,"src":"46144:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18447,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18435,"src":"46148:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18448,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18437,"src":"46152:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18449,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18439,"src":"46156:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18443,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46084:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46088:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46084:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46084:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18442,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"46068:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46068:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18452,"nodeType":"ExpressionStatement","src":"46068:92:30"}]},"id":18454,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45989:3:30","nodeType":"FunctionDefinition","parameters":{"id":18440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18433,"mutability":"mutable","name":"p0","nameLocation":"45998:2:30","nodeType":"VariableDeclaration","scope":18454,"src":"45993:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18432,"name":"bool","nodeType":"ElementaryTypeName","src":"45993:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18435,"mutability":"mutable","name":"p1","nameLocation":"46010:2:30","nodeType":"VariableDeclaration","scope":18454,"src":"46002:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18434,"name":"uint256","nodeType":"ElementaryTypeName","src":"46002:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18437,"mutability":"mutable","name":"p2","nameLocation":"46028:2:30","nodeType":"VariableDeclaration","scope":18454,"src":"46014:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18436,"name":"string","nodeType":"ElementaryTypeName","src":"46014:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18439,"mutability":"mutable","name":"p3","nameLocation":"46040:2:30","nodeType":"VariableDeclaration","scope":18454,"src":"46032:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18438,"name":"address","nodeType":"ElementaryTypeName","src":"46032:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45992:51:30"},"returnParameters":{"id":18441,"nodeType":"ParameterList","parameters":[],"src":"46058:0:30"},"scope":21215,"src":"45980:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18476,"nodeType":"Block","src":"46242:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":18468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46292:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":18469,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18456,"src":"46326:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18470,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18458,"src":"46330:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18471,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18460,"src":"46334:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18472,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18462,"src":"46338:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18466,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46268:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46272:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46268:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46268:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18465,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"46252:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46252:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18475,"nodeType":"ExpressionStatement","src":"46252:90:30"}]},"id":18477,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46182:3:30","nodeType":"FunctionDefinition","parameters":{"id":18463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18456,"mutability":"mutable","name":"p0","nameLocation":"46191:2:30","nodeType":"VariableDeclaration","scope":18477,"src":"46186:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18455,"name":"bool","nodeType":"ElementaryTypeName","src":"46186:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18458,"mutability":"mutable","name":"p1","nameLocation":"46203:2:30","nodeType":"VariableDeclaration","scope":18477,"src":"46195:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18457,"name":"uint256","nodeType":"ElementaryTypeName","src":"46195:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18460,"mutability":"mutable","name":"p2","nameLocation":"46212:2:30","nodeType":"VariableDeclaration","scope":18477,"src":"46207:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18459,"name":"bool","nodeType":"ElementaryTypeName","src":"46207:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18462,"mutability":"mutable","name":"p3","nameLocation":"46224:2:30","nodeType":"VariableDeclaration","scope":18477,"src":"46216:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18461,"name":"uint256","nodeType":"ElementaryTypeName","src":"46216:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46185:42:30"},"returnParameters":{"id":18464,"nodeType":"ParameterList","parameters":[],"src":"46242:0:30"},"scope":21215,"src":"46173:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18499,"nodeType":"Block","src":"46430:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":18491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46480:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":18492,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18479,"src":"46513:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18493,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18481,"src":"46517:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18494,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18483,"src":"46521:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18495,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18485,"src":"46525:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46456:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46460:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46456:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46456:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18488,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"46440:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46440:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18498,"nodeType":"ExpressionStatement","src":"46440:89:30"}]},"id":18500,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46364:3:30","nodeType":"FunctionDefinition","parameters":{"id":18486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18479,"mutability":"mutable","name":"p0","nameLocation":"46373:2:30","nodeType":"VariableDeclaration","scope":18500,"src":"46368:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18478,"name":"bool","nodeType":"ElementaryTypeName","src":"46368:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18481,"mutability":"mutable","name":"p1","nameLocation":"46385:2:30","nodeType":"VariableDeclaration","scope":18500,"src":"46377:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18480,"name":"uint256","nodeType":"ElementaryTypeName","src":"46377:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18483,"mutability":"mutable","name":"p2","nameLocation":"46394:2:30","nodeType":"VariableDeclaration","scope":18500,"src":"46389:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18482,"name":"bool","nodeType":"ElementaryTypeName","src":"46389:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18485,"mutability":"mutable","name":"p3","nameLocation":"46412:2:30","nodeType":"VariableDeclaration","scope":18500,"src":"46398:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18484,"name":"string","nodeType":"ElementaryTypeName","src":"46398:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46367:48:30"},"returnParameters":{"id":18487,"nodeType":"ParameterList","parameters":[],"src":"46430:0:30"},"scope":21215,"src":"46355:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18522,"nodeType":"Block","src":"46608:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":18514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46658:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":18515,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18502,"src":"46689:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18516,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18504,"src":"46693:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18517,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18506,"src":"46697:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18518,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18508,"src":"46701:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46634:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46638:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46634:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46634:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18511,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"46618:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46618:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18521,"nodeType":"ExpressionStatement","src":"46618:87:30"}]},"id":18523,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46551:3:30","nodeType":"FunctionDefinition","parameters":{"id":18509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18502,"mutability":"mutable","name":"p0","nameLocation":"46560:2:30","nodeType":"VariableDeclaration","scope":18523,"src":"46555:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18501,"name":"bool","nodeType":"ElementaryTypeName","src":"46555:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18504,"mutability":"mutable","name":"p1","nameLocation":"46572:2:30","nodeType":"VariableDeclaration","scope":18523,"src":"46564:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18503,"name":"uint256","nodeType":"ElementaryTypeName","src":"46564:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18506,"mutability":"mutable","name":"p2","nameLocation":"46581:2:30","nodeType":"VariableDeclaration","scope":18523,"src":"46576:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18505,"name":"bool","nodeType":"ElementaryTypeName","src":"46576:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18508,"mutability":"mutable","name":"p3","nameLocation":"46590:2:30","nodeType":"VariableDeclaration","scope":18523,"src":"46585:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18507,"name":"bool","nodeType":"ElementaryTypeName","src":"46585:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46554:39:30"},"returnParameters":{"id":18510,"nodeType":"ParameterList","parameters":[],"src":"46608:0:30"},"scope":21215,"src":"46542:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18545,"nodeType":"Block","src":"46787:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":18537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46837:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":18538,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18525,"src":"46871:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18539,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18527,"src":"46875:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18540,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18529,"src":"46879:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18541,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18531,"src":"46883:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46813:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46817:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46813:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46813:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18534,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"46797:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46797:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18544,"nodeType":"ExpressionStatement","src":"46797:90:30"}]},"id":18546,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46727:3:30","nodeType":"FunctionDefinition","parameters":{"id":18532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18525,"mutability":"mutable","name":"p0","nameLocation":"46736:2:30","nodeType":"VariableDeclaration","scope":18546,"src":"46731:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18524,"name":"bool","nodeType":"ElementaryTypeName","src":"46731:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18527,"mutability":"mutable","name":"p1","nameLocation":"46748:2:30","nodeType":"VariableDeclaration","scope":18546,"src":"46740:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18526,"name":"uint256","nodeType":"ElementaryTypeName","src":"46740:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18529,"mutability":"mutable","name":"p2","nameLocation":"46757:2:30","nodeType":"VariableDeclaration","scope":18546,"src":"46752:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18528,"name":"bool","nodeType":"ElementaryTypeName","src":"46752:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18531,"mutability":"mutable","name":"p3","nameLocation":"46769:2:30","nodeType":"VariableDeclaration","scope":18546,"src":"46761:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18530,"name":"address","nodeType":"ElementaryTypeName","src":"46761:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46730:42:30"},"returnParameters":{"id":18533,"nodeType":"ParameterList","parameters":[],"src":"46787:0:30"},"scope":21215,"src":"46718:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18568,"nodeType":"Block","src":"46972:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":18560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47022:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":18561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18548,"src":"47059:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18562,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18550,"src":"47063:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18563,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18552,"src":"47067:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18564,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18554,"src":"47071:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46998:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47002:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46998:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46998:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"46982:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46982:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18567,"nodeType":"ExpressionStatement","src":"46982:93:30"}]},"id":18569,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46909:3:30","nodeType":"FunctionDefinition","parameters":{"id":18555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18548,"mutability":"mutable","name":"p0","nameLocation":"46918:2:30","nodeType":"VariableDeclaration","scope":18569,"src":"46913:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18547,"name":"bool","nodeType":"ElementaryTypeName","src":"46913:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18550,"mutability":"mutable","name":"p1","nameLocation":"46930:2:30","nodeType":"VariableDeclaration","scope":18569,"src":"46922:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18549,"name":"uint256","nodeType":"ElementaryTypeName","src":"46922:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18552,"mutability":"mutable","name":"p2","nameLocation":"46942:2:30","nodeType":"VariableDeclaration","scope":18569,"src":"46934:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18551,"name":"address","nodeType":"ElementaryTypeName","src":"46934:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18554,"mutability":"mutable","name":"p3","nameLocation":"46954:2:30","nodeType":"VariableDeclaration","scope":18569,"src":"46946:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18553,"name":"uint256","nodeType":"ElementaryTypeName","src":"46946:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46912:45:30"},"returnParameters":{"id":18556,"nodeType":"ParameterList","parameters":[],"src":"46972:0:30"},"scope":21215,"src":"46900:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18591,"nodeType":"Block","src":"47166:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":18583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47216:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":18584,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18571,"src":"47252:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18585,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18573,"src":"47256:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18586,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18575,"src":"47260:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18587,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18577,"src":"47264:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47192:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47196:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47192:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47192:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18580,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"47176:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47176:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18590,"nodeType":"ExpressionStatement","src":"47176:92:30"}]},"id":18592,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47097:3:30","nodeType":"FunctionDefinition","parameters":{"id":18578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18571,"mutability":"mutable","name":"p0","nameLocation":"47106:2:30","nodeType":"VariableDeclaration","scope":18592,"src":"47101:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18570,"name":"bool","nodeType":"ElementaryTypeName","src":"47101:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18573,"mutability":"mutable","name":"p1","nameLocation":"47118:2:30","nodeType":"VariableDeclaration","scope":18592,"src":"47110:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18572,"name":"uint256","nodeType":"ElementaryTypeName","src":"47110:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18575,"mutability":"mutable","name":"p2","nameLocation":"47130:2:30","nodeType":"VariableDeclaration","scope":18592,"src":"47122:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18574,"name":"address","nodeType":"ElementaryTypeName","src":"47122:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18577,"mutability":"mutable","name":"p3","nameLocation":"47148:2:30","nodeType":"VariableDeclaration","scope":18592,"src":"47134:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18576,"name":"string","nodeType":"ElementaryTypeName","src":"47134:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47100:51:30"},"returnParameters":{"id":18579,"nodeType":"ParameterList","parameters":[],"src":"47166:0:30"},"scope":21215,"src":"47088:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18614,"nodeType":"Block","src":"47350:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":18606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47400:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":18607,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18594,"src":"47434:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18608,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18596,"src":"47438:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18609,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18598,"src":"47442:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18610,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18600,"src":"47446:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18604,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47376:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47380:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47376:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47376:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18603,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"47360:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47360:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18613,"nodeType":"ExpressionStatement","src":"47360:90:30"}]},"id":18615,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47290:3:30","nodeType":"FunctionDefinition","parameters":{"id":18601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18594,"mutability":"mutable","name":"p0","nameLocation":"47299:2:30","nodeType":"VariableDeclaration","scope":18615,"src":"47294:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18593,"name":"bool","nodeType":"ElementaryTypeName","src":"47294:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18596,"mutability":"mutable","name":"p1","nameLocation":"47311:2:30","nodeType":"VariableDeclaration","scope":18615,"src":"47303:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18595,"name":"uint256","nodeType":"ElementaryTypeName","src":"47303:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18598,"mutability":"mutable","name":"p2","nameLocation":"47323:2:30","nodeType":"VariableDeclaration","scope":18615,"src":"47315:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18597,"name":"address","nodeType":"ElementaryTypeName","src":"47315:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18600,"mutability":"mutable","name":"p3","nameLocation":"47332:2:30","nodeType":"VariableDeclaration","scope":18615,"src":"47327:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18599,"name":"bool","nodeType":"ElementaryTypeName","src":"47327:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47293:42:30"},"returnParameters":{"id":18602,"nodeType":"ParameterList","parameters":[],"src":"47350:0:30"},"scope":21215,"src":"47281:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18637,"nodeType":"Block","src":"47535:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":18629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47585:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":18630,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18617,"src":"47622:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18631,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18619,"src":"47626:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18632,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18621,"src":"47630:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18633,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18623,"src":"47634:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47561:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47565:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47561:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47561:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18626,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"47545:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47545:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18636,"nodeType":"ExpressionStatement","src":"47545:93:30"}]},"id":18638,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47472:3:30","nodeType":"FunctionDefinition","parameters":{"id":18624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18617,"mutability":"mutable","name":"p0","nameLocation":"47481:2:30","nodeType":"VariableDeclaration","scope":18638,"src":"47476:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18616,"name":"bool","nodeType":"ElementaryTypeName","src":"47476:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18619,"mutability":"mutable","name":"p1","nameLocation":"47493:2:30","nodeType":"VariableDeclaration","scope":18638,"src":"47485:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18618,"name":"uint256","nodeType":"ElementaryTypeName","src":"47485:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18621,"mutability":"mutable","name":"p2","nameLocation":"47505:2:30","nodeType":"VariableDeclaration","scope":18638,"src":"47497:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18620,"name":"address","nodeType":"ElementaryTypeName","src":"47497:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18623,"mutability":"mutable","name":"p3","nameLocation":"47517:2:30","nodeType":"VariableDeclaration","scope":18638,"src":"47509:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18622,"name":"address","nodeType":"ElementaryTypeName","src":"47509:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47475:45:30"},"returnParameters":{"id":18625,"nodeType":"ParameterList","parameters":[],"src":"47535:0:30"},"scope":21215,"src":"47463:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18660,"nodeType":"Block","src":"47729:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":18652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47779:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":18653,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18640,"src":"47815:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18654,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18642,"src":"47819:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18655,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18644,"src":"47823:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18656,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18646,"src":"47827:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18650,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47755:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47759:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47755:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47755:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18649,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"47739:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47739:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18659,"nodeType":"ExpressionStatement","src":"47739:92:30"}]},"id":18661,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47660:3:30","nodeType":"FunctionDefinition","parameters":{"id":18647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18640,"mutability":"mutable","name":"p0","nameLocation":"47669:2:30","nodeType":"VariableDeclaration","scope":18661,"src":"47664:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18639,"name":"bool","nodeType":"ElementaryTypeName","src":"47664:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18642,"mutability":"mutable","name":"p1","nameLocation":"47687:2:30","nodeType":"VariableDeclaration","scope":18661,"src":"47673:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18641,"name":"string","nodeType":"ElementaryTypeName","src":"47673:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18644,"mutability":"mutable","name":"p2","nameLocation":"47699:2:30","nodeType":"VariableDeclaration","scope":18661,"src":"47691:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18643,"name":"uint256","nodeType":"ElementaryTypeName","src":"47691:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18646,"mutability":"mutable","name":"p3","nameLocation":"47711:2:30","nodeType":"VariableDeclaration","scope":18661,"src":"47703:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18645,"name":"uint256","nodeType":"ElementaryTypeName","src":"47703:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47663:51:30"},"returnParameters":{"id":18648,"nodeType":"ParameterList","parameters":[],"src":"47729:0:30"},"scope":21215,"src":"47651:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18683,"nodeType":"Block","src":"47928:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":18675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47978:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":18676,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18663,"src":"48013:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18677,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18665,"src":"48017:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18678,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18667,"src":"48021:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18679,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18669,"src":"48025:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18673,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47954:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47958:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47954:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47954:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18672,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"47938:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47938:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18682,"nodeType":"ExpressionStatement","src":"47938:91:30"}]},"id":18684,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47853:3:30","nodeType":"FunctionDefinition","parameters":{"id":18670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18663,"mutability":"mutable","name":"p0","nameLocation":"47862:2:30","nodeType":"VariableDeclaration","scope":18684,"src":"47857:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18662,"name":"bool","nodeType":"ElementaryTypeName","src":"47857:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18665,"mutability":"mutable","name":"p1","nameLocation":"47880:2:30","nodeType":"VariableDeclaration","scope":18684,"src":"47866:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18664,"name":"string","nodeType":"ElementaryTypeName","src":"47866:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18667,"mutability":"mutable","name":"p2","nameLocation":"47892:2:30","nodeType":"VariableDeclaration","scope":18684,"src":"47884:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18666,"name":"uint256","nodeType":"ElementaryTypeName","src":"47884:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18669,"mutability":"mutable","name":"p3","nameLocation":"47910:2:30","nodeType":"VariableDeclaration","scope":18684,"src":"47896:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18668,"name":"string","nodeType":"ElementaryTypeName","src":"47896:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47856:57:30"},"returnParameters":{"id":18671,"nodeType":"ParameterList","parameters":[],"src":"47928:0:30"},"scope":21215,"src":"47844:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18706,"nodeType":"Block","src":"48117:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":18698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48167:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":18699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18686,"src":"48200:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18688,"src":"48204:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18690,"src":"48208:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18702,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18692,"src":"48212:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48143:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48147:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48143:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48143:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"48127:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48127:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18705,"nodeType":"ExpressionStatement","src":"48127:89:30"}]},"id":18707,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48051:3:30","nodeType":"FunctionDefinition","parameters":{"id":18693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18686,"mutability":"mutable","name":"p0","nameLocation":"48060:2:30","nodeType":"VariableDeclaration","scope":18707,"src":"48055:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18685,"name":"bool","nodeType":"ElementaryTypeName","src":"48055:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18688,"mutability":"mutable","name":"p1","nameLocation":"48078:2:30","nodeType":"VariableDeclaration","scope":18707,"src":"48064:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18687,"name":"string","nodeType":"ElementaryTypeName","src":"48064:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18690,"mutability":"mutable","name":"p2","nameLocation":"48090:2:30","nodeType":"VariableDeclaration","scope":18707,"src":"48082:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18689,"name":"uint256","nodeType":"ElementaryTypeName","src":"48082:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18692,"mutability":"mutable","name":"p3","nameLocation":"48099:2:30","nodeType":"VariableDeclaration","scope":18707,"src":"48094:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18691,"name":"bool","nodeType":"ElementaryTypeName","src":"48094:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48054:48:30"},"returnParameters":{"id":18694,"nodeType":"ParameterList","parameters":[],"src":"48117:0:30"},"scope":21215,"src":"48042:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18729,"nodeType":"Block","src":"48307:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":18721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48357:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":18722,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18709,"src":"48393:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18723,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18711,"src":"48397:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18724,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18713,"src":"48401:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18725,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18715,"src":"48405:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18719,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48333:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48337:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48333:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48333:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18718,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"48317:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48317:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18728,"nodeType":"ExpressionStatement","src":"48317:92:30"}]},"id":18730,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48238:3:30","nodeType":"FunctionDefinition","parameters":{"id":18716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18709,"mutability":"mutable","name":"p0","nameLocation":"48247:2:30","nodeType":"VariableDeclaration","scope":18730,"src":"48242:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18708,"name":"bool","nodeType":"ElementaryTypeName","src":"48242:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18711,"mutability":"mutable","name":"p1","nameLocation":"48265:2:30","nodeType":"VariableDeclaration","scope":18730,"src":"48251:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18710,"name":"string","nodeType":"ElementaryTypeName","src":"48251:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18713,"mutability":"mutable","name":"p2","nameLocation":"48277:2:30","nodeType":"VariableDeclaration","scope":18730,"src":"48269:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18712,"name":"uint256","nodeType":"ElementaryTypeName","src":"48269:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18715,"mutability":"mutable","name":"p3","nameLocation":"48289:2:30","nodeType":"VariableDeclaration","scope":18730,"src":"48281:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18714,"name":"address","nodeType":"ElementaryTypeName","src":"48281:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48241:51:30"},"returnParameters":{"id":18717,"nodeType":"ParameterList","parameters":[],"src":"48307:0:30"},"scope":21215,"src":"48229:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18752,"nodeType":"Block","src":"48506:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":18744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48556:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":18745,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18732,"src":"48591:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18746,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18734,"src":"48595:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18747,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18736,"src":"48599:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18748,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18738,"src":"48603:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48532:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48536:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48532:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48532:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18741,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"48516:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48516:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18751,"nodeType":"ExpressionStatement","src":"48516:91:30"}]},"id":18753,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48431:3:30","nodeType":"FunctionDefinition","parameters":{"id":18739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18732,"mutability":"mutable","name":"p0","nameLocation":"48440:2:30","nodeType":"VariableDeclaration","scope":18753,"src":"48435:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18731,"name":"bool","nodeType":"ElementaryTypeName","src":"48435:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18734,"mutability":"mutable","name":"p1","nameLocation":"48458:2:30","nodeType":"VariableDeclaration","scope":18753,"src":"48444:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18733,"name":"string","nodeType":"ElementaryTypeName","src":"48444:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18736,"mutability":"mutable","name":"p2","nameLocation":"48476:2:30","nodeType":"VariableDeclaration","scope":18753,"src":"48462:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18735,"name":"string","nodeType":"ElementaryTypeName","src":"48462:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18738,"mutability":"mutable","name":"p3","nameLocation":"48488:2:30","nodeType":"VariableDeclaration","scope":18753,"src":"48480:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18737,"name":"uint256","nodeType":"ElementaryTypeName","src":"48480:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48434:57:30"},"returnParameters":{"id":18740,"nodeType":"ParameterList","parameters":[],"src":"48506:0:30"},"scope":21215,"src":"48422:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18775,"nodeType":"Block","src":"48710:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":18767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48760:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":18768,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18755,"src":"48794:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18769,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18757,"src":"48798:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18770,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18759,"src":"48802:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18771,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18761,"src":"48806:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18765,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48736:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48740:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48736:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48736:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18764,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"48720:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48720:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18774,"nodeType":"ExpressionStatement","src":"48720:90:30"}]},"id":18776,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48629:3:30","nodeType":"FunctionDefinition","parameters":{"id":18762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18755,"mutability":"mutable","name":"p0","nameLocation":"48638:2:30","nodeType":"VariableDeclaration","scope":18776,"src":"48633:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18754,"name":"bool","nodeType":"ElementaryTypeName","src":"48633:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18757,"mutability":"mutable","name":"p1","nameLocation":"48656:2:30","nodeType":"VariableDeclaration","scope":18776,"src":"48642:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18756,"name":"string","nodeType":"ElementaryTypeName","src":"48642:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18759,"mutability":"mutable","name":"p2","nameLocation":"48674:2:30","nodeType":"VariableDeclaration","scope":18776,"src":"48660:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18758,"name":"string","nodeType":"ElementaryTypeName","src":"48660:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18761,"mutability":"mutable","name":"p3","nameLocation":"48692:2:30","nodeType":"VariableDeclaration","scope":18776,"src":"48678:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18760,"name":"string","nodeType":"ElementaryTypeName","src":"48678:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48632:63:30"},"returnParameters":{"id":18763,"nodeType":"ParameterList","parameters":[],"src":"48710:0:30"},"scope":21215,"src":"48620:197:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18798,"nodeType":"Block","src":"48904:105:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":18790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48954:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":18791,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18778,"src":"48986:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18792,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18780,"src":"48990:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18793,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18782,"src":"48994:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18794,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18784,"src":"48998:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48930:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48934:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48930:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48930:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18787,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"48914:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48914:88:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18797,"nodeType":"ExpressionStatement","src":"48914:88:30"}]},"id":18799,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48832:3:30","nodeType":"FunctionDefinition","parameters":{"id":18785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18778,"mutability":"mutable","name":"p0","nameLocation":"48841:2:30","nodeType":"VariableDeclaration","scope":18799,"src":"48836:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18777,"name":"bool","nodeType":"ElementaryTypeName","src":"48836:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18780,"mutability":"mutable","name":"p1","nameLocation":"48859:2:30","nodeType":"VariableDeclaration","scope":18799,"src":"48845:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18779,"name":"string","nodeType":"ElementaryTypeName","src":"48845:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18782,"mutability":"mutable","name":"p2","nameLocation":"48877:2:30","nodeType":"VariableDeclaration","scope":18799,"src":"48863:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18781,"name":"string","nodeType":"ElementaryTypeName","src":"48863:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18784,"mutability":"mutable","name":"p3","nameLocation":"48886:2:30","nodeType":"VariableDeclaration","scope":18799,"src":"48881:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18783,"name":"bool","nodeType":"ElementaryTypeName","src":"48881:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48835:54:30"},"returnParameters":{"id":18786,"nodeType":"ParameterList","parameters":[],"src":"48904:0:30"},"scope":21215,"src":"48823:186:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18821,"nodeType":"Block","src":"49099:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":18813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49149:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":18814,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18801,"src":"49184:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18815,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18803,"src":"49188:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18816,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18805,"src":"49192:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18817,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18807,"src":"49196:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18811,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49125:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49129:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49125:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49125:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18810,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"49109:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49109:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18820,"nodeType":"ExpressionStatement","src":"49109:91:30"}]},"id":18822,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49024:3:30","nodeType":"FunctionDefinition","parameters":{"id":18808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18801,"mutability":"mutable","name":"p0","nameLocation":"49033:2:30","nodeType":"VariableDeclaration","scope":18822,"src":"49028:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18800,"name":"bool","nodeType":"ElementaryTypeName","src":"49028:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18803,"mutability":"mutable","name":"p1","nameLocation":"49051:2:30","nodeType":"VariableDeclaration","scope":18822,"src":"49037:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18802,"name":"string","nodeType":"ElementaryTypeName","src":"49037:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18805,"mutability":"mutable","name":"p2","nameLocation":"49069:2:30","nodeType":"VariableDeclaration","scope":18822,"src":"49055:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18804,"name":"string","nodeType":"ElementaryTypeName","src":"49055:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18807,"mutability":"mutable","name":"p3","nameLocation":"49081:2:30","nodeType":"VariableDeclaration","scope":18822,"src":"49073:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18806,"name":"address","nodeType":"ElementaryTypeName","src":"49073:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49027:57:30"},"returnParameters":{"id":18809,"nodeType":"ParameterList","parameters":[],"src":"49099:0:30"},"scope":21215,"src":"49015:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18844,"nodeType":"Block","src":"49288:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":18836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49338:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":18837,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18824,"src":"49371:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18838,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18826,"src":"49375:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18839,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18828,"src":"49379:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18840,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18830,"src":"49383:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18834,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49314:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49318:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49314:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49314:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18833,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"49298:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49298:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18843,"nodeType":"ExpressionStatement","src":"49298:89:30"}]},"id":18845,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49222:3:30","nodeType":"FunctionDefinition","parameters":{"id":18831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18824,"mutability":"mutable","name":"p0","nameLocation":"49231:2:30","nodeType":"VariableDeclaration","scope":18845,"src":"49226:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18823,"name":"bool","nodeType":"ElementaryTypeName","src":"49226:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18826,"mutability":"mutable","name":"p1","nameLocation":"49249:2:30","nodeType":"VariableDeclaration","scope":18845,"src":"49235:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18825,"name":"string","nodeType":"ElementaryTypeName","src":"49235:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18828,"mutability":"mutable","name":"p2","nameLocation":"49258:2:30","nodeType":"VariableDeclaration","scope":18845,"src":"49253:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18827,"name":"bool","nodeType":"ElementaryTypeName","src":"49253:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18830,"mutability":"mutable","name":"p3","nameLocation":"49270:2:30","nodeType":"VariableDeclaration","scope":18845,"src":"49262:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18829,"name":"uint256","nodeType":"ElementaryTypeName","src":"49262:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49225:48:30"},"returnParameters":{"id":18832,"nodeType":"ParameterList","parameters":[],"src":"49288:0:30"},"scope":21215,"src":"49213:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18867,"nodeType":"Block","src":"49481:105:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":18859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49531:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":18860,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18847,"src":"49563:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18861,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18849,"src":"49567:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18862,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18851,"src":"49571:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18863,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18853,"src":"49575:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49507:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49511:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49507:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49507:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18856,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"49491:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49491:88:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18866,"nodeType":"ExpressionStatement","src":"49491:88:30"}]},"id":18868,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49409:3:30","nodeType":"FunctionDefinition","parameters":{"id":18854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18847,"mutability":"mutable","name":"p0","nameLocation":"49418:2:30","nodeType":"VariableDeclaration","scope":18868,"src":"49413:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18846,"name":"bool","nodeType":"ElementaryTypeName","src":"49413:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18849,"mutability":"mutable","name":"p1","nameLocation":"49436:2:30","nodeType":"VariableDeclaration","scope":18868,"src":"49422:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18848,"name":"string","nodeType":"ElementaryTypeName","src":"49422:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18851,"mutability":"mutable","name":"p2","nameLocation":"49445:2:30","nodeType":"VariableDeclaration","scope":18868,"src":"49440:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18850,"name":"bool","nodeType":"ElementaryTypeName","src":"49440:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18853,"mutability":"mutable","name":"p3","nameLocation":"49463:2:30","nodeType":"VariableDeclaration","scope":18868,"src":"49449:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18852,"name":"string","nodeType":"ElementaryTypeName","src":"49449:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49412:54:30"},"returnParameters":{"id":18855,"nodeType":"ParameterList","parameters":[],"src":"49481:0:30"},"scope":21215,"src":"49400:186:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18890,"nodeType":"Block","src":"49664:103:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":18882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49714:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":18883,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18870,"src":"49744:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18884,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18872,"src":"49748:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18885,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18874,"src":"49752:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18886,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18876,"src":"49756:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18880,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49690:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49694:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49690:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49690:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"49674:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49674:86:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18889,"nodeType":"ExpressionStatement","src":"49674:86:30"}]},"id":18891,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49601:3:30","nodeType":"FunctionDefinition","parameters":{"id":18877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18870,"mutability":"mutable","name":"p0","nameLocation":"49610:2:30","nodeType":"VariableDeclaration","scope":18891,"src":"49605:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18869,"name":"bool","nodeType":"ElementaryTypeName","src":"49605:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18872,"mutability":"mutable","name":"p1","nameLocation":"49628:2:30","nodeType":"VariableDeclaration","scope":18891,"src":"49614:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18871,"name":"string","nodeType":"ElementaryTypeName","src":"49614:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18874,"mutability":"mutable","name":"p2","nameLocation":"49637:2:30","nodeType":"VariableDeclaration","scope":18891,"src":"49632:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18873,"name":"bool","nodeType":"ElementaryTypeName","src":"49632:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18876,"mutability":"mutable","name":"p3","nameLocation":"49646:2:30","nodeType":"VariableDeclaration","scope":18891,"src":"49641:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18875,"name":"bool","nodeType":"ElementaryTypeName","src":"49641:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49604:45:30"},"returnParameters":{"id":18878,"nodeType":"ParameterList","parameters":[],"src":"49664:0:30"},"scope":21215,"src":"49592:175:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18913,"nodeType":"Block","src":"49848:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":18905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49898:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":18906,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18893,"src":"49931:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18907,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18895,"src":"49935:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18908,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18897,"src":"49939:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18909,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18899,"src":"49943:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18903,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49874:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49878:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49874:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49874:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18902,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"49858:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49858:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18912,"nodeType":"ExpressionStatement","src":"49858:89:30"}]},"id":18914,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49782:3:30","nodeType":"FunctionDefinition","parameters":{"id":18900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18893,"mutability":"mutable","name":"p0","nameLocation":"49791:2:30","nodeType":"VariableDeclaration","scope":18914,"src":"49786:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18892,"name":"bool","nodeType":"ElementaryTypeName","src":"49786:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18895,"mutability":"mutable","name":"p1","nameLocation":"49809:2:30","nodeType":"VariableDeclaration","scope":18914,"src":"49795:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18894,"name":"string","nodeType":"ElementaryTypeName","src":"49795:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18897,"mutability":"mutable","name":"p2","nameLocation":"49818:2:30","nodeType":"VariableDeclaration","scope":18914,"src":"49813:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18896,"name":"bool","nodeType":"ElementaryTypeName","src":"49813:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18899,"mutability":"mutable","name":"p3","nameLocation":"49830:2:30","nodeType":"VariableDeclaration","scope":18914,"src":"49822:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18898,"name":"address","nodeType":"ElementaryTypeName","src":"49822:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49785:48:30"},"returnParameters":{"id":18901,"nodeType":"ParameterList","parameters":[],"src":"49848:0:30"},"scope":21215,"src":"49773:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18936,"nodeType":"Block","src":"50038:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":18928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50088:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":18929,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18916,"src":"50124:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18930,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18918,"src":"50128:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18931,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18920,"src":"50132:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18932,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18922,"src":"50136:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18926,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50064:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50068:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50064:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50064:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18925,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"50048:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50048:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18935,"nodeType":"ExpressionStatement","src":"50048:92:30"}]},"id":18937,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49969:3:30","nodeType":"FunctionDefinition","parameters":{"id":18923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18916,"mutability":"mutable","name":"p0","nameLocation":"49978:2:30","nodeType":"VariableDeclaration","scope":18937,"src":"49973:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18915,"name":"bool","nodeType":"ElementaryTypeName","src":"49973:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18918,"mutability":"mutable","name":"p1","nameLocation":"49996:2:30","nodeType":"VariableDeclaration","scope":18937,"src":"49982:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18917,"name":"string","nodeType":"ElementaryTypeName","src":"49982:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18920,"mutability":"mutable","name":"p2","nameLocation":"50008:2:30","nodeType":"VariableDeclaration","scope":18937,"src":"50000:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18919,"name":"address","nodeType":"ElementaryTypeName","src":"50000:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18922,"mutability":"mutable","name":"p3","nameLocation":"50020:2:30","nodeType":"VariableDeclaration","scope":18937,"src":"50012:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18921,"name":"uint256","nodeType":"ElementaryTypeName","src":"50012:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49972:51:30"},"returnParameters":{"id":18924,"nodeType":"ParameterList","parameters":[],"src":"50038:0:30"},"scope":21215,"src":"49960:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18959,"nodeType":"Block","src":"50237:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":18951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50287:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":18952,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18939,"src":"50322:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18953,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18941,"src":"50326:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18954,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18943,"src":"50330:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18955,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18945,"src":"50334:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18949,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50263:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50267:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50263:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50263:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18948,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"50247:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50247:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18958,"nodeType":"ExpressionStatement","src":"50247:91:30"}]},"id":18960,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50162:3:30","nodeType":"FunctionDefinition","parameters":{"id":18946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18939,"mutability":"mutable","name":"p0","nameLocation":"50171:2:30","nodeType":"VariableDeclaration","scope":18960,"src":"50166:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18938,"name":"bool","nodeType":"ElementaryTypeName","src":"50166:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18941,"mutability":"mutable","name":"p1","nameLocation":"50189:2:30","nodeType":"VariableDeclaration","scope":18960,"src":"50175:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18940,"name":"string","nodeType":"ElementaryTypeName","src":"50175:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18943,"mutability":"mutable","name":"p2","nameLocation":"50201:2:30","nodeType":"VariableDeclaration","scope":18960,"src":"50193:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18942,"name":"address","nodeType":"ElementaryTypeName","src":"50193:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18945,"mutability":"mutable","name":"p3","nameLocation":"50219:2:30","nodeType":"VariableDeclaration","scope":18960,"src":"50205:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18944,"name":"string","nodeType":"ElementaryTypeName","src":"50205:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50165:57:30"},"returnParameters":{"id":18947,"nodeType":"ParameterList","parameters":[],"src":"50237:0:30"},"scope":21215,"src":"50153:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":18982,"nodeType":"Block","src":"50426:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":18974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50476:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":18975,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18962,"src":"50509:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18976,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18964,"src":"50513:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18977,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18966,"src":"50517:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18978,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18968,"src":"50521:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50452:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50456:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50452:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50452:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18971,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"50436:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":18980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50436:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18981,"nodeType":"ExpressionStatement","src":"50436:89:30"}]},"id":18983,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50360:3:30","nodeType":"FunctionDefinition","parameters":{"id":18969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18962,"mutability":"mutable","name":"p0","nameLocation":"50369:2:30","nodeType":"VariableDeclaration","scope":18983,"src":"50364:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18961,"name":"bool","nodeType":"ElementaryTypeName","src":"50364:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18964,"mutability":"mutable","name":"p1","nameLocation":"50387:2:30","nodeType":"VariableDeclaration","scope":18983,"src":"50373:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18963,"name":"string","nodeType":"ElementaryTypeName","src":"50373:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18966,"mutability":"mutable","name":"p2","nameLocation":"50399:2:30","nodeType":"VariableDeclaration","scope":18983,"src":"50391:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18965,"name":"address","nodeType":"ElementaryTypeName","src":"50391:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18968,"mutability":"mutable","name":"p3","nameLocation":"50408:2:30","nodeType":"VariableDeclaration","scope":18983,"src":"50403:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18967,"name":"bool","nodeType":"ElementaryTypeName","src":"50403:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50363:48:30"},"returnParameters":{"id":18970,"nodeType":"ParameterList","parameters":[],"src":"50426:0:30"},"scope":21215,"src":"50351:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19005,"nodeType":"Block","src":"50616:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":18997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50666:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":18998,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18985,"src":"50702:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18999,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18987,"src":"50706:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19000,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18989,"src":"50710:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19001,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18991,"src":"50714:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18995,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50642:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50646:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50642:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50642:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18994,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"50626:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50626:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19004,"nodeType":"ExpressionStatement","src":"50626:92:30"}]},"id":19006,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50547:3:30","nodeType":"FunctionDefinition","parameters":{"id":18992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18985,"mutability":"mutable","name":"p0","nameLocation":"50556:2:30","nodeType":"VariableDeclaration","scope":19006,"src":"50551:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18984,"name":"bool","nodeType":"ElementaryTypeName","src":"50551:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18987,"mutability":"mutable","name":"p1","nameLocation":"50574:2:30","nodeType":"VariableDeclaration","scope":19006,"src":"50560:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18986,"name":"string","nodeType":"ElementaryTypeName","src":"50560:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18989,"mutability":"mutable","name":"p2","nameLocation":"50586:2:30","nodeType":"VariableDeclaration","scope":19006,"src":"50578:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18988,"name":"address","nodeType":"ElementaryTypeName","src":"50578:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18991,"mutability":"mutable","name":"p3","nameLocation":"50598:2:30","nodeType":"VariableDeclaration","scope":19006,"src":"50590:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18990,"name":"address","nodeType":"ElementaryTypeName","src":"50590:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50550:51:30"},"returnParameters":{"id":18993,"nodeType":"ParameterList","parameters":[],"src":"50616:0:30"},"scope":21215,"src":"50538:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19028,"nodeType":"Block","src":"50800:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":19020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50850:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":19021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19008,"src":"50884:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19010,"src":"50888:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19012,"src":"50892:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19024,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19014,"src":"50896:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50826:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50830:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50826:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50826:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"50810:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50810:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19027,"nodeType":"ExpressionStatement","src":"50810:90:30"}]},"id":19029,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50740:3:30","nodeType":"FunctionDefinition","parameters":{"id":19015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19008,"mutability":"mutable","name":"p0","nameLocation":"50749:2:30","nodeType":"VariableDeclaration","scope":19029,"src":"50744:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19007,"name":"bool","nodeType":"ElementaryTypeName","src":"50744:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19010,"mutability":"mutable","name":"p1","nameLocation":"50758:2:30","nodeType":"VariableDeclaration","scope":19029,"src":"50753:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19009,"name":"bool","nodeType":"ElementaryTypeName","src":"50753:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19012,"mutability":"mutable","name":"p2","nameLocation":"50770:2:30","nodeType":"VariableDeclaration","scope":19029,"src":"50762:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19011,"name":"uint256","nodeType":"ElementaryTypeName","src":"50762:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19014,"mutability":"mutable","name":"p3","nameLocation":"50782:2:30","nodeType":"VariableDeclaration","scope":19029,"src":"50774:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19013,"name":"uint256","nodeType":"ElementaryTypeName","src":"50774:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50743:42:30"},"returnParameters":{"id":19016,"nodeType":"ParameterList","parameters":[],"src":"50800:0:30"},"scope":21215,"src":"50731:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19051,"nodeType":"Block","src":"50988:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":19043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51038:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":19044,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19031,"src":"51071:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19045,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19033,"src":"51075:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19046,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19035,"src":"51079:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19047,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19037,"src":"51083:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51014:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51018:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51014:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51014:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19040,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"50998:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50998:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19050,"nodeType":"ExpressionStatement","src":"50998:89:30"}]},"id":19052,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50922:3:30","nodeType":"FunctionDefinition","parameters":{"id":19038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19031,"mutability":"mutable","name":"p0","nameLocation":"50931:2:30","nodeType":"VariableDeclaration","scope":19052,"src":"50926:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19030,"name":"bool","nodeType":"ElementaryTypeName","src":"50926:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19033,"mutability":"mutable","name":"p1","nameLocation":"50940:2:30","nodeType":"VariableDeclaration","scope":19052,"src":"50935:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19032,"name":"bool","nodeType":"ElementaryTypeName","src":"50935:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19035,"mutability":"mutable","name":"p2","nameLocation":"50952:2:30","nodeType":"VariableDeclaration","scope":19052,"src":"50944:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19034,"name":"uint256","nodeType":"ElementaryTypeName","src":"50944:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19037,"mutability":"mutable","name":"p3","nameLocation":"50970:2:30","nodeType":"VariableDeclaration","scope":19052,"src":"50956:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19036,"name":"string","nodeType":"ElementaryTypeName","src":"50956:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50925:48:30"},"returnParameters":{"id":19039,"nodeType":"ParameterList","parameters":[],"src":"50988:0:30"},"scope":21215,"src":"50913:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19074,"nodeType":"Block","src":"51166:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":19066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51216:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":19067,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19054,"src":"51247:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19068,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19056,"src":"51251:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19069,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19058,"src":"51255:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19070,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19060,"src":"51259:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19064,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51192:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51196:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51192:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51192:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19063,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"51176:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51176:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19073,"nodeType":"ExpressionStatement","src":"51176:87:30"}]},"id":19075,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51109:3:30","nodeType":"FunctionDefinition","parameters":{"id":19061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19054,"mutability":"mutable","name":"p0","nameLocation":"51118:2:30","nodeType":"VariableDeclaration","scope":19075,"src":"51113:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19053,"name":"bool","nodeType":"ElementaryTypeName","src":"51113:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19056,"mutability":"mutable","name":"p1","nameLocation":"51127:2:30","nodeType":"VariableDeclaration","scope":19075,"src":"51122:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19055,"name":"bool","nodeType":"ElementaryTypeName","src":"51122:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19058,"mutability":"mutable","name":"p2","nameLocation":"51139:2:30","nodeType":"VariableDeclaration","scope":19075,"src":"51131:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19057,"name":"uint256","nodeType":"ElementaryTypeName","src":"51131:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19060,"mutability":"mutable","name":"p3","nameLocation":"51148:2:30","nodeType":"VariableDeclaration","scope":19075,"src":"51143:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19059,"name":"bool","nodeType":"ElementaryTypeName","src":"51143:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51112:39:30"},"returnParameters":{"id":19062,"nodeType":"ParameterList","parameters":[],"src":"51166:0:30"},"scope":21215,"src":"51100:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19097,"nodeType":"Block","src":"51345:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":19089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51395:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":19090,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19077,"src":"51429:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19091,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19079,"src":"51433:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19092,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19081,"src":"51437:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19093,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19083,"src":"51441:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51371:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51375:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51371:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51371:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19086,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"51355:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51355:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19096,"nodeType":"ExpressionStatement","src":"51355:90:30"}]},"id":19098,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51285:3:30","nodeType":"FunctionDefinition","parameters":{"id":19084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19077,"mutability":"mutable","name":"p0","nameLocation":"51294:2:30","nodeType":"VariableDeclaration","scope":19098,"src":"51289:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19076,"name":"bool","nodeType":"ElementaryTypeName","src":"51289:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19079,"mutability":"mutable","name":"p1","nameLocation":"51303:2:30","nodeType":"VariableDeclaration","scope":19098,"src":"51298:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19078,"name":"bool","nodeType":"ElementaryTypeName","src":"51298:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19081,"mutability":"mutable","name":"p2","nameLocation":"51315:2:30","nodeType":"VariableDeclaration","scope":19098,"src":"51307:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19080,"name":"uint256","nodeType":"ElementaryTypeName","src":"51307:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19083,"mutability":"mutable","name":"p3","nameLocation":"51327:2:30","nodeType":"VariableDeclaration","scope":19098,"src":"51319:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19082,"name":"address","nodeType":"ElementaryTypeName","src":"51319:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51288:42:30"},"returnParameters":{"id":19085,"nodeType":"ParameterList","parameters":[],"src":"51345:0:30"},"scope":21215,"src":"51276:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19120,"nodeType":"Block","src":"51533:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":19112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51583:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":19113,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19100,"src":"51616:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19114,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19102,"src":"51620:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19115,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19104,"src":"51624:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19116,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19106,"src":"51628:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19110,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51559:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51563:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51559:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51559:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19109,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"51543:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51543:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19119,"nodeType":"ExpressionStatement","src":"51543:89:30"}]},"id":19121,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51467:3:30","nodeType":"FunctionDefinition","parameters":{"id":19107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19100,"mutability":"mutable","name":"p0","nameLocation":"51476:2:30","nodeType":"VariableDeclaration","scope":19121,"src":"51471:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19099,"name":"bool","nodeType":"ElementaryTypeName","src":"51471:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19102,"mutability":"mutable","name":"p1","nameLocation":"51485:2:30","nodeType":"VariableDeclaration","scope":19121,"src":"51480:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19101,"name":"bool","nodeType":"ElementaryTypeName","src":"51480:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19104,"mutability":"mutable","name":"p2","nameLocation":"51503:2:30","nodeType":"VariableDeclaration","scope":19121,"src":"51489:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19103,"name":"string","nodeType":"ElementaryTypeName","src":"51489:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19106,"mutability":"mutable","name":"p3","nameLocation":"51515:2:30","nodeType":"VariableDeclaration","scope":19121,"src":"51507:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19105,"name":"uint256","nodeType":"ElementaryTypeName","src":"51507:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51470:48:30"},"returnParameters":{"id":19108,"nodeType":"ParameterList","parameters":[],"src":"51533:0:30"},"scope":21215,"src":"51458:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19143,"nodeType":"Block","src":"51726:105:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":19135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51776:30:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":19136,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19123,"src":"51808:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19137,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19125,"src":"51812:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19138,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19127,"src":"51816:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19139,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19129,"src":"51820:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19133,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51752:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51756:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51752:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51752:71:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19132,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"51736:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51736:88:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19142,"nodeType":"ExpressionStatement","src":"51736:88:30"}]},"id":19144,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51654:3:30","nodeType":"FunctionDefinition","parameters":{"id":19130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19123,"mutability":"mutable","name":"p0","nameLocation":"51663:2:30","nodeType":"VariableDeclaration","scope":19144,"src":"51658:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19122,"name":"bool","nodeType":"ElementaryTypeName","src":"51658:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19125,"mutability":"mutable","name":"p1","nameLocation":"51672:2:30","nodeType":"VariableDeclaration","scope":19144,"src":"51667:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19124,"name":"bool","nodeType":"ElementaryTypeName","src":"51667:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19127,"mutability":"mutable","name":"p2","nameLocation":"51690:2:30","nodeType":"VariableDeclaration","scope":19144,"src":"51676:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19126,"name":"string","nodeType":"ElementaryTypeName","src":"51676:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19129,"mutability":"mutable","name":"p3","nameLocation":"51708:2:30","nodeType":"VariableDeclaration","scope":19144,"src":"51694:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19128,"name":"string","nodeType":"ElementaryTypeName","src":"51694:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51657:54:30"},"returnParameters":{"id":19131,"nodeType":"ParameterList","parameters":[],"src":"51726:0:30"},"scope":21215,"src":"51645:186:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19166,"nodeType":"Block","src":"51909:103:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":19158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51959:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":19159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19146,"src":"51989:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19148,"src":"51993:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19150,"src":"51997:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19162,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19152,"src":"52001:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51935:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51939:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51935:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51935:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"51919:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51919:86:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19165,"nodeType":"ExpressionStatement","src":"51919:86:30"}]},"id":19167,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51846:3:30","nodeType":"FunctionDefinition","parameters":{"id":19153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19146,"mutability":"mutable","name":"p0","nameLocation":"51855:2:30","nodeType":"VariableDeclaration","scope":19167,"src":"51850:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19145,"name":"bool","nodeType":"ElementaryTypeName","src":"51850:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19148,"mutability":"mutable","name":"p1","nameLocation":"51864:2:30","nodeType":"VariableDeclaration","scope":19167,"src":"51859:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19147,"name":"bool","nodeType":"ElementaryTypeName","src":"51859:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19150,"mutability":"mutable","name":"p2","nameLocation":"51882:2:30","nodeType":"VariableDeclaration","scope":19167,"src":"51868:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19149,"name":"string","nodeType":"ElementaryTypeName","src":"51868:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19152,"mutability":"mutable","name":"p3","nameLocation":"51891:2:30","nodeType":"VariableDeclaration","scope":19167,"src":"51886:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19151,"name":"bool","nodeType":"ElementaryTypeName","src":"51886:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51849:45:30"},"returnParameters":{"id":19154,"nodeType":"ParameterList","parameters":[],"src":"51909:0:30"},"scope":21215,"src":"51837:175:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19189,"nodeType":"Block","src":"52093:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":19181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52143:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":19182,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19169,"src":"52176:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19183,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19171,"src":"52180:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19184,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19173,"src":"52184:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19185,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19175,"src":"52188:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19179,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52119:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52123:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52119:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52119:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19178,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"52103:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52103:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19188,"nodeType":"ExpressionStatement","src":"52103:89:30"}]},"id":19190,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52027:3:30","nodeType":"FunctionDefinition","parameters":{"id":19176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19169,"mutability":"mutable","name":"p0","nameLocation":"52036:2:30","nodeType":"VariableDeclaration","scope":19190,"src":"52031:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19168,"name":"bool","nodeType":"ElementaryTypeName","src":"52031:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19171,"mutability":"mutable","name":"p1","nameLocation":"52045:2:30","nodeType":"VariableDeclaration","scope":19190,"src":"52040:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19170,"name":"bool","nodeType":"ElementaryTypeName","src":"52040:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19173,"mutability":"mutable","name":"p2","nameLocation":"52063:2:30","nodeType":"VariableDeclaration","scope":19190,"src":"52049:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19172,"name":"string","nodeType":"ElementaryTypeName","src":"52049:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19175,"mutability":"mutable","name":"p3","nameLocation":"52075:2:30","nodeType":"VariableDeclaration","scope":19190,"src":"52067:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19174,"name":"address","nodeType":"ElementaryTypeName","src":"52067:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52030:48:30"},"returnParameters":{"id":19177,"nodeType":"ParameterList","parameters":[],"src":"52093:0:30"},"scope":21215,"src":"52018:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19212,"nodeType":"Block","src":"52271:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":19204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52321:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":19205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19192,"src":"52352:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19194,"src":"52356:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19196,"src":"52360:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19208,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19198,"src":"52364:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52297:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52301:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52297:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52297:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"52281:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52281:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19211,"nodeType":"ExpressionStatement","src":"52281:87:30"}]},"id":19213,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52214:3:30","nodeType":"FunctionDefinition","parameters":{"id":19199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19192,"mutability":"mutable","name":"p0","nameLocation":"52223:2:30","nodeType":"VariableDeclaration","scope":19213,"src":"52218:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19191,"name":"bool","nodeType":"ElementaryTypeName","src":"52218:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19194,"mutability":"mutable","name":"p1","nameLocation":"52232:2:30","nodeType":"VariableDeclaration","scope":19213,"src":"52227:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19193,"name":"bool","nodeType":"ElementaryTypeName","src":"52227:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19196,"mutability":"mutable","name":"p2","nameLocation":"52241:2:30","nodeType":"VariableDeclaration","scope":19213,"src":"52236:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19195,"name":"bool","nodeType":"ElementaryTypeName","src":"52236:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19198,"mutability":"mutable","name":"p3","nameLocation":"52253:2:30","nodeType":"VariableDeclaration","scope":19213,"src":"52245:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19197,"name":"uint256","nodeType":"ElementaryTypeName","src":"52245:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52217:39:30"},"returnParameters":{"id":19200,"nodeType":"ParameterList","parameters":[],"src":"52271:0:30"},"scope":21215,"src":"52205:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19235,"nodeType":"Block","src":"52453:103:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":19227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52503:28:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":19228,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19215,"src":"52533:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19229,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19217,"src":"52537:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19230,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19219,"src":"52541:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19231,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19221,"src":"52545:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19225,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52479:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52483:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52479:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52479:69:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19224,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"52463:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52463:86:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19234,"nodeType":"ExpressionStatement","src":"52463:86:30"}]},"id":19236,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52390:3:30","nodeType":"FunctionDefinition","parameters":{"id":19222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19215,"mutability":"mutable","name":"p0","nameLocation":"52399:2:30","nodeType":"VariableDeclaration","scope":19236,"src":"52394:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19214,"name":"bool","nodeType":"ElementaryTypeName","src":"52394:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19217,"mutability":"mutable","name":"p1","nameLocation":"52408:2:30","nodeType":"VariableDeclaration","scope":19236,"src":"52403:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19216,"name":"bool","nodeType":"ElementaryTypeName","src":"52403:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19219,"mutability":"mutable","name":"p2","nameLocation":"52417:2:30","nodeType":"VariableDeclaration","scope":19236,"src":"52412:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19218,"name":"bool","nodeType":"ElementaryTypeName","src":"52412:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19221,"mutability":"mutable","name":"p3","nameLocation":"52435:2:30","nodeType":"VariableDeclaration","scope":19236,"src":"52421:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19220,"name":"string","nodeType":"ElementaryTypeName","src":"52421:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52393:45:30"},"returnParameters":{"id":19223,"nodeType":"ParameterList","parameters":[],"src":"52453:0:30"},"scope":21215,"src":"52381:175:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19258,"nodeType":"Block","src":"52625:101:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":19250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52675:26:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":19251,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19238,"src":"52703:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19252,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19240,"src":"52707:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19253,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19242,"src":"52711:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19254,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19244,"src":"52715:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19248,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52651:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52655:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52651:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52651:67:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19247,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"52635:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52635:84:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19257,"nodeType":"ExpressionStatement","src":"52635:84:30"}]},"id":19259,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52571:3:30","nodeType":"FunctionDefinition","parameters":{"id":19245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19238,"mutability":"mutable","name":"p0","nameLocation":"52580:2:30","nodeType":"VariableDeclaration","scope":19259,"src":"52575:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19237,"name":"bool","nodeType":"ElementaryTypeName","src":"52575:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19240,"mutability":"mutable","name":"p1","nameLocation":"52589:2:30","nodeType":"VariableDeclaration","scope":19259,"src":"52584:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19239,"name":"bool","nodeType":"ElementaryTypeName","src":"52584:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19242,"mutability":"mutable","name":"p2","nameLocation":"52598:2:30","nodeType":"VariableDeclaration","scope":19259,"src":"52593:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19241,"name":"bool","nodeType":"ElementaryTypeName","src":"52593:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19244,"mutability":"mutable","name":"p3","nameLocation":"52607:2:30","nodeType":"VariableDeclaration","scope":19259,"src":"52602:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19243,"name":"bool","nodeType":"ElementaryTypeName","src":"52602:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52574:36:30"},"returnParameters":{"id":19246,"nodeType":"ParameterList","parameters":[],"src":"52625:0:30"},"scope":21215,"src":"52562:164:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19281,"nodeType":"Block","src":"52798:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":19273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52848:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":19274,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19261,"src":"52879:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19275,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19263,"src":"52883:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19276,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19265,"src":"52887:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19277,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19267,"src":"52891:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19271,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52824:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52828:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52824:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52824:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19270,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"52808:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52808:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19280,"nodeType":"ExpressionStatement","src":"52808:87:30"}]},"id":19282,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52741:3:30","nodeType":"FunctionDefinition","parameters":{"id":19268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19261,"mutability":"mutable","name":"p0","nameLocation":"52750:2:30","nodeType":"VariableDeclaration","scope":19282,"src":"52745:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19260,"name":"bool","nodeType":"ElementaryTypeName","src":"52745:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19263,"mutability":"mutable","name":"p1","nameLocation":"52759:2:30","nodeType":"VariableDeclaration","scope":19282,"src":"52754:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19262,"name":"bool","nodeType":"ElementaryTypeName","src":"52754:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19265,"mutability":"mutable","name":"p2","nameLocation":"52768:2:30","nodeType":"VariableDeclaration","scope":19282,"src":"52763:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19264,"name":"bool","nodeType":"ElementaryTypeName","src":"52763:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19267,"mutability":"mutable","name":"p3","nameLocation":"52780:2:30","nodeType":"VariableDeclaration","scope":19282,"src":"52772:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19266,"name":"address","nodeType":"ElementaryTypeName","src":"52772:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52744:39:30"},"returnParameters":{"id":19269,"nodeType":"ParameterList","parameters":[],"src":"52798:0:30"},"scope":21215,"src":"52732:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19304,"nodeType":"Block","src":"52977:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":19296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53027:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":19297,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19284,"src":"53061:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19298,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19286,"src":"53065:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19299,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19288,"src":"53069:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19300,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19290,"src":"53073:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19294,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53003:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53007:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53003:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53003:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19293,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"52987:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52987:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19303,"nodeType":"ExpressionStatement","src":"52987:90:30"}]},"id":19305,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52917:3:30","nodeType":"FunctionDefinition","parameters":{"id":19291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19284,"mutability":"mutable","name":"p0","nameLocation":"52926:2:30","nodeType":"VariableDeclaration","scope":19305,"src":"52921:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19283,"name":"bool","nodeType":"ElementaryTypeName","src":"52921:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19286,"mutability":"mutable","name":"p1","nameLocation":"52935:2:30","nodeType":"VariableDeclaration","scope":19305,"src":"52930:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19285,"name":"bool","nodeType":"ElementaryTypeName","src":"52930:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19288,"mutability":"mutable","name":"p2","nameLocation":"52947:2:30","nodeType":"VariableDeclaration","scope":19305,"src":"52939:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19287,"name":"address","nodeType":"ElementaryTypeName","src":"52939:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19290,"mutability":"mutable","name":"p3","nameLocation":"52959:2:30","nodeType":"VariableDeclaration","scope":19305,"src":"52951:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19289,"name":"uint256","nodeType":"ElementaryTypeName","src":"52951:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52920:42:30"},"returnParameters":{"id":19292,"nodeType":"ParameterList","parameters":[],"src":"52977:0:30"},"scope":21215,"src":"52908:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19327,"nodeType":"Block","src":"53165:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":19319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53215:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":19320,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19307,"src":"53248:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19321,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19309,"src":"53252:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19322,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19311,"src":"53256:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19323,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19313,"src":"53260:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19317,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53191:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53195:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53191:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53191:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19316,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"53175:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53175:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19326,"nodeType":"ExpressionStatement","src":"53175:89:30"}]},"id":19328,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53099:3:30","nodeType":"FunctionDefinition","parameters":{"id":19314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19307,"mutability":"mutable","name":"p0","nameLocation":"53108:2:30","nodeType":"VariableDeclaration","scope":19328,"src":"53103:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19306,"name":"bool","nodeType":"ElementaryTypeName","src":"53103:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19309,"mutability":"mutable","name":"p1","nameLocation":"53117:2:30","nodeType":"VariableDeclaration","scope":19328,"src":"53112:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19308,"name":"bool","nodeType":"ElementaryTypeName","src":"53112:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19311,"mutability":"mutable","name":"p2","nameLocation":"53129:2:30","nodeType":"VariableDeclaration","scope":19328,"src":"53121:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19310,"name":"address","nodeType":"ElementaryTypeName","src":"53121:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19313,"mutability":"mutable","name":"p3","nameLocation":"53147:2:30","nodeType":"VariableDeclaration","scope":19328,"src":"53133:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19312,"name":"string","nodeType":"ElementaryTypeName","src":"53133:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53102:48:30"},"returnParameters":{"id":19315,"nodeType":"ParameterList","parameters":[],"src":"53165:0:30"},"scope":21215,"src":"53090:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19350,"nodeType":"Block","src":"53343:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":19342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53393:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":19343,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19330,"src":"53424:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19344,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19332,"src":"53428:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19345,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19334,"src":"53432:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19346,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19336,"src":"53436:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19340,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53369:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53373:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53369:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53369:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19339,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"53353:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53353:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19349,"nodeType":"ExpressionStatement","src":"53353:87:30"}]},"id":19351,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53286:3:30","nodeType":"FunctionDefinition","parameters":{"id":19337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19330,"mutability":"mutable","name":"p0","nameLocation":"53295:2:30","nodeType":"VariableDeclaration","scope":19351,"src":"53290:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19329,"name":"bool","nodeType":"ElementaryTypeName","src":"53290:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19332,"mutability":"mutable","name":"p1","nameLocation":"53304:2:30","nodeType":"VariableDeclaration","scope":19351,"src":"53299:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19331,"name":"bool","nodeType":"ElementaryTypeName","src":"53299:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19334,"mutability":"mutable","name":"p2","nameLocation":"53316:2:30","nodeType":"VariableDeclaration","scope":19351,"src":"53308:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19333,"name":"address","nodeType":"ElementaryTypeName","src":"53308:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19336,"mutability":"mutable","name":"p3","nameLocation":"53325:2:30","nodeType":"VariableDeclaration","scope":19351,"src":"53320:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19335,"name":"bool","nodeType":"ElementaryTypeName","src":"53320:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53289:39:30"},"returnParameters":{"id":19338,"nodeType":"ParameterList","parameters":[],"src":"53343:0:30"},"scope":21215,"src":"53277:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19373,"nodeType":"Block","src":"53522:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":19365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53572:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":19366,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19353,"src":"53606:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19367,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19355,"src":"53610:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19368,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19357,"src":"53614:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19369,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19359,"src":"53618:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53548:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53552:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53548:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53548:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"53532:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53532:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19372,"nodeType":"ExpressionStatement","src":"53532:90:30"}]},"id":19374,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53462:3:30","nodeType":"FunctionDefinition","parameters":{"id":19360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19353,"mutability":"mutable","name":"p0","nameLocation":"53471:2:30","nodeType":"VariableDeclaration","scope":19374,"src":"53466:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19352,"name":"bool","nodeType":"ElementaryTypeName","src":"53466:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19355,"mutability":"mutable","name":"p1","nameLocation":"53480:2:30","nodeType":"VariableDeclaration","scope":19374,"src":"53475:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19354,"name":"bool","nodeType":"ElementaryTypeName","src":"53475:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19357,"mutability":"mutable","name":"p2","nameLocation":"53492:2:30","nodeType":"VariableDeclaration","scope":19374,"src":"53484:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19356,"name":"address","nodeType":"ElementaryTypeName","src":"53484:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19359,"mutability":"mutable","name":"p3","nameLocation":"53504:2:30","nodeType":"VariableDeclaration","scope":19374,"src":"53496:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19358,"name":"address","nodeType":"ElementaryTypeName","src":"53496:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53465:42:30"},"returnParameters":{"id":19361,"nodeType":"ParameterList","parameters":[],"src":"53522:0:30"},"scope":21215,"src":"53453:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19396,"nodeType":"Block","src":"53707:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":19388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53757:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":19389,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19376,"src":"53794:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19390,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19378,"src":"53798:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19391,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19380,"src":"53802:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19392,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19382,"src":"53806:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53733:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53737:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53733:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53733:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19385,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"53717:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53717:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19395,"nodeType":"ExpressionStatement","src":"53717:93:30"}]},"id":19397,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53644:3:30","nodeType":"FunctionDefinition","parameters":{"id":19383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19376,"mutability":"mutable","name":"p0","nameLocation":"53653:2:30","nodeType":"VariableDeclaration","scope":19397,"src":"53648:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19375,"name":"bool","nodeType":"ElementaryTypeName","src":"53648:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19378,"mutability":"mutable","name":"p1","nameLocation":"53665:2:30","nodeType":"VariableDeclaration","scope":19397,"src":"53657:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19377,"name":"address","nodeType":"ElementaryTypeName","src":"53657:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19380,"mutability":"mutable","name":"p2","nameLocation":"53677:2:30","nodeType":"VariableDeclaration","scope":19397,"src":"53669:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19379,"name":"uint256","nodeType":"ElementaryTypeName","src":"53669:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19382,"mutability":"mutable","name":"p3","nameLocation":"53689:2:30","nodeType":"VariableDeclaration","scope":19397,"src":"53681:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19381,"name":"uint256","nodeType":"ElementaryTypeName","src":"53681:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53647:45:30"},"returnParameters":{"id":19384,"nodeType":"ParameterList","parameters":[],"src":"53707:0:30"},"scope":21215,"src":"53635:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19419,"nodeType":"Block","src":"53901:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":19411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53951:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":19412,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19399,"src":"53987:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19413,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19401,"src":"53991:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19414,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19403,"src":"53995:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19415,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19405,"src":"53999:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19409,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53927:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53931:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53927:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53927:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19408,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"53911:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53911:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19418,"nodeType":"ExpressionStatement","src":"53911:92:30"}]},"id":19420,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53832:3:30","nodeType":"FunctionDefinition","parameters":{"id":19406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19399,"mutability":"mutable","name":"p0","nameLocation":"53841:2:30","nodeType":"VariableDeclaration","scope":19420,"src":"53836:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19398,"name":"bool","nodeType":"ElementaryTypeName","src":"53836:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19401,"mutability":"mutable","name":"p1","nameLocation":"53853:2:30","nodeType":"VariableDeclaration","scope":19420,"src":"53845:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19400,"name":"address","nodeType":"ElementaryTypeName","src":"53845:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19403,"mutability":"mutable","name":"p2","nameLocation":"53865:2:30","nodeType":"VariableDeclaration","scope":19420,"src":"53857:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19402,"name":"uint256","nodeType":"ElementaryTypeName","src":"53857:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19405,"mutability":"mutable","name":"p3","nameLocation":"53883:2:30","nodeType":"VariableDeclaration","scope":19420,"src":"53869:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19404,"name":"string","nodeType":"ElementaryTypeName","src":"53869:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53835:51:30"},"returnParameters":{"id":19407,"nodeType":"ParameterList","parameters":[],"src":"53901:0:30"},"scope":21215,"src":"53823:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19442,"nodeType":"Block","src":"54085:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":19434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54135:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":19435,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19422,"src":"54169:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19436,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19424,"src":"54173:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19437,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19426,"src":"54177:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19438,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19428,"src":"54181:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19432,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54111:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54115:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54111:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54111:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19431,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"54095:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54095:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19441,"nodeType":"ExpressionStatement","src":"54095:90:30"}]},"id":19443,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54025:3:30","nodeType":"FunctionDefinition","parameters":{"id":19429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19422,"mutability":"mutable","name":"p0","nameLocation":"54034:2:30","nodeType":"VariableDeclaration","scope":19443,"src":"54029:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19421,"name":"bool","nodeType":"ElementaryTypeName","src":"54029:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19424,"mutability":"mutable","name":"p1","nameLocation":"54046:2:30","nodeType":"VariableDeclaration","scope":19443,"src":"54038:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19423,"name":"address","nodeType":"ElementaryTypeName","src":"54038:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19426,"mutability":"mutable","name":"p2","nameLocation":"54058:2:30","nodeType":"VariableDeclaration","scope":19443,"src":"54050:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19425,"name":"uint256","nodeType":"ElementaryTypeName","src":"54050:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19428,"mutability":"mutable","name":"p3","nameLocation":"54067:2:30","nodeType":"VariableDeclaration","scope":19443,"src":"54062:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19427,"name":"bool","nodeType":"ElementaryTypeName","src":"54062:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54028:42:30"},"returnParameters":{"id":19430,"nodeType":"ParameterList","parameters":[],"src":"54085:0:30"},"scope":21215,"src":"54016:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19465,"nodeType":"Block","src":"54270:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":19457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54320:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":19458,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19445,"src":"54357:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19459,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19447,"src":"54361:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19460,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19449,"src":"54365:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19461,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19451,"src":"54369:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19455,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54296:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54300:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54296:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54296:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19454,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"54280:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54280:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19464,"nodeType":"ExpressionStatement","src":"54280:93:30"}]},"id":19466,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54207:3:30","nodeType":"FunctionDefinition","parameters":{"id":19452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19445,"mutability":"mutable","name":"p0","nameLocation":"54216:2:30","nodeType":"VariableDeclaration","scope":19466,"src":"54211:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19444,"name":"bool","nodeType":"ElementaryTypeName","src":"54211:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19447,"mutability":"mutable","name":"p1","nameLocation":"54228:2:30","nodeType":"VariableDeclaration","scope":19466,"src":"54220:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19446,"name":"address","nodeType":"ElementaryTypeName","src":"54220:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19449,"mutability":"mutable","name":"p2","nameLocation":"54240:2:30","nodeType":"VariableDeclaration","scope":19466,"src":"54232:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19448,"name":"uint256","nodeType":"ElementaryTypeName","src":"54232:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19451,"mutability":"mutable","name":"p3","nameLocation":"54252:2:30","nodeType":"VariableDeclaration","scope":19466,"src":"54244:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19450,"name":"address","nodeType":"ElementaryTypeName","src":"54244:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54210:45:30"},"returnParameters":{"id":19453,"nodeType":"ParameterList","parameters":[],"src":"54270:0:30"},"scope":21215,"src":"54198:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19488,"nodeType":"Block","src":"54464:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":19480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54514:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":19481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19468,"src":"54550:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19482,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19470,"src":"54554:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19483,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19472,"src":"54558:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19484,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19474,"src":"54562:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54490:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54494:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54490:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54490:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"54474:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54474:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19487,"nodeType":"ExpressionStatement","src":"54474:92:30"}]},"id":19489,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54395:3:30","nodeType":"FunctionDefinition","parameters":{"id":19475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19468,"mutability":"mutable","name":"p0","nameLocation":"54404:2:30","nodeType":"VariableDeclaration","scope":19489,"src":"54399:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19467,"name":"bool","nodeType":"ElementaryTypeName","src":"54399:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19470,"mutability":"mutable","name":"p1","nameLocation":"54416:2:30","nodeType":"VariableDeclaration","scope":19489,"src":"54408:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19469,"name":"address","nodeType":"ElementaryTypeName","src":"54408:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19472,"mutability":"mutable","name":"p2","nameLocation":"54434:2:30","nodeType":"VariableDeclaration","scope":19489,"src":"54420:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19471,"name":"string","nodeType":"ElementaryTypeName","src":"54420:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19474,"mutability":"mutable","name":"p3","nameLocation":"54446:2:30","nodeType":"VariableDeclaration","scope":19489,"src":"54438:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19473,"name":"uint256","nodeType":"ElementaryTypeName","src":"54438:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54398:51:30"},"returnParameters":{"id":19476,"nodeType":"ParameterList","parameters":[],"src":"54464:0:30"},"scope":21215,"src":"54386:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19511,"nodeType":"Block","src":"54663:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":19503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54713:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":19504,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19491,"src":"54748:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19505,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19493,"src":"54752:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19506,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19495,"src":"54756:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19507,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19497,"src":"54760:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19501,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54689:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54693:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54689:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54689:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19500,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"54673:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54673:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19510,"nodeType":"ExpressionStatement","src":"54673:91:30"}]},"id":19512,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54588:3:30","nodeType":"FunctionDefinition","parameters":{"id":19498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19491,"mutability":"mutable","name":"p0","nameLocation":"54597:2:30","nodeType":"VariableDeclaration","scope":19512,"src":"54592:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19490,"name":"bool","nodeType":"ElementaryTypeName","src":"54592:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19493,"mutability":"mutable","name":"p1","nameLocation":"54609:2:30","nodeType":"VariableDeclaration","scope":19512,"src":"54601:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19492,"name":"address","nodeType":"ElementaryTypeName","src":"54601:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19495,"mutability":"mutable","name":"p2","nameLocation":"54627:2:30","nodeType":"VariableDeclaration","scope":19512,"src":"54613:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19494,"name":"string","nodeType":"ElementaryTypeName","src":"54613:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19497,"mutability":"mutable","name":"p3","nameLocation":"54645:2:30","nodeType":"VariableDeclaration","scope":19512,"src":"54631:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19496,"name":"string","nodeType":"ElementaryTypeName","src":"54631:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54591:57:30"},"returnParameters":{"id":19499,"nodeType":"ParameterList","parameters":[],"src":"54663:0:30"},"scope":21215,"src":"54579:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19534,"nodeType":"Block","src":"54852:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":19526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54902:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":19527,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19514,"src":"54935:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19528,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19516,"src":"54939:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19529,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19518,"src":"54943:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19530,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19520,"src":"54947:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19524,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54878:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54882:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54878:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54878:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"54862:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54862:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19533,"nodeType":"ExpressionStatement","src":"54862:89:30"}]},"id":19535,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54786:3:30","nodeType":"FunctionDefinition","parameters":{"id":19521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19514,"mutability":"mutable","name":"p0","nameLocation":"54795:2:30","nodeType":"VariableDeclaration","scope":19535,"src":"54790:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19513,"name":"bool","nodeType":"ElementaryTypeName","src":"54790:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19516,"mutability":"mutable","name":"p1","nameLocation":"54807:2:30","nodeType":"VariableDeclaration","scope":19535,"src":"54799:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19515,"name":"address","nodeType":"ElementaryTypeName","src":"54799:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19518,"mutability":"mutable","name":"p2","nameLocation":"54825:2:30","nodeType":"VariableDeclaration","scope":19535,"src":"54811:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19517,"name":"string","nodeType":"ElementaryTypeName","src":"54811:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19520,"mutability":"mutable","name":"p3","nameLocation":"54834:2:30","nodeType":"VariableDeclaration","scope":19535,"src":"54829:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19519,"name":"bool","nodeType":"ElementaryTypeName","src":"54829:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54789:48:30"},"returnParameters":{"id":19522,"nodeType":"ParameterList","parameters":[],"src":"54852:0:30"},"scope":21215,"src":"54777:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19557,"nodeType":"Block","src":"55042:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":19549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55092:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":19550,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19537,"src":"55128:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19551,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19539,"src":"55132:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19552,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19541,"src":"55136:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19553,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19543,"src":"55140:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19547,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55068:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55072:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55068:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55068:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19546,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"55052:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55052:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19556,"nodeType":"ExpressionStatement","src":"55052:92:30"}]},"id":19558,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54973:3:30","nodeType":"FunctionDefinition","parameters":{"id":19544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19537,"mutability":"mutable","name":"p0","nameLocation":"54982:2:30","nodeType":"VariableDeclaration","scope":19558,"src":"54977:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19536,"name":"bool","nodeType":"ElementaryTypeName","src":"54977:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19539,"mutability":"mutable","name":"p1","nameLocation":"54994:2:30","nodeType":"VariableDeclaration","scope":19558,"src":"54986:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19538,"name":"address","nodeType":"ElementaryTypeName","src":"54986:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19541,"mutability":"mutable","name":"p2","nameLocation":"55012:2:30","nodeType":"VariableDeclaration","scope":19558,"src":"54998:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19540,"name":"string","nodeType":"ElementaryTypeName","src":"54998:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19543,"mutability":"mutable","name":"p3","nameLocation":"55024:2:30","nodeType":"VariableDeclaration","scope":19558,"src":"55016:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19542,"name":"address","nodeType":"ElementaryTypeName","src":"55016:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54976:51:30"},"returnParameters":{"id":19545,"nodeType":"ParameterList","parameters":[],"src":"55042:0:30"},"scope":21215,"src":"54964:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19580,"nodeType":"Block","src":"55226:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":19572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55276:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":19573,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19560,"src":"55310:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19574,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19562,"src":"55314:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19575,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19564,"src":"55318:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19576,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19566,"src":"55322:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19570,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55252:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55256:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55252:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55252:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19569,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"55236:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55236:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19579,"nodeType":"ExpressionStatement","src":"55236:90:30"}]},"id":19581,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55166:3:30","nodeType":"FunctionDefinition","parameters":{"id":19567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19560,"mutability":"mutable","name":"p0","nameLocation":"55175:2:30","nodeType":"VariableDeclaration","scope":19581,"src":"55170:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19559,"name":"bool","nodeType":"ElementaryTypeName","src":"55170:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19562,"mutability":"mutable","name":"p1","nameLocation":"55187:2:30","nodeType":"VariableDeclaration","scope":19581,"src":"55179:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19561,"name":"address","nodeType":"ElementaryTypeName","src":"55179:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19564,"mutability":"mutable","name":"p2","nameLocation":"55196:2:30","nodeType":"VariableDeclaration","scope":19581,"src":"55191:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19563,"name":"bool","nodeType":"ElementaryTypeName","src":"55191:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19566,"mutability":"mutable","name":"p3","nameLocation":"55208:2:30","nodeType":"VariableDeclaration","scope":19581,"src":"55200:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19565,"name":"uint256","nodeType":"ElementaryTypeName","src":"55200:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55169:42:30"},"returnParameters":{"id":19568,"nodeType":"ParameterList","parameters":[],"src":"55226:0:30"},"scope":21215,"src":"55157:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19603,"nodeType":"Block","src":"55414:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":19595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55464:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":19596,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19583,"src":"55497:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19597,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19585,"src":"55501:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19598,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19587,"src":"55505:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19599,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19589,"src":"55509:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19593,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55440:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55444:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55440:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55440:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19592,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"55424:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55424:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19602,"nodeType":"ExpressionStatement","src":"55424:89:30"}]},"id":19604,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55348:3:30","nodeType":"FunctionDefinition","parameters":{"id":19590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19583,"mutability":"mutable","name":"p0","nameLocation":"55357:2:30","nodeType":"VariableDeclaration","scope":19604,"src":"55352:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19582,"name":"bool","nodeType":"ElementaryTypeName","src":"55352:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19585,"mutability":"mutable","name":"p1","nameLocation":"55369:2:30","nodeType":"VariableDeclaration","scope":19604,"src":"55361:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19584,"name":"address","nodeType":"ElementaryTypeName","src":"55361:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19587,"mutability":"mutable","name":"p2","nameLocation":"55378:2:30","nodeType":"VariableDeclaration","scope":19604,"src":"55373:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19586,"name":"bool","nodeType":"ElementaryTypeName","src":"55373:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19589,"mutability":"mutable","name":"p3","nameLocation":"55396:2:30","nodeType":"VariableDeclaration","scope":19604,"src":"55382:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19588,"name":"string","nodeType":"ElementaryTypeName","src":"55382:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55351:48:30"},"returnParameters":{"id":19591,"nodeType":"ParameterList","parameters":[],"src":"55414:0:30"},"scope":21215,"src":"55339:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19626,"nodeType":"Block","src":"55592:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":19618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55642:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":19619,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19606,"src":"55673:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19620,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19608,"src":"55677:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19621,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19610,"src":"55681:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19622,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19612,"src":"55685:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19616,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55618:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55622:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55618:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55618:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19615,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"55602:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55602:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19625,"nodeType":"ExpressionStatement","src":"55602:87:30"}]},"id":19627,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55535:3:30","nodeType":"FunctionDefinition","parameters":{"id":19613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19606,"mutability":"mutable","name":"p0","nameLocation":"55544:2:30","nodeType":"VariableDeclaration","scope":19627,"src":"55539:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19605,"name":"bool","nodeType":"ElementaryTypeName","src":"55539:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19608,"mutability":"mutable","name":"p1","nameLocation":"55556:2:30","nodeType":"VariableDeclaration","scope":19627,"src":"55548:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19607,"name":"address","nodeType":"ElementaryTypeName","src":"55548:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19610,"mutability":"mutable","name":"p2","nameLocation":"55565:2:30","nodeType":"VariableDeclaration","scope":19627,"src":"55560:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19609,"name":"bool","nodeType":"ElementaryTypeName","src":"55560:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19612,"mutability":"mutable","name":"p3","nameLocation":"55574:2:30","nodeType":"VariableDeclaration","scope":19627,"src":"55569:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19611,"name":"bool","nodeType":"ElementaryTypeName","src":"55569:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55538:39:30"},"returnParameters":{"id":19614,"nodeType":"ParameterList","parameters":[],"src":"55592:0:30"},"scope":21215,"src":"55526:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19649,"nodeType":"Block","src":"55771:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":19641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55821:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":19642,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19629,"src":"55855:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19643,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19631,"src":"55859:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19644,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19633,"src":"55863:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19645,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19635,"src":"55867:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55797:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55801:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55797:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55797:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19638,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"55781:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55781:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19648,"nodeType":"ExpressionStatement","src":"55781:90:30"}]},"id":19650,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55711:3:30","nodeType":"FunctionDefinition","parameters":{"id":19636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19629,"mutability":"mutable","name":"p0","nameLocation":"55720:2:30","nodeType":"VariableDeclaration","scope":19650,"src":"55715:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19628,"name":"bool","nodeType":"ElementaryTypeName","src":"55715:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19631,"mutability":"mutable","name":"p1","nameLocation":"55732:2:30","nodeType":"VariableDeclaration","scope":19650,"src":"55724:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19630,"name":"address","nodeType":"ElementaryTypeName","src":"55724:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19633,"mutability":"mutable","name":"p2","nameLocation":"55741:2:30","nodeType":"VariableDeclaration","scope":19650,"src":"55736:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19632,"name":"bool","nodeType":"ElementaryTypeName","src":"55736:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19635,"mutability":"mutable","name":"p3","nameLocation":"55753:2:30","nodeType":"VariableDeclaration","scope":19650,"src":"55745:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19634,"name":"address","nodeType":"ElementaryTypeName","src":"55745:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55714:42:30"},"returnParameters":{"id":19637,"nodeType":"ParameterList","parameters":[],"src":"55771:0:30"},"scope":21215,"src":"55702:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19672,"nodeType":"Block","src":"55956:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":19664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56006:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":19665,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19652,"src":"56043:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19666,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19654,"src":"56047:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19667,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19656,"src":"56051:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19668,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19658,"src":"56055:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55982:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55986:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55982:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55982:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"55966:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55966:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19671,"nodeType":"ExpressionStatement","src":"55966:93:30"}]},"id":19673,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55893:3:30","nodeType":"FunctionDefinition","parameters":{"id":19659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19652,"mutability":"mutable","name":"p0","nameLocation":"55902:2:30","nodeType":"VariableDeclaration","scope":19673,"src":"55897:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19651,"name":"bool","nodeType":"ElementaryTypeName","src":"55897:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19654,"mutability":"mutable","name":"p1","nameLocation":"55914:2:30","nodeType":"VariableDeclaration","scope":19673,"src":"55906:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19653,"name":"address","nodeType":"ElementaryTypeName","src":"55906:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19656,"mutability":"mutable","name":"p2","nameLocation":"55926:2:30","nodeType":"VariableDeclaration","scope":19673,"src":"55918:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19655,"name":"address","nodeType":"ElementaryTypeName","src":"55918:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19658,"mutability":"mutable","name":"p3","nameLocation":"55938:2:30","nodeType":"VariableDeclaration","scope":19673,"src":"55930:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19657,"name":"uint256","nodeType":"ElementaryTypeName","src":"55930:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55896:45:30"},"returnParameters":{"id":19660,"nodeType":"ParameterList","parameters":[],"src":"55956:0:30"},"scope":21215,"src":"55884:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19695,"nodeType":"Block","src":"56150:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":19687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56200:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":19688,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19675,"src":"56236:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19689,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19677,"src":"56240:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19690,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19679,"src":"56244:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19691,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19681,"src":"56248:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19685,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56176:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56180:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56176:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56176:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"56160:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56160:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19694,"nodeType":"ExpressionStatement","src":"56160:92:30"}]},"id":19696,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56081:3:30","nodeType":"FunctionDefinition","parameters":{"id":19682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19675,"mutability":"mutable","name":"p0","nameLocation":"56090:2:30","nodeType":"VariableDeclaration","scope":19696,"src":"56085:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19674,"name":"bool","nodeType":"ElementaryTypeName","src":"56085:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19677,"mutability":"mutable","name":"p1","nameLocation":"56102:2:30","nodeType":"VariableDeclaration","scope":19696,"src":"56094:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19676,"name":"address","nodeType":"ElementaryTypeName","src":"56094:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19679,"mutability":"mutable","name":"p2","nameLocation":"56114:2:30","nodeType":"VariableDeclaration","scope":19696,"src":"56106:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19678,"name":"address","nodeType":"ElementaryTypeName","src":"56106:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19681,"mutability":"mutable","name":"p3","nameLocation":"56132:2:30","nodeType":"VariableDeclaration","scope":19696,"src":"56118:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19680,"name":"string","nodeType":"ElementaryTypeName","src":"56118:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56084:51:30"},"returnParameters":{"id":19683,"nodeType":"ParameterList","parameters":[],"src":"56150:0:30"},"scope":21215,"src":"56072:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19718,"nodeType":"Block","src":"56334:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":19710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56384:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":19711,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19698,"src":"56418:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19712,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19700,"src":"56422:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19713,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19702,"src":"56426:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19714,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19704,"src":"56430:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19708,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56360:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56364:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56360:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56360:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19707,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"56344:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56344:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19717,"nodeType":"ExpressionStatement","src":"56344:90:30"}]},"id":19719,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56274:3:30","nodeType":"FunctionDefinition","parameters":{"id":19705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19698,"mutability":"mutable","name":"p0","nameLocation":"56283:2:30","nodeType":"VariableDeclaration","scope":19719,"src":"56278:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19697,"name":"bool","nodeType":"ElementaryTypeName","src":"56278:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19700,"mutability":"mutable","name":"p1","nameLocation":"56295:2:30","nodeType":"VariableDeclaration","scope":19719,"src":"56287:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19699,"name":"address","nodeType":"ElementaryTypeName","src":"56287:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19702,"mutability":"mutable","name":"p2","nameLocation":"56307:2:30","nodeType":"VariableDeclaration","scope":19719,"src":"56299:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19701,"name":"address","nodeType":"ElementaryTypeName","src":"56299:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19704,"mutability":"mutable","name":"p3","nameLocation":"56316:2:30","nodeType":"VariableDeclaration","scope":19719,"src":"56311:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19703,"name":"bool","nodeType":"ElementaryTypeName","src":"56311:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56277:42:30"},"returnParameters":{"id":19706,"nodeType":"ParameterList","parameters":[],"src":"56334:0:30"},"scope":21215,"src":"56265:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19741,"nodeType":"Block","src":"56519:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":19733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56569:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":19734,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19721,"src":"56606:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19735,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19723,"src":"56610:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19736,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19725,"src":"56614:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19737,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19727,"src":"56618:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56545:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56549:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56545:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56545:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19730,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"56529:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56529:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19740,"nodeType":"ExpressionStatement","src":"56529:93:30"}]},"id":19742,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56456:3:30","nodeType":"FunctionDefinition","parameters":{"id":19728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19721,"mutability":"mutable","name":"p0","nameLocation":"56465:2:30","nodeType":"VariableDeclaration","scope":19742,"src":"56460:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19720,"name":"bool","nodeType":"ElementaryTypeName","src":"56460:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19723,"mutability":"mutable","name":"p1","nameLocation":"56477:2:30","nodeType":"VariableDeclaration","scope":19742,"src":"56469:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19722,"name":"address","nodeType":"ElementaryTypeName","src":"56469:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19725,"mutability":"mutable","name":"p2","nameLocation":"56489:2:30","nodeType":"VariableDeclaration","scope":19742,"src":"56481:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19724,"name":"address","nodeType":"ElementaryTypeName","src":"56481:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19727,"mutability":"mutable","name":"p3","nameLocation":"56501:2:30","nodeType":"VariableDeclaration","scope":19742,"src":"56493:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19726,"name":"address","nodeType":"ElementaryTypeName","src":"56493:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56459:45:30"},"returnParameters":{"id":19729,"nodeType":"ParameterList","parameters":[],"src":"56519:0:30"},"scope":21215,"src":"56447:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19764,"nodeType":"Block","src":"56710:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":19756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56760:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":19757,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19744,"src":"56800:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19758,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19746,"src":"56804:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19759,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19748,"src":"56808:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19760,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19750,"src":"56812:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19754,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56736:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56740:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56736:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56736:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19753,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"56720:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56720:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19763,"nodeType":"ExpressionStatement","src":"56720:96:30"}]},"id":19765,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56644:3:30","nodeType":"FunctionDefinition","parameters":{"id":19751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19744,"mutability":"mutable","name":"p0","nameLocation":"56656:2:30","nodeType":"VariableDeclaration","scope":19765,"src":"56648:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19743,"name":"address","nodeType":"ElementaryTypeName","src":"56648:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19746,"mutability":"mutable","name":"p1","nameLocation":"56668:2:30","nodeType":"VariableDeclaration","scope":19765,"src":"56660:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19745,"name":"uint256","nodeType":"ElementaryTypeName","src":"56660:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19748,"mutability":"mutable","name":"p2","nameLocation":"56680:2:30","nodeType":"VariableDeclaration","scope":19765,"src":"56672:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19747,"name":"uint256","nodeType":"ElementaryTypeName","src":"56672:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19750,"mutability":"mutable","name":"p3","nameLocation":"56692:2:30","nodeType":"VariableDeclaration","scope":19765,"src":"56684:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19749,"name":"uint256","nodeType":"ElementaryTypeName","src":"56684:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56647:48:30"},"returnParameters":{"id":19752,"nodeType":"ParameterList","parameters":[],"src":"56710:0:30"},"scope":21215,"src":"56635:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19787,"nodeType":"Block","src":"56910:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":19779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56960:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":19780,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19767,"src":"56999:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19781,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19769,"src":"57003:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19782,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19771,"src":"57007:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19783,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19773,"src":"57011:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56936:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56940:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56936:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56936:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19776,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"56920:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56920:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19786,"nodeType":"ExpressionStatement","src":"56920:95:30"}]},"id":19788,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56838:3:30","nodeType":"FunctionDefinition","parameters":{"id":19774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19767,"mutability":"mutable","name":"p0","nameLocation":"56850:2:30","nodeType":"VariableDeclaration","scope":19788,"src":"56842:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19766,"name":"address","nodeType":"ElementaryTypeName","src":"56842:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19769,"mutability":"mutable","name":"p1","nameLocation":"56862:2:30","nodeType":"VariableDeclaration","scope":19788,"src":"56854:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19768,"name":"uint256","nodeType":"ElementaryTypeName","src":"56854:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19771,"mutability":"mutable","name":"p2","nameLocation":"56874:2:30","nodeType":"VariableDeclaration","scope":19788,"src":"56866:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19770,"name":"uint256","nodeType":"ElementaryTypeName","src":"56866:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19773,"mutability":"mutable","name":"p3","nameLocation":"56892:2:30","nodeType":"VariableDeclaration","scope":19788,"src":"56878:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19772,"name":"string","nodeType":"ElementaryTypeName","src":"56878:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56841:54:30"},"returnParameters":{"id":19775,"nodeType":"ParameterList","parameters":[],"src":"56910:0:30"},"scope":21215,"src":"56829:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19810,"nodeType":"Block","src":"57100:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":19802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57150:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":19803,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19790,"src":"57187:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19804,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19792,"src":"57191:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19805,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19794,"src":"57195:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19806,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19796,"src":"57199:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19800,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57126:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57130:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57126:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57126:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19799,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"57110:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57110:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19809,"nodeType":"ExpressionStatement","src":"57110:93:30"}]},"id":19811,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57037:3:30","nodeType":"FunctionDefinition","parameters":{"id":19797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19790,"mutability":"mutable","name":"p0","nameLocation":"57049:2:30","nodeType":"VariableDeclaration","scope":19811,"src":"57041:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19789,"name":"address","nodeType":"ElementaryTypeName","src":"57041:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19792,"mutability":"mutable","name":"p1","nameLocation":"57061:2:30","nodeType":"VariableDeclaration","scope":19811,"src":"57053:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19791,"name":"uint256","nodeType":"ElementaryTypeName","src":"57053:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19794,"mutability":"mutable","name":"p2","nameLocation":"57073:2:30","nodeType":"VariableDeclaration","scope":19811,"src":"57065:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19793,"name":"uint256","nodeType":"ElementaryTypeName","src":"57065:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19796,"mutability":"mutable","name":"p3","nameLocation":"57082:2:30","nodeType":"VariableDeclaration","scope":19811,"src":"57077:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19795,"name":"bool","nodeType":"ElementaryTypeName","src":"57077:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57040:45:30"},"returnParameters":{"id":19798,"nodeType":"ParameterList","parameters":[],"src":"57100:0:30"},"scope":21215,"src":"57028:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19833,"nodeType":"Block","src":"57291:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":19825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57341:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":19826,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19813,"src":"57381:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19827,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19815,"src":"57385:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19828,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19817,"src":"57389:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19829,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19819,"src":"57393:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57317:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57321:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57317:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57317:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19822,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"57301:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57301:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19832,"nodeType":"ExpressionStatement","src":"57301:96:30"}]},"id":19834,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57225:3:30","nodeType":"FunctionDefinition","parameters":{"id":19820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19813,"mutability":"mutable","name":"p0","nameLocation":"57237:2:30","nodeType":"VariableDeclaration","scope":19834,"src":"57229:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19812,"name":"address","nodeType":"ElementaryTypeName","src":"57229:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19815,"mutability":"mutable","name":"p1","nameLocation":"57249:2:30","nodeType":"VariableDeclaration","scope":19834,"src":"57241:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19814,"name":"uint256","nodeType":"ElementaryTypeName","src":"57241:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19817,"mutability":"mutable","name":"p2","nameLocation":"57261:2:30","nodeType":"VariableDeclaration","scope":19834,"src":"57253:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19816,"name":"uint256","nodeType":"ElementaryTypeName","src":"57253:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19819,"mutability":"mutable","name":"p3","nameLocation":"57273:2:30","nodeType":"VariableDeclaration","scope":19834,"src":"57265:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19818,"name":"address","nodeType":"ElementaryTypeName","src":"57265:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57228:48:30"},"returnParameters":{"id":19821,"nodeType":"ParameterList","parameters":[],"src":"57291:0:30"},"scope":21215,"src":"57216:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19856,"nodeType":"Block","src":"57491:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":19848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57541:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":19849,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19836,"src":"57580:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19850,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19838,"src":"57584:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19851,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19840,"src":"57588:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19852,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19842,"src":"57592:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57517:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57521:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57517:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57517:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19845,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"57501:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57501:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19855,"nodeType":"ExpressionStatement","src":"57501:95:30"}]},"id":19857,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57419:3:30","nodeType":"FunctionDefinition","parameters":{"id":19843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19836,"mutability":"mutable","name":"p0","nameLocation":"57431:2:30","nodeType":"VariableDeclaration","scope":19857,"src":"57423:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19835,"name":"address","nodeType":"ElementaryTypeName","src":"57423:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19838,"mutability":"mutable","name":"p1","nameLocation":"57443:2:30","nodeType":"VariableDeclaration","scope":19857,"src":"57435:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19837,"name":"uint256","nodeType":"ElementaryTypeName","src":"57435:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19840,"mutability":"mutable","name":"p2","nameLocation":"57461:2:30","nodeType":"VariableDeclaration","scope":19857,"src":"57447:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19839,"name":"string","nodeType":"ElementaryTypeName","src":"57447:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19842,"mutability":"mutable","name":"p3","nameLocation":"57473:2:30","nodeType":"VariableDeclaration","scope":19857,"src":"57465:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19841,"name":"uint256","nodeType":"ElementaryTypeName","src":"57465:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57422:54:30"},"returnParameters":{"id":19844,"nodeType":"ParameterList","parameters":[],"src":"57491:0:30"},"scope":21215,"src":"57410:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19879,"nodeType":"Block","src":"57696:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":19871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57746:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":19872,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19859,"src":"57784:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19873,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19861,"src":"57788:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19874,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19863,"src":"57792:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19875,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19865,"src":"57796:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57722:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57726:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57722:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57722:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19868,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"57706:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57706:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19878,"nodeType":"ExpressionStatement","src":"57706:94:30"}]},"id":19880,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57618:3:30","nodeType":"FunctionDefinition","parameters":{"id":19866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19859,"mutability":"mutable","name":"p0","nameLocation":"57630:2:30","nodeType":"VariableDeclaration","scope":19880,"src":"57622:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19858,"name":"address","nodeType":"ElementaryTypeName","src":"57622:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19861,"mutability":"mutable","name":"p1","nameLocation":"57642:2:30","nodeType":"VariableDeclaration","scope":19880,"src":"57634:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19860,"name":"uint256","nodeType":"ElementaryTypeName","src":"57634:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19863,"mutability":"mutable","name":"p2","nameLocation":"57660:2:30","nodeType":"VariableDeclaration","scope":19880,"src":"57646:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19862,"name":"string","nodeType":"ElementaryTypeName","src":"57646:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19865,"mutability":"mutable","name":"p3","nameLocation":"57678:2:30","nodeType":"VariableDeclaration","scope":19880,"src":"57664:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19864,"name":"string","nodeType":"ElementaryTypeName","src":"57664:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57621:60:30"},"returnParameters":{"id":19867,"nodeType":"ParameterList","parameters":[],"src":"57696:0:30"},"scope":21215,"src":"57609:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19902,"nodeType":"Block","src":"57891:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":19894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57941:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":19895,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19882,"src":"57977:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19896,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19884,"src":"57981:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19897,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19886,"src":"57985:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19898,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19888,"src":"57989:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19892,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57917:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57921:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57917:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57917:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19891,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"57901:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57901:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19901,"nodeType":"ExpressionStatement","src":"57901:92:30"}]},"id":19903,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57822:3:30","nodeType":"FunctionDefinition","parameters":{"id":19889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19882,"mutability":"mutable","name":"p0","nameLocation":"57834:2:30","nodeType":"VariableDeclaration","scope":19903,"src":"57826:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19881,"name":"address","nodeType":"ElementaryTypeName","src":"57826:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19884,"mutability":"mutable","name":"p1","nameLocation":"57846:2:30","nodeType":"VariableDeclaration","scope":19903,"src":"57838:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19883,"name":"uint256","nodeType":"ElementaryTypeName","src":"57838:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19886,"mutability":"mutable","name":"p2","nameLocation":"57864:2:30","nodeType":"VariableDeclaration","scope":19903,"src":"57850:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19885,"name":"string","nodeType":"ElementaryTypeName","src":"57850:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19888,"mutability":"mutable","name":"p3","nameLocation":"57873:2:30","nodeType":"VariableDeclaration","scope":19903,"src":"57868:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19887,"name":"bool","nodeType":"ElementaryTypeName","src":"57868:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57825:51:30"},"returnParameters":{"id":19890,"nodeType":"ParameterList","parameters":[],"src":"57891:0:30"},"scope":21215,"src":"57813:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19925,"nodeType":"Block","src":"58087:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":19917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58137:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":19918,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19905,"src":"58176:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19919,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19907,"src":"58180:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19920,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19909,"src":"58184:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19921,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19911,"src":"58188:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19915,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58113:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58117:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58113:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58113:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19914,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"58097:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58097:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19924,"nodeType":"ExpressionStatement","src":"58097:95:30"}]},"id":19926,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58015:3:30","nodeType":"FunctionDefinition","parameters":{"id":19912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19905,"mutability":"mutable","name":"p0","nameLocation":"58027:2:30","nodeType":"VariableDeclaration","scope":19926,"src":"58019:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19904,"name":"address","nodeType":"ElementaryTypeName","src":"58019:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19907,"mutability":"mutable","name":"p1","nameLocation":"58039:2:30","nodeType":"VariableDeclaration","scope":19926,"src":"58031:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19906,"name":"uint256","nodeType":"ElementaryTypeName","src":"58031:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19909,"mutability":"mutable","name":"p2","nameLocation":"58057:2:30","nodeType":"VariableDeclaration","scope":19926,"src":"58043:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19908,"name":"string","nodeType":"ElementaryTypeName","src":"58043:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19911,"mutability":"mutable","name":"p3","nameLocation":"58069:2:30","nodeType":"VariableDeclaration","scope":19926,"src":"58061:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19910,"name":"address","nodeType":"ElementaryTypeName","src":"58061:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58018:54:30"},"returnParameters":{"id":19913,"nodeType":"ParameterList","parameters":[],"src":"58087:0:30"},"scope":21215,"src":"58006:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19948,"nodeType":"Block","src":"58277:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":19940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58327:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":19941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19928,"src":"58364:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19930,"src":"58368:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19943,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19932,"src":"58372:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19944,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19934,"src":"58376:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58303:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58307:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58303:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58303:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"58287:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58287:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19947,"nodeType":"ExpressionStatement","src":"58287:93:30"}]},"id":19949,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58214:3:30","nodeType":"FunctionDefinition","parameters":{"id":19935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19928,"mutability":"mutable","name":"p0","nameLocation":"58226:2:30","nodeType":"VariableDeclaration","scope":19949,"src":"58218:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19927,"name":"address","nodeType":"ElementaryTypeName","src":"58218:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19930,"mutability":"mutable","name":"p1","nameLocation":"58238:2:30","nodeType":"VariableDeclaration","scope":19949,"src":"58230:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19929,"name":"uint256","nodeType":"ElementaryTypeName","src":"58230:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19932,"mutability":"mutable","name":"p2","nameLocation":"58247:2:30","nodeType":"VariableDeclaration","scope":19949,"src":"58242:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19931,"name":"bool","nodeType":"ElementaryTypeName","src":"58242:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19934,"mutability":"mutable","name":"p3","nameLocation":"58259:2:30","nodeType":"VariableDeclaration","scope":19949,"src":"58251:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19933,"name":"uint256","nodeType":"ElementaryTypeName","src":"58251:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58217:45:30"},"returnParameters":{"id":19936,"nodeType":"ParameterList","parameters":[],"src":"58277:0:30"},"scope":21215,"src":"58205:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19971,"nodeType":"Block","src":"58471:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":19963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58521:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":19964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19951,"src":"58557:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19953,"src":"58561:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19966,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19955,"src":"58565:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19967,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19957,"src":"58569:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58497:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58501:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58497:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58497:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"58481:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58481:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19970,"nodeType":"ExpressionStatement","src":"58481:92:30"}]},"id":19972,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58402:3:30","nodeType":"FunctionDefinition","parameters":{"id":19958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19951,"mutability":"mutable","name":"p0","nameLocation":"58414:2:30","nodeType":"VariableDeclaration","scope":19972,"src":"58406:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19950,"name":"address","nodeType":"ElementaryTypeName","src":"58406:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19953,"mutability":"mutable","name":"p1","nameLocation":"58426:2:30","nodeType":"VariableDeclaration","scope":19972,"src":"58418:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19952,"name":"uint256","nodeType":"ElementaryTypeName","src":"58418:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19955,"mutability":"mutable","name":"p2","nameLocation":"58435:2:30","nodeType":"VariableDeclaration","scope":19972,"src":"58430:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19954,"name":"bool","nodeType":"ElementaryTypeName","src":"58430:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19957,"mutability":"mutable","name":"p3","nameLocation":"58453:2:30","nodeType":"VariableDeclaration","scope":19972,"src":"58439:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19956,"name":"string","nodeType":"ElementaryTypeName","src":"58439:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58405:51:30"},"returnParameters":{"id":19959,"nodeType":"ParameterList","parameters":[],"src":"58471:0:30"},"scope":21215,"src":"58393:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":19994,"nodeType":"Block","src":"58655:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":19986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58705:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":19987,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19974,"src":"58739:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19988,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19976,"src":"58743:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19989,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19978,"src":"58747:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19990,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19980,"src":"58751:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19984,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58681:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58685:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58681:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58681:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19983,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"58665:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":19992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58665:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19993,"nodeType":"ExpressionStatement","src":"58665:90:30"}]},"id":19995,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58595:3:30","nodeType":"FunctionDefinition","parameters":{"id":19981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19974,"mutability":"mutable","name":"p0","nameLocation":"58607:2:30","nodeType":"VariableDeclaration","scope":19995,"src":"58599:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19973,"name":"address","nodeType":"ElementaryTypeName","src":"58599:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19976,"mutability":"mutable","name":"p1","nameLocation":"58619:2:30","nodeType":"VariableDeclaration","scope":19995,"src":"58611:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19975,"name":"uint256","nodeType":"ElementaryTypeName","src":"58611:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19978,"mutability":"mutable","name":"p2","nameLocation":"58628:2:30","nodeType":"VariableDeclaration","scope":19995,"src":"58623:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19977,"name":"bool","nodeType":"ElementaryTypeName","src":"58623:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19980,"mutability":"mutable","name":"p3","nameLocation":"58637:2:30","nodeType":"VariableDeclaration","scope":19995,"src":"58632:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19979,"name":"bool","nodeType":"ElementaryTypeName","src":"58632:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58598:42:30"},"returnParameters":{"id":19982,"nodeType":"ParameterList","parameters":[],"src":"58655:0:30"},"scope":21215,"src":"58586:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20017,"nodeType":"Block","src":"58840:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":20009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58890:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":20010,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19997,"src":"58927:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20011,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19999,"src":"58931:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20012,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20001,"src":"58935:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20013,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20003,"src":"58939:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20007,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58866:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58870:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58866:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58866:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20006,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"58850:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58850:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20016,"nodeType":"ExpressionStatement","src":"58850:93:30"}]},"id":20018,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58777:3:30","nodeType":"FunctionDefinition","parameters":{"id":20004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19997,"mutability":"mutable","name":"p0","nameLocation":"58789:2:30","nodeType":"VariableDeclaration","scope":20018,"src":"58781:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19996,"name":"address","nodeType":"ElementaryTypeName","src":"58781:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19999,"mutability":"mutable","name":"p1","nameLocation":"58801:2:30","nodeType":"VariableDeclaration","scope":20018,"src":"58793:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19998,"name":"uint256","nodeType":"ElementaryTypeName","src":"58793:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20001,"mutability":"mutable","name":"p2","nameLocation":"58810:2:30","nodeType":"VariableDeclaration","scope":20018,"src":"58805:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20000,"name":"bool","nodeType":"ElementaryTypeName","src":"58805:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20003,"mutability":"mutable","name":"p3","nameLocation":"58822:2:30","nodeType":"VariableDeclaration","scope":20018,"src":"58814:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20002,"name":"address","nodeType":"ElementaryTypeName","src":"58814:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58780:45:30"},"returnParameters":{"id":20005,"nodeType":"ParameterList","parameters":[],"src":"58840:0:30"},"scope":21215,"src":"58768:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20040,"nodeType":"Block","src":"59031:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":20032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59081:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":20033,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20020,"src":"59121:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20034,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20022,"src":"59125:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20035,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20024,"src":"59129:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20036,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20026,"src":"59133:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20030,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59057:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59061:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59057:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59057:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20029,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"59041:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59041:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20039,"nodeType":"ExpressionStatement","src":"59041:96:30"}]},"id":20041,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58965:3:30","nodeType":"FunctionDefinition","parameters":{"id":20027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20020,"mutability":"mutable","name":"p0","nameLocation":"58977:2:30","nodeType":"VariableDeclaration","scope":20041,"src":"58969:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20019,"name":"address","nodeType":"ElementaryTypeName","src":"58969:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20022,"mutability":"mutable","name":"p1","nameLocation":"58989:2:30","nodeType":"VariableDeclaration","scope":20041,"src":"58981:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20021,"name":"uint256","nodeType":"ElementaryTypeName","src":"58981:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20024,"mutability":"mutable","name":"p2","nameLocation":"59001:2:30","nodeType":"VariableDeclaration","scope":20041,"src":"58993:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20023,"name":"address","nodeType":"ElementaryTypeName","src":"58993:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20026,"mutability":"mutable","name":"p3","nameLocation":"59013:2:30","nodeType":"VariableDeclaration","scope":20041,"src":"59005:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20025,"name":"uint256","nodeType":"ElementaryTypeName","src":"59005:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58968:48:30"},"returnParameters":{"id":20028,"nodeType":"ParameterList","parameters":[],"src":"59031:0:30"},"scope":21215,"src":"58956:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20063,"nodeType":"Block","src":"59231:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":20055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59281:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":20056,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20043,"src":"59320:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20057,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20045,"src":"59324:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20058,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20047,"src":"59328:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20059,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20049,"src":"59332:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20053,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59257:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59261:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59257:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59257:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20052,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"59241:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59241:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20062,"nodeType":"ExpressionStatement","src":"59241:95:30"}]},"id":20064,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59159:3:30","nodeType":"FunctionDefinition","parameters":{"id":20050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20043,"mutability":"mutable","name":"p0","nameLocation":"59171:2:30","nodeType":"VariableDeclaration","scope":20064,"src":"59163:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20042,"name":"address","nodeType":"ElementaryTypeName","src":"59163:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20045,"mutability":"mutable","name":"p1","nameLocation":"59183:2:30","nodeType":"VariableDeclaration","scope":20064,"src":"59175:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20044,"name":"uint256","nodeType":"ElementaryTypeName","src":"59175:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20047,"mutability":"mutable","name":"p2","nameLocation":"59195:2:30","nodeType":"VariableDeclaration","scope":20064,"src":"59187:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20046,"name":"address","nodeType":"ElementaryTypeName","src":"59187:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20049,"mutability":"mutable","name":"p3","nameLocation":"59213:2:30","nodeType":"VariableDeclaration","scope":20064,"src":"59199:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20048,"name":"string","nodeType":"ElementaryTypeName","src":"59199:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59162:54:30"},"returnParameters":{"id":20051,"nodeType":"ParameterList","parameters":[],"src":"59231:0:30"},"scope":21215,"src":"59150:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20086,"nodeType":"Block","src":"59421:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":20078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59471:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":20079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20066,"src":"59508:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20068,"src":"59512:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20070,"src":"59516:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20082,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20072,"src":"59520:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59447:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59451:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59447:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59447:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"59431:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59431:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20085,"nodeType":"ExpressionStatement","src":"59431:93:30"}]},"id":20087,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59358:3:30","nodeType":"FunctionDefinition","parameters":{"id":20073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20066,"mutability":"mutable","name":"p0","nameLocation":"59370:2:30","nodeType":"VariableDeclaration","scope":20087,"src":"59362:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20065,"name":"address","nodeType":"ElementaryTypeName","src":"59362:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20068,"mutability":"mutable","name":"p1","nameLocation":"59382:2:30","nodeType":"VariableDeclaration","scope":20087,"src":"59374:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20067,"name":"uint256","nodeType":"ElementaryTypeName","src":"59374:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20070,"mutability":"mutable","name":"p2","nameLocation":"59394:2:30","nodeType":"VariableDeclaration","scope":20087,"src":"59386:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20069,"name":"address","nodeType":"ElementaryTypeName","src":"59386:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20072,"mutability":"mutable","name":"p3","nameLocation":"59403:2:30","nodeType":"VariableDeclaration","scope":20087,"src":"59398:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20071,"name":"bool","nodeType":"ElementaryTypeName","src":"59398:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59361:45:30"},"returnParameters":{"id":20074,"nodeType":"ParameterList","parameters":[],"src":"59421:0:30"},"scope":21215,"src":"59349:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20109,"nodeType":"Block","src":"59612:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":20101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59662:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":20102,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20089,"src":"59702:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20103,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20091,"src":"59706:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20104,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20093,"src":"59710:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20105,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20095,"src":"59714:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20099,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59638:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59642:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59638:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59638:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20098,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"59622:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59622:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20108,"nodeType":"ExpressionStatement","src":"59622:96:30"}]},"id":20110,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59546:3:30","nodeType":"FunctionDefinition","parameters":{"id":20096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20089,"mutability":"mutable","name":"p0","nameLocation":"59558:2:30","nodeType":"VariableDeclaration","scope":20110,"src":"59550:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20088,"name":"address","nodeType":"ElementaryTypeName","src":"59550:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20091,"mutability":"mutable","name":"p1","nameLocation":"59570:2:30","nodeType":"VariableDeclaration","scope":20110,"src":"59562:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20090,"name":"uint256","nodeType":"ElementaryTypeName","src":"59562:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20093,"mutability":"mutable","name":"p2","nameLocation":"59582:2:30","nodeType":"VariableDeclaration","scope":20110,"src":"59574:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20092,"name":"address","nodeType":"ElementaryTypeName","src":"59574:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20095,"mutability":"mutable","name":"p3","nameLocation":"59594:2:30","nodeType":"VariableDeclaration","scope":20110,"src":"59586:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20094,"name":"address","nodeType":"ElementaryTypeName","src":"59586:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59549:48:30"},"returnParameters":{"id":20097,"nodeType":"ParameterList","parameters":[],"src":"59612:0:30"},"scope":21215,"src":"59537:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20132,"nodeType":"Block","src":"59812:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":20124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59862:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":20125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20112,"src":"59901:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20114,"src":"59905:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20116,"src":"59909:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20128,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20118,"src":"59913:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59838:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59842:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59838:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59838:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"59822:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59822:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20131,"nodeType":"ExpressionStatement","src":"59822:95:30"}]},"id":20133,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59740:3:30","nodeType":"FunctionDefinition","parameters":{"id":20119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20112,"mutability":"mutable","name":"p0","nameLocation":"59752:2:30","nodeType":"VariableDeclaration","scope":20133,"src":"59744:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20111,"name":"address","nodeType":"ElementaryTypeName","src":"59744:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20114,"mutability":"mutable","name":"p1","nameLocation":"59770:2:30","nodeType":"VariableDeclaration","scope":20133,"src":"59756:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20113,"name":"string","nodeType":"ElementaryTypeName","src":"59756:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20116,"mutability":"mutable","name":"p2","nameLocation":"59782:2:30","nodeType":"VariableDeclaration","scope":20133,"src":"59774:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20115,"name":"uint256","nodeType":"ElementaryTypeName","src":"59774:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20118,"mutability":"mutable","name":"p3","nameLocation":"59794:2:30","nodeType":"VariableDeclaration","scope":20133,"src":"59786:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20117,"name":"uint256","nodeType":"ElementaryTypeName","src":"59786:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59743:54:30"},"returnParameters":{"id":20120,"nodeType":"ParameterList","parameters":[],"src":"59812:0:30"},"scope":21215,"src":"59731:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20155,"nodeType":"Block","src":"60017:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":20147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60067:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":20148,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20135,"src":"60105:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20149,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20137,"src":"60109:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20150,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20139,"src":"60113:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20151,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20141,"src":"60117:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20145,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60043:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60047:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60043:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60043:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20144,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"60027:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60027:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20154,"nodeType":"ExpressionStatement","src":"60027:94:30"}]},"id":20156,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59939:3:30","nodeType":"FunctionDefinition","parameters":{"id":20142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20135,"mutability":"mutable","name":"p0","nameLocation":"59951:2:30","nodeType":"VariableDeclaration","scope":20156,"src":"59943:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20134,"name":"address","nodeType":"ElementaryTypeName","src":"59943:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20137,"mutability":"mutable","name":"p1","nameLocation":"59969:2:30","nodeType":"VariableDeclaration","scope":20156,"src":"59955:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20136,"name":"string","nodeType":"ElementaryTypeName","src":"59955:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20139,"mutability":"mutable","name":"p2","nameLocation":"59981:2:30","nodeType":"VariableDeclaration","scope":20156,"src":"59973:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20138,"name":"uint256","nodeType":"ElementaryTypeName","src":"59973:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20141,"mutability":"mutable","name":"p3","nameLocation":"59999:2:30","nodeType":"VariableDeclaration","scope":20156,"src":"59985:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20140,"name":"string","nodeType":"ElementaryTypeName","src":"59985:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59942:60:30"},"returnParameters":{"id":20143,"nodeType":"ParameterList","parameters":[],"src":"60017:0:30"},"scope":21215,"src":"59930:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20178,"nodeType":"Block","src":"60212:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":20170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60262:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":20171,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20158,"src":"60298:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20172,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20160,"src":"60302:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20173,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20162,"src":"60306:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20174,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20164,"src":"60310:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20168,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60238:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60242:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60238:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60238:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20167,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"60222:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60222:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20177,"nodeType":"ExpressionStatement","src":"60222:92:30"}]},"id":20179,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60143:3:30","nodeType":"FunctionDefinition","parameters":{"id":20165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20158,"mutability":"mutable","name":"p0","nameLocation":"60155:2:30","nodeType":"VariableDeclaration","scope":20179,"src":"60147:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20157,"name":"address","nodeType":"ElementaryTypeName","src":"60147:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20160,"mutability":"mutable","name":"p1","nameLocation":"60173:2:30","nodeType":"VariableDeclaration","scope":20179,"src":"60159:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20159,"name":"string","nodeType":"ElementaryTypeName","src":"60159:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20162,"mutability":"mutable","name":"p2","nameLocation":"60185:2:30","nodeType":"VariableDeclaration","scope":20179,"src":"60177:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20161,"name":"uint256","nodeType":"ElementaryTypeName","src":"60177:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20164,"mutability":"mutable","name":"p3","nameLocation":"60194:2:30","nodeType":"VariableDeclaration","scope":20179,"src":"60189:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20163,"name":"bool","nodeType":"ElementaryTypeName","src":"60189:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60146:51:30"},"returnParameters":{"id":20166,"nodeType":"ParameterList","parameters":[],"src":"60212:0:30"},"scope":21215,"src":"60134:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20201,"nodeType":"Block","src":"60408:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":20193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60458:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":20194,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20181,"src":"60497:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20195,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20183,"src":"60501:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20196,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20185,"src":"60505:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20197,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20187,"src":"60509:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60434:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60438:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60434:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60434:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20190,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"60418:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60418:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20200,"nodeType":"ExpressionStatement","src":"60418:95:30"}]},"id":20202,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60336:3:30","nodeType":"FunctionDefinition","parameters":{"id":20188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20181,"mutability":"mutable","name":"p0","nameLocation":"60348:2:30","nodeType":"VariableDeclaration","scope":20202,"src":"60340:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20180,"name":"address","nodeType":"ElementaryTypeName","src":"60340:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20183,"mutability":"mutable","name":"p1","nameLocation":"60366:2:30","nodeType":"VariableDeclaration","scope":20202,"src":"60352:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20182,"name":"string","nodeType":"ElementaryTypeName","src":"60352:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20185,"mutability":"mutable","name":"p2","nameLocation":"60378:2:30","nodeType":"VariableDeclaration","scope":20202,"src":"60370:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20184,"name":"uint256","nodeType":"ElementaryTypeName","src":"60370:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20187,"mutability":"mutable","name":"p3","nameLocation":"60390:2:30","nodeType":"VariableDeclaration","scope":20202,"src":"60382:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20186,"name":"address","nodeType":"ElementaryTypeName","src":"60382:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60339:54:30"},"returnParameters":{"id":20189,"nodeType":"ParameterList","parameters":[],"src":"60408:0:30"},"scope":21215,"src":"60327:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20224,"nodeType":"Block","src":"60613:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":20216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60663:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":20217,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20204,"src":"60701:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20218,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20206,"src":"60705:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20219,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20208,"src":"60709:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20220,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20210,"src":"60713:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20214,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60639:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60643:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60639:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60639:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20213,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"60623:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60623:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20223,"nodeType":"ExpressionStatement","src":"60623:94:30"}]},"id":20225,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60535:3:30","nodeType":"FunctionDefinition","parameters":{"id":20211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20204,"mutability":"mutable","name":"p0","nameLocation":"60547:2:30","nodeType":"VariableDeclaration","scope":20225,"src":"60539:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20203,"name":"address","nodeType":"ElementaryTypeName","src":"60539:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20206,"mutability":"mutable","name":"p1","nameLocation":"60565:2:30","nodeType":"VariableDeclaration","scope":20225,"src":"60551:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20205,"name":"string","nodeType":"ElementaryTypeName","src":"60551:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20208,"mutability":"mutable","name":"p2","nameLocation":"60583:2:30","nodeType":"VariableDeclaration","scope":20225,"src":"60569:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20207,"name":"string","nodeType":"ElementaryTypeName","src":"60569:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20210,"mutability":"mutable","name":"p3","nameLocation":"60595:2:30","nodeType":"VariableDeclaration","scope":20225,"src":"60587:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20209,"name":"uint256","nodeType":"ElementaryTypeName","src":"60587:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60538:60:30"},"returnParameters":{"id":20212,"nodeType":"ParameterList","parameters":[],"src":"60613:0:30"},"scope":21215,"src":"60526:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20247,"nodeType":"Block","src":"60823:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":20239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60873:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":20240,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20227,"src":"60910:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20241,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20229,"src":"60914:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20242,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20231,"src":"60918:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20243,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20233,"src":"60922:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60849:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60853:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60849:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60849:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20236,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"60833:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60833:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20246,"nodeType":"ExpressionStatement","src":"60833:93:30"}]},"id":20248,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60739:3:30","nodeType":"FunctionDefinition","parameters":{"id":20234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20227,"mutability":"mutable","name":"p0","nameLocation":"60751:2:30","nodeType":"VariableDeclaration","scope":20248,"src":"60743:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20226,"name":"address","nodeType":"ElementaryTypeName","src":"60743:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20229,"mutability":"mutable","name":"p1","nameLocation":"60769:2:30","nodeType":"VariableDeclaration","scope":20248,"src":"60755:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20228,"name":"string","nodeType":"ElementaryTypeName","src":"60755:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20231,"mutability":"mutable","name":"p2","nameLocation":"60787:2:30","nodeType":"VariableDeclaration","scope":20248,"src":"60773:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20230,"name":"string","nodeType":"ElementaryTypeName","src":"60773:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20233,"mutability":"mutable","name":"p3","nameLocation":"60805:2:30","nodeType":"VariableDeclaration","scope":20248,"src":"60791:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20232,"name":"string","nodeType":"ElementaryTypeName","src":"60791:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60742:66:30"},"returnParameters":{"id":20235,"nodeType":"ParameterList","parameters":[],"src":"60823:0:30"},"scope":21215,"src":"60730:203:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20270,"nodeType":"Block","src":"61023:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":20262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61073:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":20263,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20250,"src":"61108:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20264,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20252,"src":"61112:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20265,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20254,"src":"61116:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20266,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20256,"src":"61120:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61049:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61053:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61049:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61049:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20259,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"61033:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61033:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20269,"nodeType":"ExpressionStatement","src":"61033:91:30"}]},"id":20271,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60948:3:30","nodeType":"FunctionDefinition","parameters":{"id":20257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20250,"mutability":"mutable","name":"p0","nameLocation":"60960:2:30","nodeType":"VariableDeclaration","scope":20271,"src":"60952:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20249,"name":"address","nodeType":"ElementaryTypeName","src":"60952:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20252,"mutability":"mutable","name":"p1","nameLocation":"60978:2:30","nodeType":"VariableDeclaration","scope":20271,"src":"60964:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20251,"name":"string","nodeType":"ElementaryTypeName","src":"60964:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20254,"mutability":"mutable","name":"p2","nameLocation":"60996:2:30","nodeType":"VariableDeclaration","scope":20271,"src":"60982:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20253,"name":"string","nodeType":"ElementaryTypeName","src":"60982:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20256,"mutability":"mutable","name":"p3","nameLocation":"61005:2:30","nodeType":"VariableDeclaration","scope":20271,"src":"61000:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20255,"name":"bool","nodeType":"ElementaryTypeName","src":"61000:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60951:57:30"},"returnParameters":{"id":20258,"nodeType":"ParameterList","parameters":[],"src":"61023:0:30"},"scope":21215,"src":"60939:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20293,"nodeType":"Block","src":"61224:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":20285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61274:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":20286,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20273,"src":"61312:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20287,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20275,"src":"61316:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20288,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20277,"src":"61320:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20289,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20279,"src":"61324:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20283,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61250:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61254:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61250:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61250:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20282,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"61234:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61234:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20292,"nodeType":"ExpressionStatement","src":"61234:94:30"}]},"id":20294,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61146:3:30","nodeType":"FunctionDefinition","parameters":{"id":20280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20273,"mutability":"mutable","name":"p0","nameLocation":"61158:2:30","nodeType":"VariableDeclaration","scope":20294,"src":"61150:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20272,"name":"address","nodeType":"ElementaryTypeName","src":"61150:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20275,"mutability":"mutable","name":"p1","nameLocation":"61176:2:30","nodeType":"VariableDeclaration","scope":20294,"src":"61162:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20274,"name":"string","nodeType":"ElementaryTypeName","src":"61162:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20277,"mutability":"mutable","name":"p2","nameLocation":"61194:2:30","nodeType":"VariableDeclaration","scope":20294,"src":"61180:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20276,"name":"string","nodeType":"ElementaryTypeName","src":"61180:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20279,"mutability":"mutable","name":"p3","nameLocation":"61206:2:30","nodeType":"VariableDeclaration","scope":20294,"src":"61198:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20278,"name":"address","nodeType":"ElementaryTypeName","src":"61198:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61149:60:30"},"returnParameters":{"id":20281,"nodeType":"ParameterList","parameters":[],"src":"61224:0:30"},"scope":21215,"src":"61137:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20316,"nodeType":"Block","src":"61419:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":20308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61469:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":20309,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20296,"src":"61505:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20310,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20298,"src":"61509:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20311,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20300,"src":"61513:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20312,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20302,"src":"61517:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20306,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61445:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61449:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61445:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61445:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20305,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"61429:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61429:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20315,"nodeType":"ExpressionStatement","src":"61429:92:30"}]},"id":20317,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61350:3:30","nodeType":"FunctionDefinition","parameters":{"id":20303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20296,"mutability":"mutable","name":"p0","nameLocation":"61362:2:30","nodeType":"VariableDeclaration","scope":20317,"src":"61354:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20295,"name":"address","nodeType":"ElementaryTypeName","src":"61354:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20298,"mutability":"mutable","name":"p1","nameLocation":"61380:2:30","nodeType":"VariableDeclaration","scope":20317,"src":"61366:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20297,"name":"string","nodeType":"ElementaryTypeName","src":"61366:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20300,"mutability":"mutable","name":"p2","nameLocation":"61389:2:30","nodeType":"VariableDeclaration","scope":20317,"src":"61384:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20299,"name":"bool","nodeType":"ElementaryTypeName","src":"61384:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20302,"mutability":"mutable","name":"p3","nameLocation":"61401:2:30","nodeType":"VariableDeclaration","scope":20317,"src":"61393:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20301,"name":"uint256","nodeType":"ElementaryTypeName","src":"61393:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61353:51:30"},"returnParameters":{"id":20304,"nodeType":"ParameterList","parameters":[],"src":"61419:0:30"},"scope":21215,"src":"61341:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20339,"nodeType":"Block","src":"61618:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":20331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61668:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":20332,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20319,"src":"61703:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20333,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20321,"src":"61707:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20334,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20323,"src":"61711:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20335,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20325,"src":"61715:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61644:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61648:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61644:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61644:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20328,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"61628:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61628:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20338,"nodeType":"ExpressionStatement","src":"61628:91:30"}]},"id":20340,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61543:3:30","nodeType":"FunctionDefinition","parameters":{"id":20326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20319,"mutability":"mutable","name":"p0","nameLocation":"61555:2:30","nodeType":"VariableDeclaration","scope":20340,"src":"61547:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20318,"name":"address","nodeType":"ElementaryTypeName","src":"61547:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20321,"mutability":"mutable","name":"p1","nameLocation":"61573:2:30","nodeType":"VariableDeclaration","scope":20340,"src":"61559:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20320,"name":"string","nodeType":"ElementaryTypeName","src":"61559:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20323,"mutability":"mutable","name":"p2","nameLocation":"61582:2:30","nodeType":"VariableDeclaration","scope":20340,"src":"61577:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20322,"name":"bool","nodeType":"ElementaryTypeName","src":"61577:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20325,"mutability":"mutable","name":"p3","nameLocation":"61600:2:30","nodeType":"VariableDeclaration","scope":20340,"src":"61586:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20324,"name":"string","nodeType":"ElementaryTypeName","src":"61586:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61546:57:30"},"returnParameters":{"id":20327,"nodeType":"ParameterList","parameters":[],"src":"61618:0:30"},"scope":21215,"src":"61534:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20362,"nodeType":"Block","src":"61807:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":20354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61857:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":20355,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20342,"src":"61890:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20356,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20344,"src":"61894:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20357,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20346,"src":"61898:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20358,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20348,"src":"61902:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61833:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61837:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61833:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61833:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"61817:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61817:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20361,"nodeType":"ExpressionStatement","src":"61817:89:30"}]},"id":20363,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61741:3:30","nodeType":"FunctionDefinition","parameters":{"id":20349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20342,"mutability":"mutable","name":"p0","nameLocation":"61753:2:30","nodeType":"VariableDeclaration","scope":20363,"src":"61745:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20341,"name":"address","nodeType":"ElementaryTypeName","src":"61745:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20344,"mutability":"mutable","name":"p1","nameLocation":"61771:2:30","nodeType":"VariableDeclaration","scope":20363,"src":"61757:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20343,"name":"string","nodeType":"ElementaryTypeName","src":"61757:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20346,"mutability":"mutable","name":"p2","nameLocation":"61780:2:30","nodeType":"VariableDeclaration","scope":20363,"src":"61775:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20345,"name":"bool","nodeType":"ElementaryTypeName","src":"61775:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20348,"mutability":"mutable","name":"p3","nameLocation":"61789:2:30","nodeType":"VariableDeclaration","scope":20363,"src":"61784:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20347,"name":"bool","nodeType":"ElementaryTypeName","src":"61784:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61744:48:30"},"returnParameters":{"id":20350,"nodeType":"ParameterList","parameters":[],"src":"61807:0:30"},"scope":21215,"src":"61732:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20385,"nodeType":"Block","src":"61997:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":20377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62047:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":20378,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20365,"src":"62083:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20379,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20367,"src":"62087:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20380,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20369,"src":"62091:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20381,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20371,"src":"62095:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20375,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62023:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62027:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62023:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62023:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20374,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"62007:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62007:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20384,"nodeType":"ExpressionStatement","src":"62007:92:30"}]},"id":20386,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61928:3:30","nodeType":"FunctionDefinition","parameters":{"id":20372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20365,"mutability":"mutable","name":"p0","nameLocation":"61940:2:30","nodeType":"VariableDeclaration","scope":20386,"src":"61932:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20364,"name":"address","nodeType":"ElementaryTypeName","src":"61932:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20367,"mutability":"mutable","name":"p1","nameLocation":"61958:2:30","nodeType":"VariableDeclaration","scope":20386,"src":"61944:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20366,"name":"string","nodeType":"ElementaryTypeName","src":"61944:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20369,"mutability":"mutable","name":"p2","nameLocation":"61967:2:30","nodeType":"VariableDeclaration","scope":20386,"src":"61962:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20368,"name":"bool","nodeType":"ElementaryTypeName","src":"61962:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20371,"mutability":"mutable","name":"p3","nameLocation":"61979:2:30","nodeType":"VariableDeclaration","scope":20386,"src":"61971:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20370,"name":"address","nodeType":"ElementaryTypeName","src":"61971:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61931:51:30"},"returnParameters":{"id":20373,"nodeType":"ParameterList","parameters":[],"src":"61997:0:30"},"scope":21215,"src":"61919:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20408,"nodeType":"Block","src":"62193:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":20400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62243:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":20401,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20388,"src":"62282:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20402,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20390,"src":"62286:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20403,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20392,"src":"62290:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20404,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20394,"src":"62294:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62219:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62223:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62219:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62219:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"62203:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62203:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20407,"nodeType":"ExpressionStatement","src":"62203:95:30"}]},"id":20409,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62121:3:30","nodeType":"FunctionDefinition","parameters":{"id":20395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20388,"mutability":"mutable","name":"p0","nameLocation":"62133:2:30","nodeType":"VariableDeclaration","scope":20409,"src":"62125:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20387,"name":"address","nodeType":"ElementaryTypeName","src":"62125:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20390,"mutability":"mutable","name":"p1","nameLocation":"62151:2:30","nodeType":"VariableDeclaration","scope":20409,"src":"62137:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20389,"name":"string","nodeType":"ElementaryTypeName","src":"62137:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20392,"mutability":"mutable","name":"p2","nameLocation":"62163:2:30","nodeType":"VariableDeclaration","scope":20409,"src":"62155:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20391,"name":"address","nodeType":"ElementaryTypeName","src":"62155:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20394,"mutability":"mutable","name":"p3","nameLocation":"62175:2:30","nodeType":"VariableDeclaration","scope":20409,"src":"62167:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20393,"name":"uint256","nodeType":"ElementaryTypeName","src":"62167:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62124:54:30"},"returnParameters":{"id":20396,"nodeType":"ParameterList","parameters":[],"src":"62193:0:30"},"scope":21215,"src":"62112:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20431,"nodeType":"Block","src":"62398:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":20423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62448:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":20424,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20411,"src":"62486:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20425,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20413,"src":"62490:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20426,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20415,"src":"62494:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20427,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20417,"src":"62498:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62424:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62428:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62424:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62424:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20420,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"62408:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62408:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20430,"nodeType":"ExpressionStatement","src":"62408:94:30"}]},"id":20432,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62320:3:30","nodeType":"FunctionDefinition","parameters":{"id":20418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20411,"mutability":"mutable","name":"p0","nameLocation":"62332:2:30","nodeType":"VariableDeclaration","scope":20432,"src":"62324:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20410,"name":"address","nodeType":"ElementaryTypeName","src":"62324:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20413,"mutability":"mutable","name":"p1","nameLocation":"62350:2:30","nodeType":"VariableDeclaration","scope":20432,"src":"62336:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20412,"name":"string","nodeType":"ElementaryTypeName","src":"62336:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20415,"mutability":"mutable","name":"p2","nameLocation":"62362:2:30","nodeType":"VariableDeclaration","scope":20432,"src":"62354:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20414,"name":"address","nodeType":"ElementaryTypeName","src":"62354:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20417,"mutability":"mutable","name":"p3","nameLocation":"62380:2:30","nodeType":"VariableDeclaration","scope":20432,"src":"62366:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20416,"name":"string","nodeType":"ElementaryTypeName","src":"62366:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62323:60:30"},"returnParameters":{"id":20419,"nodeType":"ParameterList","parameters":[],"src":"62398:0:30"},"scope":21215,"src":"62311:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20454,"nodeType":"Block","src":"62593:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":20446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62643:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":20447,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20434,"src":"62679:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20448,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20436,"src":"62683:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20449,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20438,"src":"62687:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20450,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20440,"src":"62691:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20444,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62619:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62623:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62619:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62619:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20443,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"62603:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62603:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20453,"nodeType":"ExpressionStatement","src":"62603:92:30"}]},"id":20455,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62524:3:30","nodeType":"FunctionDefinition","parameters":{"id":20441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20434,"mutability":"mutable","name":"p0","nameLocation":"62536:2:30","nodeType":"VariableDeclaration","scope":20455,"src":"62528:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20433,"name":"address","nodeType":"ElementaryTypeName","src":"62528:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20436,"mutability":"mutable","name":"p1","nameLocation":"62554:2:30","nodeType":"VariableDeclaration","scope":20455,"src":"62540:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20435,"name":"string","nodeType":"ElementaryTypeName","src":"62540:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20438,"mutability":"mutable","name":"p2","nameLocation":"62566:2:30","nodeType":"VariableDeclaration","scope":20455,"src":"62558:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20437,"name":"address","nodeType":"ElementaryTypeName","src":"62558:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20440,"mutability":"mutable","name":"p3","nameLocation":"62575:2:30","nodeType":"VariableDeclaration","scope":20455,"src":"62570:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20439,"name":"bool","nodeType":"ElementaryTypeName","src":"62570:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62527:51:30"},"returnParameters":{"id":20442,"nodeType":"ParameterList","parameters":[],"src":"62593:0:30"},"scope":21215,"src":"62515:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20477,"nodeType":"Block","src":"62789:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":20469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62839:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":20470,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20457,"src":"62878:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20471,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20459,"src":"62882:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20472,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20461,"src":"62886:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20473,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20463,"src":"62890:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20467,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62815:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62819:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62815:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62815:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20466,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"62799:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62799:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20476,"nodeType":"ExpressionStatement","src":"62799:95:30"}]},"id":20478,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62717:3:30","nodeType":"FunctionDefinition","parameters":{"id":20464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20457,"mutability":"mutable","name":"p0","nameLocation":"62729:2:30","nodeType":"VariableDeclaration","scope":20478,"src":"62721:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20456,"name":"address","nodeType":"ElementaryTypeName","src":"62721:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20459,"mutability":"mutable","name":"p1","nameLocation":"62747:2:30","nodeType":"VariableDeclaration","scope":20478,"src":"62733:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20458,"name":"string","nodeType":"ElementaryTypeName","src":"62733:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20461,"mutability":"mutable","name":"p2","nameLocation":"62759:2:30","nodeType":"VariableDeclaration","scope":20478,"src":"62751:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20460,"name":"address","nodeType":"ElementaryTypeName","src":"62751:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20463,"mutability":"mutable","name":"p3","nameLocation":"62771:2:30","nodeType":"VariableDeclaration","scope":20478,"src":"62763:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20462,"name":"address","nodeType":"ElementaryTypeName","src":"62763:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62720:54:30"},"returnParameters":{"id":20465,"nodeType":"ParameterList","parameters":[],"src":"62789:0:30"},"scope":21215,"src":"62708:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20500,"nodeType":"Block","src":"62979:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":20492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63029:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":20493,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20480,"src":"63066:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20494,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20482,"src":"63070:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20495,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20484,"src":"63074:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20496,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20486,"src":"63078:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20490,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63005:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63009:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63005:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63005:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20489,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"62989:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62989:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20499,"nodeType":"ExpressionStatement","src":"62989:93:30"}]},"id":20501,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62916:3:30","nodeType":"FunctionDefinition","parameters":{"id":20487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20480,"mutability":"mutable","name":"p0","nameLocation":"62928:2:30","nodeType":"VariableDeclaration","scope":20501,"src":"62920:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20479,"name":"address","nodeType":"ElementaryTypeName","src":"62920:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20482,"mutability":"mutable","name":"p1","nameLocation":"62937:2:30","nodeType":"VariableDeclaration","scope":20501,"src":"62932:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20481,"name":"bool","nodeType":"ElementaryTypeName","src":"62932:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20484,"mutability":"mutable","name":"p2","nameLocation":"62949:2:30","nodeType":"VariableDeclaration","scope":20501,"src":"62941:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20483,"name":"uint256","nodeType":"ElementaryTypeName","src":"62941:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20486,"mutability":"mutable","name":"p3","nameLocation":"62961:2:30","nodeType":"VariableDeclaration","scope":20501,"src":"62953:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20485,"name":"uint256","nodeType":"ElementaryTypeName","src":"62953:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62919:45:30"},"returnParameters":{"id":20488,"nodeType":"ParameterList","parameters":[],"src":"62979:0:30"},"scope":21215,"src":"62907:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20523,"nodeType":"Block","src":"63173:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":20515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63223:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":20516,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20503,"src":"63259:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20517,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20505,"src":"63263:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20518,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20507,"src":"63267:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20519,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20509,"src":"63271:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20513,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63199:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63203:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63199:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63199:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20512,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"63183:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63183:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20522,"nodeType":"ExpressionStatement","src":"63183:92:30"}]},"id":20524,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63104:3:30","nodeType":"FunctionDefinition","parameters":{"id":20510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20503,"mutability":"mutable","name":"p0","nameLocation":"63116:2:30","nodeType":"VariableDeclaration","scope":20524,"src":"63108:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20502,"name":"address","nodeType":"ElementaryTypeName","src":"63108:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20505,"mutability":"mutable","name":"p1","nameLocation":"63125:2:30","nodeType":"VariableDeclaration","scope":20524,"src":"63120:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20504,"name":"bool","nodeType":"ElementaryTypeName","src":"63120:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20507,"mutability":"mutable","name":"p2","nameLocation":"63137:2:30","nodeType":"VariableDeclaration","scope":20524,"src":"63129:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20506,"name":"uint256","nodeType":"ElementaryTypeName","src":"63129:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20509,"mutability":"mutable","name":"p3","nameLocation":"63155:2:30","nodeType":"VariableDeclaration","scope":20524,"src":"63141:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20508,"name":"string","nodeType":"ElementaryTypeName","src":"63141:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63107:51:30"},"returnParameters":{"id":20511,"nodeType":"ParameterList","parameters":[],"src":"63173:0:30"},"scope":21215,"src":"63095:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20546,"nodeType":"Block","src":"63357:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":20538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63407:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":20539,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20526,"src":"63441:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20540,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20528,"src":"63445:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20541,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20530,"src":"63449:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20542,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20532,"src":"63453:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63383:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63387:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63383:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63383:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"63367:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63367:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20545,"nodeType":"ExpressionStatement","src":"63367:90:30"}]},"id":20547,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63297:3:30","nodeType":"FunctionDefinition","parameters":{"id":20533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20526,"mutability":"mutable","name":"p0","nameLocation":"63309:2:30","nodeType":"VariableDeclaration","scope":20547,"src":"63301:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20525,"name":"address","nodeType":"ElementaryTypeName","src":"63301:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20528,"mutability":"mutable","name":"p1","nameLocation":"63318:2:30","nodeType":"VariableDeclaration","scope":20547,"src":"63313:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20527,"name":"bool","nodeType":"ElementaryTypeName","src":"63313:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20530,"mutability":"mutable","name":"p2","nameLocation":"63330:2:30","nodeType":"VariableDeclaration","scope":20547,"src":"63322:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20529,"name":"uint256","nodeType":"ElementaryTypeName","src":"63322:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20532,"mutability":"mutable","name":"p3","nameLocation":"63339:2:30","nodeType":"VariableDeclaration","scope":20547,"src":"63334:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20531,"name":"bool","nodeType":"ElementaryTypeName","src":"63334:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63300:42:30"},"returnParameters":{"id":20534,"nodeType":"ParameterList","parameters":[],"src":"63357:0:30"},"scope":21215,"src":"63288:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20569,"nodeType":"Block","src":"63542:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":20561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63592:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":20562,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20549,"src":"63629:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20563,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20551,"src":"63633:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20564,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20553,"src":"63637:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20565,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20555,"src":"63641:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20559,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63568:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63572:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63568:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63568:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"63552:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63552:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20568,"nodeType":"ExpressionStatement","src":"63552:93:30"}]},"id":20570,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63479:3:30","nodeType":"FunctionDefinition","parameters":{"id":20556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20549,"mutability":"mutable","name":"p0","nameLocation":"63491:2:30","nodeType":"VariableDeclaration","scope":20570,"src":"63483:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20548,"name":"address","nodeType":"ElementaryTypeName","src":"63483:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20551,"mutability":"mutable","name":"p1","nameLocation":"63500:2:30","nodeType":"VariableDeclaration","scope":20570,"src":"63495:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20550,"name":"bool","nodeType":"ElementaryTypeName","src":"63495:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20553,"mutability":"mutable","name":"p2","nameLocation":"63512:2:30","nodeType":"VariableDeclaration","scope":20570,"src":"63504:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20552,"name":"uint256","nodeType":"ElementaryTypeName","src":"63504:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20555,"mutability":"mutable","name":"p3","nameLocation":"63524:2:30","nodeType":"VariableDeclaration","scope":20570,"src":"63516:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20554,"name":"address","nodeType":"ElementaryTypeName","src":"63516:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63482:45:30"},"returnParameters":{"id":20557,"nodeType":"ParameterList","parameters":[],"src":"63542:0:30"},"scope":21215,"src":"63470:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20592,"nodeType":"Block","src":"63736:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":20584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63786:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":20585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20572,"src":"63822:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20586,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20574,"src":"63826:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20587,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20576,"src":"63830:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20588,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20578,"src":"63834:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63762:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63766:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63762:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63762:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"63746:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63746:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20591,"nodeType":"ExpressionStatement","src":"63746:92:30"}]},"id":20593,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63667:3:30","nodeType":"FunctionDefinition","parameters":{"id":20579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20572,"mutability":"mutable","name":"p0","nameLocation":"63679:2:30","nodeType":"VariableDeclaration","scope":20593,"src":"63671:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20571,"name":"address","nodeType":"ElementaryTypeName","src":"63671:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20574,"mutability":"mutable","name":"p1","nameLocation":"63688:2:30","nodeType":"VariableDeclaration","scope":20593,"src":"63683:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20573,"name":"bool","nodeType":"ElementaryTypeName","src":"63683:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20576,"mutability":"mutable","name":"p2","nameLocation":"63706:2:30","nodeType":"VariableDeclaration","scope":20593,"src":"63692:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20575,"name":"string","nodeType":"ElementaryTypeName","src":"63692:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20578,"mutability":"mutable","name":"p3","nameLocation":"63718:2:30","nodeType":"VariableDeclaration","scope":20593,"src":"63710:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20577,"name":"uint256","nodeType":"ElementaryTypeName","src":"63710:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63670:51:30"},"returnParameters":{"id":20580,"nodeType":"ParameterList","parameters":[],"src":"63736:0:30"},"scope":21215,"src":"63658:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20615,"nodeType":"Block","src":"63935:108:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":20607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63985:33:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":20608,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20595,"src":"64020:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20609,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20597,"src":"64024:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20610,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20599,"src":"64028:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20611,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20601,"src":"64032:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63961:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63965:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63961:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63961:74:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"63945:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63945:91:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20614,"nodeType":"ExpressionStatement","src":"63945:91:30"}]},"id":20616,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63860:3:30","nodeType":"FunctionDefinition","parameters":{"id":20602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20595,"mutability":"mutable","name":"p0","nameLocation":"63872:2:30","nodeType":"VariableDeclaration","scope":20616,"src":"63864:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20594,"name":"address","nodeType":"ElementaryTypeName","src":"63864:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20597,"mutability":"mutable","name":"p1","nameLocation":"63881:2:30","nodeType":"VariableDeclaration","scope":20616,"src":"63876:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20596,"name":"bool","nodeType":"ElementaryTypeName","src":"63876:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20599,"mutability":"mutable","name":"p2","nameLocation":"63899:2:30","nodeType":"VariableDeclaration","scope":20616,"src":"63885:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20598,"name":"string","nodeType":"ElementaryTypeName","src":"63885:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20601,"mutability":"mutable","name":"p3","nameLocation":"63917:2:30","nodeType":"VariableDeclaration","scope":20616,"src":"63903:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20600,"name":"string","nodeType":"ElementaryTypeName","src":"63903:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63863:57:30"},"returnParameters":{"id":20603,"nodeType":"ParameterList","parameters":[],"src":"63935:0:30"},"scope":21215,"src":"63851:192:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20638,"nodeType":"Block","src":"64124:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":20630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64174:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":20631,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20618,"src":"64207:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20632,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20620,"src":"64211:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20633,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20622,"src":"64215:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20634,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20624,"src":"64219:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64150:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64154:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64150:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64150:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20627,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"64134:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64134:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20637,"nodeType":"ExpressionStatement","src":"64134:89:30"}]},"id":20639,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64058:3:30","nodeType":"FunctionDefinition","parameters":{"id":20625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20618,"mutability":"mutable","name":"p0","nameLocation":"64070:2:30","nodeType":"VariableDeclaration","scope":20639,"src":"64062:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20617,"name":"address","nodeType":"ElementaryTypeName","src":"64062:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20620,"mutability":"mutable","name":"p1","nameLocation":"64079:2:30","nodeType":"VariableDeclaration","scope":20639,"src":"64074:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20619,"name":"bool","nodeType":"ElementaryTypeName","src":"64074:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20622,"mutability":"mutable","name":"p2","nameLocation":"64097:2:30","nodeType":"VariableDeclaration","scope":20639,"src":"64083:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20621,"name":"string","nodeType":"ElementaryTypeName","src":"64083:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20624,"mutability":"mutable","name":"p3","nameLocation":"64106:2:30","nodeType":"VariableDeclaration","scope":20639,"src":"64101:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20623,"name":"bool","nodeType":"ElementaryTypeName","src":"64101:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64061:48:30"},"returnParameters":{"id":20626,"nodeType":"ParameterList","parameters":[],"src":"64124:0:30"},"scope":21215,"src":"64049:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20661,"nodeType":"Block","src":"64314:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":20653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64364:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":20654,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20641,"src":"64400:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20655,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20643,"src":"64404:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20656,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20645,"src":"64408:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20657,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20647,"src":"64412:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64340:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64344:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64340:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64340:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20650,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"64324:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64324:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20660,"nodeType":"ExpressionStatement","src":"64324:92:30"}]},"id":20662,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64245:3:30","nodeType":"FunctionDefinition","parameters":{"id":20648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20641,"mutability":"mutable","name":"p0","nameLocation":"64257:2:30","nodeType":"VariableDeclaration","scope":20662,"src":"64249:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20640,"name":"address","nodeType":"ElementaryTypeName","src":"64249:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20643,"mutability":"mutable","name":"p1","nameLocation":"64266:2:30","nodeType":"VariableDeclaration","scope":20662,"src":"64261:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20642,"name":"bool","nodeType":"ElementaryTypeName","src":"64261:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20645,"mutability":"mutable","name":"p2","nameLocation":"64284:2:30","nodeType":"VariableDeclaration","scope":20662,"src":"64270:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20644,"name":"string","nodeType":"ElementaryTypeName","src":"64270:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20647,"mutability":"mutable","name":"p3","nameLocation":"64296:2:30","nodeType":"VariableDeclaration","scope":20662,"src":"64288:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20646,"name":"address","nodeType":"ElementaryTypeName","src":"64288:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64248:51:30"},"returnParameters":{"id":20649,"nodeType":"ParameterList","parameters":[],"src":"64314:0:30"},"scope":21215,"src":"64236:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20684,"nodeType":"Block","src":"64498:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":20676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64548:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":20677,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20664,"src":"64582:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20678,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20666,"src":"64586:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20679,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20668,"src":"64590:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20680,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20670,"src":"64594:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20674,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64524:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64528:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64524:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64524:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20673,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"64508:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64508:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20683,"nodeType":"ExpressionStatement","src":"64508:90:30"}]},"id":20685,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64438:3:30","nodeType":"FunctionDefinition","parameters":{"id":20671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20664,"mutability":"mutable","name":"p0","nameLocation":"64450:2:30","nodeType":"VariableDeclaration","scope":20685,"src":"64442:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20663,"name":"address","nodeType":"ElementaryTypeName","src":"64442:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20666,"mutability":"mutable","name":"p1","nameLocation":"64459:2:30","nodeType":"VariableDeclaration","scope":20685,"src":"64454:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20665,"name":"bool","nodeType":"ElementaryTypeName","src":"64454:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20668,"mutability":"mutable","name":"p2","nameLocation":"64468:2:30","nodeType":"VariableDeclaration","scope":20685,"src":"64463:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20667,"name":"bool","nodeType":"ElementaryTypeName","src":"64463:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20670,"mutability":"mutable","name":"p3","nameLocation":"64480:2:30","nodeType":"VariableDeclaration","scope":20685,"src":"64472:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20669,"name":"uint256","nodeType":"ElementaryTypeName","src":"64472:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64441:42:30"},"returnParameters":{"id":20672,"nodeType":"ParameterList","parameters":[],"src":"64498:0:30"},"scope":21215,"src":"64429:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20707,"nodeType":"Block","src":"64686:106:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":20699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64736:31:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":20700,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20687,"src":"64769:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20701,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20689,"src":"64773:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20702,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20691,"src":"64777:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20703,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20693,"src":"64781:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64712:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64716:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64712:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64712:72:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20696,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"64696:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64696:89:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20706,"nodeType":"ExpressionStatement","src":"64696:89:30"}]},"id":20708,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64620:3:30","nodeType":"FunctionDefinition","parameters":{"id":20694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20687,"mutability":"mutable","name":"p0","nameLocation":"64632:2:30","nodeType":"VariableDeclaration","scope":20708,"src":"64624:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20686,"name":"address","nodeType":"ElementaryTypeName","src":"64624:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20689,"mutability":"mutable","name":"p1","nameLocation":"64641:2:30","nodeType":"VariableDeclaration","scope":20708,"src":"64636:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20688,"name":"bool","nodeType":"ElementaryTypeName","src":"64636:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20691,"mutability":"mutable","name":"p2","nameLocation":"64650:2:30","nodeType":"VariableDeclaration","scope":20708,"src":"64645:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20690,"name":"bool","nodeType":"ElementaryTypeName","src":"64645:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20693,"mutability":"mutable","name":"p3","nameLocation":"64668:2:30","nodeType":"VariableDeclaration","scope":20708,"src":"64654:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20692,"name":"string","nodeType":"ElementaryTypeName","src":"64654:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64623:48:30"},"returnParameters":{"id":20695,"nodeType":"ParameterList","parameters":[],"src":"64686:0:30"},"scope":21215,"src":"64611:181:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20730,"nodeType":"Block","src":"64864:104:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":20722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64914:29:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":20723,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20710,"src":"64945:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20724,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20712,"src":"64949:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20725,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20714,"src":"64953:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20726,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20716,"src":"64957:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20720,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64890:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64894:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64890:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64890:70:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20719,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"64874:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64874:87:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20729,"nodeType":"ExpressionStatement","src":"64874:87:30"}]},"id":20731,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64807:3:30","nodeType":"FunctionDefinition","parameters":{"id":20717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20710,"mutability":"mutable","name":"p0","nameLocation":"64819:2:30","nodeType":"VariableDeclaration","scope":20731,"src":"64811:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20709,"name":"address","nodeType":"ElementaryTypeName","src":"64811:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20712,"mutability":"mutable","name":"p1","nameLocation":"64828:2:30","nodeType":"VariableDeclaration","scope":20731,"src":"64823:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20711,"name":"bool","nodeType":"ElementaryTypeName","src":"64823:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20714,"mutability":"mutable","name":"p2","nameLocation":"64837:2:30","nodeType":"VariableDeclaration","scope":20731,"src":"64832:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20713,"name":"bool","nodeType":"ElementaryTypeName","src":"64832:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20716,"mutability":"mutable","name":"p3","nameLocation":"64846:2:30","nodeType":"VariableDeclaration","scope":20731,"src":"64841:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20715,"name":"bool","nodeType":"ElementaryTypeName","src":"64841:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64810:39:30"},"returnParameters":{"id":20718,"nodeType":"ParameterList","parameters":[],"src":"64864:0:30"},"scope":21215,"src":"64798:170:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20753,"nodeType":"Block","src":"65043:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":20745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65093:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":20746,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20733,"src":"65127:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20747,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20735,"src":"65131:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20748,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20737,"src":"65135:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20749,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20739,"src":"65139:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20743,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65069:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65073:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65069:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65069:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20742,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"65053:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65053:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20752,"nodeType":"ExpressionStatement","src":"65053:90:30"}]},"id":20754,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64983:3:30","nodeType":"FunctionDefinition","parameters":{"id":20740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20733,"mutability":"mutable","name":"p0","nameLocation":"64995:2:30","nodeType":"VariableDeclaration","scope":20754,"src":"64987:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20732,"name":"address","nodeType":"ElementaryTypeName","src":"64987:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20735,"mutability":"mutable","name":"p1","nameLocation":"65004:2:30","nodeType":"VariableDeclaration","scope":20754,"src":"64999:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20734,"name":"bool","nodeType":"ElementaryTypeName","src":"64999:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20737,"mutability":"mutable","name":"p2","nameLocation":"65013:2:30","nodeType":"VariableDeclaration","scope":20754,"src":"65008:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20736,"name":"bool","nodeType":"ElementaryTypeName","src":"65008:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20739,"mutability":"mutable","name":"p3","nameLocation":"65025:2:30","nodeType":"VariableDeclaration","scope":20754,"src":"65017:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20738,"name":"address","nodeType":"ElementaryTypeName","src":"65017:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64986:42:30"},"returnParameters":{"id":20741,"nodeType":"ParameterList","parameters":[],"src":"65043:0:30"},"scope":21215,"src":"64974:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20776,"nodeType":"Block","src":"65228:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":20768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65278:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":20769,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20756,"src":"65315:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20770,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20758,"src":"65319:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20771,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20760,"src":"65323:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20772,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20762,"src":"65327:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65254:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65258:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65254:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65254:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20765,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"65238:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65238:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20775,"nodeType":"ExpressionStatement","src":"65238:93:30"}]},"id":20777,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65165:3:30","nodeType":"FunctionDefinition","parameters":{"id":20763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20756,"mutability":"mutable","name":"p0","nameLocation":"65177:2:30","nodeType":"VariableDeclaration","scope":20777,"src":"65169:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20755,"name":"address","nodeType":"ElementaryTypeName","src":"65169:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20758,"mutability":"mutable","name":"p1","nameLocation":"65186:2:30","nodeType":"VariableDeclaration","scope":20777,"src":"65181:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20757,"name":"bool","nodeType":"ElementaryTypeName","src":"65181:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20760,"mutability":"mutable","name":"p2","nameLocation":"65198:2:30","nodeType":"VariableDeclaration","scope":20777,"src":"65190:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20759,"name":"address","nodeType":"ElementaryTypeName","src":"65190:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20762,"mutability":"mutable","name":"p3","nameLocation":"65210:2:30","nodeType":"VariableDeclaration","scope":20777,"src":"65202:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20761,"name":"uint256","nodeType":"ElementaryTypeName","src":"65202:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65168:45:30"},"returnParameters":{"id":20764,"nodeType":"ParameterList","parameters":[],"src":"65228:0:30"},"scope":21215,"src":"65156:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20799,"nodeType":"Block","src":"65422:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":20791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65472:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":20792,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20779,"src":"65508:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20793,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20781,"src":"65512:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20794,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20783,"src":"65516:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20795,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20785,"src":"65520:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20789,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65448:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65452:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65448:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65448:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20788,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"65432:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65432:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20798,"nodeType":"ExpressionStatement","src":"65432:92:30"}]},"id":20800,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65353:3:30","nodeType":"FunctionDefinition","parameters":{"id":20786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20779,"mutability":"mutable","name":"p0","nameLocation":"65365:2:30","nodeType":"VariableDeclaration","scope":20800,"src":"65357:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20778,"name":"address","nodeType":"ElementaryTypeName","src":"65357:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20781,"mutability":"mutable","name":"p1","nameLocation":"65374:2:30","nodeType":"VariableDeclaration","scope":20800,"src":"65369:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20780,"name":"bool","nodeType":"ElementaryTypeName","src":"65369:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20783,"mutability":"mutable","name":"p2","nameLocation":"65386:2:30","nodeType":"VariableDeclaration","scope":20800,"src":"65378:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20782,"name":"address","nodeType":"ElementaryTypeName","src":"65378:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20785,"mutability":"mutable","name":"p3","nameLocation":"65404:2:30","nodeType":"VariableDeclaration","scope":20800,"src":"65390:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20784,"name":"string","nodeType":"ElementaryTypeName","src":"65390:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65356:51:30"},"returnParameters":{"id":20787,"nodeType":"ParameterList","parameters":[],"src":"65422:0:30"},"scope":21215,"src":"65344:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20822,"nodeType":"Block","src":"65606:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":20814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65656:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":20815,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20802,"src":"65690:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20816,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20804,"src":"65694:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20817,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20806,"src":"65698:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20818,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20808,"src":"65702:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20812,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65632:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65636:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65632:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65632:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20811,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"65616:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65616:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20821,"nodeType":"ExpressionStatement","src":"65616:90:30"}]},"id":20823,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65546:3:30","nodeType":"FunctionDefinition","parameters":{"id":20809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20802,"mutability":"mutable","name":"p0","nameLocation":"65558:2:30","nodeType":"VariableDeclaration","scope":20823,"src":"65550:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20801,"name":"address","nodeType":"ElementaryTypeName","src":"65550:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20804,"mutability":"mutable","name":"p1","nameLocation":"65567:2:30","nodeType":"VariableDeclaration","scope":20823,"src":"65562:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20803,"name":"bool","nodeType":"ElementaryTypeName","src":"65562:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20806,"mutability":"mutable","name":"p2","nameLocation":"65579:2:30","nodeType":"VariableDeclaration","scope":20823,"src":"65571:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20805,"name":"address","nodeType":"ElementaryTypeName","src":"65571:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20808,"mutability":"mutable","name":"p3","nameLocation":"65588:2:30","nodeType":"VariableDeclaration","scope":20823,"src":"65583:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20807,"name":"bool","nodeType":"ElementaryTypeName","src":"65583:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65549:42:30"},"returnParameters":{"id":20810,"nodeType":"ParameterList","parameters":[],"src":"65606:0:30"},"scope":21215,"src":"65537:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20845,"nodeType":"Block","src":"65791:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":20837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65841:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":20838,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20825,"src":"65878:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20839,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20827,"src":"65882:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20840,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20829,"src":"65886:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20841,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20831,"src":"65890:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20835,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65817:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65821:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65817:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65817:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20834,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"65801:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65801:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20844,"nodeType":"ExpressionStatement","src":"65801:93:30"}]},"id":20846,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65728:3:30","nodeType":"FunctionDefinition","parameters":{"id":20832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20825,"mutability":"mutable","name":"p0","nameLocation":"65740:2:30","nodeType":"VariableDeclaration","scope":20846,"src":"65732:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20824,"name":"address","nodeType":"ElementaryTypeName","src":"65732:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20827,"mutability":"mutable","name":"p1","nameLocation":"65749:2:30","nodeType":"VariableDeclaration","scope":20846,"src":"65744:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20826,"name":"bool","nodeType":"ElementaryTypeName","src":"65744:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20829,"mutability":"mutable","name":"p2","nameLocation":"65761:2:30","nodeType":"VariableDeclaration","scope":20846,"src":"65753:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20828,"name":"address","nodeType":"ElementaryTypeName","src":"65753:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20831,"mutability":"mutable","name":"p3","nameLocation":"65773:2:30","nodeType":"VariableDeclaration","scope":20846,"src":"65765:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20830,"name":"address","nodeType":"ElementaryTypeName","src":"65765:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65731:45:30"},"returnParameters":{"id":20833,"nodeType":"ParameterList","parameters":[],"src":"65791:0:30"},"scope":21215,"src":"65719:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20868,"nodeType":"Block","src":"65982:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":20860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66032:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":20861,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20848,"src":"66072:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20862,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20850,"src":"66076:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20863,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20852,"src":"66080:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20864,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20854,"src":"66084:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66008:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66012:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66008:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66008:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"65992:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65992:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20867,"nodeType":"ExpressionStatement","src":"65992:96:30"}]},"id":20869,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65916:3:30","nodeType":"FunctionDefinition","parameters":{"id":20855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20848,"mutability":"mutable","name":"p0","nameLocation":"65928:2:30","nodeType":"VariableDeclaration","scope":20869,"src":"65920:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20847,"name":"address","nodeType":"ElementaryTypeName","src":"65920:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20850,"mutability":"mutable","name":"p1","nameLocation":"65940:2:30","nodeType":"VariableDeclaration","scope":20869,"src":"65932:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20849,"name":"address","nodeType":"ElementaryTypeName","src":"65932:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20852,"mutability":"mutable","name":"p2","nameLocation":"65952:2:30","nodeType":"VariableDeclaration","scope":20869,"src":"65944:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20851,"name":"uint256","nodeType":"ElementaryTypeName","src":"65944:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20854,"mutability":"mutable","name":"p3","nameLocation":"65964:2:30","nodeType":"VariableDeclaration","scope":20869,"src":"65956:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20853,"name":"uint256","nodeType":"ElementaryTypeName","src":"65956:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65919:48:30"},"returnParameters":{"id":20856,"nodeType":"ParameterList","parameters":[],"src":"65982:0:30"},"scope":21215,"src":"65907:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20891,"nodeType":"Block","src":"66182:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":20883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66232:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":20884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20871,"src":"66271:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20885,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20873,"src":"66275:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20886,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20875,"src":"66279:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20887,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20877,"src":"66283:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66208:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66212:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66208:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66208:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"66192:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66192:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20890,"nodeType":"ExpressionStatement","src":"66192:95:30"}]},"id":20892,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66110:3:30","nodeType":"FunctionDefinition","parameters":{"id":20878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20871,"mutability":"mutable","name":"p0","nameLocation":"66122:2:30","nodeType":"VariableDeclaration","scope":20892,"src":"66114:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20870,"name":"address","nodeType":"ElementaryTypeName","src":"66114:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20873,"mutability":"mutable","name":"p1","nameLocation":"66134:2:30","nodeType":"VariableDeclaration","scope":20892,"src":"66126:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20872,"name":"address","nodeType":"ElementaryTypeName","src":"66126:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20875,"mutability":"mutable","name":"p2","nameLocation":"66146:2:30","nodeType":"VariableDeclaration","scope":20892,"src":"66138:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20874,"name":"uint256","nodeType":"ElementaryTypeName","src":"66138:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20877,"mutability":"mutable","name":"p3","nameLocation":"66164:2:30","nodeType":"VariableDeclaration","scope":20892,"src":"66150:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20876,"name":"string","nodeType":"ElementaryTypeName","src":"66150:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66113:54:30"},"returnParameters":{"id":20879,"nodeType":"ParameterList","parameters":[],"src":"66182:0:30"},"scope":21215,"src":"66101:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20914,"nodeType":"Block","src":"66372:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":20906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66422:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":20907,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20894,"src":"66459:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20908,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20896,"src":"66463:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20909,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20898,"src":"66467:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20910,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20900,"src":"66471:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66398:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66402:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66398:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66398:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20903,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"66382:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66382:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20913,"nodeType":"ExpressionStatement","src":"66382:93:30"}]},"id":20915,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66309:3:30","nodeType":"FunctionDefinition","parameters":{"id":20901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20894,"mutability":"mutable","name":"p0","nameLocation":"66321:2:30","nodeType":"VariableDeclaration","scope":20915,"src":"66313:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20893,"name":"address","nodeType":"ElementaryTypeName","src":"66313:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20896,"mutability":"mutable","name":"p1","nameLocation":"66333:2:30","nodeType":"VariableDeclaration","scope":20915,"src":"66325:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20895,"name":"address","nodeType":"ElementaryTypeName","src":"66325:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20898,"mutability":"mutable","name":"p2","nameLocation":"66345:2:30","nodeType":"VariableDeclaration","scope":20915,"src":"66337:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20897,"name":"uint256","nodeType":"ElementaryTypeName","src":"66337:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20900,"mutability":"mutable","name":"p3","nameLocation":"66354:2:30","nodeType":"VariableDeclaration","scope":20915,"src":"66349:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20899,"name":"bool","nodeType":"ElementaryTypeName","src":"66349:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66312:45:30"},"returnParameters":{"id":20902,"nodeType":"ParameterList","parameters":[],"src":"66372:0:30"},"scope":21215,"src":"66300:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20937,"nodeType":"Block","src":"66563:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":20929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66613:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":20930,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20917,"src":"66653:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20931,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20919,"src":"66657:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20932,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20921,"src":"66661:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20933,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20923,"src":"66665:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20927,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66589:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66593:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66589:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66589:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20926,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"66573:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66573:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20936,"nodeType":"ExpressionStatement","src":"66573:96:30"}]},"id":20938,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66497:3:30","nodeType":"FunctionDefinition","parameters":{"id":20924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20917,"mutability":"mutable","name":"p0","nameLocation":"66509:2:30","nodeType":"VariableDeclaration","scope":20938,"src":"66501:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20916,"name":"address","nodeType":"ElementaryTypeName","src":"66501:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20919,"mutability":"mutable","name":"p1","nameLocation":"66521:2:30","nodeType":"VariableDeclaration","scope":20938,"src":"66513:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20918,"name":"address","nodeType":"ElementaryTypeName","src":"66513:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20921,"mutability":"mutable","name":"p2","nameLocation":"66533:2:30","nodeType":"VariableDeclaration","scope":20938,"src":"66525:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20920,"name":"uint256","nodeType":"ElementaryTypeName","src":"66525:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20923,"mutability":"mutable","name":"p3","nameLocation":"66545:2:30","nodeType":"VariableDeclaration","scope":20938,"src":"66537:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20922,"name":"address","nodeType":"ElementaryTypeName","src":"66537:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66500:48:30"},"returnParameters":{"id":20925,"nodeType":"ParameterList","parameters":[],"src":"66563:0:30"},"scope":21215,"src":"66488:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20960,"nodeType":"Block","src":"66763:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":20952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66813:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":20953,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20940,"src":"66852:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20954,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20942,"src":"66856:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20955,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20944,"src":"66860:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20956,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20946,"src":"66864:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20950,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66789:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66793:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66789:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66789:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20949,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"66773:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66773:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20959,"nodeType":"ExpressionStatement","src":"66773:95:30"}]},"id":20961,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66691:3:30","nodeType":"FunctionDefinition","parameters":{"id":20947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20940,"mutability":"mutable","name":"p0","nameLocation":"66703:2:30","nodeType":"VariableDeclaration","scope":20961,"src":"66695:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20939,"name":"address","nodeType":"ElementaryTypeName","src":"66695:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20942,"mutability":"mutable","name":"p1","nameLocation":"66715:2:30","nodeType":"VariableDeclaration","scope":20961,"src":"66707:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20941,"name":"address","nodeType":"ElementaryTypeName","src":"66707:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20944,"mutability":"mutable","name":"p2","nameLocation":"66733:2:30","nodeType":"VariableDeclaration","scope":20961,"src":"66719:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20943,"name":"string","nodeType":"ElementaryTypeName","src":"66719:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20946,"mutability":"mutable","name":"p3","nameLocation":"66745:2:30","nodeType":"VariableDeclaration","scope":20961,"src":"66737:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20945,"name":"uint256","nodeType":"ElementaryTypeName","src":"66737:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66694:54:30"},"returnParameters":{"id":20948,"nodeType":"ParameterList","parameters":[],"src":"66763:0:30"},"scope":21215,"src":"66682:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":20983,"nodeType":"Block","src":"66968:111:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":20975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67018:36:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":20976,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20963,"src":"67056:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20977,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20965,"src":"67060:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20978,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20967,"src":"67064:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20979,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20969,"src":"67068:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20973,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66994:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66998:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66994:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66994:77:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20972,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"66978:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":20981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66978:94:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20982,"nodeType":"ExpressionStatement","src":"66978:94:30"}]},"id":20984,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66890:3:30","nodeType":"FunctionDefinition","parameters":{"id":20970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20963,"mutability":"mutable","name":"p0","nameLocation":"66902:2:30","nodeType":"VariableDeclaration","scope":20984,"src":"66894:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20962,"name":"address","nodeType":"ElementaryTypeName","src":"66894:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20965,"mutability":"mutable","name":"p1","nameLocation":"66914:2:30","nodeType":"VariableDeclaration","scope":20984,"src":"66906:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20964,"name":"address","nodeType":"ElementaryTypeName","src":"66906:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20967,"mutability":"mutable","name":"p2","nameLocation":"66932:2:30","nodeType":"VariableDeclaration","scope":20984,"src":"66918:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20966,"name":"string","nodeType":"ElementaryTypeName","src":"66918:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20969,"mutability":"mutable","name":"p3","nameLocation":"66950:2:30","nodeType":"VariableDeclaration","scope":20984,"src":"66936:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20968,"name":"string","nodeType":"ElementaryTypeName","src":"66936:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66893:60:30"},"returnParameters":{"id":20971,"nodeType":"ParameterList","parameters":[],"src":"66968:0:30"},"scope":21215,"src":"66881:198:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21006,"nodeType":"Block","src":"67163:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":20998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67213:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":20999,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20986,"src":"67249:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21000,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20988,"src":"67253:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21001,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20990,"src":"67257:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21002,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20992,"src":"67261:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67189:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67193:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67189:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67189:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20995,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"67173:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67173:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21005,"nodeType":"ExpressionStatement","src":"67173:92:30"}]},"id":21007,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67094:3:30","nodeType":"FunctionDefinition","parameters":{"id":20993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20986,"mutability":"mutable","name":"p0","nameLocation":"67106:2:30","nodeType":"VariableDeclaration","scope":21007,"src":"67098:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20985,"name":"address","nodeType":"ElementaryTypeName","src":"67098:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20988,"mutability":"mutable","name":"p1","nameLocation":"67118:2:30","nodeType":"VariableDeclaration","scope":21007,"src":"67110:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20987,"name":"address","nodeType":"ElementaryTypeName","src":"67110:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20990,"mutability":"mutable","name":"p2","nameLocation":"67136:2:30","nodeType":"VariableDeclaration","scope":21007,"src":"67122:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20989,"name":"string","nodeType":"ElementaryTypeName","src":"67122:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20992,"mutability":"mutable","name":"p3","nameLocation":"67145:2:30","nodeType":"VariableDeclaration","scope":21007,"src":"67140:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20991,"name":"bool","nodeType":"ElementaryTypeName","src":"67140:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67097:51:30"},"returnParameters":{"id":20994,"nodeType":"ParameterList","parameters":[],"src":"67163:0:30"},"scope":21215,"src":"67085:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21029,"nodeType":"Block","src":"67359:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":21021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67409:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":21022,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21009,"src":"67448:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21023,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21011,"src":"67452:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21024,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21013,"src":"67456:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21025,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21015,"src":"67460:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21019,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67385:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67389:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67385:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67385:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21018,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"67369:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67369:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21028,"nodeType":"ExpressionStatement","src":"67369:95:30"}]},"id":21030,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67287:3:30","nodeType":"FunctionDefinition","parameters":{"id":21016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21009,"mutability":"mutable","name":"p0","nameLocation":"67299:2:30","nodeType":"VariableDeclaration","scope":21030,"src":"67291:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21008,"name":"address","nodeType":"ElementaryTypeName","src":"67291:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21011,"mutability":"mutable","name":"p1","nameLocation":"67311:2:30","nodeType":"VariableDeclaration","scope":21030,"src":"67303:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21010,"name":"address","nodeType":"ElementaryTypeName","src":"67303:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21013,"mutability":"mutable","name":"p2","nameLocation":"67329:2:30","nodeType":"VariableDeclaration","scope":21030,"src":"67315:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21012,"name":"string","nodeType":"ElementaryTypeName","src":"67315:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21015,"mutability":"mutable","name":"p3","nameLocation":"67341:2:30","nodeType":"VariableDeclaration","scope":21030,"src":"67333:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21014,"name":"address","nodeType":"ElementaryTypeName","src":"67333:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67290:54:30"},"returnParameters":{"id":21017,"nodeType":"ParameterList","parameters":[],"src":"67359:0:30"},"scope":21215,"src":"67278:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21052,"nodeType":"Block","src":"67549:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":21044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67599:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":21045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21032,"src":"67636:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21034,"src":"67640:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21036,"src":"67644:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21048,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21038,"src":"67648:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67575:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67579:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67575:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67575:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"67559:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67559:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21051,"nodeType":"ExpressionStatement","src":"67559:93:30"}]},"id":21053,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67486:3:30","nodeType":"FunctionDefinition","parameters":{"id":21039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21032,"mutability":"mutable","name":"p0","nameLocation":"67498:2:30","nodeType":"VariableDeclaration","scope":21053,"src":"67490:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21031,"name":"address","nodeType":"ElementaryTypeName","src":"67490:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21034,"mutability":"mutable","name":"p1","nameLocation":"67510:2:30","nodeType":"VariableDeclaration","scope":21053,"src":"67502:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21033,"name":"address","nodeType":"ElementaryTypeName","src":"67502:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21036,"mutability":"mutable","name":"p2","nameLocation":"67519:2:30","nodeType":"VariableDeclaration","scope":21053,"src":"67514:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21035,"name":"bool","nodeType":"ElementaryTypeName","src":"67514:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21038,"mutability":"mutable","name":"p3","nameLocation":"67531:2:30","nodeType":"VariableDeclaration","scope":21053,"src":"67523:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21037,"name":"uint256","nodeType":"ElementaryTypeName","src":"67523:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67489:45:30"},"returnParameters":{"id":21040,"nodeType":"ParameterList","parameters":[],"src":"67549:0:30"},"scope":21215,"src":"67477:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21075,"nodeType":"Block","src":"67743:109:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":21067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67793:34:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":21068,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21055,"src":"67829:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21069,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21057,"src":"67833:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21070,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21059,"src":"67837:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21071,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21061,"src":"67841:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21065,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67769:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67773:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67769:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67769:75:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21064,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"67753:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67753:92:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21074,"nodeType":"ExpressionStatement","src":"67753:92:30"}]},"id":21076,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67674:3:30","nodeType":"FunctionDefinition","parameters":{"id":21062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21055,"mutability":"mutable","name":"p0","nameLocation":"67686:2:30","nodeType":"VariableDeclaration","scope":21076,"src":"67678:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21054,"name":"address","nodeType":"ElementaryTypeName","src":"67678:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21057,"mutability":"mutable","name":"p1","nameLocation":"67698:2:30","nodeType":"VariableDeclaration","scope":21076,"src":"67690:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21056,"name":"address","nodeType":"ElementaryTypeName","src":"67690:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21059,"mutability":"mutable","name":"p2","nameLocation":"67707:2:30","nodeType":"VariableDeclaration","scope":21076,"src":"67702:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21058,"name":"bool","nodeType":"ElementaryTypeName","src":"67702:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21061,"mutability":"mutable","name":"p3","nameLocation":"67725:2:30","nodeType":"VariableDeclaration","scope":21076,"src":"67711:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21060,"name":"string","nodeType":"ElementaryTypeName","src":"67711:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67677:51:30"},"returnParameters":{"id":21063,"nodeType":"ParameterList","parameters":[],"src":"67743:0:30"},"scope":21215,"src":"67665:187:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21098,"nodeType":"Block","src":"67927:107:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":21090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67977:32:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":21091,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21078,"src":"68011:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21092,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21080,"src":"68015:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21093,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21082,"src":"68019:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21094,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21084,"src":"68023:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67953:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67957:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67953:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67953:73:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21087,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"67937:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67937:90:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21097,"nodeType":"ExpressionStatement","src":"67937:90:30"}]},"id":21099,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67867:3:30","nodeType":"FunctionDefinition","parameters":{"id":21085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21078,"mutability":"mutable","name":"p0","nameLocation":"67879:2:30","nodeType":"VariableDeclaration","scope":21099,"src":"67871:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21077,"name":"address","nodeType":"ElementaryTypeName","src":"67871:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21080,"mutability":"mutable","name":"p1","nameLocation":"67891:2:30","nodeType":"VariableDeclaration","scope":21099,"src":"67883:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21079,"name":"address","nodeType":"ElementaryTypeName","src":"67883:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21082,"mutability":"mutable","name":"p2","nameLocation":"67900:2:30","nodeType":"VariableDeclaration","scope":21099,"src":"67895:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21081,"name":"bool","nodeType":"ElementaryTypeName","src":"67895:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21084,"mutability":"mutable","name":"p3","nameLocation":"67909:2:30","nodeType":"VariableDeclaration","scope":21099,"src":"67904:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21083,"name":"bool","nodeType":"ElementaryTypeName","src":"67904:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67870:42:30"},"returnParameters":{"id":21086,"nodeType":"ParameterList","parameters":[],"src":"67927:0:30"},"scope":21215,"src":"67858:176:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21121,"nodeType":"Block","src":"68112:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":21113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68162:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":21114,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21101,"src":"68199:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21115,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21103,"src":"68203:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21116,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21105,"src":"68207:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21117,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21107,"src":"68211:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21111,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68138:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68142:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68138:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68138:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21110,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"68122:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68122:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21120,"nodeType":"ExpressionStatement","src":"68122:93:30"}]},"id":21122,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68049:3:30","nodeType":"FunctionDefinition","parameters":{"id":21108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21101,"mutability":"mutable","name":"p0","nameLocation":"68061:2:30","nodeType":"VariableDeclaration","scope":21122,"src":"68053:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21100,"name":"address","nodeType":"ElementaryTypeName","src":"68053:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21103,"mutability":"mutable","name":"p1","nameLocation":"68073:2:30","nodeType":"VariableDeclaration","scope":21122,"src":"68065:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21102,"name":"address","nodeType":"ElementaryTypeName","src":"68065:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21105,"mutability":"mutable","name":"p2","nameLocation":"68082:2:30","nodeType":"VariableDeclaration","scope":21122,"src":"68077:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21104,"name":"bool","nodeType":"ElementaryTypeName","src":"68077:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21107,"mutability":"mutable","name":"p3","nameLocation":"68094:2:30","nodeType":"VariableDeclaration","scope":21122,"src":"68086:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21106,"name":"address","nodeType":"ElementaryTypeName","src":"68086:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68052:45:30"},"returnParameters":{"id":21109,"nodeType":"ParameterList","parameters":[],"src":"68112:0:30"},"scope":21215,"src":"68040:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21144,"nodeType":"Block","src":"68303:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":21136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68353:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":21137,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21124,"src":"68393:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21138,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21126,"src":"68397:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21139,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21128,"src":"68401:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21140,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21130,"src":"68405:2:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68329:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68333:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68329:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68329:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21133,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"68313:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68313:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21143,"nodeType":"ExpressionStatement","src":"68313:96:30"}]},"id":21145,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68237:3:30","nodeType":"FunctionDefinition","parameters":{"id":21131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21124,"mutability":"mutable","name":"p0","nameLocation":"68249:2:30","nodeType":"VariableDeclaration","scope":21145,"src":"68241:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21123,"name":"address","nodeType":"ElementaryTypeName","src":"68241:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21126,"mutability":"mutable","name":"p1","nameLocation":"68261:2:30","nodeType":"VariableDeclaration","scope":21145,"src":"68253:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21125,"name":"address","nodeType":"ElementaryTypeName","src":"68253:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21128,"mutability":"mutable","name":"p2","nameLocation":"68273:2:30","nodeType":"VariableDeclaration","scope":21145,"src":"68265:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21127,"name":"address","nodeType":"ElementaryTypeName","src":"68265:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21130,"mutability":"mutable","name":"p3","nameLocation":"68285:2:30","nodeType":"VariableDeclaration","scope":21145,"src":"68277:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21129,"name":"uint256","nodeType":"ElementaryTypeName","src":"68277:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68240:48:30"},"returnParameters":{"id":21132,"nodeType":"ParameterList","parameters":[],"src":"68303:0:30"},"scope":21215,"src":"68228:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21167,"nodeType":"Block","src":"68503:112:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":21159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68553:37:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":21160,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21147,"src":"68592:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21161,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21149,"src":"68596:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21162,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21151,"src":"68600:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21163,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21153,"src":"68604:2:30","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21157,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68529:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68533:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68529:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68529:78:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"68513:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68513:95:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21166,"nodeType":"ExpressionStatement","src":"68513:95:30"}]},"id":21168,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68431:3:30","nodeType":"FunctionDefinition","parameters":{"id":21154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21147,"mutability":"mutable","name":"p0","nameLocation":"68443:2:30","nodeType":"VariableDeclaration","scope":21168,"src":"68435:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21146,"name":"address","nodeType":"ElementaryTypeName","src":"68435:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21149,"mutability":"mutable","name":"p1","nameLocation":"68455:2:30","nodeType":"VariableDeclaration","scope":21168,"src":"68447:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21148,"name":"address","nodeType":"ElementaryTypeName","src":"68447:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21151,"mutability":"mutable","name":"p2","nameLocation":"68467:2:30","nodeType":"VariableDeclaration","scope":21168,"src":"68459:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21150,"name":"address","nodeType":"ElementaryTypeName","src":"68459:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21153,"mutability":"mutable","name":"p3","nameLocation":"68485:2:30","nodeType":"VariableDeclaration","scope":21168,"src":"68471:16:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21152,"name":"string","nodeType":"ElementaryTypeName","src":"68471:6:30","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68434:54:30"},"returnParameters":{"id":21155,"nodeType":"ParameterList","parameters":[],"src":"68503:0:30"},"scope":21215,"src":"68422:193:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21190,"nodeType":"Block","src":"68693:110:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":21182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68743:35:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":21183,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21170,"src":"68780:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21184,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21172,"src":"68784:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21185,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21174,"src":"68788:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21186,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21176,"src":"68792:2:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21180,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68719:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68723:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68719:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68719:76:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21179,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"68703:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68703:93:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21189,"nodeType":"ExpressionStatement","src":"68703:93:30"}]},"id":21191,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68630:3:30","nodeType":"FunctionDefinition","parameters":{"id":21177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21170,"mutability":"mutable","name":"p0","nameLocation":"68642:2:30","nodeType":"VariableDeclaration","scope":21191,"src":"68634:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21169,"name":"address","nodeType":"ElementaryTypeName","src":"68634:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21172,"mutability":"mutable","name":"p1","nameLocation":"68654:2:30","nodeType":"VariableDeclaration","scope":21191,"src":"68646:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21171,"name":"address","nodeType":"ElementaryTypeName","src":"68646:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21174,"mutability":"mutable","name":"p2","nameLocation":"68666:2:30","nodeType":"VariableDeclaration","scope":21191,"src":"68658:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21173,"name":"address","nodeType":"ElementaryTypeName","src":"68658:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21176,"mutability":"mutable","name":"p3","nameLocation":"68675:2:30","nodeType":"VariableDeclaration","scope":21191,"src":"68670:7:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21175,"name":"bool","nodeType":"ElementaryTypeName","src":"68670:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68633:45:30"},"returnParameters":{"id":21178,"nodeType":"ParameterList","parameters":[],"src":"68693:0:30"},"scope":21215,"src":"68621:182:30","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":21213,"nodeType":"Block","src":"68884:113:30","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":21205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68934:38:30","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":21206,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21193,"src":"68974:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21207,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21195,"src":"68978:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21208,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21197,"src":"68982:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21209,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21199,"src":"68986:2:30","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68910:3:30","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68914:19:30","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68910:23:30","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68910:79:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21202,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13175,"src":"68894:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":21211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68894:96:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21212,"nodeType":"ExpressionStatement","src":"68894:96:30"}]},"id":21214,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68818:3:30","nodeType":"FunctionDefinition","parameters":{"id":21200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21193,"mutability":"mutable","name":"p0","nameLocation":"68830:2:30","nodeType":"VariableDeclaration","scope":21214,"src":"68822:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21192,"name":"address","nodeType":"ElementaryTypeName","src":"68822:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21195,"mutability":"mutable","name":"p1","nameLocation":"68842:2:30","nodeType":"VariableDeclaration","scope":21214,"src":"68834:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21194,"name":"address","nodeType":"ElementaryTypeName","src":"68834:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21197,"mutability":"mutable","name":"p2","nameLocation":"68854:2:30","nodeType":"VariableDeclaration","scope":21214,"src":"68846:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21196,"name":"address","nodeType":"ElementaryTypeName","src":"68846:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21199,"mutability":"mutable","name":"p3","nameLocation":"68866:2:30","nodeType":"VariableDeclaration","scope":21214,"src":"68858:10:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21198,"name":"address","nodeType":"ElementaryTypeName","src":"68858:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68821:48:30"},"returnParameters":{"id":21201,"nodeType":"ParameterList","parameters":[],"src":"68884:0:30"},"scope":21215,"src":"68809:188:30","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":21216,"src":"66:68934:30","usedErrors":[],"usedEvents":[]}],"src":"32:68969:30"},"id":30}},"contracts":{"@openzeppelin/contracts/access/Ownable.sol":{"Ownable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":7,"contract":"@openzeppelin/contracts/access/Ownable.sol:Ownable","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}}}},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"IERC4906":{"abi":[{"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":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","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":[{"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":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"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":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","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":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"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\":[{\"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\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"EIP-721 Metadata Update Extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC4906.sol\":\"IERC4906\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC721/ERC721.sol":{"ERC721":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":112,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":287,"id":null,"parameterSlots":2,"returnSlots":2},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":453,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":536,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":393,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":90,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4144:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"210:776:31","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:31"},"nodeType":"YulFunctionCall","src":"261:12:31"},"nodeType":"YulExpressionStatement","src":"261:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:31"},"nodeType":"YulFunctionCall","src":"234:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:31"},"nodeType":"YulFunctionCall","src":"230:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:31"},"nodeType":"YulFunctionCall","src":"223:35:31"},"nodeType":"YulIf","src":"220:55:31"},{"nodeType":"YulVariableDeclaration","src":"284:23:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:31"},"nodeType":"YulFunctionCall","src":"294:13:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:31"},"nodeType":"YulFunctionCall","src":"330:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:31"},"nodeType":"YulFunctionCall","src":"326:18:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:31"},"nodeType":"YulFunctionCall","src":"369:18:31"},"nodeType":"YulExpressionStatement","src":"369:18:31"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:31"},"nodeType":"YulFunctionCall","src":"356:10:31"},"nodeType":"YulIf","src":"353:36:31"},{"nodeType":"YulVariableDeclaration","src":"398:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:31"},"nodeType":"YulFunctionCall","src":"408:7:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:31"},"nodeType":"YulFunctionCall","src":"438:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:31"},"nodeType":"YulFunctionCall","src":"498:13:31"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:31"},"nodeType":"YulFunctionCall","src":"494:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:31"},"nodeType":"YulFunctionCall","src":"490:31:31"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:31"},"nodeType":"YulFunctionCall","src":"486:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:31"},"nodeType":"YulFunctionCall","src":"474:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:31"},"nodeType":"YulFunctionCall","src":"588:18:31"},"nodeType":"YulExpressionStatement","src":"588:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:31"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:31"},"nodeType":"YulFunctionCall","src":"542:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:31"},"nodeType":"YulFunctionCall","src":"562:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:31"},"nodeType":"YulFunctionCall","src":"539:46:31"},"nodeType":"YulIf","src":"536:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:31"},"nodeType":"YulFunctionCall","src":"617:22:31"},"nodeType":"YulExpressionStatement","src":"617:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:31"},"nodeType":"YulFunctionCall","src":"648:18:31"},"nodeType":"YulExpressionStatement","src":"648:18:31"},{"nodeType":"YulVariableDeclaration","src":"675:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:31","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:31"},"nodeType":"YulFunctionCall","src":"737:12:31"},"nodeType":"YulExpressionStatement","src":"737:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:31"},"nodeType":"YulFunctionCall","src":"708:15:31"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:31"},"nodeType":"YulFunctionCall","src":"704:24:31"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:31"},"nodeType":"YulFunctionCall","src":"701:33:31"},"nodeType":"YulIf","src":"698:53:31"},{"nodeType":"YulVariableDeclaration","src":"760:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:31","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:31"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:31"},"nodeType":"YulFunctionCall","src":"850:14:31"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:31"},"nodeType":"YulFunctionCall","src":"846:23:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:31"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:31"},"nodeType":"YulFunctionCall","src":"881:14:31"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:31"},"nodeType":"YulFunctionCall","src":"877:23:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:31"},"nodeType":"YulFunctionCall","src":"871:30:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:31"},"nodeType":"YulFunctionCall","src":"839:63:31"},"nodeType":"YulExpressionStatement","src":"839:63:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:31"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:31"},"nodeType":"YulFunctionCall","src":"787:9:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:31","statements":[{"nodeType":"YulAssignment","src":"799:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:31"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:31"},"nodeType":"YulFunctionCall","src":"804:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:31","statements":[]},"src":"779:133:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"936:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"944:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"932:3:31"},"nodeType":"YulFunctionCall","src":"932:15:31"},{"name":"_4","nodeType":"YulIdentifier","src":"949:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"928:3:31"},"nodeType":"YulFunctionCall","src":"928:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"954:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"921:6:31"},"nodeType":"YulFunctionCall","src":"921:35:31"},"nodeType":"YulExpressionStatement","src":"921:35:31"},{"nodeType":"YulAssignment","src":"965:15:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"974:6:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"965:5:31"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:31","type":""}],"src":"146:840:31"},{"body":{"nodeType":"YulBlock","src":"1109:444:31","statements":[{"body":{"nodeType":"YulBlock","src":"1155:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1164:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1167:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1157:6:31"},"nodeType":"YulFunctionCall","src":"1157:12:31"},"nodeType":"YulExpressionStatement","src":"1157:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1130:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1139:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1126:3:31"},"nodeType":"YulFunctionCall","src":"1126:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1151:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1122:3:31"},"nodeType":"YulFunctionCall","src":"1122:32:31"},"nodeType":"YulIf","src":"1119:52:31"},{"nodeType":"YulVariableDeclaration","src":"1180:30:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1194:5:31"},"nodeType":"YulFunctionCall","src":"1194:16:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1184:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1219:28:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1237:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1241:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1233:3:31"},"nodeType":"YulFunctionCall","src":"1233:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1245:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1229:3:31"},"nodeType":"YulFunctionCall","src":"1229:18:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1223:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1274:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1283:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1276:6:31"},"nodeType":"YulFunctionCall","src":"1276:12:31"},"nodeType":"YulExpressionStatement","src":"1276:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1262:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1270:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1259:2:31"},"nodeType":"YulFunctionCall","src":"1259:14:31"},"nodeType":"YulIf","src":"1256:34:31"},{"nodeType":"YulAssignment","src":"1299:71:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1342:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"1353:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1338:3:31"},"nodeType":"YulFunctionCall","src":"1338:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1362:7:31"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1309:28:31"},"nodeType":"YulFunctionCall","src":"1309:61:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1299:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1379:41:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1405:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1416:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1401:3:31"},"nodeType":"YulFunctionCall","src":"1401:18:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1395:5:31"},"nodeType":"YulFunctionCall","src":"1395:25:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1383:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1449:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1458:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1461:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1451:6:31"},"nodeType":"YulFunctionCall","src":"1451:12:31"},"nodeType":"YulExpressionStatement","src":"1451:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1435:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1445:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1432:2:31"},"nodeType":"YulFunctionCall","src":"1432:16:31"},"nodeType":"YulIf","src":"1429:36:31"},{"nodeType":"YulAssignment","src":"1474:73:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1517:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1528:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1513:3:31"},"nodeType":"YulFunctionCall","src":"1513:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1539:7:31"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1484:28:31"},"nodeType":"YulFunctionCall","src":"1484:63:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1474:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1067:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1078:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1090:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1098:6:31","type":""}],"src":"991:562:31"},{"body":{"nodeType":"YulBlock","src":"1613:325:31","statements":[{"nodeType":"YulAssignment","src":"1623:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1637:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1640:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1633:3:31"},"nodeType":"YulFunctionCall","src":"1633:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1623:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1654:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1684:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"1690:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1680:3:31"},"nodeType":"YulFunctionCall","src":"1680:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1658:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1731:31:31","statements":[{"nodeType":"YulAssignment","src":"1733:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1747:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1755:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1743:3:31"},"nodeType":"YulFunctionCall","src":"1743:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1733:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1711:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1704:6:31"},"nodeType":"YulFunctionCall","src":"1704:26:31"},"nodeType":"YulIf","src":"1701:61:31"},{"body":{"nodeType":"YulBlock","src":"1821:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1842:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1849:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1854:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1845:3:31"},"nodeType":"YulFunctionCall","src":"1845:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1835:6:31"},"nodeType":"YulFunctionCall","src":"1835:31:31"},"nodeType":"YulExpressionStatement","src":"1835:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1886:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1889:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1879:6:31"},"nodeType":"YulFunctionCall","src":"1879:15:31"},"nodeType":"YulExpressionStatement","src":"1879:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1914:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1917:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1907:6:31"},"nodeType":"YulFunctionCall","src":"1907:15:31"},"nodeType":"YulExpressionStatement","src":"1907:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1777:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1800:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1808:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1797:2:31"},"nodeType":"YulFunctionCall","src":"1797:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1774:2:31"},"nodeType":"YulFunctionCall","src":"1774:38:31"},"nodeType":"YulIf","src":"1771:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1593:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1602:6:31","type":""}],"src":"1558:380:31"},{"body":{"nodeType":"YulBlock","src":"1999:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2016:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"2019:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2009:6:31"},"nodeType":"YulFunctionCall","src":"2009:14:31"},"nodeType":"YulExpressionStatement","src":"2009:14:31"},{"nodeType":"YulAssignment","src":"2032:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2050:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2053:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2040:9:31"},"nodeType":"YulFunctionCall","src":"2040:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"2032:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"1982:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"1990:4:31","type":""}],"src":"1943:121:31"},{"body":{"nodeType":"YulBlock","src":"2150:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"2183:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2197:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2207:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2201:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2228:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"2232:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2221:6:31"},"nodeType":"YulFunctionCall","src":"2221:17:31"},"nodeType":"YulExpressionStatement","src":"2221:17:31"},{"nodeType":"YulVariableDeclaration","src":"2251:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2273:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2277:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2263:9:31"},"nodeType":"YulFunctionCall","src":"2263:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"2255:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2295:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2318:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2328:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"2335:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"2347:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2331:3:31"},"nodeType":"YulFunctionCall","src":"2331:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2324:3:31"},"nodeType":"YulFunctionCall","src":"2324:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:31"},"nodeType":"YulFunctionCall","src":"2314:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"2299:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2389:23:31","statements":[{"nodeType":"YulAssignment","src":"2391:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"2406:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"2391:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"2371:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"2383:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2368:2:31"},"nodeType":"YulFunctionCall","src":"2368:20:31"},"nodeType":"YulIf","src":"2365:47:31"},{"nodeType":"YulVariableDeclaration","src":"2425:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2439:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2449:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"2456:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2461:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2452:3:31"},"nodeType":"YulFunctionCall","src":"2452:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2445:3:31"},"nodeType":"YulFunctionCall","src":"2445:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2435:3:31"},"nodeType":"YulFunctionCall","src":"2435:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2429:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2479:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"2492:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"2483:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2577:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2586:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2593:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2579:6:31"},"nodeType":"YulFunctionCall","src":"2579:17:31"},"nodeType":"YulExpressionStatement","src":"2579:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2527:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2534:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2524:2:31"},"nodeType":"YulFunctionCall","src":"2524:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2538:26:31","statements":[{"nodeType":"YulAssignment","src":"2540:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2553:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"2560:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2549:3:31"},"nodeType":"YulFunctionCall","src":"2549:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"2540:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2520:3:31","statements":[]},"src":"2516:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"2166:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2171:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2163:2:31"},"nodeType":"YulFunctionCall","src":"2163:11:31"},"nodeType":"YulIf","src":"2160:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"2122:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"2129:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"2134:10:31","type":""}],"src":"2069:545:31"},{"body":{"nodeType":"YulBlock","src":"2704:81:31","statements":[{"nodeType":"YulAssignment","src":"2714:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2729:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2747:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"2750:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2743:3:31"},"nodeType":"YulFunctionCall","src":"2743:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2760:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2756:3:31"},"nodeType":"YulFunctionCall","src":"2756:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2739:3:31"},"nodeType":"YulFunctionCall","src":"2739:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2735:3:31"},"nodeType":"YulFunctionCall","src":"2735:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2725:3:31"},"nodeType":"YulFunctionCall","src":"2725:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2771:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"2774:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2767:3:31"},"nodeType":"YulFunctionCall","src":"2767:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2722:2:31"},"nodeType":"YulFunctionCall","src":"2722:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"2714:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2681:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"2687:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"2695:4:31","type":""}],"src":"2619:166:31"},{"body":{"nodeType":"YulBlock","src":"2886:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2896:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2916:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2910:5:31"},"nodeType":"YulFunctionCall","src":"2910:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"2900:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2963:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2965:16:31"},"nodeType":"YulFunctionCall","src":"2965:18:31"},"nodeType":"YulExpressionStatement","src":"2965:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"2935:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2951:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2955:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2947:3:31"},"nodeType":"YulFunctionCall","src":"2947:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"2959:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2943:3:31"},"nodeType":"YulFunctionCall","src":"2943:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2932:2:31"},"nodeType":"YulFunctionCall","src":"2932:30:31"},"nodeType":"YulIf","src":"2929:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3038:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3076:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"3070:5:31"},"nodeType":"YulFunctionCall","src":"3070:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"3044:25:31"},"nodeType":"YulFunctionCall","src":"3044:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"3084:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"2994:43:31"},"nodeType":"YulFunctionCall","src":"2994:97:31"},"nodeType":"YulExpressionStatement","src":"2994:97:31"},{"nodeType":"YulVariableDeclaration","src":"3100:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3117:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"3104:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3127:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3146:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"3131:11:31","type":""}]},{"nodeType":"YulAssignment","src":"3159:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3172:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3159:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"3229:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3243:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"3262:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3274:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3270:3:31"},"nodeType":"YulFunctionCall","src":"3270:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3258:3:31"},"nodeType":"YulFunctionCall","src":"3258:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"3247:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3291:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3335:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"3305:29:31"},"nodeType":"YulFunctionCall","src":"3305:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"3295:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3353:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3362:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3357:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3440:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3465:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3483:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"3488:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3479:3:31"},"nodeType":"YulFunctionCall","src":"3479:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3473:5:31"},"nodeType":"YulFunctionCall","src":"3473:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3458:6:31"},"nodeType":"YulFunctionCall","src":"3458:42:31"},"nodeType":"YulExpressionStatement","src":"3458:42:31"},{"nodeType":"YulAssignment","src":"3517:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3531:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"3539:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3527:3:31"},"nodeType":"YulFunctionCall","src":"3527:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3517:6:31"}]},{"nodeType":"YulAssignment","src":"3558:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3575:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3586:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3571:3:31"},"nodeType":"YulFunctionCall","src":"3571:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3558:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3387:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"3390:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3384:2:31"},"nodeType":"YulFunctionCall","src":"3384:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3399:28:31","statements":[{"nodeType":"YulAssignment","src":"3401:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3410:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3413:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3406:3:31"},"nodeType":"YulFunctionCall","src":"3406:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3401:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"3380:3:31","statements":[]},"src":"3376:236:31"},{"body":{"nodeType":"YulBlock","src":"3660:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3678:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3705:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"3710:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3701:3:31"},"nodeType":"YulFunctionCall","src":"3701:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3695:5:31"},"nodeType":"YulFunctionCall","src":"3695:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"3682:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3745:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"3757:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3784:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"3787:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3780:3:31"},"nodeType":"YulFunctionCall","src":"3780:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"3796:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3776:3:31"},"nodeType":"YulFunctionCall","src":"3776:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3806:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3802:3:31"},"nodeType":"YulFunctionCall","src":"3802:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"3772:3:31"},"nodeType":"YulFunctionCall","src":"3772:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3768:3:31"},"nodeType":"YulFunctionCall","src":"3768:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3753:3:31"},"nodeType":"YulFunctionCall","src":"3753:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3738:6:31"},"nodeType":"YulFunctionCall","src":"3738:74:31"},"nodeType":"YulExpressionStatement","src":"3738:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"3631:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"3640:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3628:2:31"},"nodeType":"YulFunctionCall","src":"3628:19:31"},"nodeType":"YulIf","src":"3625:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3846:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3860:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"3863:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3856:3:31"},"nodeType":"YulFunctionCall","src":"3856:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"3872:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3852:3:31"},"nodeType":"YulFunctionCall","src":"3852:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3839:6:31"},"nodeType":"YulFunctionCall","src":"3839:36:31"},"nodeType":"YulExpressionStatement","src":"3839:36:31"}]},"nodeType":"YulCase","src":"3222:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3227:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"3902:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3916:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3929:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3920:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3965:67:31","statements":[{"nodeType":"YulAssignment","src":"3983:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4002:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"4007:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3998:3:31"},"nodeType":"YulFunctionCall","src":"3998:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3992:5:31"},"nodeType":"YulFunctionCall","src":"3992:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3983:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"3946:6:31"},"nodeType":"YulIf","src":"3943:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"4052:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4111:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"4118:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"4058:52:31"},"nodeType":"YulFunctionCall","src":"4058:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"4045:6:31"},"nodeType":"YulFunctionCall","src":"4045:81:31"},"nodeType":"YulExpressionStatement","src":"4045:81:31"}]},"nodeType":"YulCase","src":"3894:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"3202:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"3210:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3199:2:31"},"nodeType":"YulFunctionCall","src":"3199:14:31"},"nodeType":"YulSwitch","src":"3192:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"2871:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"2877:3:31","type":""}],"src":"2790:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n mstore(add(add(memPtr, _1), _4), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b50604051620013e7380380620013e783398101604081905262000034916200011f565b600062000042838262000218565b50600162000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d676b79dc68df4267f8d09269c07d709f69069f4e6b407ce8dd8f369db4c2a6464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x13E7 CODESIZE SUB DUP1 PUSH3 0x13E7 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x11F JUMP JUMPDEST PUSH1 0x0 PUSH3 0x42 DUP4 DUP3 PUSH3 0x218 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x51 DUP3 DUP3 PUSH3 0x218 JUMP JUMPDEST POP POP POP PUSH3 0x2E4 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x9F JUMPI PUSH3 0x9F PUSH3 0x5A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xCA JUMPI PUSH3 0xCA PUSH3 0x5A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x10B JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xEC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP2 ADD SWAP1 SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x159 DUP7 DUP4 DUP8 ADD PUSH3 0x70 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x17F DUP6 DUP3 DUP7 ADD PUSH3 0x70 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1BF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x213 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1EE JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x20F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FA JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x234 JUMPI PUSH3 0x234 PUSH3 0x5A JUMP JUMPDEST PUSH3 0x24C DUP2 PUSH3 0x245 DUP5 SLOAD PUSH3 0x189 JUMP JUMPDEST DUP5 PUSH3 0x1C5 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x284 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x26B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x20F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x294 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x10F3 DUP1 PUSH3 0x2F4 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xC7F JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x27A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xCEC JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xD34 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x44D JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x499 JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xD9A JUMP JUMPDEST PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x57F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB5 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE07 JUMP JUMPDEST PUSH2 0x59D JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x5D5 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x259 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x274 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B5 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x302 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x302 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x649 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E DUP3 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x3B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3CC JUMPI POP PUSH2 0x3CC DUP2 CALLER PUSH2 0x1FA JUMP JUMPDEST PUSH2 0x43E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 PUSH2 0x6AB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x457 CALLER DUP3 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x473 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x274 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x563 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST PUSH2 0x599 CALLER DUP4 DUP4 PUSH2 0x8FC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5A7 CALLER DUP4 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x5C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x5CF DUP5 DUP5 DUP5 DUP5 PUSH2 0x9CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5E0 DUP3 PUSH2 0x649 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F7 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x617 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x642 JUMP JUMPDEST DUP1 PUSH2 0x621 DUP5 PUSH2 0x9FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x632 SWAP3 SWAP2 SWAP1 PUSH2 0xF9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E0 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x725 DUP4 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x76C JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x790 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x785 DUP5 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7AB DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x833 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x846 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x86C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x95D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9D5 DUP5 DUP5 DUP5 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x9E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA90 JUMP JUMPDEST PUSH2 0x5CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xA0A DUP4 PUSH2 0xB91 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA2A JUMPI PUSH2 0xA2A PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA54 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA5E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xAD4 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1063 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB0F JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB0C SWAP2 DUP2 ADD SWAP1 PUSH2 0x10A0 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB6C JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xB3D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xB42 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xB64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x790 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xBD0 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xBFC JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xC1A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xC32 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xC46 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xC58 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x274 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCB7 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xC9F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xCD8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xC9C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x642 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD50 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD7C DUP5 PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH2 0xD8A PUSH1 0x20 DUP6 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x642 DUP3 PUSH2 0xD18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD1 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xDE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE26 DUP6 PUSH2 0xD18 JUMP JUMPDEST SWAP4 POP PUSH2 0xE34 PUSH1 0x20 DUP7 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE7E PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xEA6 JUMPI PUSH2 0xEA6 PUSH2 0xDF1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xEF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEFF DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH2 0xF0D PUSH1 0x20 DUP5 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xF2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xF4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0xFAF DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0xFC3 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1096 SWAP1 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 PUSH23 0xB79DC68DF4267F8D09269C07D709F69069F4E6B407CE8D 0xD8 RETURN PUSH10 0xDB4C2A6464736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"628:16377:5:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16377;;14:127:31;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:31;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:31;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:31:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:31;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:31;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:31;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:31;;;3992:26;3943:89;-1:-1:-1;;2747:1:31;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:31;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:31;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:31;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:31:o;:::-;628:16377:5;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":1707,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_432":{"entryPoint":null,"id":432,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":2704,"id":1103,"parameterSlots":4,"returnSlots":1},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":1817,"id":698,"parameterSlots":2,"returnSlots":1},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":1609,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":2506,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":2300,"id":1027,"parameterSlots":3,"returnSlots":0},"@_transfer_971":{"entryPoint":1944,"id":971,"parameterSlots":3,"returnSlots":0},"@approve_475":{"entryPoint":819,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":1273,"id":336,"parameterSlots":1,"returnSlots":1},"@getApproved_493":{"entryPoint":780,"id":493,"parameterSlots":1,"returnSlots":1},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":2961,"id":3186,"parameterSlots":1,"returnSlots":1},"@name_374":{"entryPoint":634,"id":374,"parameterSlots":0,"returnSlots":1},"@ownerOf_364":{"entryPoint":1177,"id":364,"parameterSlots":1,"returnSlots":1},"@safeTransferFrom_574":{"entryPoint":1150,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":1437,"id":604,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":1422,"id":510,"parameterSlots":2,"returnSlots":0},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":552,"id":312,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":1407,"id":384,"parameterSlots":0,"returnSlots":1},"@toString_1911":{"entryPoint":2557,"id":1911,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":1493,"id":423,"parameterSlots":1,"returnSlots":1},"@transferFrom_555":{"entryPoint":1101,"id":555,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":3352,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":3482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":3811,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":3422,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":3591,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":3509,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":3380,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":3199,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":4256,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":3327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":3264,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":3997,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":4195,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3308,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3920,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4113,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4044,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":3228,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":3862,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3569,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":3177,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:10132:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:31","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:31"},"nodeType":"YulFunctionCall","src":"125:12:31"},"nodeType":"YulExpressionStatement","src":"125:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:31","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:31"},"nodeType":"YulFunctionCall","src":"99:20:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:31"},"nodeType":"YulFunctionCall","src":"88:32:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:31"},"nodeType":"YulFunctionCall","src":"78:43:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:31"},"nodeType":"YulFunctionCall","src":"71:51:31"},"nodeType":"YulIf","src":"68:71:31"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:31","type":""}],"src":"14:131:31"},{"body":{"nodeType":"YulBlock","src":"219:176:31","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:31"},"nodeType":"YulFunctionCall","src":"267:12:31"},"nodeType":"YulExpressionStatement","src":"267:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:31"},"nodeType":"YulFunctionCall","src":"236:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:31"},"nodeType":"YulFunctionCall","src":"232:32:31"},"nodeType":"YulIf","src":"229:52:31"},{"nodeType":"YulVariableDeclaration","src":"290:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:31"},"nodeType":"YulFunctionCall","src":"303:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:31"},"nodeType":"YulFunctionCall","src":"335:30:31"},"nodeType":"YulExpressionStatement","src":"335:30:31"},{"nodeType":"YulAssignment","src":"374:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:31","type":""}],"src":"150:245:31"},{"body":{"nodeType":"YulBlock","src":"495:92:31","statements":[{"nodeType":"YulAssignment","src":"505:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:31"},"nodeType":"YulFunctionCall","src":"513:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:31"},"nodeType":"YulFunctionCall","src":"565:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:31"},"nodeType":"YulFunctionCall","src":"558:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:31"},"nodeType":"YulFunctionCall","src":"540:41:31"},"nodeType":"YulExpressionStatement","src":"540:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:31","type":""}],"src":"400:187:31"},{"body":{"nodeType":"YulBlock","src":"658:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"668:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"677:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"672:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"737:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"762:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"767:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"758:3:31"},"nodeType":"YulFunctionCall","src":"758:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"781:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"786:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:31"},"nodeType":"YulFunctionCall","src":"777:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"771:5:31"},"nodeType":"YulFunctionCall","src":"771:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"751:6:31"},"nodeType":"YulFunctionCall","src":"751:39:31"},"nodeType":"YulExpressionStatement","src":"751:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"698:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"701:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"695:2:31"},"nodeType":"YulFunctionCall","src":"695:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"709:19:31","statements":[{"nodeType":"YulAssignment","src":"711:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"720:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"723:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:31"},"nodeType":"YulFunctionCall","src":"716:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"711:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"691:3:31","statements":[]},"src":"687:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"820:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"825:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"816:3:31"},"nodeType":"YulFunctionCall","src":"816:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"834:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:27:31"},"nodeType":"YulExpressionStatement","src":"809:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"636:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"641:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"646:6:31","type":""}],"src":"592:250:31"},{"body":{"nodeType":"YulBlock","src":"897:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"907:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"927:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"921:5:31"},"nodeType":"YulFunctionCall","src":"921:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"911:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"949:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"954:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"942:6:31"},"nodeType":"YulFunctionCall","src":"942:19:31"},"nodeType":"YulExpressionStatement","src":"942:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1009:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1016:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1005:3:31"},"nodeType":"YulFunctionCall","src":"1005:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1027:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1032:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"1039:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"970:34:31"},"nodeType":"YulFunctionCall","src":"970:76:31"},"nodeType":"YulExpressionStatement","src":"970:76:31"},{"nodeType":"YulAssignment","src":"1055:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1070:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1083:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1091:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1079:3:31"},"nodeType":"YulFunctionCall","src":"1079:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1100:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1096:3:31"},"nodeType":"YulFunctionCall","src":"1096:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1075:3:31"},"nodeType":"YulFunctionCall","src":"1075:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1066:3:31"},"nodeType":"YulFunctionCall","src":"1066:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"1107:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1062:3:31"},"nodeType":"YulFunctionCall","src":"1062:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1055:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"874:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"881:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"889:3:31","type":""}],"src":"847:271:31"},{"body":{"nodeType":"YulBlock","src":"1244:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1261:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1272:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1254:6:31"},"nodeType":"YulFunctionCall","src":"1254:21:31"},"nodeType":"YulExpressionStatement","src":"1254:21:31"},{"nodeType":"YulAssignment","src":"1284:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1310:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1322:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1333:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1318:3:31"},"nodeType":"YulFunctionCall","src":"1318:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1292:17:31"},"nodeType":"YulFunctionCall","src":"1292:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1284:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1213:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1224:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1235:4:31","type":""}],"src":"1123:220:31"},{"body":{"nodeType":"YulBlock","src":"1418:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"1464:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1473:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1476:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1466:6:31"},"nodeType":"YulFunctionCall","src":"1466:12:31"},"nodeType":"YulExpressionStatement","src":"1466:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1439:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1448:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1435:3:31"},"nodeType":"YulFunctionCall","src":"1435:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1460:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1431:3:31"},"nodeType":"YulFunctionCall","src":"1431:32:31"},"nodeType":"YulIf","src":"1428:52:31"},{"nodeType":"YulAssignment","src":"1489:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1499:12:31"},"nodeType":"YulFunctionCall","src":"1499:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1489:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1384:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1395:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1407:6:31","type":""}],"src":"1348:180:31"},{"body":{"nodeType":"YulBlock","src":"1634:102:31","statements":[{"nodeType":"YulAssignment","src":"1644:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1656:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1667:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1652:3:31"},"nodeType":"YulFunctionCall","src":"1652:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1644:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1686:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1701:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1717:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1722:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1713:3:31"},"nodeType":"YulFunctionCall","src":"1713:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1726:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1709:3:31"},"nodeType":"YulFunctionCall","src":"1709:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1697:3:31"},"nodeType":"YulFunctionCall","src":"1697:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1679:6:31"},"nodeType":"YulFunctionCall","src":"1679:51:31"},"nodeType":"YulExpressionStatement","src":"1679:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1603:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1614:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1625:4:31","type":""}],"src":"1533:203:31"},{"body":{"nodeType":"YulBlock","src":"1790:124:31","statements":[{"nodeType":"YulAssignment","src":"1800:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1822:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1809:12:31"},"nodeType":"YulFunctionCall","src":"1809:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1800:5:31"}]},{"body":{"nodeType":"YulBlock","src":"1892:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1901:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1904:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1894:6:31"},"nodeType":"YulFunctionCall","src":"1894:12:31"},"nodeType":"YulExpressionStatement","src":"1894:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1851:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1862:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1877:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1882:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1873:3:31"},"nodeType":"YulFunctionCall","src":"1873:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1886:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1869:3:31"},"nodeType":"YulFunctionCall","src":"1869:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1848:2:31"},"nodeType":"YulFunctionCall","src":"1848:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1841:6:31"},"nodeType":"YulFunctionCall","src":"1841:50:31"},"nodeType":"YulIf","src":"1838:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1769:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1780:5:31","type":""}],"src":"1741:173:31"},{"body":{"nodeType":"YulBlock","src":"2006:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"2052:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2061:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2064:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2054:6:31"},"nodeType":"YulFunctionCall","src":"2054:12:31"},"nodeType":"YulExpressionStatement","src":"2054:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2027:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2036:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2023:3:31"},"nodeType":"YulFunctionCall","src":"2023:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2048:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2019:3:31"},"nodeType":"YulFunctionCall","src":"2019:32:31"},"nodeType":"YulIf","src":"2016:52:31"},{"nodeType":"YulAssignment","src":"2077:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2106:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2087:18:31"},"nodeType":"YulFunctionCall","src":"2087:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2077:6:31"}]},{"nodeType":"YulAssignment","src":"2125:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2152:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2163:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2148:3:31"},"nodeType":"YulFunctionCall","src":"2148:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2135:12:31"},"nodeType":"YulFunctionCall","src":"2135:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2125:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1964:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1975:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1987:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1995:6:31","type":""}],"src":"1919:254:31"},{"body":{"nodeType":"YulBlock","src":"2282:224:31","statements":[{"body":{"nodeType":"YulBlock","src":"2328:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2337:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2340:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2330:6:31"},"nodeType":"YulFunctionCall","src":"2330:12:31"},"nodeType":"YulExpressionStatement","src":"2330:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2303:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2312:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2299:3:31"},"nodeType":"YulFunctionCall","src":"2299:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2324:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2295:3:31"},"nodeType":"YulFunctionCall","src":"2295:32:31"},"nodeType":"YulIf","src":"2292:52:31"},{"nodeType":"YulAssignment","src":"2353:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2382:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2363:18:31"},"nodeType":"YulFunctionCall","src":"2363:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2353:6:31"}]},{"nodeType":"YulAssignment","src":"2401:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2434:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2445:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2430:3:31"},"nodeType":"YulFunctionCall","src":"2430:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2411:18:31"},"nodeType":"YulFunctionCall","src":"2411:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2401:6:31"}]},{"nodeType":"YulAssignment","src":"2458:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2485:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2496:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2481:3:31"},"nodeType":"YulFunctionCall","src":"2481:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2468:12:31"},"nodeType":"YulFunctionCall","src":"2468:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2458:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2232:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2243:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2255:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2263:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2271:6:31","type":""}],"src":"2178:328:31"},{"body":{"nodeType":"YulBlock","src":"2581:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"2627:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2636:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2639:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2629:6:31"},"nodeType":"YulFunctionCall","src":"2629:12:31"},"nodeType":"YulExpressionStatement","src":"2629:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2602:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2611:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2598:3:31"},"nodeType":"YulFunctionCall","src":"2598:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2623:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2594:3:31"},"nodeType":"YulFunctionCall","src":"2594:32:31"},"nodeType":"YulIf","src":"2591:52:31"},{"nodeType":"YulAssignment","src":"2652:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2681:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2662:18:31"},"nodeType":"YulFunctionCall","src":"2662:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2652:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2547:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2558:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2570:6:31","type":""}],"src":"2511:186:31"},{"body":{"nodeType":"YulBlock","src":"2803:76:31","statements":[{"nodeType":"YulAssignment","src":"2813:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2825:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2836:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2821:3:31"},"nodeType":"YulFunctionCall","src":"2821:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2813:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2855:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"2866:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2848:6:31"},"nodeType":"YulFunctionCall","src":"2848:25:31"},"nodeType":"YulExpressionStatement","src":"2848:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2772:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2783:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2794:4:31","type":""}],"src":"2702:177:31"},{"body":{"nodeType":"YulBlock","src":"2968:263:31","statements":[{"body":{"nodeType":"YulBlock","src":"3014:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3023:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3026:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3016:6:31"},"nodeType":"YulFunctionCall","src":"3016:12:31"},"nodeType":"YulExpressionStatement","src":"3016:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2989:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2998:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2985:3:31"},"nodeType":"YulFunctionCall","src":"2985:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3010:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2981:3:31"},"nodeType":"YulFunctionCall","src":"2981:32:31"},"nodeType":"YulIf","src":"2978:52:31"},{"nodeType":"YulAssignment","src":"3039:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3068:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3049:18:31"},"nodeType":"YulFunctionCall","src":"3049:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3039:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"3087:45:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3117:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3128:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3113:3:31"},"nodeType":"YulFunctionCall","src":"3113:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3100:12:31"},"nodeType":"YulFunctionCall","src":"3100:32:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3091:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3185:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3194:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3197:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3187:6:31"},"nodeType":"YulFunctionCall","src":"3187:12:31"},"nodeType":"YulExpressionStatement","src":"3187:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3154:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3175:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3168:6:31"},"nodeType":"YulFunctionCall","src":"3168:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3161:6:31"},"nodeType":"YulFunctionCall","src":"3161:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3151:2:31"},"nodeType":"YulFunctionCall","src":"3151:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3144:6:31"},"nodeType":"YulFunctionCall","src":"3144:40:31"},"nodeType":"YulIf","src":"3141:60:31"},{"nodeType":"YulAssignment","src":"3210:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"3220:5:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3210:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2926:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2937:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2949:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2957:6:31","type":""}],"src":"2884:347:31"},{"body":{"nodeType":"YulBlock","src":"3268:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3285:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3292:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3297:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3288:3:31"},"nodeType":"YulFunctionCall","src":"3288:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3278:6:31"},"nodeType":"YulFunctionCall","src":"3278:31:31"},"nodeType":"YulExpressionStatement","src":"3278:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3325:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3328:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3318:6:31"},"nodeType":"YulFunctionCall","src":"3318:15:31"},"nodeType":"YulExpressionStatement","src":"3318:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3349:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3352:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3342:6:31"},"nodeType":"YulFunctionCall","src":"3342:15:31"},"nodeType":"YulExpressionStatement","src":"3342:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3236:127:31"},{"body":{"nodeType":"YulBlock","src":"3498:1008:31","statements":[{"body":{"nodeType":"YulBlock","src":"3545:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3554:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3557:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3547:6:31"},"nodeType":"YulFunctionCall","src":"3547:12:31"},"nodeType":"YulExpressionStatement","src":"3547:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3519:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3528:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3515:3:31"},"nodeType":"YulFunctionCall","src":"3515:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3540:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3511:3:31"},"nodeType":"YulFunctionCall","src":"3511:33:31"},"nodeType":"YulIf","src":"3508:53:31"},{"nodeType":"YulAssignment","src":"3570:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3599:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3580:18:31"},"nodeType":"YulFunctionCall","src":"3580:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3570:6:31"}]},{"nodeType":"YulAssignment","src":"3618:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:31"},"nodeType":"YulFunctionCall","src":"3647:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3628:18:31"},"nodeType":"YulFunctionCall","src":"3628:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3618:6:31"}]},{"nodeType":"YulAssignment","src":"3675:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3702:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3713:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3698:3:31"},"nodeType":"YulFunctionCall","src":"3698:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3685:12:31"},"nodeType":"YulFunctionCall","src":"3685:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3675:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"3726:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3757:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3768:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3753:3:31"},"nodeType":"YulFunctionCall","src":"3753:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3740:12:31"},"nodeType":"YulFunctionCall","src":"3740:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3730:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3781:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3791:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3785:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3836:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3845:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3848:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3838:6:31"},"nodeType":"YulFunctionCall","src":"3838:12:31"},"nodeType":"YulExpressionStatement","src":"3838:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3824:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3832:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3821:2:31"},"nodeType":"YulFunctionCall","src":"3821:14:31"},"nodeType":"YulIf","src":"3818:34:31"},{"nodeType":"YulVariableDeclaration","src":"3861:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3875:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"3886:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3871:3:31"},"nodeType":"YulFunctionCall","src":"3871:22:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3865:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3941:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3950:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3953:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3943:6:31"},"nodeType":"YulFunctionCall","src":"3943:12:31"},"nodeType":"YulExpressionStatement","src":"3943:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3920:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"3924:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3916:3:31"},"nodeType":"YulFunctionCall","src":"3916:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3931:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3912:3:31"},"nodeType":"YulFunctionCall","src":"3912:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3905:6:31"},"nodeType":"YulFunctionCall","src":"3905:35:31"},"nodeType":"YulIf","src":"3902:55:31"},{"nodeType":"YulVariableDeclaration","src":"3966:26:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3989:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3976:12:31"},"nodeType":"YulFunctionCall","src":"3976:16:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3970:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4015:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4017:16:31"},"nodeType":"YulFunctionCall","src":"4017:18:31"},"nodeType":"YulExpressionStatement","src":"4017:18:31"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4007:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4011:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4004:2:31"},"nodeType":"YulFunctionCall","src":"4004:10:31"},"nodeType":"YulIf","src":"4001:36:31"},{"nodeType":"YulVariableDeclaration","src":"4046:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4060:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4056:3:31"},"nodeType":"YulFunctionCall","src":"4056:7:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"4050:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4072:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4092:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4086:5:31"},"nodeType":"YulFunctionCall","src":"4086:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4076:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4104:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4126:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4150:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"4154:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4146:3:31"},"nodeType":"YulFunctionCall","src":"4146:13:31"},{"name":"_4","nodeType":"YulIdentifier","src":"4161:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4142:3:31"},"nodeType":"YulFunctionCall","src":"4142:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"4166:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4138:3:31"},"nodeType":"YulFunctionCall","src":"4138:31:31"},{"name":"_4","nodeType":"YulIdentifier","src":"4171:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4134:3:31"},"nodeType":"YulFunctionCall","src":"4134:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4122:3:31"},"nodeType":"YulFunctionCall","src":"4122:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4108:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4234:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4236:16:31"},"nodeType":"YulFunctionCall","src":"4236:18:31"},"nodeType":"YulExpressionStatement","src":"4236:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4193:10:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4205:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4190:2:31"},"nodeType":"YulFunctionCall","src":"4190:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4213:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4225:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4210:2:31"},"nodeType":"YulFunctionCall","src":"4210:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4187:2:31"},"nodeType":"YulFunctionCall","src":"4187:46:31"},"nodeType":"YulIf","src":"4184:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4272:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4276:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4265:6:31"},"nodeType":"YulFunctionCall","src":"4265:22:31"},"nodeType":"YulExpressionStatement","src":"4265:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4303:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4311:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4296:6:31"},"nodeType":"YulFunctionCall","src":"4296:18:31"},"nodeType":"YulExpressionStatement","src":"4296:18:31"},{"body":{"nodeType":"YulBlock","src":"4360:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4369:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4372:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4362:6:31"},"nodeType":"YulFunctionCall","src":"4362:12:31"},"nodeType":"YulExpressionStatement","src":"4362:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4337:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4341:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4333:3:31"},"nodeType":"YulFunctionCall","src":"4333:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"4346:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4329:3:31"},"nodeType":"YulFunctionCall","src":"4329:20:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4351:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4326:2:31"},"nodeType":"YulFunctionCall","src":"4326:33:31"},"nodeType":"YulIf","src":"4323:53:31"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4402:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4410:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4398:3:31"},"nodeType":"YulFunctionCall","src":"4398:15:31"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4419:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"4423:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4415:3:31"},"nodeType":"YulFunctionCall","src":"4415:11:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4428:2:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4385:12:31"},"nodeType":"YulFunctionCall","src":"4385:46:31"},"nodeType":"YulExpressionStatement","src":"4385:46:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4455:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4463:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4451:3:31"},"nodeType":"YulFunctionCall","src":"4451:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"4468:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4447:3:31"},"nodeType":"YulFunctionCall","src":"4447:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"4473:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4440:6:31"},"nodeType":"YulFunctionCall","src":"4440:35:31"},"nodeType":"YulExpressionStatement","src":"4440:35:31"},{"nodeType":"YulAssignment","src":"4484:16:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"4494:6:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4484:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3440:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3451:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3463:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3471:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3479:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3487:6:31","type":""}],"src":"3368:1138:31"},{"body":{"nodeType":"YulBlock","src":"4598:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"4644:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4653:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4656:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4646:6:31"},"nodeType":"YulFunctionCall","src":"4646:12:31"},"nodeType":"YulExpressionStatement","src":"4646:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4619:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4628:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4615:3:31"},"nodeType":"YulFunctionCall","src":"4615:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4640:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4611:3:31"},"nodeType":"YulFunctionCall","src":"4611:32:31"},"nodeType":"YulIf","src":"4608:52:31"},{"nodeType":"YulAssignment","src":"4669:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4698:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4679:18:31"},"nodeType":"YulFunctionCall","src":"4679:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4669:6:31"}]},{"nodeType":"YulAssignment","src":"4717:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4750:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4761:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4746:3:31"},"nodeType":"YulFunctionCall","src":"4746:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4727:18:31"},"nodeType":"YulFunctionCall","src":"4727:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4717:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4556:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4567:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4579:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4587:6:31","type":""}],"src":"4511:260:31"},{"body":{"nodeType":"YulBlock","src":"4831:325:31","statements":[{"nodeType":"YulAssignment","src":"4841:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4855:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4858:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4851:3:31"},"nodeType":"YulFunctionCall","src":"4851:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4841:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"4872:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4902:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"4908:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4898:3:31"},"nodeType":"YulFunctionCall","src":"4898:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4876:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4949:31:31","statements":[{"nodeType":"YulAssignment","src":"4951:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4965:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4973:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4961:3:31"},"nodeType":"YulFunctionCall","src":"4961:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4951:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4929:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4922:6:31"},"nodeType":"YulFunctionCall","src":"4922:26:31"},"nodeType":"YulIf","src":"4919:61:31"},{"body":{"nodeType":"YulBlock","src":"5039:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5060:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5067:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5072:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5063:3:31"},"nodeType":"YulFunctionCall","src":"5063:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5053:6:31"},"nodeType":"YulFunctionCall","src":"5053:31:31"},"nodeType":"YulExpressionStatement","src":"5053:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5104:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5107:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5097:6:31"},"nodeType":"YulFunctionCall","src":"5097:15:31"},"nodeType":"YulExpressionStatement","src":"5097:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5132:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5135:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5125:6:31"},"nodeType":"YulFunctionCall","src":"5125:15:31"},"nodeType":"YulExpressionStatement","src":"5125:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4995:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5018:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5026:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5015:2:31"},"nodeType":"YulFunctionCall","src":"5015:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4992:2:31"},"nodeType":"YulFunctionCall","src":"4992:38:31"},"nodeType":"YulIf","src":"4989:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4811:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4820:6:31","type":""}],"src":"4776:380:31"},{"body":{"nodeType":"YulBlock","src":"5335:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5352:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5363:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5345:6:31"},"nodeType":"YulFunctionCall","src":"5345:21:31"},"nodeType":"YulExpressionStatement","src":"5345:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5397:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5382:3:31"},"nodeType":"YulFunctionCall","src":"5382:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"5402:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5375:6:31"},"nodeType":"YulFunctionCall","src":"5375:30:31"},"nodeType":"YulExpressionStatement","src":"5375:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5425:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5436:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5421:3:31"},"nodeType":"YulFunctionCall","src":"5421:18:31"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"5441:34:31","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5414:6:31"},"nodeType":"YulFunctionCall","src":"5414:62:31"},"nodeType":"YulExpressionStatement","src":"5414:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5496:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5507:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5492:3:31"},"nodeType":"YulFunctionCall","src":"5492:18:31"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"5512:3:31","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5485:6:31"},"nodeType":"YulFunctionCall","src":"5485:31:31"},"nodeType":"YulExpressionStatement","src":"5485:31:31"},{"nodeType":"YulAssignment","src":"5525:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5537:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5548:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5533:3:31"},"nodeType":"YulFunctionCall","src":"5533:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5525:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5312:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5326:4:31","type":""}],"src":"5161:397:31"},{"body":{"nodeType":"YulBlock","src":"5737:251:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5754:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5765:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5747:6:31"},"nodeType":"YulFunctionCall","src":"5747:21:31"},"nodeType":"YulExpressionStatement","src":"5747:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5788:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5799:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5784:3:31"},"nodeType":"YulFunctionCall","src":"5784:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"5804:2:31","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5777:6:31"},"nodeType":"YulFunctionCall","src":"5777:30:31"},"nodeType":"YulExpressionStatement","src":"5777:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5827:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5838:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5823:3:31"},"nodeType":"YulFunctionCall","src":"5823:18:31"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"5843:34:31","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5816:6:31"},"nodeType":"YulFunctionCall","src":"5816:62:31"},"nodeType":"YulExpressionStatement","src":"5816:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5898:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5909:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5894:3:31"},"nodeType":"YulFunctionCall","src":"5894:18:31"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"5914:31:31","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5887:6:31"},"nodeType":"YulFunctionCall","src":"5887:59:31"},"nodeType":"YulExpressionStatement","src":"5887:59:31"},{"nodeType":"YulAssignment","src":"5955:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5967:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5978:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5963:3:31"},"nodeType":"YulFunctionCall","src":"5963:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5955:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5714:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5728:4:31","type":""}],"src":"5563:425:31"},{"body":{"nodeType":"YulBlock","src":"6167:235:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6184:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6195:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6177:6:31"},"nodeType":"YulFunctionCall","src":"6177:21:31"},"nodeType":"YulExpressionStatement","src":"6177:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6218:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6229:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6214:3:31"},"nodeType":"YulFunctionCall","src":"6214:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6234:2:31","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6207:6:31"},"nodeType":"YulFunctionCall","src":"6207:30:31"},"nodeType":"YulExpressionStatement","src":"6207:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6257:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6268:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6253:3:31"},"nodeType":"YulFunctionCall","src":"6253:18:31"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"6273:34:31","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6246:6:31"},"nodeType":"YulFunctionCall","src":"6246:62:31"},"nodeType":"YulExpressionStatement","src":"6246:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6328:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6339:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6324:3:31"},"nodeType":"YulFunctionCall","src":"6324:18:31"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"6344:15:31","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6317:6:31"},"nodeType":"YulFunctionCall","src":"6317:43:31"},"nodeType":"YulExpressionStatement","src":"6317:43:31"},{"nodeType":"YulAssignment","src":"6369:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6381:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6392:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6377:3:31"},"nodeType":"YulFunctionCall","src":"6377:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6369:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6144:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6158:4:31","type":""}],"src":"5993:409:31"},{"body":{"nodeType":"YulBlock","src":"6581:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6598:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6609:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6591:6:31"},"nodeType":"YulFunctionCall","src":"6591:21:31"},"nodeType":"YulExpressionStatement","src":"6591:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6632:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6643:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6628:3:31"},"nodeType":"YulFunctionCall","src":"6628:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6648:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6621:6:31"},"nodeType":"YulFunctionCall","src":"6621:30:31"},"nodeType":"YulExpressionStatement","src":"6621:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6671:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6682:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6667:3:31"},"nodeType":"YulFunctionCall","src":"6667:18:31"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"6687:26:31","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6660:6:31"},"nodeType":"YulFunctionCall","src":"6660:54:31"},"nodeType":"YulExpressionStatement","src":"6660:54:31"},{"nodeType":"YulAssignment","src":"6723:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6735:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6746:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6731:3:31"},"nodeType":"YulFunctionCall","src":"6731:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6723:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6558:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6572:4:31","type":""}],"src":"6407:348:31"},{"body":{"nodeType":"YulBlock","src":"6934:231:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6951:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6962:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6944:6:31"},"nodeType":"YulFunctionCall","src":"6944:21:31"},"nodeType":"YulExpressionStatement","src":"6944:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6985:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6996:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6981:3:31"},"nodeType":"YulFunctionCall","src":"6981:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"7001:2:31","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6974:6:31"},"nodeType":"YulFunctionCall","src":"6974:30:31"},"nodeType":"YulExpressionStatement","src":"6974:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7024:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7035:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7020:3:31"},"nodeType":"YulFunctionCall","src":"7020:18:31"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"7040:34:31","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7013:6:31"},"nodeType":"YulFunctionCall","src":"7013:62:31"},"nodeType":"YulExpressionStatement","src":"7013:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7095:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7106:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7091:3:31"},"nodeType":"YulFunctionCall","src":"7091:18:31"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"7111:11:31","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7084:6:31"},"nodeType":"YulFunctionCall","src":"7084:39:31"},"nodeType":"YulExpressionStatement","src":"7084:39:31"},{"nodeType":"YulAssignment","src":"7132:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7144:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7155:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7140:3:31"},"nodeType":"YulFunctionCall","src":"7140:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7132:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6911:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6925:4:31","type":""}],"src":"6760:405:31"},{"body":{"nodeType":"YulBlock","src":"7357:309:31","statements":[{"nodeType":"YulVariableDeclaration","src":"7367:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7387:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7381:5:31"},"nodeType":"YulFunctionCall","src":"7381:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7371:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7442:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7450:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7438:3:31"},"nodeType":"YulFunctionCall","src":"7438:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"7457:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"7462:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7403:34:31"},"nodeType":"YulFunctionCall","src":"7403:66:31"},"nodeType":"YulExpressionStatement","src":"7403:66:31"},{"nodeType":"YulVariableDeclaration","src":"7478:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7495:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"7500:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7491:3:31"},"nodeType":"YulFunctionCall","src":"7491:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"7482:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7516:29:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7538:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7532:5:31"},"nodeType":"YulFunctionCall","src":"7532:13:31"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"7520:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7593:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7601:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7589:3:31"},"nodeType":"YulFunctionCall","src":"7589:17:31"},{"name":"end_1","nodeType":"YulIdentifier","src":"7608:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"7615:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7554:34:31"},"nodeType":"YulFunctionCall","src":"7554:70:31"},"nodeType":"YulExpressionStatement","src":"7554:70:31"},{"nodeType":"YulAssignment","src":"7633:27:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"7644:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"7651:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7640:3:31"},"nodeType":"YulFunctionCall","src":"7640:20:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7633:3:31"}]}]},"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":"7325:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7330:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7338:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7349:3:31","type":""}],"src":"7170:496:31"},{"body":{"nodeType":"YulBlock","src":"7845:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7862:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7873:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7855:6:31"},"nodeType":"YulFunctionCall","src":"7855:21:31"},"nodeType":"YulExpressionStatement","src":"7855:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7896:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7907:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7892:3:31"},"nodeType":"YulFunctionCall","src":"7892:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"7912:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7885:6:31"},"nodeType":"YulFunctionCall","src":"7885:30:31"},"nodeType":"YulExpressionStatement","src":"7885:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7935:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7946:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7931:3:31"},"nodeType":"YulFunctionCall","src":"7931:18:31"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"7951:34:31","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7924:6:31"},"nodeType":"YulFunctionCall","src":"7924:62:31"},"nodeType":"YulExpressionStatement","src":"7924:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8006:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8017:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8002:3:31"},"nodeType":"YulFunctionCall","src":"8002:18:31"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"8022:7:31","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7995:6:31"},"nodeType":"YulFunctionCall","src":"7995:35:31"},"nodeType":"YulExpressionStatement","src":"7995:35:31"},{"nodeType":"YulAssignment","src":"8039:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8051:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8062:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8047:3:31"},"nodeType":"YulFunctionCall","src":"8047:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8039:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7822:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7836:4:31","type":""}],"src":"7671:401:31"},{"body":{"nodeType":"YulBlock","src":"8251:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8268:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8279:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8261:6:31"},"nodeType":"YulFunctionCall","src":"8261:21:31"},"nodeType":"YulExpressionStatement","src":"8261:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8302:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8313:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8298:3:31"},"nodeType":"YulFunctionCall","src":"8298:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8318:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8291:6:31"},"nodeType":"YulFunctionCall","src":"8291:30:31"},"nodeType":"YulExpressionStatement","src":"8291:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8341:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8352:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8337:3:31"},"nodeType":"YulFunctionCall","src":"8337:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"8357:34:31","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8330:6:31"},"nodeType":"YulFunctionCall","src":"8330:62:31"},"nodeType":"YulExpressionStatement","src":"8330:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8412:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8423:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8408:3:31"},"nodeType":"YulFunctionCall","src":"8408:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"8428:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8401:6:31"},"nodeType":"YulFunctionCall","src":"8401:34:31"},"nodeType":"YulExpressionStatement","src":"8401:34:31"},{"nodeType":"YulAssignment","src":"8444:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8456:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8467:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8452:3:31"},"nodeType":"YulFunctionCall","src":"8452:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8444:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8228:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8242:4:31","type":""}],"src":"8077:400:31"},{"body":{"nodeType":"YulBlock","src":"8656:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8673:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8684:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8666:6:31"},"nodeType":"YulFunctionCall","src":"8666:21:31"},"nodeType":"YulExpressionStatement","src":"8666:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8707:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8718:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8703:3:31"},"nodeType":"YulFunctionCall","src":"8703:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8723:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8696:6:31"},"nodeType":"YulFunctionCall","src":"8696:30:31"},"nodeType":"YulExpressionStatement","src":"8696:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8746:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8757:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8742:3:31"},"nodeType":"YulFunctionCall","src":"8742:18:31"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"8762:27:31","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8735:6:31"},"nodeType":"YulFunctionCall","src":"8735:55:31"},"nodeType":"YulExpressionStatement","src":"8735:55:31"},{"nodeType":"YulAssignment","src":"8799:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8811:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8822:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8807:3:31"},"nodeType":"YulFunctionCall","src":"8807:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8799:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8633:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8647:4:31","type":""}],"src":"8482:349:31"},{"body":{"nodeType":"YulBlock","src":"9010:240:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9027:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9038:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9020:6:31"},"nodeType":"YulFunctionCall","src":"9020:21:31"},"nodeType":"YulExpressionStatement","src":"9020:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9061:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9072:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9057:3:31"},"nodeType":"YulFunctionCall","src":"9057:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"9077:2:31","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9050:6:31"},"nodeType":"YulFunctionCall","src":"9050:30:31"},"nodeType":"YulExpressionStatement","src":"9050:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9100:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9111:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9096:3:31"},"nodeType":"YulFunctionCall","src":"9096:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"9116:34:31","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9089:6:31"},"nodeType":"YulFunctionCall","src":"9089:62:31"},"nodeType":"YulExpressionStatement","src":"9089:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9171:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9182:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9167:3:31"},"nodeType":"YulFunctionCall","src":"9167:18:31"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"9187:20:31","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9160:6:31"},"nodeType":"YulFunctionCall","src":"9160:48:31"},"nodeType":"YulExpressionStatement","src":"9160:48:31"},{"nodeType":"YulAssignment","src":"9217:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9229:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9240:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9225:3:31"},"nodeType":"YulFunctionCall","src":"9225:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9217:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8987:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9001:4:31","type":""}],"src":"8836:414:31"},{"body":{"nodeType":"YulBlock","src":"9287:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9304:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9311:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9316:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9307:3:31"},"nodeType":"YulFunctionCall","src":"9307:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9297:6:31"},"nodeType":"YulFunctionCall","src":"9297:31:31"},"nodeType":"YulExpressionStatement","src":"9297:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9344:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9347:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9337:6:31"},"nodeType":"YulFunctionCall","src":"9337:15:31"},"nodeType":"YulExpressionStatement","src":"9337:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9368:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9371:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9361:6:31"},"nodeType":"YulFunctionCall","src":"9361:15:31"},"nodeType":"YulExpressionStatement","src":"9361:15:31"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9255:127:31"},{"body":{"nodeType":"YulBlock","src":"9590:286:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9600:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9618:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9623:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9614:3:31"},"nodeType":"YulFunctionCall","src":"9614:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"9627:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9610:3:31"},"nodeType":"YulFunctionCall","src":"9610:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9604:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9645:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9660:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9668:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9656:3:31"},"nodeType":"YulFunctionCall","src":"9656:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9638:6:31"},"nodeType":"YulFunctionCall","src":"9638:34:31"},"nodeType":"YulExpressionStatement","src":"9638:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9692:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9703:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9688:3:31"},"nodeType":"YulFunctionCall","src":"9688:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9712:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9720:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9708:3:31"},"nodeType":"YulFunctionCall","src":"9708:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9681:6:31"},"nodeType":"YulFunctionCall","src":"9681:43:31"},"nodeType":"YulExpressionStatement","src":"9681:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9744:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9755:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9740:3:31"},"nodeType":"YulFunctionCall","src":"9740:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"9760:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9733:6:31"},"nodeType":"YulFunctionCall","src":"9733:34:31"},"nodeType":"YulExpressionStatement","src":"9733:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9787:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9798:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9783:3:31"},"nodeType":"YulFunctionCall","src":"9783:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"9803:3:31","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9776:6:31"},"nodeType":"YulFunctionCall","src":"9776:31:31"},"nodeType":"YulExpressionStatement","src":"9776:31:31"},{"nodeType":"YulAssignment","src":"9816:54:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"9842:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9854:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9865:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9850:3:31"},"nodeType":"YulFunctionCall","src":"9850:19:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9824:17:31"},"nodeType":"YulFunctionCall","src":"9824:46:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9816:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9535:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9546:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9554:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9562:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9570:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9581:4:31","type":""}],"src":"9387:489:31"},{"body":{"nodeType":"YulBlock","src":"9961:169:31","statements":[{"body":{"nodeType":"YulBlock","src":"10007:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10016:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10019:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10009:6:31"},"nodeType":"YulFunctionCall","src":"10009:12:31"},"nodeType":"YulExpressionStatement","src":"10009:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9982:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"9991:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9978:3:31"},"nodeType":"YulFunctionCall","src":"9978:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"10003:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9974:3:31"},"nodeType":"YulFunctionCall","src":"9974:32:31"},"nodeType":"YulIf","src":"9971:52:31"},{"nodeType":"YulVariableDeclaration","src":"10032:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10051:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10045:5:31"},"nodeType":"YulFunctionCall","src":"10045:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10036:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10094:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"10070:23:31"},"nodeType":"YulFunctionCall","src":"10070:30:31"},"nodeType":"YulExpressionStatement","src":"10070:30:31"},{"nodeType":"YulAssignment","src":"10109:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"10119:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10109:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9927:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9938:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9950:6:31","type":""}],"src":"9881:249:31"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d676b79dc68df4267f8d09269c07d709f69069f4e6b407ce8dd8f369db4c2a6464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xC7F JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x27A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xCEC JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xD34 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x44D JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x499 JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xD9A JUMP JUMPDEST PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x57F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB5 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE07 JUMP JUMPDEST PUSH2 0x59D JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x5D5 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x259 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x274 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B5 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x302 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x302 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x649 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E DUP3 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x3B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3CC JUMPI POP PUSH2 0x3CC DUP2 CALLER PUSH2 0x1FA JUMP JUMPDEST PUSH2 0x43E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 PUSH2 0x6AB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x457 CALLER DUP3 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x473 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x274 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x563 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST PUSH2 0x599 CALLER DUP4 DUP4 PUSH2 0x8FC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5A7 CALLER DUP4 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x5C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x5CF DUP5 DUP5 DUP5 DUP5 PUSH2 0x9CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5E0 DUP3 PUSH2 0x649 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F7 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x617 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x642 JUMP JUMPDEST DUP1 PUSH2 0x621 DUP5 PUSH2 0x9FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x632 SWAP3 SWAP2 SWAP1 PUSH2 0xF9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E0 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x725 DUP4 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x76C JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x790 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x785 DUP5 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7AB DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x833 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x846 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x86C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x95D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9D5 DUP5 DUP5 DUP5 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x9E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA90 JUMP JUMPDEST PUSH2 0x5CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xA0A DUP4 PUSH2 0xB91 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA2A JUMPI PUSH2 0xA2A PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA54 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA5E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xAD4 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1063 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB0F JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB0C SWAP2 DUP2 ADD SWAP1 PUSH2 0x10A0 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB6C JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xB3D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xB42 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xB64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x790 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xBD0 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xBFC JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xC1A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xC32 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xC46 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xC58 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x274 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCB7 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xC9F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xCD8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xC9C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x642 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD50 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD7C DUP5 PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH2 0xD8A PUSH1 0x20 DUP6 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x642 DUP3 PUSH2 0xD18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD1 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xDE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE26 DUP6 PUSH2 0xD18 JUMP JUMPDEST SWAP4 POP PUSH2 0xE34 PUSH1 0x20 DUP7 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE7E PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xEA6 JUMPI PUSH2 0xEA6 PUSH2 0xDF1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xEF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEFF DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH2 0xF0D PUSH1 0x20 DUP5 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xF2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xF4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0xFAF DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0xFC3 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1096 SWAP1 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 PUSH23 0xB79DC68DF4267F8D09269C07D709F69069F4E6B407CE8D 0xD8 RETURN PUSH10 0xDB4C2A6464736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"628:16377:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:31;;558:22;540:41;;528:2;513:18;1570:300:5;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:31;;;1679:51;;1667:2;1652:18;3935:167:5;1533:203:31;3468:406:5;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:31;;;2836:2;2821:18;1929:204:5;2702:177:31;2633:102:5;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;1688:175;1570:300;-1:-1:-1;;1570:300:5:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;5363:2:31;3597:57:5;;;5345:21:31;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:31;;;5485:31;5533:19;;3597:57:5;;;;;;;;;734:10:12;-1:-1:-1;;;;;3686:21:5;;;;:62;;-1:-1:-1;3711:37:5;3728:5;734:10:12;4388:162:5;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;5765:2:31;3665:170:5;;;5747:21:31;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:5;5563:425:31;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;734:10:12;4804:7:5;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:5;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;6609:2:31;2324:56:5;;;6591:21:31;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:31;;;6660:54;6731:18;;2324:56:5;6407:348:31;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;6962:2:31;2020:73:5;;;6944:21:31;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:31;;;7084:39;7140:19;;2020:73:5;6760:405:31;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;734:10:12;4296:8:5;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;734:10:12;5352:7:5;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;6609:2:31;13313:53:5;;;6591:21:31;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:31;;;6660:54;6731:18;;13313:53:5;6407:348:31;13313:53:5;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;-1:-1:-1;;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;8279:2:31;11437:65:5;;;8261:21:31;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:31;;;8401:34;8452:19;;11437:65:5;8077:400:31;11437:65:5;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;8684:2:31;12982:55:5;;;8666:21:31;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;12982:55:5;8482:349:31;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;540::31;;;13108::5;;513:18:31;13108:41:5;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;13925:831:5:-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14129:71;;-1:-1:-1;;;14129:71:5;;-1:-1:-1;;;;;14129:36:5;;;;;:71;;734:10:12;;14180:4:5;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;13925:831;;;;;;:::o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;14:131:31:-;-1:-1:-1;;;;;;88:32:31;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:31;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:31;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:31:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:31;;1348:180;-1:-1:-1;1348:180:31:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:31;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:31:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:31;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:31;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:31:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:31;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:31;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:489::-;-1:-1:-1;;;;;9656:15:31;;;9638:34;;9708:15;;9703:2;9688:18;;9681:43;9755:2;9740:18;;9733:34;;;9803:3;9798:2;9783:18;;9776:31;;;9581:4;;9824:46;;9850:19;;9842:6;9824:46;:::i;:::-;9816:54;9387:489;-1:-1:-1;;;;;;9387:489:31:o;9881:249::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:52;;;10019:1;10016;10009:12;9971:52;10051:9;10045:16;10070:30;10094:5;10070:30;:::i"},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"IERC721":{"abi":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"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":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","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":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"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\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"IERC721Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"ERC721Burnable":{"abi":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"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":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"ERC721 Token that can be burned (destroyed).\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Burnable Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":\"ERC721Burnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"ERC721URIStorage":{"abi":[{"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":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"ERC721 token with storage based token URI management.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":\"ERC721URIStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"IERC721Metadata":{"abi":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"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":[],"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":"owner","type":"address"}],"stateMutability":"view","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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"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\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":[],\"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\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/Address.sol":{"Address":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1fdd61f4eb78bb85396bef6217c844e429e234ac21c304c6e1ff0a4882c9d9264736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL REVERT 0xD6 0x1F 0x4E 0xB7 DUP12 0xB8 MSTORE8 SWAP7 0xBE 0xF6 0x21 PUSH29 0x844E429E234AC21C304C6E1FF0A4882C9D9264736F6C63430008140033 ","sourceMap":"194:9169:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:9169:11;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1fdd61f4eb78bb85396bef6217c844e429e234ac21c304c6e1ff0a4882c9d9264736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL REVERT 0xD6 0x1F 0x4E 0xB7 DUP12 0xB8 MSTORE8 SWAP7 0xBE 0xF6 0x21 PUSH29 0x844E429E234AC21C304C6E1FF0A4882C9D9264736F6C63430008140033 ","sourceMap":"194:9169:11:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/Strings.sol":{"Strings":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220021c47ccbc9d2eb37dccbfda50caf25b1daad11d1b40ba8f580b0ae6e23d393864736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL SHR SELFBALANCE 0xCC 0xBC SWAP14 0x2E 0xB3 PUSH30 0xCCBFDA50CAF25B1DAAD11D1B40BA8F580B0AE6E23D393864736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"220:2559:13:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:13;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220021c47ccbc9d2eb37dccbfda50caf25b1daad11d1b40ba8f580b0ae6e23d393864736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL SHR SELFBALANCE 0xCC 0xBC SWAP14 0x2E 0xB3 PUSH30 0xCCBFDA50CAF25B1DAAD11D1B40BA8F580B0AE6E23D393864736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"220:2559:13:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"ECDSA":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205a77dc3abb340c1df399723277b7d59112560781b8c1ec9f5a02c745d813a33d64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GAS PUSH24 0xDC3ABB340C1DF399723277B7D59112560781B8C1EC9F5A02 0xC7 GASLIMIT 0xD8 SGT LOG3 RETURNDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"369:8761:14:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;369:8761:14;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205a77dc3abb340c1df399723277b7d59112560781b8c1ec9f5a02c745d813a33d64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GAS PUSH24 0xDC3ABB340C1DF399723277B7D59112560781B8C1EC9F5A02 0xC7 GASLIMIT 0xD8 SGT LOG3 RETURNDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"369:8761:14:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@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\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/math/Math.sol":{"Math":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205c0cc183d0f31baa1c5bb8dc7aa6a23858e404f9a4daa0da3e6b85f138b0ab6f64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xC 0xC1 DUP4 0xD0 RETURN SHL 0xAA SHR JUMPDEST 0xB8 0xDC PUSH27 0xA6A23858E404F9A4DAA0DA3E6B85F138B0AB6F64736F6C63430008 EQ STOP CALLER ","sourceMap":"202:12582:17:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12582:17;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205c0cc183d0f31baa1c5bb8dc7aa6a23858e404f9a4daa0da3e6b85f138b0ab6f64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xC 0xC1 DUP4 0xD0 RETURN SHL 0xAA SHR JUMPDEST 0xB8 0xDC PUSH27 0xA6A23858E404F9A4DAA0DA3E6B85F138B0AB6F64736F6C63430008 EQ STOP CALLER ","sourceMap":"202:12582:17:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070fa345ea313530b988df5a20a3fb22bf347620b40de18f92e69a0b4ea05510f64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xFA345EA313530B988DF5A20A3FB22BF347 PUSH3 0xB40DE XOR 0xF9 0x2E PUSH10 0xA0B4EA05510F64736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"215:1047:18:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1047:18;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070fa345ea313530b988df5a20a3fb22bf347620b40de18f92e69a0b4ea05510f64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xFA345EA313530B988DF5A20A3FB22BF347 PUSH3 0xB40DE XOR 0xF9 0x2E PUSH10 0xA0B4EA05510F64736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"215:1047:18:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/alpha/Alpha.v3.sol":{"NofAlphaV3":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"buyer","type":"address"},{"indexed":false,"internalType":"string","name":"seasonName","type":"string"}],"name":"BuyPack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"string","name":"season","type":"string"},{"indexed":false,"internalType":"uint256","name":"position","type":"uint256"}],"name":"Winner","type":"event"},{"inputs":[],"name":"DAI_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"balanceReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"name","type":"string"}],"name":"buyPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cards","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"},{"internalType":"uint256","name":"collection","type":"uint256"},{"internalType":"string","name":"season","type":"string"},{"internalType":"uint256","name":"completion","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"cardsByUserBySeason","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"},{"internalType":"uint256","name":"collection","type":"uint256"},{"internalType":"string","name":"season","type":"string"},{"internalType":"uint256","name":"completion","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"string","name":"_seasonName","type":"string"}],"name":"getCardsByUserBySeason","outputs":[{"components":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"},{"internalType":"uint256","name":"collection","type":"uint256"},{"internalType":"string","name":"season","type":"string"},{"internalType":"uint256","name":"completion","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"}],"internalType":"struct NofAlphaV3.Card[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"getSeasonAlbums","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"getSeasonCards","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSeasonData","outputs":[{"internalType":"string[]","name":"","type":"string[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_seasonName","type":"string"}],"name":"getWinners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"__baseUri","type":"string"},{"internalType":"address","name":"_daiTokenAddress","type":"address"},{"internalType":"address","name":"_balanceReceiver","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"isOperator","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"string","name":"folder","type":"string"}],"name":"newSeason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"uint256","name":"card","type":"uint256"},{"internalType":"uint256","name":"album","type":"uint256"}],"name":"pasteCards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"prizesBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"uint256","name":"","type":"uint256"}],"name":"seasonNames","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"seasonPrices","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"seasons","outputs":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"string","name":"folder","type":"string"}],"stateMutability":"view","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":"_newBalanceReceiver","type":"address"}],"name":"setBalanceReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"__baseURI","type":"string"}],"name":"setBaseURI","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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23":{"entryPoint":null,"id":23,"parameterSlots":0,"returnSlots":0},"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"@_3570":{"entryPoint":null,"id":3570,"parameterSlots":0,"returnSlots":0},"@_msgSender_3794":{"entryPoint":206,"id":3794,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":223,"id":111,"parameterSlots":1,"returnSlots":0},"@msgSender_4822":{"entryPoint":305,"id":4822,"parameterSlots":0,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":658,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":741,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":598,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":576,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"201:325:31","statements":[{"nodeType":"YulAssignment","src":"211:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:31"},"nodeType":"YulFunctionCall","src":"221:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:31"},"nodeType":"YulFunctionCall","src":"268:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:31","statements":[{"nodeType":"YulAssignment","src":"321:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:31"},"nodeType":"YulFunctionCall","src":"331:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:31"},"nodeType":"YulFunctionCall","src":"292:26:31"},"nodeType":"YulIf","src":"289:61:31"},{"body":{"nodeType":"YulBlock","src":"409:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:31"},"nodeType":"YulFunctionCall","src":"433:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:31"},"nodeType":"YulFunctionCall","src":"423:31:31"},"nodeType":"YulExpressionStatement","src":"423:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:31"},"nodeType":"YulFunctionCall","src":"467:15:31"},"nodeType":"YulExpressionStatement","src":"467:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:31"},"nodeType":"YulFunctionCall","src":"495:15:31"},"nodeType":"YulExpressionStatement","src":"495:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:31"},"nodeType":"YulFunctionCall","src":"385:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:31"},"nodeType":"YulFunctionCall","src":"362:38:31"},"nodeType":"YulIf","src":"359:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:31","type":""}],"src":"146:380:31"},{"body":{"nodeType":"YulBlock","src":"587:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:31"},"nodeType":"YulFunctionCall","src":"597:14:31"},"nodeType":"YulExpressionStatement","src":"597:14:31"},{"nodeType":"YulAssignment","src":"620:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:31"},"nodeType":"YulFunctionCall","src":"628:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:31","type":""}],"src":"531:121:31"},{"body":{"nodeType":"YulBlock","src":"738:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:17:31"},"nodeType":"YulExpressionStatement","src":"809:17:31"},{"nodeType":"YulVariableDeclaration","src":"839:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:31"},"nodeType":"YulFunctionCall","src":"851:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:31"},"nodeType":"YulFunctionCall","src":"919:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:31"},"nodeType":"YulFunctionCall","src":"912:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:31","statements":[{"nodeType":"YulAssignment","src":"979:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:31"},"nodeType":"YulFunctionCall","src":"956:20:31"},"nodeType":"YulIf","src":"953:47:31"},{"nodeType":"YulVariableDeclaration","src":"1013:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:31"},"nodeType":"YulFunctionCall","src":"1040:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:31"},"nodeType":"YulFunctionCall","src":"1033:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:31"},"nodeType":"YulFunctionCall","src":"1167:17:31"},"nodeType":"YulExpressionStatement","src":"1167:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:31"},"nodeType":"YulFunctionCall","src":"1112:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:31","statements":[{"nodeType":"YulAssignment","src":"1128:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:31"},"nodeType":"YulFunctionCall","src":"1137:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:31","statements":[]},"src":"1104:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:31"},"nodeType":"YulFunctionCall","src":"751:11:31"},"nodeType":"YulIf","src":"748:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:31","type":""}],"src":"657:545:31"},{"body":{"nodeType":"YulBlock","src":"1292:81:31","statements":[{"nodeType":"YulAssignment","src":"1302:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:31"},"nodeType":"YulFunctionCall","src":"1331:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:31"},"nodeType":"YulFunctionCall","src":"1344:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:31"},"nodeType":"YulFunctionCall","src":"1327:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:31"},"nodeType":"YulFunctionCall","src":"1323:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:31"},"nodeType":"YulFunctionCall","src":"1313:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:31"},"nodeType":"YulFunctionCall","src":"1355:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:31"},"nodeType":"YulFunctionCall","src":"1310:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:31","type":""}],"src":"1207:166:31"},{"body":{"nodeType":"YulBlock","src":"1474:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:31"},"nodeType":"YulFunctionCall","src":"1498:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:31"},"nodeType":"YulFunctionCall","src":"1553:18:31"},"nodeType":"YulExpressionStatement","src":"1553:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:31"},"nodeType":"YulFunctionCall","src":"1535:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:31"},"nodeType":"YulFunctionCall","src":"1531:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:31"},"nodeType":"YulFunctionCall","src":"1520:30:31"},"nodeType":"YulIf","src":"1517:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:31"},"nodeType":"YulFunctionCall","src":"1658:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:31"},"nodeType":"YulFunctionCall","src":"1632:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:31"},"nodeType":"YulFunctionCall","src":"1582:97:31"},"nodeType":"YulExpressionStatement","src":"1582:97:31"},{"nodeType":"YulVariableDeclaration","src":"1688:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:31","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:31"},"nodeType":"YulFunctionCall","src":"1846:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:31"},"nodeType":"YulFunctionCall","src":"1893:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:31"},"nodeType":"YulFunctionCall","src":"2067:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:31"},"nodeType":"YulFunctionCall","src":"2061:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:31"},"nodeType":"YulFunctionCall","src":"2046:42:31"},"nodeType":"YulExpressionStatement","src":"2046:42:31"},{"nodeType":"YulAssignment","src":"2105:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:31"},"nodeType":"YulFunctionCall","src":"2115:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:31"}]},{"nodeType":"YulAssignment","src":"2146:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:31"},"nodeType":"YulFunctionCall","src":"2159:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:31"},"nodeType":"YulFunctionCall","src":"1972:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:31","statements":[{"nodeType":"YulAssignment","src":"1989:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:31"},"nodeType":"YulFunctionCall","src":"1994:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:31","statements":[]},"src":"1964:236:31"},{"body":{"nodeType":"YulBlock","src":"2248:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:31"},"nodeType":"YulFunctionCall","src":"2289:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:31"},"nodeType":"YulFunctionCall","src":"2283:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:31"},"nodeType":"YulFunctionCall","src":"2368:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:31"},"nodeType":"YulFunctionCall","src":"2364:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:31"},"nodeType":"YulFunctionCall","src":"2390:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:31"},"nodeType":"YulFunctionCall","src":"2360:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:31"},"nodeType":"YulFunctionCall","src":"2356:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:31"},"nodeType":"YulFunctionCall","src":"2341:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:31"},"nodeType":"YulFunctionCall","src":"2326:74:31"},"nodeType":"YulExpressionStatement","src":"2326:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:31"},"nodeType":"YulFunctionCall","src":"2216:19:31"},"nodeType":"YulIf","src":"2213:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:31"},"nodeType":"YulFunctionCall","src":"2444:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:31"},"nodeType":"YulFunctionCall","src":"2440:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:31"},"nodeType":"YulFunctionCall","src":"2427:36:31"},"nodeType":"YulExpressionStatement","src":"2427:36:31"}]},"nodeType":"YulCase","src":"1810:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:31","statements":[{"nodeType":"YulAssignment","src":"2571:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:31"},"nodeType":"YulFunctionCall","src":"2586:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:31"},"nodeType":"YulFunctionCall","src":"2580:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:31"},"nodeType":"YulIf","src":"2531:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:31"},"nodeType":"YulFunctionCall","src":"2646:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:31"},"nodeType":"YulFunctionCall","src":"2633:81:31"},"nodeType":"YulExpressionStatement","src":"2633:81:31"}]},"nodeType":"YulCase","src":"2482:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:31"},"nodeType":"YulFunctionCall","src":"1787:14:31"},"nodeType":"YulSwitch","src":"1780:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:31","type":""}],"src":"1378:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"61016060405260146080908152600e60a052600c60c052600a60e0526008610100526006610120526005610140526200003d90600f9060076200018f565b503480156200004b57600080fd5b50604051806040016040528060098152602001684e4f4620416c70686160b81b815250604051806040016040528060048152602001634e4f464160e01b81525081600090816200009c9190620002e5565b506001620000ab8282620002e5565b505050620000c8620000c2620000ce60201b60201c565b620000df565b620003b1565b6000620000da62000131565b905090565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60003033036200018957600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b031691506200018c9050565b50335b90565b600183019183908215620002175791602002820160005b83821115620001e657835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620001a6565b8015620002155782816101000a81549060ff0219169055600101602081600001049283019260010302620001e6565b505b506200022592915062000229565b5090565b5b808211156200022557600081556001016200022a565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200026b57607f821691505b6020821081036200028c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e057600081815260208120601f850160051c81016020861015620002bb5750805b601f850160051c820191505b81811015620002dc57828155600101620002c7565b5050505b505050565b81516001600160401b0381111562000301576200030162000240565b620003198162000312845462000256565b8462000292565b602080601f831160018114620003515760008415620003385750858301515b600019600386901b1c1916600185901b178555620002dc565b600085815260208120601f198616915b82811015620003825788860151825594840194600190910190840162000361565b5085821015620003a15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61450680620003c16000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638477919b11610125578063be20e5a9116100ad578063e5db587a1161007c578063e5db587a146104c7578063e606df87146104d0578063e985e9c5146104e3578063e9d43f7d146104f6578063f2fde38b1461051657600080fd5b8063be20e5a91461047b578063c1f3a3bb1461048e578063c87b56dd146104a1578063d1811d02146104b457600080fd5b806395d89b41116100f457806395d89b411461042f5780639abc832014610437578063a22cb4651461043f578063b773d5c114610452578063b88d4fde1461046857600080fd5b80638477919b146103d85780638da5cb5b146103eb5780638dc10768146103fc57806395a4c5251461040f57600080fd5b806355f804b3116101a857806370a082311161017757806370a082311461035b578063715018a61461037c57806371f72fa014610384578063787f0b051461039757806383c73d81146103b857600080fd5b806355f804b31461030f57806361c66c1614610322578063627b253f146103355780636352211e1461034857600080fd5b8063095ea7b3116101ef578063095ea7b31461029e57806323b872dd146102b1578063308f5987146102c457806341c2c10f146102e957806342842e0e146102fc57600080fd5b8063015db3961461022157806301ffc9a71461023657806306fdde031461025e578063081812fc14610273575b600080fd5b61023461022f36600461385c565b610529565b005b6102496102443660046138b8565b610c62565b60405190151581526020015b60405180910390f35b610266610c73565b6040516102559190613925565b610286610281366004613938565b610d05565b6040516001600160a01b039091168152602001610255565b6102346102ac36600461396d565b610d2c565b6102346102bf366004613997565b610e53565b6102d76102d23660046139d3565b610e5e565b60405161025596959493929190613a29565b6102346102f7366004613a63565b610f5b565b61023461030a366004613997565b6117ad565b61023461031d366004613a85565b6117c8565b610266610330366004613938565b6117e0565b600a54610286906001600160a01b031681565b610286610356366004613938565b61188c565b61036e610369366004613ab9565b6118ec565b604051908152602001610255565b610234611972565b610234610392366004613ad4565b611986565b6103aa6103a5366004613a85565b6119ca565b604051610255929190613b31565b6103cb6103c6366004613a85565b611a7a565b6040516102559190613b85565b6102346103e6366004613b98565b611aed565b6007546001600160a01b0316610286565b6102d761040a366004613938565b611d20565b61042261041d366004613c56565b611d50565b6040516102559190613c97565b610266611dcd565b610266611ddc565b61023461044d366004613cf2565b611de9565b61045a611dfb565b604051610255929190613d29565b610234610476366004613d9f565b611f2f565b6103cb610489366004613a85565b612172565b61023461049c366004613ab9565b6121e3565b6102666104af366004613938565b61220d565b61036e6104c2366004613938565b612218565b61036e60125481565b601354610286906001600160a01b031681565b6102496104f1366004613e0e565b612239565b610509610504366004613e41565b612299565b6040516102559190613e93565b610234610524366004613ab9565b6123f7565b600b816040516105399190613f33565b9081526040805160209281900383019020336000908152600390910190925290205460ff16156105b05760405162461bcd60e51b815260206004820152601760248201527f59612074656e657320756e207061636b2077616368696e00000000000000000060448201526064015b60405180910390fd5b6001600b826040516105c29190613f33565b908152604080516020928190038301812033600090815260039091019093529120805460ff1916921515929092179091558290600b90610603908490613f33565b90815260405190819003602001902054146106605760405162461bcd60e51b815260206004820152601960248201527f53656e6420657861637420707269636520666f72205061636b0000000000000060448201526064016105a7565b6000606461066f84604b613f65565b6106799190613f92565b9050806012600082825461068d9190613fa6565b90915550506013546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156106e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070d9190613fb9565b50601354600a546001600160a01b03918216916323b872dd913391166107338588613fd6565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab9190613fb9565b506000600b836040516107be9190613f33565b9081526040805160209281900383018120600201544293820193909352016040516020818303038152906040528051906020012060001c6107ff9190613fe9565b90506000600b846040516108139190613f33565b9081526020016040518091039020600201828154811061083557610835613ffd565b90600052602060002001549050600b846040516108529190613f33565b90815260200160405180910390206002016001600b866040516108759190613f33565b908152604051908190036020019020600201546108929190613fd6565b815481106108a2576108a2613ffd565b9060005260206000200154600b856040516108bd9190613f33565b908152602001604051809103902060020183815481106108df576108df613ffd565b9060005260206000200181905550600b846040516108fd9190613f33565b908152602001604051809103902060020180548061091d5761091d614013565b600190038181906000526020600020016000905590556109dc33600b866040516109479190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061097b85612470565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016109ac94939291906140d6565b60408051601f19818403018152919052600060016109cb600687613f92565b6109d59190613fd6565b8886612578565b505060005b6005811015610c23576000600b846040516109fc9190613f33565b9081526040805160209281900383018120600101544293820193909352016040516020818303038152906040528051906020012060001c610a3d9190613fe9565b90506000600b85604051610a519190613f33565b90815260200160405180910390206001018281548110610a7357610a73613ffd565b90600052602060002001549050600b85604051610a909190613f33565b90815260200160405180910390206001016001600b87604051610ab39190613f33565b90815260405190819003602001902060010154610ad09190613fd6565b81548110610ae057610ae0613ffd565b9060005260206000200154600b86604051610afb9190613f33565b90815260200160405180910390206001018381548110610b1d57610b1d613ffd565b9060005260206000200181905550600b85604051610b3b9190613f33565b9081526020016040518091039020600101805480610b5b57610b5b614013565b60019003818190600052602060002001600090559055610c0e33600b87604051610b859190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b815250610bb985612470565b60405180604001604052806005815260200164173539b7b760d91b815250604051602001610bea94939291906140d6565b60408051601f198184030181529190526001610c07600686613f92565b8986612578565b50508080610c1b90614123565b9150506109e1565b507f55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c3383604051610c5592919061413c565b60405180910390a1505050565b6000610c6d82612685565b92915050565b606060008054610c8290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610cae90614029565b8015610cfb5780601f10610cd057610100808354040283529160200191610cfb565b820191906000526020600020905b815481529060010190602001808311610cde57829003601f168201915b5050505050905090565b6000610d10826126aa565b506000908152600460205260409020546001600160a01b031690565b6000610d378261188c565b9050806001600160a01b0316836001600160a01b031603610da45760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016105a7565b806001600160a01b0316610db6612709565b6001600160a01b03161480610dd25750610dd2816104f1612709565b610e445760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105a7565b610e4e8383612718565b505050565b610e4e8383836117ad565b600e6020908152600084815260409020835180850183018051928152908301928501929092209152805482908110610e9557600080fd5b90600052602060002090600602016000925092505050806000015490806001015490806002015490806003018054610ecc90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef890614029565b8015610f455780601f10610f1a57610100808354040283529160200191610f45565b820191906000526020600020905b815481529060010190602001808311610f2857829003601f168201915b5050505050908060040154908060050154905086565b33610f658361188c565b6001600160a01b031614610fb35760405162461bcd60e51b8152602060048201526015602482015274151a1a5cc81a5cc81b9bdd081e5bdd5c8818d85c99605a1b60448201526064016105a7565b33610fbd8261188c565b6001600160a01b03161461100c5760405162461bcd60e51b815260206004820152601660248201527554686973206973206e6f7420796f757220616c62756d60501b60448201526064016105a7565b6000818152600c6020526040902060010154156110625760405162461bcd60e51b815260206004820152601460248201527363617264206973206e6f7420616e20616c62756d60601b60448201526064016105a7565b6000828152600c60205260408120600301805461107e90614029565b80601f01602080910402602001604051908101604052809291908181526020018280546110aa90614029565b80156110f75780601f106110cc576101008083540402835291602001916110f7565b820191906000526020600020905b8154815290600101906020018083116110da57829003601f168201915b5050505050905060005b336000908152600e602052604090819020905161111f908490613f33565b9081526040519081900360200190205460ff82161015611365576000848152600c6020908152604080832060050154338452600e90925291829020915190919061116a908590613f33565b90815260200160405180910390208260ff168154811061118c5761118c613ffd565b9060005260206000209060060201600501540361135357336000908152600e60205260409081902090516111c1908490613f33565b90815260200160405180910390206001600e6000336001600160a01b03166001600160a01b03168152602001908152602001600020846040516112049190613f33565b9081526040519081900360200190205461121e9190613fd6565b8154811061122e5761122e613ffd565b60009182526020808320338452600e9091526040928390209251600690920201919061125b908590613f33565b90815260200160405180910390208260ff168154811061127d5761127d613ffd565b9060005260206000209060060201600082015481600001556001820154816001015560028201548160020155600382018160030190816112bd91906141ae565b5060048281015490820155600591820154910155336000908152600e60205260409081902090516112ef908490613f33565b908152602001604051809103902080548061130c5761130c614013565b6000828152602081206006600019909301928302018181556001810182905560028101829055906113406003830182613763565b5060006004820181905560059091015590555b8061135d8161428a565b915050611101565b5061136f83612786565b6000828152600c6020526040812060040180549161138c83614123565b9091555050336000908152600e60209081526040808320868452600c90925291829020915190916113c2916003909101906142a9565b90815260200160405180910390206000815481106113e2576113e2613ffd565b60009182526020822060046006909202010180549161140083614123565b90915550506000828152600c6020526040902060040154600503610e4e576000828152600c60205260408120600301805461143a90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461146690614029565b80156114b35780601f10611488576101008083540402835291602001916114b3565b820191906000526020600020905b81548152906001019060200180831161149657829003601f168201915b505050505090506007600d826040516114cc9190613f33565b9081526040519081900360200190205410156116ad57600d816040516114f29190613f33565b908152604051908190036020908101822080546001818101835560009283529282200180546001600160a01b0319163317905591600a91600f91600d9061153a908790613f33565b908152604051908190036020019020546115549190613fd6565b6007811061156457611564613ffd565b602091828204019190069054906101000a900460ff1660ff16600b8460405161158d9190613f33565b908152604051908190036020019020546115a79190613f65565b6115b19190613f92565b905060125481111561161e5760405162461bcd60e51b815260206004820152603060248201527f5072697a65206d757374206265206c6f776572206f7220657175616c2074686160448201526f6e207072697a65732062616c616e636560801b60648201526084016105a7565b80601260008282546116309190613fd6565b909155505060135460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190613fb9565b50505b61175183600b836040516116c19190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061170b600c600089815260200190815260200160002060050154612470565b6040518060400160405280600681526020016523173539b7b760d11b81525060405160200161173d94939291906140d6565b60405160208183030381529060405261278f565b7f953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c963382600d846040516117849190613f33565b9081526040519081900360200181205461179f9392916142b5565b60405180910390a150505050565b610e4e83838360405180602001604052806000815250611f2f565b6117d061285a565b60096117dc82826142e9565b5050565b601081815481106117f057600080fd5b90600052602060002001600091509050805461180b90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461183790614029565b80156118845780601f1061185957610100808354040283529160200191611884565b820191906000526020600020905b81548152906001019060200180831161186757829003601f168201915b505050505081565b6000818152600260205260408120546001600160a01b031680610c6d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b60006001600160a01b0382166119565760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105a7565b506001600160a01b031660009081526003602052604090205490565b61197a61285a565b61198460006128d3565b565b61198e61285a565b600961199a84826142e9565b50601380546001600160a01b039384166001600160a01b031991821617909155600a805492909316911617905550565b8051602081830181018051600b82529282019190930120915280546004820180549192916119f790614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611a2390614029565b8015611a705780601f10611a4557610100808354040283529160200191611a70565b820191906000526020600020905b815481529060010190602001808311611a5357829003601f168201915b5050505050905082565b6060600b82604051611a8c9190613f33565b9081526040805191829003602090810183206001018054808302850183019093528284529190830182828015611ae157602002820191906000526020600020905b815481526020019060010190808311611acd575b50505050509050919050565b611af561285a565b655af3107a4000831015611b5a5760405162461bcd60e51b815260206004820152602660248201527f7061636b2076616c7565206d757374206265206174206c6561737420302e303060448201526530312044414960d01b60648201526084016105a7565b611b65600683613fe9565b15611bb25760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206d757374206265206d756c7469706c65206f6620360000000060448201526064016105a7565b82600b85604051611bc39190613f33565b908152604051908190036020018120919091558190600b90611be6908790613f33565b90815260200160405180910390206004019081611c0391906142e9565b50601080546001810182556000919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67201611c4085826142e9565b5060118054600181810183556000929092527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68018490555b828111611d1957611c8a600682613fe9565b600003611ccd57600b85604051611ca19190613f33565b908152604051602091819003820190206002018054600181018255600091825291902001819055611d07565b600b85604051611cdd9190613f33565b90815260405160209181900382019020600190810180549182018155600090815291909120018190555b80611d1181614123565b915050611c78565b5050505050565b600c60205260009081526040902080546001820154600283015460038401805493949293919291610ecc90614029565b6060600d8383604051611d649291906143a0565b9081526040805191829003602090810183208054808302850183019093528284529190830182828015611dc057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611da2575b5050505050905092915050565b606060018054610c8290614029565b6009805461180b90614029565b6117dc611df4612709565b8383612925565b6060806010601181805480602002602001604051908101604052809291908181526020016000905b82821015611ecf578382906000526020600020018054611e4290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6e90614029565b8015611ebb5780601f10611e9057610100808354040283529160200191611ebb565b820191906000526020600020905b815481529060010190602001808311611e9e57829003601f168201915b505050505081526020019060010190611e23565b50505050915080805480602002602001604051908101604052809291908181526020018280548015611f2057602002820191906000526020600020905b815481526020019060010190808311611f0c575b50505050509050915091509091565b6000828152600c602052604081206003018054611f4b90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7790614029565b8015611fc45780601f10611f9957610100808354040283529160200191611fc4565b820191906000526020600020905b815481529060010190602001808311611fa757829003601f168201915b50505050509050611fd481612172565b51156120345760405162461bcd60e51b815260206004820152602960248201527f54686572652061726520616c62756d7320617661696c61626c6520696e20746860448201526834b99039b2b0b9b7b760b91b60648201526084016105a7565b612040858585856129f3565b6000838152600c6020526040902060019081015490036120f557600b8160405161206a9190613f33565b90815260408051602092819003830190206001600160a01b0387166000908152600390910190925290205460ff166120f05760405162461bcd60e51b815260206004820152602360248201527f5265636569766572206973206e6f7420706c6179696e6720746869732073656160448201526239b7b760e91b60648201526084016105a7565b612167565b6000838152600c60205260409020600401546005146121675760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920636f6d706c6574656420616c62756d732063616e206265207472616044820152671b9cd9995c9c995960c21b60648201526084016105a7565b611d19858585612a78565b6060600b826040516121849190613f33565b9081526040805191829003602090810183206002018054808302850183019093528284529190830182828015611ae15760200282019190600052602060002090815481526020019060010190808311611acd5750505050509050919050565b6121eb61285a565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060610c6d82612e52565b6011818154811061222857600080fd5b600091825260209091200154905081565b60007358807bad0b376efc12f5ad86aac70e78ed67dead196001600160a01b0383160161226857506001610c6d565b6001600160a01b0380841660009081526005602090815260408083209386168352929052205460ff165b9392505050565b6001600160a01b0383166000908152600e6020526040908190209051606091906122c690859085906143a0565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b828210156123ea57838290600052602060002090600602016040518060c001604052908160008201548152602001600182015481526020016002820154815260200160038201805461234590614029565b80601f016020809104026020016040519081016040528092919081815260200182805461237190614029565b80156123be5780601f10612393576101008083540402835291602001916123be565b820191906000526020600020905b8154815290600101906020018083116123a157829003601f168201915b5050505050815260200160048201548152602001600582015481525050815260200190600101906122f4565b5050505090509392505050565b6123ff61285a565b6001600160a01b0381166124645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a7565b61246d816128d3565b50565b6060816000036124975750506040805180820190915260018152600360fc1b602082015290565b8160005b81156124c157806124ab81614123565b91506124ba9050600a83613f92565b915061249b565b6000816001600160401b038111156124db576124db6137b1565b6040519080825280601f01601f191660200182016040528015612505576020820181803683370190505b5090505b84156125705761251a600183613fd6565b9150612527600a86613fe9565b612532906030613fa6565b60f81b81838151811061254757612547613ffd565b60200101906001600160f81b031916908160001a905350612569600a86613f92565b9450612509565b949350505050565b6008805490600190600061258c8385613fa6565b90915550506000818152600c6020526040902081815560018101869055600281018590556003016125bd84826142e9565b506000818152600c602090815260408083206005018590556001600160a01b038a168352600e9091529081902090516125f7908590613f33565b90815260408051602092819003830190206000848152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612654908401826141ae565b50600482810154908201556005918201549101556126728782612f4d565b61267c818761278f565b50505050505050565b60006001600160e01b03198216632483248360e11b1480610c6d5750610c6d826130e6565b6000818152600260205260409020546001600160a01b031661246d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b6000612713613136565b905090565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061274d8261188c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61246d81613192565b6000828152600260205260409020546001600160a01b031661280a5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016105a7565b600082815260066020526040902061282282826142e9565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b612862612709565b6001600160a01b031661287d6007546001600160a01b031690565b6001600160a01b0316146119845760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a7565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036129865760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612a046129fe612709565b836131d2565b612a665760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a7565b612a7284848484613230565b50505050565b6000818152600c602052604081206003018054612a9490614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ac090614029565b8015612b0d5780601f10612ae257610100808354040283529160200191612b0d565b820191906000526020600020905b815481529060010190602001808311612af057829003601f168201915b5050505050905060005b6001600160a01b0385166000908152600e6020526040908190209051612b3e908490613f33565b9081526040519081900360200190205460ff82161015612db3576000838152600c60209081526040808320600501546001600160a01b0389168452600e909252918290209151909190612b92908590613f33565b90815260200160405180910390208260ff1681548110612bb457612bb4613ffd565b90600052602060002090600602016005015403612da1576001600160a01b0385166000908152600e6020526040908190209051612bf2908490613f33565b90815260200160405180910390206001600e6000886001600160a01b03166001600160a01b0316815260200190815260200160002084604051612c359190613f33565b90815260405190819003602001902054612c4f9190613fd6565b81548110612c5f57612c5f613ffd565b9060005260206000209060060201600e6000876001600160a01b03166001600160a01b0316815260200190815260200160002083604051612ca09190613f33565b90815260200160405180910390208260ff1681548110612cc257612cc2613ffd565b906000526020600020906006020160008201548160000155600182015481600101556002820154816002015560038201816003019081612d0291906141ae565b50600482810154908201556005918201549101556001600160a01b0385166000908152600e6020526040908190209051612d3d908490613f33565b9081526020016040518091039020805480612d5a57612d5a614013565b600082815260208120600660001990930192830201818155600181018290556002810182905590612d8e6003830182613763565b5060006004820181905560059091015590555b80612dab8161428a565b915050612b17565b506001600160a01b0383166000908152600e6020526040908190209051612ddb908390613f33565b90815260408051602092819003830190206000858152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612e38908401826141ae565b506004828101549082015560059182015491015550505050565b6060612e5d826126aa565b60008281526006602052604081208054612e7690614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ea290614029565b8015612eef5780601f10612ec457610100808354040283529160200191612eef565b820191906000526020600020905b815481529060010190602001808311612ed257829003601f168201915b505050505090506000612f00613263565b90508051600003612f12575092915050565b815115612f44578082604051602001612f2c9291906143b0565b60405160208183030381529060405292505050919050565b61257084613272565b6001600160a01b038216612fa35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105a7565b6000818152600260205260409020546001600160a01b0316156130085760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6130166000838360016132d8565b6000818152600260205260409020546001600160a01b03161561307b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160e01b031982166380ac58cd60e01b148061311757506001600160e01b03198216635b5e139f60e01b145b80610c6d57506301ffc9a760e01b6001600160e01b0319831614610c6d565b600030330361318c57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061318f9050565b50335b90565b61319b816132dd565b600081815260066020526040902080546131b490614029565b15905061246d57600081815260066020526040812061246d91613763565b6000806131de8361188c565b9050806001600160a01b0316846001600160a01b0316148061320557506132058185612239565b806125705750836001600160a01b031661321e84610d05565b6001600160a01b031614949350505050565b61323b848484613380565b613247848484846134f1565b612a725760405162461bcd60e51b81526004016105a7906143df565b606060098054610c8290614029565b606061327d826126aa565b6000613287613263565b905060008151116132a75760405180602001604052806000815250612292565b806132b1846135f9565b6040516020016132c29291906143b0565b6040516020818303038152906040529392505050565b612a72565b60006132e88261188c565b90506132f88160008460016132d8565b6133018261188c565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b826001600160a01b03166133938261188c565b6001600160a01b0316146133b95760405162461bcd60e51b81526004016105a790614431565b6001600160a01b03821661341b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105a7565b61342883838360016132d8565b826001600160a01b031661343b8261188c565b6001600160a01b0316146134615760405162461bcd60e51b81526004016105a790614431565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006001600160a01b0384163b156135ee57836001600160a01b031663150b7a0261351a612709565b8786866040518563ffffffff1660e01b815260040161353c9493929190614476565b6020604051808303816000875af1925050508015613577575060408051601f3d908101601f19168201909252613574918101906144b3565b60015b6135d4573d8080156135a5576040519150601f19603f3d011682016040523d82523d6000602084013e6135aa565b606091505b5080516000036135cc5760405162461bcd60e51b81526004016105a7906143df565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612570565b506001949350505050565b606060006136068361368b565b60010190506000816001600160401b03811115613625576136256137b1565b6040519080825280601f01601f19166020018201604052801561364f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461365957509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136ca5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106136f6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061371457662386f26fc10000830492506010015b6305f5e100831061372c576305f5e100830492506008015b612710831061374057612710830492506004015b60648310613752576064830492506002015b600a8310610c6d5760010192915050565b50805461376f90614029565b6000825580601f1061377f575050565b601f01602090049060005260206000209081019061246d91905b808211156137ad5760008155600101613799565b5090565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156137e1576137e16137b1565b604051601f8501601f19908116603f01168101908282118183101715613809576138096137b1565b8160405280935085815286868601111561382257600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261384d57600080fd5b612292838335602085016137c7565b6000806040838503121561386f57600080fd5b8235915060208301356001600160401b0381111561388c57600080fd5b6138988582860161383c565b9150509250929050565b6001600160e01b03198116811461246d57600080fd5b6000602082840312156138ca57600080fd5b8135612292816138a2565b60005b838110156138f05781810151838201526020016138d8565b50506000910152565b600081518084526139118160208601602086016138d5565b601f01601f19169290920160200192915050565b60208152600061229260208301846138f9565b60006020828403121561394a57600080fd5b5035919050565b80356001600160a01b038116811461396857600080fd5b919050565b6000806040838503121561398057600080fd5b61398983613951565b946020939093013593505050565b6000806000606084860312156139ac57600080fd5b6139b584613951565b92506139c360208501613951565b9150604084013590509250925092565b6000806000606084860312156139e857600080fd5b6139f184613951565b925060208401356001600160401b03811115613a0c57600080fd5b613a188682870161383c565b925050604084013590509250925092565b86815285602082015284604082015260c060608201526000613a4e60c08301866138f9565b60808301949094525060a00152949350505050565b60008060408385031215613a7657600080fd5b50508035926020909101359150565b600060208284031215613a9757600080fd5b81356001600160401b03811115613aad57600080fd5b6125708482850161383c565b600060208284031215613acb57600080fd5b61229282613951565b600080600060608486031215613ae957600080fd5b83356001600160401b03811115613aff57600080fd5b613b0b8682870161383c565b935050613b1a60208501613951565b9150613b2860408501613951565b90509250925092565b82815260406020820152600061257060408301846138f9565b600081518084526020808501945080840160005b83811015613b7a57815187529582019590820190600101613b5e565b509495945050505050565b6020815260006122926020830184613b4a565b60008060008060808587031215613bae57600080fd5b84356001600160401b0380821115613bc557600080fd5b613bd18883890161383c565b955060208701359450604087013593506060870135915080821115613bf557600080fd5b50613c028782880161383c565b91505092959194509250565b60008083601f840112613c2057600080fd5b5081356001600160401b03811115613c3757600080fd5b602083019150836020828501011115613c4f57600080fd5b9250929050565b60008060208385031215613c6957600080fd5b82356001600160401b03811115613c7f57600080fd5b613c8b85828601613c0e565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015613cd85783516001600160a01b031683529284019291840191600101613cb3565b50909695505050505050565b801515811461246d57600080fd5b60008060408385031215613d0557600080fd5b613d0e83613951565b91506020830135613d1e81613ce4565b809150509250929050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b83811015613d8057605f19888703018552613d6e8683516138f9565b95509382019390820190600101613d52565b505085840381870152505050613d968185613b4a565b95945050505050565b60008060008060808587031215613db557600080fd5b613dbe85613951565b9350613dcc60208601613951565b92506040850135915060608501356001600160401b03811115613dee57600080fd5b8501601f81018713613dff57600080fd5b613c02878235602084016137c7565b60008060408385031215613e2157600080fd5b613e2a83613951565b9150613e3860208401613951565b90509250929050565b600080600060408486031215613e5657600080fd5b613e5f84613951565b925060208401356001600160401b03811115613e7a57600080fd5b613e8686828701613c0e565b9497909650939450505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613f2557603f19898403018552815160c081518552888201518986015287820151888601526060808301518282880152613efa838801826138f9565b6080858101519089015260a09485015194909701939093525050509386019390860190600101613eba565b509098975050505050505050565b60008251613f458184602087016138d5565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c6d57610c6d613f4f565b634e487b7160e01b600052601260045260246000fd5b600082613fa157613fa1613f7c565b500490565b80820180821115610c6d57610c6d613f4f565b600060208284031215613fcb57600080fd5b815161229281613ce4565b81810381811115610c6d57610c6d613f4f565b600082613ff857613ff8613f7c565b500690565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600181811c9082168061403d57607f821691505b60208210810361405d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000815461407081614029565b60018281168015614088576001811461409d576140cc565b60ff19841687528215158302870194506140cc565b8560005260208060002060005b858110156140c35781548a8201529084019082016140aa565b50505082870194505b5050505092915050565b60006140e28287614063565b85516140f2818360208a016138d5565b85519101906141058183602089016138d5565b84519101906141188183602088016138d5565b019695505050505050565b60006001820161413557614135613f4f565b5060010190565b6001600160a01b0383168152604060208201819052600090612570908301846138f9565b601f821115610e4e57600081815260208120601f850160051c810160208610156141875750805b601f850160051c820191505b818110156141a657828155600101614193565b505050505050565b8181036141b9575050565b6141c38254614029565b6001600160401b038111156141da576141da6137b1565b6141ee816141e88454614029565b84614160565b6000601f821160018114614222576000831561420a5750848201545b600019600385901b1c1916600184901b178455611d19565b600085815260209020601f19841690600086815260209020845b8381101561425c578286015482556001958601959091019060200161423c565b508583101561427a5781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060ff821660ff81036142a0576142a0613f4f565b60010192915050565b60006122928284614063565b6001600160a01b03841681526060602082018190526000906142d9908301856138f9565b9050826040830152949350505050565b81516001600160401b03811115614302576143026137b1565b614310816141e88454614029565b602080601f831160018114614345576000841561432d5750858301515b600019600386901b1c1916600185901b1785556141a6565b600085815260208120601f198616915b8281101561437457888601518255948401946001909101908401614355565b508582101561427a57939096015160001960f8600387901b161c19169092555050600190811b01905550565b8183823760009101908152919050565b600083516143c28184602088016138d5565b8351908301906143d68183602088016138d5565b01949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906144a9908301846138f9565b9695505050505050565b6000602082840312156144c557600080fd5b8151612292816138a256fea26469706673582212207cae2c97a645048b47d0b2429ea7b106fe9044d36f976c9ca117019dab73d24e64736f6c63430008140033","opcodes":"PUSH2 0x160 PUSH1 0x40 MSTORE PUSH1 0x14 PUSH1 0x80 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0xA0 MSTORE PUSH1 0xC PUSH1 0xC0 MSTORE PUSH1 0xA PUSH1 0xE0 MSTORE PUSH1 0x8 PUSH2 0x100 MSTORE PUSH1 0x6 PUSH2 0x120 MSTORE PUSH1 0x5 PUSH2 0x140 MSTORE PUSH3 0x3D SWAP1 PUSH1 0xF SWAP1 PUSH1 0x7 PUSH3 0x18F JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH3 0x4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH9 0x4E4F4620416C706861 PUSH1 0xB8 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH4 0x4E4F4641 PUSH1 0xE0 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0x9C SWAP2 SWAP1 PUSH3 0x2E5 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0xAB DUP3 DUP3 PUSH3 0x2E5 JUMP JUMPDEST POP POP POP PUSH3 0xC8 PUSH3 0xC2 PUSH3 0xCE PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xDF JUMP JUMPDEST PUSH3 0x3B1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0xDA PUSH3 0x131 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH3 0x189 JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH3 0x18C SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP4 ADD SWAP2 DUP4 SWAP1 DUP3 ISZERO PUSH3 0x217 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD PUSH1 0x0 JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x1E6 JUMPI DUP4 MLOAD DUP4 DUP3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP SWAP3 PUSH1 0x20 ADD SWAP3 PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH3 0x1A6 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x215 JUMPI DUP3 DUP2 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH3 0x1E6 JUMP JUMPDEST POP JUMPDEST POP PUSH3 0x225 SWAP3 SWAP2 POP PUSH3 0x229 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x225 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x22A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x26B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x28C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2E0 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x2BB JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x2DC JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x2C7 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x301 JUMPI PUSH3 0x301 PUSH3 0x240 JUMP JUMPDEST PUSH3 0x319 DUP2 PUSH3 0x312 DUP5 SLOAD PUSH3 0x256 JUMP JUMPDEST DUP5 PUSH3 0x292 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x351 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x338 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x2DC JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x382 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x361 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x3A1 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x4506 DUP1 PUSH3 0x3C1 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x21C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8477919B GT PUSH2 0x125 JUMPI DUP1 PUSH4 0xBE20E5A9 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xE5DB587A GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xE5DB587A EQ PUSH2 0x4C7 JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0x4D0 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x4E3 JUMPI DUP1 PUSH4 0xE9D43F7D EQ PUSH2 0x4F6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBE20E5A9 EQ PUSH2 0x47B JUMPI DUP1 PUSH4 0xC1F3A3BB EQ PUSH2 0x48E JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x4A1 JUMPI DUP1 PUSH4 0xD1811D02 EQ PUSH2 0x4B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95D89B41 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x42F JUMPI DUP1 PUSH4 0x9ABC8320 EQ PUSH2 0x437 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x43F JUMPI DUP1 PUSH4 0xB773D5C1 EQ PUSH2 0x452 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x468 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8477919B EQ PUSH2 0x3D8 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3EB JUMPI DUP1 PUSH4 0x8DC10768 EQ PUSH2 0x3FC JUMPI DUP1 PUSH4 0x95A4C525 EQ PUSH2 0x40F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x55F804B3 GT PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x70A08231 GT PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x35B JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0x71F72FA0 EQ PUSH2 0x384 JUMPI DUP1 PUSH4 0x787F0B05 EQ PUSH2 0x397 JUMPI DUP1 PUSH4 0x83C73D81 EQ PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x30F JUMPI DUP1 PUSH4 0x61C66C16 EQ PUSH2 0x322 JUMPI DUP1 PUSH4 0x627B253F EQ PUSH2 0x335 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x1EF JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x29E JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x2B1 JUMPI DUP1 PUSH4 0x308F5987 EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x41C2C10F EQ PUSH2 0x2E9 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x15DB396 EQ PUSH2 0x221 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x273 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x234 PUSH2 0x22F CALLDATASIZE PUSH1 0x4 PUSH2 0x385C JUMP JUMPDEST PUSH2 0x529 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x249 PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0x38B8 JUMP JUMPDEST PUSH2 0xC62 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x266 PUSH2 0xC73 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3925 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x281 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0xD05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x255 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x2AC CALLDATASIZE PUSH1 0x4 PUSH2 0x396D JUMP JUMPDEST PUSH2 0xD2C JUMP JUMPDEST PUSH2 0x234 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x3997 JUMP JUMPDEST PUSH2 0xE53 JUMP JUMPDEST PUSH2 0x2D7 PUSH2 0x2D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x39D3 JUMP JUMPDEST PUSH2 0xE5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3A29 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x2F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A63 JUMP JUMPDEST PUSH2 0xF5B JUMP JUMPDEST PUSH2 0x234 PUSH2 0x30A CALLDATASIZE PUSH1 0x4 PUSH2 0x3997 JUMP JUMPDEST PUSH2 0x17AD JUMP JUMPDEST PUSH2 0x234 PUSH2 0x31D CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x17C8 JUMP JUMPDEST PUSH2 0x266 PUSH2 0x330 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x17E0 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH2 0x286 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x356 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x188C JUMP JUMPDEST PUSH2 0x36E PUSH2 0x369 CALLDATASIZE PUSH1 0x4 PUSH2 0x3AB9 JUMP JUMPDEST PUSH2 0x18EC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x255 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x1972 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x392 CALLDATASIZE PUSH1 0x4 PUSH2 0x3AD4 JUMP JUMPDEST PUSH2 0x1986 JUMP JUMPDEST PUSH2 0x3AA PUSH2 0x3A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x19CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP3 SWAP2 SWAP1 PUSH2 0x3B31 JUMP JUMPDEST PUSH2 0x3CB PUSH2 0x3C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x1A7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3B85 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x3E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B98 JUMP JUMPDEST PUSH2 0x1AED JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x286 JUMP JUMPDEST PUSH2 0x2D7 PUSH2 0x40A CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x1D20 JUMP JUMPDEST PUSH2 0x422 PUSH2 0x41D CALLDATASIZE PUSH1 0x4 PUSH2 0x3C56 JUMP JUMPDEST PUSH2 0x1D50 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3C97 JUMP JUMPDEST PUSH2 0x266 PUSH2 0x1DCD JUMP JUMPDEST PUSH2 0x266 PUSH2 0x1DDC JUMP JUMPDEST PUSH2 0x234 PUSH2 0x44D CALLDATASIZE PUSH1 0x4 PUSH2 0x3CF2 JUMP JUMPDEST PUSH2 0x1DE9 JUMP JUMPDEST PUSH2 0x45A PUSH2 0x1DFB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP3 SWAP2 SWAP1 PUSH2 0x3D29 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x476 CALLDATASIZE PUSH1 0x4 PUSH2 0x3D9F JUMP JUMPDEST PUSH2 0x1F2F JUMP JUMPDEST PUSH2 0x3CB PUSH2 0x489 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x2172 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x49C CALLDATASIZE PUSH1 0x4 PUSH2 0x3AB9 JUMP JUMPDEST PUSH2 0x21E3 JUMP JUMPDEST PUSH2 0x266 PUSH2 0x4AF CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x220D JUMP JUMPDEST PUSH2 0x36E PUSH2 0x4C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x2218 JUMP JUMPDEST PUSH2 0x36E PUSH1 0x12 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH2 0x286 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x249 PUSH2 0x4F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x3E0E JUMP JUMPDEST PUSH2 0x2239 JUMP JUMPDEST PUSH2 0x509 PUSH2 0x504 CALLDATASIZE PUSH1 0x4 PUSH2 0x3E41 JUMP JUMPDEST PUSH2 0x2299 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3E93 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x524 CALLDATASIZE PUSH1 0x4 PUSH2 0x3AB9 JUMP JUMPDEST PUSH2 0x23F7 JUMP JUMPDEST PUSH1 0xB DUP2 PUSH1 0x40 MLOAD PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x59612074656E657320756E207061636B2077616368696E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB DUP3 PUSH1 0x40 MLOAD PUSH2 0x5C2 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD DUP2 KECCAK256 CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE DUP3 SWAP1 PUSH1 0xB SWAP1 PUSH2 0x603 SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD EQ PUSH2 0x660 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53656E6420657861637420707269636520666F72205061636B00000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0x66F DUP5 PUSH1 0x4B PUSH2 0x3F65 JUMP JUMPDEST PUSH2 0x679 SWAP2 SWAP1 PUSH2 0x3F92 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x68D SWAP2 SWAP1 PUSH2 0x3FA6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x70D SWAP2 SWAP1 PUSH2 0x3FB9 JUMP JUMPDEST POP PUSH1 0x13 SLOAD PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND SWAP2 PUSH4 0x23B872DD SWAP2 CALLER SWAP2 AND PUSH2 0x733 DUP6 DUP9 PUSH2 0x3FD6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x787 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7AB SWAP2 SWAP1 PUSH2 0x3FB9 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0xB DUP4 PUSH1 0x40 MLOAD PUSH2 0x7BE SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD TIMESTAMP SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH2 0x7FF SWAP2 SWAP1 PUSH2 0x3FE9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x813 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x835 JUMPI PUSH2 0x835 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x852 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD PUSH1 0x1 PUSH1 0xB DUP7 PUSH1 0x40 MLOAD PUSH2 0x875 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x892 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x8A2 JUMPI PUSH2 0x8A2 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x8BD SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x8DF JUMPI PUSH2 0x8DF PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP2 SWAP1 SSTORE POP PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x8FD SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH2 0x91D JUMPI PUSH2 0x91D PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE PUSH2 0x9DC CALLER PUSH1 0xB DUP7 PUSH1 0x40 MLOAD PUSH2 0x947 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP PUSH2 0x97B DUP6 PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9AC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x40D6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x0 PUSH1 0x1 PUSH2 0x9CB PUSH1 0x6 DUP8 PUSH2 0x3F92 JUMP JUMPDEST PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP9 DUP7 PUSH2 0x2578 JUMP JUMPDEST POP POP PUSH1 0x0 JUMPDEST PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x9FC SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD DUP2 KECCAK256 PUSH1 0x1 ADD SLOAD TIMESTAMP SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH2 0xA3D SWAP2 SWAP1 PUSH2 0x3FE9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0xA51 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xA73 JUMPI PUSH2 0xA73 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0xA90 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 PUSH1 0xB DUP8 PUSH1 0x40 MLOAD PUSH2 0xAB3 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xAD0 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xAE0 JUMPI PUSH2 0xAE0 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0xB DUP7 PUSH1 0x40 MLOAD PUSH2 0xAFB SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0xB1D JUMPI PUSH2 0xB1D PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP2 SWAP1 SSTORE POP PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0xB3B SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD DUP1 PUSH2 0xB5B JUMPI PUSH2 0xB5B PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE PUSH2 0xC0E CALLER PUSH1 0xB DUP8 PUSH1 0x40 MLOAD PUSH2 0xB85 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP PUSH2 0xBB9 DUP6 PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBEA SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x40D6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x1 PUSH2 0xC07 PUSH1 0x6 DUP7 PUSH2 0x3F92 JUMP JUMPDEST DUP10 DUP7 PUSH2 0x2578 JUMP JUMPDEST POP POP DUP1 DUP1 PUSH2 0xC1B SWAP1 PUSH2 0x4123 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9E1 JUMP JUMPDEST POP PUSH32 0x55D44F7F091F0389B4DCB1B6AE002ED20FE8229C546E6AAF1CCAC2646CDF514C CALLER DUP4 PUSH1 0x40 MLOAD PUSH2 0xC55 SWAP3 SWAP2 SWAP1 PUSH2 0x413C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC6D DUP3 PUSH2 0x2685 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0xC82 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xCAE SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCFB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xCD0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCFB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xCDE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD10 DUP3 PUSH2 0x26AA JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD37 DUP3 PUSH2 0x188C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xDA4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDB6 PUSH2 0x2709 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xDD2 JUMPI POP PUSH2 0xDD2 DUP2 PUSH2 0x4F1 PUSH2 0x2709 JUMP JUMPDEST PUSH2 0xE44 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0xE4E DUP4 DUP4 PUSH2 0x2718 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xE4E DUP4 DUP4 DUP4 PUSH2 0x17AD JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 MLOAD DUP1 DUP6 ADD DUP4 ADD DUP1 MLOAD SWAP3 DUP2 MSTORE SWAP1 DUP4 ADD SWAP3 DUP6 ADD SWAP3 SWAP1 SWAP3 KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP3 SWAP1 DUP2 LT PUSH2 0xE95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x0 SWAP3 POP SWAP3 POP POP POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0xECC SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xEF8 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF45 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF1A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF45 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF28 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 POP DUP7 JUMP JUMPDEST CALLER PUSH2 0xF65 DUP4 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xFB3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x151A1A5CC81A5CC81B9BDD081E5BDD5C8818D85C99 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST CALLER PUSH2 0xFBD DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x100C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x54686973206973206E6F7420796F757220616C62756D PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD ISZERO PUSH2 0x1062 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x63617264206973206E6F7420616E20616C62756D PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x107E SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10AA SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10F7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10CC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x10F7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10DA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x111F SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x1365 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD SLOAD CALLER DUP5 MSTORE PUSH1 0xE SWAP1 SWAP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x116A SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x118C JUMPI PUSH2 0x118C PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x5 ADD SLOAD SUB PUSH2 0x1353 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x11C1 SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 PUSH1 0xE PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1204 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x121E SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x122E JUMPI PUSH2 0x122E PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE PUSH1 0xE SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 SWAP3 MLOAD PUSH1 0x6 SWAP1 SWAP3 MUL ADD SWAP2 SWAP1 PUSH2 0x125B SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x127D JUMPI PUSH2 0x127D PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x0 DUP3 ADD SLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x3 DUP3 ADD DUP2 PUSH1 0x3 ADD SWAP1 DUP2 PUSH2 0x12BD SWAP2 SWAP1 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x12EF SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH2 0x130C JUMPI PUSH2 0x130C PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x6 PUSH1 0x0 NOT SWAP1 SWAP4 ADD SWAP3 DUP4 MUL ADD DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP3 SWAP1 SSTORE PUSH1 0x2 DUP2 ADD DUP3 SWAP1 SSTORE SWAP1 PUSH2 0x1340 PUSH1 0x3 DUP4 ADD DUP3 PUSH2 0x3763 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE JUMPDEST DUP1 PUSH2 0x135D DUP2 PUSH2 0x428A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1101 JUMP JUMPDEST POP PUSH2 0x136F DUP4 PUSH2 0x2786 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP2 PUSH2 0x138C DUP4 PUSH2 0x4123 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE PUSH1 0xC SWAP1 SWAP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP1 SWAP2 PUSH2 0x13C2 SWAP2 PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x42A9 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP2 LT PUSH2 0x13E2 JUMPI PUSH2 0x13E2 PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x4 PUSH1 0x6 SWAP1 SWAP3 MUL ADD ADD DUP1 SLOAD SWAP2 PUSH2 0x1400 DUP4 PUSH2 0x4123 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x5 SUB PUSH2 0xE4E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x143A SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1466 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x14B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1488 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x14B3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1496 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x7 PUSH1 0xD DUP3 PUSH1 0x40 MLOAD PUSH2 0x14CC SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD LT ISZERO PUSH2 0x16AD JUMPI PUSH1 0xD DUP2 PUSH1 0x40 MLOAD PUSH2 0x14F2 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE SWAP3 DUP3 KECCAK256 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE SWAP2 PUSH1 0xA SWAP2 PUSH1 0xF SWAP2 PUSH1 0xD SWAP1 PUSH2 0x153A SWAP1 DUP8 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x1554 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST PUSH1 0x7 DUP2 LT PUSH2 0x1564 JUMPI PUSH2 0x1564 PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x158D SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x15A7 SWAP2 SWAP1 PUSH2 0x3F65 JUMP JUMPDEST PUSH2 0x15B1 SWAP2 SWAP1 PUSH2 0x3F92 JUMP JUMPDEST SWAP1 POP PUSH1 0x12 SLOAD DUP2 GT ISZERO PUSH2 0x161E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5072697A65206D757374206265206C6F776572206F7220657175616C20746861 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x6E207072697A65732062616C616E6365 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1630 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1686 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16AA SWAP2 SWAP1 PUSH2 0x3FB9 JUMP JUMPDEST POP POP JUMPDEST PUSH2 0x1751 DUP4 PUSH1 0xB DUP4 PUSH1 0x40 MLOAD PUSH2 0x16C1 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP PUSH2 0x170B PUSH1 0xC PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x173D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x40D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x278F JUMP JUMPDEST PUSH32 0x953EC8B8176B9EB94E1561816A70BC231210AEE5F1AAA59FDBAD7915F9AD3C96 CALLER DUP3 PUSH1 0xD DUP5 PUSH1 0x40 MLOAD PUSH2 0x1784 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 SLOAD PUSH2 0x179F SWAP4 SWAP3 SWAP2 PUSH2 0x42B5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0xE4E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1F2F JUMP JUMPDEST PUSH2 0x17D0 PUSH2 0x285A JUMP JUMPDEST PUSH1 0x9 PUSH2 0x17DC DUP3 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x10 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x17F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 SLOAD PUSH2 0x180B SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1837 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1884 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1859 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1884 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1867 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0xC6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1956 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x197A PUSH2 0x285A JUMP JUMPDEST PUSH2 0x1984 PUSH1 0x0 PUSH2 0x28D3 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x198E PUSH2 0x285A JUMP JUMPDEST PUSH1 0x9 PUSH2 0x199A DUP5 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x13 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0xB DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD PUSH1 0x4 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x19F7 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1A23 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1A70 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1A45 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1A70 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1A53 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xB DUP3 PUSH1 0x40 MLOAD PUSH2 0x1A8C SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP4 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD DUP1 DUP4 MUL DUP6 ADD DUP4 ADD SWAP1 SWAP4 MSTORE DUP3 DUP5 MSTORE SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1AE1 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1ACD JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AF5 PUSH2 0x285A JUMP JUMPDEST PUSH6 0x5AF3107A4000 DUP4 LT ISZERO PUSH2 0x1B5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x7061636B2076616C7565206D757374206265206174206C6561737420302E3030 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x303120444149 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x1B65 PUSH1 0x6 DUP4 PUSH2 0x3FE9 JUMP JUMPDEST ISZERO PUSH2 0x1BB2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416D6F756E74206D757374206265206D756C7469706C65206F66203600000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST DUP3 PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x1BC3 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH1 0xB SWAP1 PUSH2 0x1BE6 SWAP1 DUP8 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x1C03 SWAP2 SWAP1 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x10 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x1B6847DC741A1B0CD08D278845F9D819D87B734759AFB55FE2DE5CB82A9AE672 ADD PUSH2 0x1C40 DUP6 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x11 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE PUSH1 0x0 SWAP3 SWAP1 SWAP3 MSTORE PUSH32 0x31ECC21A745E3968A04E9570E4425BC18FA8019C68028196B546D1669C200C68 ADD DUP5 SWAP1 SSTORE JUMPDEST DUP3 DUP2 GT PUSH2 0x1D19 JUMPI PUSH2 0x1C8A PUSH1 0x6 DUP3 PUSH2 0x3FE9 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x1CCD JUMPI PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CA1 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP2 SWAP1 SUB DUP3 ADD SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE SWAP2 SWAP1 KECCAK256 ADD DUP2 SWAP1 SSTORE PUSH2 0x1D07 JUMP JUMPDEST PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CDD SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP2 SWAP1 SUB DUP3 ADD SWAP1 KECCAK256 PUSH1 0x1 SWAP1 DUP2 ADD DUP1 SLOAD SWAP2 DUP3 ADD DUP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 ADD DUP2 SWAP1 SSTORE JUMPDEST DUP1 PUSH2 0x1D11 DUP2 PUSH2 0x4123 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1C78 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0xECC SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xD DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D64 SWAP3 SWAP2 SWAP1 PUSH2 0x43A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP4 KECCAK256 DUP1 SLOAD DUP1 DUP4 MUL DUP6 ADD DUP4 ADD SWAP1 SWAP4 MSTORE DUP3 DUP5 MSTORE SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1DC0 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1DA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0xC82 SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH2 0x180B SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH2 0x17DC PUSH2 0x1DF4 PUSH2 0x2709 JUMP JUMPDEST DUP4 DUP4 PUSH2 0x2925 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x10 PUSH1 0x11 DUP2 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1ECF JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x1E42 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1E6E SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1EBB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1E90 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1EBB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1E9E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E23 JUMP JUMPDEST POP POP POP POP SWAP2 POP DUP1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1F20 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1F0C JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 POP SWAP2 POP SWAP1 SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1F4B SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F77 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1FC4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F99 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1FC4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1FA7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH2 0x1FD4 DUP2 PUSH2 0x2172 JUMP JUMPDEST MLOAD ISZERO PUSH2 0x2034 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54686572652061726520616C62756D7320617661696C61626C6520696E207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x34B99039B2B0B9B7B7 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2040 DUP6 DUP6 DUP6 DUP6 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 DUP2 ADD SLOAD SWAP1 SUB PUSH2 0x20F5 JUMPI PUSH1 0xB DUP2 PUSH1 0x40 MLOAD PUSH2 0x206A SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x20F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265636569766572206973206E6F7420706C6179696E67207468697320736561 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x39B7B7 PUSH1 0xE9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2167 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x5 EQ PUSH2 0x2167 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C7920636F6D706C6574656420616C62756D732063616E20626520747261 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x1B9CD9995C9C9959 PUSH1 0xC2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x1D19 DUP6 DUP6 DUP6 PUSH2 0x2A78 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xB DUP3 PUSH1 0x40 MLOAD PUSH2 0x2184 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP4 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP1 DUP4 MUL DUP6 ADD DUP4 ADD SWAP1 SWAP4 MSTORE DUP3 DUP5 MSTORE SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1AE1 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1ACD JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x21EB PUSH2 0x285A JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC6D DUP3 PUSH2 0x2E52 JUMP JUMPDEST PUSH1 0x11 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x58807BAD0B376EFC12F5AD86AAC70E78ED67DEAD NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ADD PUSH2 0x2268 JUMPI POP PUSH1 0x1 PUSH2 0xC6D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x22C6 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH2 0x43A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x23EA JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x2345 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2371 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23BE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2393 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23BE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x23A1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x22F4 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x23FF PUSH2 0x285A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2464 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x246D DUP2 PUSH2 0x28D3 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x2497 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x24C1 JUMPI DUP1 PUSH2 0x24AB DUP2 PUSH2 0x4123 JUMP JUMPDEST SWAP2 POP PUSH2 0x24BA SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x3F92 JUMP JUMPDEST SWAP2 POP PUSH2 0x249B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x24DB JUMPI PUSH2 0x24DB PUSH2 0x37B1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2505 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x2570 JUMPI PUSH2 0x251A PUSH1 0x1 DUP4 PUSH2 0x3FD6 JUMP JUMPDEST SWAP2 POP PUSH2 0x2527 PUSH1 0xA DUP7 PUSH2 0x3FE9 JUMP JUMPDEST PUSH2 0x2532 SWAP1 PUSH1 0x30 PUSH2 0x3FA6 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2547 JUMPI PUSH2 0x2547 PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x2569 PUSH1 0xA DUP7 PUSH2 0x3F92 JUMP JUMPDEST SWAP5 POP PUSH2 0x2509 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x8 DUP1 SLOAD SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x0 PUSH2 0x258C DUP4 DUP6 PUSH2 0x3FA6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP7 SWAP1 SSTORE PUSH1 0x2 DUP2 ADD DUP6 SWAP1 SSTORE PUSH1 0x3 ADD PUSH2 0x25BD DUP5 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP4 MSTORE PUSH1 0xE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x25F7 SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xC DUP5 MSTORE SWAP2 DUP3 KECCAK256 DUP2 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP5 SSTORE SWAP3 DUP5 MSTORE SWAP4 SWAP1 SWAP3 KECCAK256 DUP3 SLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE PUSH1 0x2 DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE SWAP1 PUSH1 0x3 DUP1 DUP3 ADD SWAP1 PUSH2 0x2654 SWAP1 DUP5 ADD DUP3 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH2 0x2672 DUP8 DUP3 PUSH2 0x2F4D JUMP JUMPDEST PUSH2 0x267C DUP2 DUP8 PUSH2 0x278F JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xC6D JUMPI POP PUSH2 0xC6D DUP3 PUSH2 0x30E6 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x246D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2713 PUSH2 0x3136 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x274D DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x246D DUP2 PUSH2 0x3192 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x280A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2822 DUP3 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8E1A15ABA9398E019F0B49DF1A4FDE98EE17AE345CB5F6B5E2C27F5033E8CE7 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH2 0x2862 PUSH2 0x2709 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x287D PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1984 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2986 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x2A04 PUSH2 0x29FE PUSH2 0x2709 JUMP JUMPDEST DUP4 PUSH2 0x31D2 JUMP JUMPDEST PUSH2 0x2A66 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2A72 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3230 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x2A94 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2AC0 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2B0D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2B0D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2AF0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2B3E SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND DUP5 MSTORE PUSH1 0xE SWAP1 SWAP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x2B92 SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2BB4 JUMPI PUSH2 0x2BB4 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x5 ADD SLOAD SUB PUSH2 0x2DA1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2BF2 SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 PUSH1 0xE PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x2C35 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x2C4F SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2C5F JUMPI PUSH2 0x2C5F PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0xE PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2CA0 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2CC2 JUMPI PUSH2 0x2CC2 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x0 DUP3 ADD SLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x3 DUP3 ADD DUP2 PUSH1 0x3 ADD SWAP1 DUP2 PUSH2 0x2D02 SWAP2 SWAP1 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2D3D SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH2 0x2D5A JUMPI PUSH2 0x2D5A PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x6 PUSH1 0x0 NOT SWAP1 SWAP4 ADD SWAP3 DUP4 MUL ADD DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP3 SWAP1 SSTORE PUSH1 0x2 DUP2 ADD DUP3 SWAP1 SSTORE SWAP1 PUSH2 0x2D8E PUSH1 0x3 DUP4 ADD DUP3 PUSH2 0x3763 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE JUMPDEST DUP1 PUSH2 0x2DAB DUP2 PUSH2 0x428A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2B17 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2DDB SWAP1 DUP4 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0xC DUP5 MSTORE SWAP2 DUP3 KECCAK256 DUP2 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP5 SSTORE SWAP3 DUP5 MSTORE SWAP4 SWAP1 SWAP3 KECCAK256 DUP3 SLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE PUSH1 0x2 DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE SWAP1 PUSH1 0x3 DUP1 DUP3 ADD SWAP1 PUSH2 0x2E38 SWAP1 DUP5 ADD DUP3 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x2E5D DUP3 PUSH2 0x26AA JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x2E76 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2EA2 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EEF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2EC4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EEF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2ED2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x2F00 PUSH2 0x3263 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x2F12 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x2F44 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2F2C SWAP3 SWAP2 SWAP1 PUSH2 0x43B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2570 DUP5 PUSH2 0x3272 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2FA3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x3008 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x3016 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x32D8 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x307B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x3117 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xC6D JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xC6D JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH2 0x318C JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0x318F SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x319B DUP2 PUSH2 0x32DD JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x31B4 SWAP1 PUSH2 0x4029 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x246D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x246D SWAP2 PUSH2 0x3763 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31DE DUP4 PUSH2 0x188C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x3205 JUMPI POP PUSH2 0x3205 DUP2 DUP6 PUSH2 0x2239 JUMP JUMPDEST DUP1 PUSH2 0x2570 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x321E DUP5 PUSH2 0xD05 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x323B DUP5 DUP5 DUP5 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x3247 DUP5 DUP5 DUP5 DUP5 PUSH2 0x34F1 JUMP JUMPDEST PUSH2 0x2A72 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x43DF JUMP JUMPDEST PUSH1 0x60 PUSH1 0x9 DUP1 SLOAD PUSH2 0xC82 SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x327D DUP3 PUSH2 0x26AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3287 PUSH2 0x3263 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x32A7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2292 JUMP JUMPDEST DUP1 PUSH2 0x32B1 DUP5 PUSH2 0x35F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x32C2 SWAP3 SWAP2 SWAP1 PUSH2 0x43B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2A72 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32E8 DUP3 PUSH2 0x188C JUMP JUMPDEST SWAP1 POP PUSH2 0x32F8 DUP2 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH2 0x32D8 JUMP JUMPDEST PUSH2 0x3301 DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3393 DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x33B9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x4431 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x341B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x3428 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x32D8 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x343B DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3461 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x4431 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x35EE JUMPI DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x150B7A02 PUSH2 0x351A PUSH2 0x2709 JUMP JUMPDEST DUP8 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x353C SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4476 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3577 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3574 SWAP2 DUP2 ADD SWAP1 PUSH2 0x44B3 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x35D4 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x35A5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x35AA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x35CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x43DF JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x2570 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3606 DUP4 PUSH2 0x368B JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3625 JUMPI PUSH2 0x3625 PUSH2 0x37B1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x364F JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3659 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x36CA JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x36F6 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x3714 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x372C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x3740 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x3752 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xC6D JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x376F SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x377F JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x246D SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x37AD JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x3799 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 GT ISZERO PUSH2 0x37E1 JUMPI PUSH2 0x37E1 PUSH2 0x37B1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3809 JUMPI PUSH2 0x3809 PUSH2 0x37B1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x3822 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x384D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2292 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x37C7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x386F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x388C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3898 DUP6 DUP3 DUP7 ADD PUSH2 0x383C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x246D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x38CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2292 DUP2 PUSH2 0x38A2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x38F0 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x38D8 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3911 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x38D5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2292 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x394A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3980 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3989 DUP4 PUSH2 0x3951 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x39AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39B5 DUP5 PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH2 0x39C3 PUSH1 0x20 DUP6 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x39E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39F1 DUP5 PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3A0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A18 DUP7 DUP3 DUP8 ADD PUSH2 0x383C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP7 DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xC0 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x3A4E PUSH1 0xC0 DUP4 ADD DUP7 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3A76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3AAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2570 DUP5 DUP3 DUP6 ADD PUSH2 0x383C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3ACB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2292 DUP3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3AE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3AFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B0B DUP7 DUP3 DUP8 ADD PUSH2 0x383C JUMP JUMPDEST SWAP4 POP POP PUSH2 0x3B1A PUSH1 0x20 DUP6 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH2 0x3B28 PUSH1 0x40 DUP6 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2570 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B7A JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B5E JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2292 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3B4A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3BAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3BC5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3BD1 DUP9 DUP4 DUP10 ADD PUSH2 0x383C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3BF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C02 DUP8 DUP3 DUP9 ADD PUSH2 0x383C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3C20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3C37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x3C4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3C69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3C7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C8B DUP6 DUP3 DUP7 ADD PUSH2 0x3C0E JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3CD8 JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3CB3 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x246D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3D05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3D0E DUP4 PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x3D1E DUP2 PUSH2 0x3CE4 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD PUSH1 0x40 DUP4 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x60 DUP6 ADD SWAP2 POP PUSH1 0x60 DUP2 PUSH1 0x5 SHL DUP7 ADD ADD SWAP3 POP PUSH1 0x20 DUP1 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3D80 JUMPI PUSH1 0x5F NOT DUP9 DUP8 SUB ADD DUP6 MSTORE PUSH2 0x3D6E DUP7 DUP4 MLOAD PUSH2 0x38F9 JUMP JUMPDEST SWAP6 POP SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3D52 JUMP JUMPDEST POP POP DUP6 DUP5 SUB DUP2 DUP8 ADD MSTORE POP POP POP PUSH2 0x3D96 DUP2 DUP6 PUSH2 0x3B4A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3DB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3DBE DUP6 PUSH2 0x3951 JUMP JUMPDEST SWAP4 POP PUSH2 0x3DCC PUSH1 0x20 DUP7 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3DEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x3DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C02 DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x37C7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E2A DUP4 PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH2 0x3E38 PUSH1 0x20 DUP5 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3E56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E5F DUP5 PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3E7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E86 DUP7 DUP3 DUP8 ADD PUSH2 0x3C0E JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F25 JUMPI PUSH1 0x3F NOT DUP10 DUP5 SUB ADD DUP6 MSTORE DUP2 MLOAD PUSH1 0xC0 DUP2 MLOAD DUP6 MSTORE DUP9 DUP3 ADD MLOAD DUP10 DUP7 ADD MSTORE DUP8 DUP3 ADD MLOAD DUP9 DUP7 ADD MSTORE PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP3 DUP3 DUP9 ADD MSTORE PUSH2 0x3EFA DUP4 DUP9 ADD DUP3 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3EBA JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3F45 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x38D5 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xC6D JUMPI PUSH2 0xC6D PUSH2 0x3F4F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3FA1 JUMPI PUSH2 0x3FA1 PUSH2 0x3F7C JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xC6D JUMPI PUSH2 0xC6D PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3FCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2292 DUP2 PUSH2 0x3CE4 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xC6D JUMPI PUSH2 0xC6D PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3FF8 JUMPI PUSH2 0x3FF8 PUSH2 0x3F7C JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x403D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x405D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x4070 DUP2 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x4088 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x409D JUMPI PUSH2 0x40CC JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x40CC JUMP JUMPDEST DUP6 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x40C3 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x40AA JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40E2 DUP3 DUP8 PUSH2 0x4063 JUMP JUMPDEST DUP6 MLOAD PUSH2 0x40F2 DUP2 DUP4 PUSH1 0x20 DUP11 ADD PUSH2 0x38D5 JUMP JUMPDEST DUP6 MLOAD SWAP2 ADD SWAP1 PUSH2 0x4105 DUP2 DUP4 PUSH1 0x20 DUP10 ADD PUSH2 0x38D5 JUMP JUMPDEST DUP5 MLOAD SWAP2 ADD SWAP1 PUSH2 0x4118 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x38D5 JUMP JUMPDEST ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x4135 JUMPI PUSH2 0x4135 PUSH2 0x3F4F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x2570 SWAP1 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xE4E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x4187 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x41A6 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4193 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB PUSH2 0x41B9 JUMPI POP POP JUMP JUMPDEST PUSH2 0x41C3 DUP3 SLOAD PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41DA JUMPI PUSH2 0x41DA PUSH2 0x37B1 JUMP JUMPDEST PUSH2 0x41EE DUP2 PUSH2 0x41E8 DUP5 SLOAD PUSH2 0x4029 JUMP JUMPDEST DUP5 PUSH2 0x4160 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4222 JUMPI PUSH1 0x0 DUP4 ISZERO PUSH2 0x420A JUMPI POP DUP5 DUP3 ADD SLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP6 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP5 SWAP1 SHL OR DUP5 SSTORE PUSH2 0x1D19 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x1F NOT DUP5 AND SWAP1 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x425C JUMPI DUP3 DUP7 ADD SLOAD DUP3 SSTORE PUSH1 0x1 SWAP6 DUP7 ADD SWAP6 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD PUSH2 0x423C JUMP JUMPDEST POP DUP6 DUP4 LT ISZERO PUSH2 0x427A JUMPI DUP2 DUP6 ADD SLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x42A0 JUMPI PUSH2 0x42A0 PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2292 DUP3 DUP5 PUSH2 0x4063 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x42D9 SWAP1 DUP4 ADD DUP6 PUSH2 0x38F9 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4302 JUMPI PUSH2 0x4302 PUSH2 0x37B1 JUMP JUMPDEST PUSH2 0x4310 DUP2 PUSH2 0x41E8 DUP5 SLOAD PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4345 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x432D JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x41A6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4374 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4355 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x427A JUMPI SWAP4 SWAP1 SWAP7 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 PUSH1 0x3 DUP8 SWAP1 SHL AND SHR NOT AND SWAP1 SWAP3 SSTORE POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x43C2 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x38D5 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x43D6 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x38D5 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x44A9 SWAP1 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x44C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2292 DUP2 PUSH2 0x38A2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0xAE2C97A645048B47D0B2429EA7B106FE9044D36F976C9CA117019DAB73 0xD2 0x4E PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1094:51:19:-:0;338:10775;1094:51;1121:2;338:10775;1094:51;;;1125:2;1094:51;;1129:2;1094:51;;1133:2;1094:51;;1137:1;1094:51;;1140:1;1094:51;;1143:1;1094:51;;;;;;;;:::i;:::-;;1406:53;;;;;;;;;;1390:113:5;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;338:10775:19;;3793:124;3847:14;3884:26;:24;:26::i;:::-;3877:33;;3793:124;:::o;2426:187:0:-;2518:6;;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;97:651:20:-;165:22;229:4;207:10;:27;203:516;;250:18;271:8;;250:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;309:8:20;536:17;530:24;-1:-1:-1;;;;;505:131:20;;-1:-1:-1;203:516:20;;-1:-1:-1;203:516:20;;-1:-1:-1;697:10:20;203:516;97:651;:::o;338:10775:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;338:10775:19;;;-1:-1:-1;338:10775:19;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:31;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:31;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:31;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:31;;;2580:26;2531:89;-1:-1:-1;;1335:1:31;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:31;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:31;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:31;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:31:o;:::-;338:10775:19;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DAI_TOKEN_3548":{"entryPoint":null,"id":3548,"parameterSlots":0,"returnSlots":0},"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":10008,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_3603":{"entryPoint":12899,"id":3603,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_beforeTokenTransfer_3706":{"entryPoint":13016,"id":3706,"parameterSlots":4,"returnSlots":0},"@_burn_1464":{"entryPoint":12690,"id":1464,"parameterSlots":1,"returnSlots":0},"@_burn_3721":{"entryPoint":10118,"id":3721,"parameterSlots":1,"returnSlots":0},"@_burn_886":{"entryPoint":13021,"id":886,"parameterSlots":1,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":13553,"id":1103,"parameterSlots":4,"returnSlots":1},"@_checkOwner_54":{"entryPoint":10330,"id":54,"parameterSlots":0,"returnSlots":0},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":12754,"id":698,"parameterSlots":2,"returnSlots":1},"@_mint_819":{"entryPoint":12109,"id":819,"parameterSlots":2,"returnSlots":0},"@_msgSender_3794":{"entryPoint":9993,"id":3794,"parameterSlots":0,"returnSlots":1},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":9898,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":12848,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":10533,"id":1027,"parameterSlots":3,"returnSlots":0},"@_setTokenURI_1434":{"entryPoint":10127,"id":1434,"parameterSlots":2,"returnSlots":0},"@_transferOwnership_111":{"entryPoint":10451,"id":111,"parameterSlots":1,"returnSlots":0},"@_transfer_971":{"entryPoint":13184,"id":971,"parameterSlots":3,"returnSlots":0},"@approve_475":{"entryPoint":3372,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":6380,"id":336,"parameterSlots":1,"returnSlots":1},"@balanceReceiver_3503":{"entryPoint":null,"id":3503,"parameterSlots":0,"returnSlots":0},"@baseUri_3473":{"entryPoint":7644,"id":3473,"parameterSlots":0,"returnSlots":0},"@buyPack_4077":{"entryPoint":1321,"id":4077,"parameterSlots":2,"returnSlots":0},"@cardsByUserBySeason_3526":{"entryPoint":3678,"id":3526,"parameterSlots":0,"returnSlots":0},"@cards_3513":{"entryPoint":7456,"id":3513,"parameterSlots":0,"returnSlots":0},"@getApproved_493":{"entryPoint":3333,"id":493,"parameterSlots":1,"returnSlots":1},"@getCardsByUserBySeason_4242":{"entryPoint":8857,"id":4242,"parameterSlots":3,"returnSlots":1},"@getSeasonAlbums_4211":{"entryPoint":8562,"id":4211,"parameterSlots":1,"returnSlots":1},"@getSeasonCards_4197":{"entryPoint":6778,"id":4197,"parameterSlots":1,"returnSlots":1},"@getSeasonData_4183":{"entryPoint":7675,"id":4183,"parameterSlots":0,"returnSlots":2},"@getWinners_4224":{"entryPoint":7504,"id":4224,"parameterSlots":2,"returnSlots":1},"@init_3594":{"entryPoint":6534,"id":3594,"parameterSlots":3,"returnSlots":0},"@isApprovedForAll_3782":{"entryPoint":8761,"id":3782,"parameterSlots":2,"returnSlots":1},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":13963,"id":3186,"parameterSlots":1,"returnSlots":1},"@mint_3683":{"entryPoint":9592,"id":3683,"parameterSlots":6,"returnSlots":0},"@msgSender_4822":{"entryPoint":12598,"id":4822,"parameterSlots":0,"returnSlots":1},"@name_374":{"entryPoint":3187,"id":374,"parameterSlots":0,"returnSlots":1},"@newSeason_4169":{"entryPoint":6893,"id":4169,"parameterSlots":4,"returnSlots":0},"@ownerOf_364":{"entryPoint":6284,"id":364,"parameterSlots":1,"returnSlots":1},"@owner_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":1},"@pasteCards_4679":{"entryPoint":3931,"id":4679,"parameterSlots":2,"returnSlots":0},"@prizesBalance_3546":{"entryPoint":null,"id":3546,"parameterSlots":0,"returnSlots":0},"@renounceOwnership_68":{"entryPoint":6514,"id":68,"parameterSlots":0,"returnSlots":0},"@safeTransferFrom_4409":{"entryPoint":7983,"id":4409,"parameterSlots":4,"returnSlots":0},"@safeTransferFrom_574":{"entryPoint":6061,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":10739,"id":604,"parameterSlots":4,"returnSlots":0},"@seasonNames_3541":{"entryPoint":6112,"id":3541,"parameterSlots":0,"returnSlots":0},"@seasonPrices_3544":{"entryPoint":8728,"id":3544,"parameterSlots":0,"returnSlots":0},"@seasons_3508":{"entryPoint":6602,"id":3508,"parameterSlots":0,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":7657,"id":510,"parameterSlots":2,"returnSlots":0},"@setBalanceReceiver_4769":{"entryPoint":8675,"id":4769,"parameterSlots":1,"returnSlots":0},"@setBaseURI_4781":{"entryPoint":6088,"id":4781,"parameterSlots":1,"returnSlots":0},"@supportsInterface_1349":{"entryPoint":9861,"id":1349,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":12518,"id":312,"parameterSlots":1,"returnSlots":1},"@supportsInterface_3753":{"entryPoint":3170,"id":3753,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":7629,"id":384,"parameterSlots":0,"returnSlots":1},"@toString_1911":{"entryPoint":13817,"id":1911,"parameterSlots":1,"returnSlots":1},"@toString_4757":{"entryPoint":9328,"id":4757,"parameterSlots":1,"returnSlots":1},"@tokenURI_1408":{"entryPoint":11858,"id":1408,"parameterSlots":1,"returnSlots":1},"@tokenURI_3737":{"entryPoint":8717,"id":3737,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":12914,"id":423,"parameterSlots":1,"returnSlots":1},"@transferCardOwnership_4333":{"entryPoint":10872,"id":4333,"parameterSlots":3,"returnSlots":0},"@transferFrom_4428":{"entryPoint":3667,"id":4428,"parameterSlots":3,"returnSlots":0},"@transferOwnership_91":{"entryPoint":9207,"id":91,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":14673,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_string":{"entryPoint":14279,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_string":{"entryPoint":14396,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":15374,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":15033,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":15886,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":14743,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":15775,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":15602,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_string_calldata_ptr":{"entryPoint":15937,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_string_memory_ptrt_uint256":{"entryPoint":14803,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":14701,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":16313,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4":{"entryPoint":14520,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":17587,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_calldata_ptr":{"entryPoint":15446,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":14981,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_addresst_address":{"entryPoint":15060,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256t_string_memory_ptr":{"entryPoint":15256,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint256":{"entryPoint":14648,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_string_memory_ptr":{"entryPoint":14428,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":14947,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_array_uint256_dyn":{"entryPoint":15178,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_bytes_storage_ptr":{"entryPoint":16483,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":14585,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":16598,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":17312,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":16179,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":17328,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":17065,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"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":{"entryPoint":17526,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed":{"entryPoint":16700,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed":{"entryPoint":17077,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":15511,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":15657,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":16019,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":15237,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":14629,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0e4d98b4b75f02e2c4a099a7c074c2e9dad88450b338cf2ea1346aa894189705__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":17375,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_20d8a65ab2c3e6e002e588f538284af6066809c65c417beb1fc1ab00bdd39555__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":17457,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_46aff5505e7887e423791622f5ba36d7ca4a9d15512f9df8e6b7f62e3722bc44__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_5c0cd0be58cc286bb0e9354e9867d6529b848f34df009e50263cf8f305906b2f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6a3fadf7b5b83cfa8be0b8450b58a9c8d5b3fe4b731922b6399f6a02096c6708__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6cb55d0887b6e2e68566b1f2151148dcb5c2a2639658126a6a7f044d1aa26a53__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6fb3401561c4ea771698bde988bc8c4726a4c15a319e33ca1c375fd68af39641__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_84db3c6fb4093dae2514a973b47e2a9da9f8133d327db9a749c46cce3c3ddbd3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9a1865d30cf19bfaa7d7325645ef08ea1d4d4543a2f6cbfca6039b17e0b62a8b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b68f12cbcd232c73be6408046b8bacdd39d892eb30152cae1e438e3b9ffcb162__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c109004b669a4d72cb4eb97db002903cc0169ec4c84c949b78ec5088ec4668fe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":15153,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":14889,"id":null,"parameterSlots":7,"returnSlots":1},"array_dataslot_bytes_storage_ptr":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":16294,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":16274,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":16229,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":16342,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":16736,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":17129,"id":null,"parameterSlots":2,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_storage_to_t_string_storage":{"entryPoint":16814,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":14549,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":16425,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":16675,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":17034,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":16361,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":16207,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":16252,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":16403,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":16381,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":14257,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bool":{"entryPoint":15588,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":14498,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:34336:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"221:557:31","statements":[{"nodeType":"YulVariableDeclaration","src":"231:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"241:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"235:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"286:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"288:16:31"},"nodeType":"YulFunctionCall","src":"288:18:31"},"nodeType":"YulExpressionStatement","src":"288:18:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"274:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"282:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"271:2:31"},"nodeType":"YulFunctionCall","src":"271:14:31"},"nodeType":"YulIf","src":"268:40:31"},{"nodeType":"YulVariableDeclaration","src":"317:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"331:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"327:3:31"},"nodeType":"YulFunctionCall","src":"327:7:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"321:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"343:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"363:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"357:5:31"},"nodeType":"YulFunctionCall","src":"357:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"347:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"375:73:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"397:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"421:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"429:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"417:3:31"},"nodeType":"YulFunctionCall","src":"417:15:31"},{"name":"_2","nodeType":"YulIdentifier","src":"434:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"413:3:31"},"nodeType":"YulFunctionCall","src":"413:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"439:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"409:3:31"},"nodeType":"YulFunctionCall","src":"409:33:31"},{"name":"_2","nodeType":"YulIdentifier","src":"444:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"405:3:31"},"nodeType":"YulFunctionCall","src":"405:42:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"393:3:31"},"nodeType":"YulFunctionCall","src":"393:55:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"379:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"507:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"509:16:31"},"nodeType":"YulFunctionCall","src":"509:18:31"},"nodeType":"YulExpressionStatement","src":"509:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"466:10:31"},{"name":"_1","nodeType":"YulIdentifier","src":"478:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"463:2:31"},"nodeType":"YulFunctionCall","src":"463:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"486:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"498:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"483:2:31"},"nodeType":"YulFunctionCall","src":"483:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"460:2:31"},"nodeType":"YulFunctionCall","src":"460:46:31"},"nodeType":"YulIf","src":"457:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"545:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"549:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"538:6:31"},"nodeType":"YulFunctionCall","src":"538:22:31"},"nodeType":"YulExpressionStatement","src":"538:22:31"},{"nodeType":"YulAssignment","src":"569:15:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"578:6:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"569:5:31"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"600:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"608:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"593:6:31"},"nodeType":"YulFunctionCall","src":"593:22:31"},"nodeType":"YulExpressionStatement","src":"593:22:31"},{"body":{"nodeType":"YulBlock","src":"653:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"662:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"665:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"655:6:31"},"nodeType":"YulFunctionCall","src":"655:12:31"},"nodeType":"YulExpressionStatement","src":"655:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"634:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"639:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"630:3:31"},"nodeType":"YulFunctionCall","src":"630:16:31"},{"name":"end","nodeType":"YulIdentifier","src":"648:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"627:2:31"},"nodeType":"YulFunctionCall","src":"627:25:31"},"nodeType":"YulIf","src":"624:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"695:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"703:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"691:3:31"},"nodeType":"YulFunctionCall","src":"691:17:31"},{"name":"src","nodeType":"YulIdentifier","src":"710:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"715:6:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"678:12:31"},"nodeType":"YulFunctionCall","src":"678:44:31"},"nodeType":"YulExpressionStatement","src":"678:44:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"746:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"754:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"742:3:31"},"nodeType":"YulFunctionCall","src":"742:19:31"},{"kind":"number","nodeType":"YulLiteral","src":"763:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"738:3:31"},"nodeType":"YulFunctionCall","src":"738:30:31"},{"kind":"number","nodeType":"YulLiteral","src":"770:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"731:6:31"},"nodeType":"YulFunctionCall","src":"731:41:31"},"nodeType":"YulExpressionStatement","src":"731:41:31"}]},"name":"abi_decode_available_length_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"190:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"195:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"203:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"211:5:31","type":""}],"src":"146:632:31"},{"body":{"nodeType":"YulBlock","src":"836:169:31","statements":[{"body":{"nodeType":"YulBlock","src":"885:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"894:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"897:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"887:6:31"},"nodeType":"YulFunctionCall","src":"887:12:31"},"nodeType":"YulExpressionStatement","src":"887:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"864:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"872:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"860:3:31"},"nodeType":"YulFunctionCall","src":"860:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"879:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"856:3:31"},"nodeType":"YulFunctionCall","src":"856:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"849:6:31"},"nodeType":"YulFunctionCall","src":"849:35:31"},"nodeType":"YulIf","src":"846:55:31"},{"nodeType":"YulAssignment","src":"910:89:31","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"958:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"966:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"954:3:31"},"nodeType":"YulFunctionCall","src":"954:17:31"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"986:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"973:12:31"},"nodeType":"YulFunctionCall","src":"973:20:31"},{"name":"end","nodeType":"YulIdentifier","src":"995:3:31"}],"functionName":{"name":"abi_decode_available_length_string","nodeType":"YulIdentifier","src":"919:34:31"},"nodeType":"YulFunctionCall","src":"919:80:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"910:5:31"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"810:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"818:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"826:5:31","type":""}],"src":"783:222:31"},{"body":{"nodeType":"YulBlock","src":"1107:293:31","statements":[{"body":{"nodeType":"YulBlock","src":"1153:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1162:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1165:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1155:6:31"},"nodeType":"YulFunctionCall","src":"1155:12:31"},"nodeType":"YulExpressionStatement","src":"1155:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1128:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1137:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1124:3:31"},"nodeType":"YulFunctionCall","src":"1124:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1149:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1120:3:31"},"nodeType":"YulFunctionCall","src":"1120:32:31"},"nodeType":"YulIf","src":"1117:52:31"},{"nodeType":"YulAssignment","src":"1178:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1201:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1188:12:31"},"nodeType":"YulFunctionCall","src":"1188:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1178:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1220:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1251:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1262:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1247:3:31"},"nodeType":"YulFunctionCall","src":"1247:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1234:12:31"},"nodeType":"YulFunctionCall","src":"1234:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1224:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1309:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1318:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1321:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1311:6:31"},"nodeType":"YulFunctionCall","src":"1311:12:31"},"nodeType":"YulExpressionStatement","src":"1311:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1281:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1289:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1278:2:31"},"nodeType":"YulFunctionCall","src":"1278:30:31"},"nodeType":"YulIf","src":"1275:50:31"},{"nodeType":"YulAssignment","src":"1334:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1366:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"1377:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1362:3:31"},"nodeType":"YulFunctionCall","src":"1362:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1386:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"1344:17:31"},"nodeType":"YulFunctionCall","src":"1344:50:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1334:6:31"}]}]},"name":"abi_decode_tuple_t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1065:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1076:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1088:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1096:6:31","type":""}],"src":"1010:390:31"},{"body":{"nodeType":"YulBlock","src":"1449:87:31","statements":[{"body":{"nodeType":"YulBlock","src":"1514:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1523:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1526:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1516:6:31"},"nodeType":"YulFunctionCall","src":"1516:12:31"},"nodeType":"YulExpressionStatement","src":"1516:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1472:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1483:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1494:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1499:10:31","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1490:3:31"},"nodeType":"YulFunctionCall","src":"1490:20:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1479:3:31"},"nodeType":"YulFunctionCall","src":"1479:32:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1469:2:31"},"nodeType":"YulFunctionCall","src":"1469:43:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1462:6:31"},"nodeType":"YulFunctionCall","src":"1462:51:31"},"nodeType":"YulIf","src":"1459:71:31"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1438:5:31","type":""}],"src":"1405:131:31"},{"body":{"nodeType":"YulBlock","src":"1610:176:31","statements":[{"body":{"nodeType":"YulBlock","src":"1656:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1665:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1668:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1658:6:31"},"nodeType":"YulFunctionCall","src":"1658:12:31"},"nodeType":"YulExpressionStatement","src":"1658:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1631:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1640:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1627:3:31"},"nodeType":"YulFunctionCall","src":"1627:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1652:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1623:3:31"},"nodeType":"YulFunctionCall","src":"1623:32:31"},"nodeType":"YulIf","src":"1620:52:31"},{"nodeType":"YulVariableDeclaration","src":"1681:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1707:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1694:12:31"},"nodeType":"YulFunctionCall","src":"1694:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"1685:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1750:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"1726:23:31"},"nodeType":"YulFunctionCall","src":"1726:30:31"},"nodeType":"YulExpressionStatement","src":"1726:30:31"},{"nodeType":"YulAssignment","src":"1765:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"1775:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1765:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1576:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1587:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1599:6:31","type":""}],"src":"1541:245:31"},{"body":{"nodeType":"YulBlock","src":"1886:92:31","statements":[{"nodeType":"YulAssignment","src":"1896:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1908:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1919:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1904:3:31"},"nodeType":"YulFunctionCall","src":"1904:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1896:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1938:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1963:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1956:6:31"},"nodeType":"YulFunctionCall","src":"1956:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1949:6:31"},"nodeType":"YulFunctionCall","src":"1949:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1931:6:31"},"nodeType":"YulFunctionCall","src":"1931:41:31"},"nodeType":"YulExpressionStatement","src":"1931:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1855:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1866:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1877:4:31","type":""}],"src":"1791:187:31"},{"body":{"nodeType":"YulBlock","src":"2049:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2059:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2068:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2063:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2128:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2153:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"2158:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2149:3:31"},"nodeType":"YulFunctionCall","src":"2149:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2172:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"2177:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2168:3:31"},"nodeType":"YulFunctionCall","src":"2168:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2162:5:31"},"nodeType":"YulFunctionCall","src":"2162:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2142:6:31"},"nodeType":"YulFunctionCall","src":"2142:39:31"},"nodeType":"YulExpressionStatement","src":"2142:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2089:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"2092:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2086:2:31"},"nodeType":"YulFunctionCall","src":"2086:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2100:19:31","statements":[{"nodeType":"YulAssignment","src":"2102:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2111:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"2114:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2107:3:31"},"nodeType":"YulFunctionCall","src":"2107:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2102:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2082:3:31","statements":[]},"src":"2078:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2211:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"2216:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2207:3:31"},"nodeType":"YulFunctionCall","src":"2207:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"2225:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2200:6:31"},"nodeType":"YulFunctionCall","src":"2200:27:31"},"nodeType":"YulExpressionStatement","src":"2200:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2027:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"2032:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"2037:6:31","type":""}],"src":"1983:250:31"},{"body":{"nodeType":"YulBlock","src":"2288:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2298:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2318:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2312:5:31"},"nodeType":"YulFunctionCall","src":"2312:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2302:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2340:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"2345:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2333:6:31"},"nodeType":"YulFunctionCall","src":"2333:19:31"},"nodeType":"YulExpressionStatement","src":"2333:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2400:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"2407:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2396:3:31"},"nodeType":"YulFunctionCall","src":"2396:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2418:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2423:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2414:3:31"},"nodeType":"YulFunctionCall","src":"2414:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"2430:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2361:34:31"},"nodeType":"YulFunctionCall","src":"2361:76:31"},"nodeType":"YulExpressionStatement","src":"2361:76:31"},{"nodeType":"YulAssignment","src":"2446:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2461:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2474:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2482:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2470:3:31"},"nodeType":"YulFunctionCall","src":"2470:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2491:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2487:3:31"},"nodeType":"YulFunctionCall","src":"2487:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2466:3:31"},"nodeType":"YulFunctionCall","src":"2466:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2457:3:31"},"nodeType":"YulFunctionCall","src":"2457:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"2498:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2453:3:31"},"nodeType":"YulFunctionCall","src":"2453:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2446:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2265:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2272:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2280:3:31","type":""}],"src":"2238:271:31"},{"body":{"nodeType":"YulBlock","src":"2635:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2652:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2663:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2645:6:31"},"nodeType":"YulFunctionCall","src":"2645:21:31"},"nodeType":"YulExpressionStatement","src":"2645:21:31"},{"nodeType":"YulAssignment","src":"2675:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2701:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2713:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2724:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2709:3:31"},"nodeType":"YulFunctionCall","src":"2709:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"2683:17:31"},"nodeType":"YulFunctionCall","src":"2683:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2675:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2604:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2615:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2626:4:31","type":""}],"src":"2514:220:31"},{"body":{"nodeType":"YulBlock","src":"2809:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"2855:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2864:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2867:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2857:6:31"},"nodeType":"YulFunctionCall","src":"2857:12:31"},"nodeType":"YulExpressionStatement","src":"2857:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2830:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2839:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2826:3:31"},"nodeType":"YulFunctionCall","src":"2826:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2851:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2822:3:31"},"nodeType":"YulFunctionCall","src":"2822:32:31"},"nodeType":"YulIf","src":"2819:52:31"},{"nodeType":"YulAssignment","src":"2880:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2903:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2890:12:31"},"nodeType":"YulFunctionCall","src":"2890:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2880:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2775:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2786:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2798:6:31","type":""}],"src":"2739:180:31"},{"body":{"nodeType":"YulBlock","src":"3025:102:31","statements":[{"nodeType":"YulAssignment","src":"3035:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3047:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3058:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3043:3:31"},"nodeType":"YulFunctionCall","src":"3043:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3035:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3077:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3092:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3108:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3113:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3104:3:31"},"nodeType":"YulFunctionCall","src":"3104:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3117:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3100:3:31"},"nodeType":"YulFunctionCall","src":"3100:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3088:3:31"},"nodeType":"YulFunctionCall","src":"3088:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3070:6:31"},"nodeType":"YulFunctionCall","src":"3070:51:31"},"nodeType":"YulExpressionStatement","src":"3070:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2994:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3005:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3016:4:31","type":""}],"src":"2924:203:31"},{"body":{"nodeType":"YulBlock","src":"3181:124:31","statements":[{"nodeType":"YulAssignment","src":"3191:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3213:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3200:12:31"},"nodeType":"YulFunctionCall","src":"3200:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3191:5:31"}]},{"body":{"nodeType":"YulBlock","src":"3283:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3292:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3295:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3285:6:31"},"nodeType":"YulFunctionCall","src":"3285:12:31"},"nodeType":"YulExpressionStatement","src":"3285:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3242:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3253:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3268:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3273:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3264:3:31"},"nodeType":"YulFunctionCall","src":"3264:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3277:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3260:3:31"},"nodeType":"YulFunctionCall","src":"3260:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3249:3:31"},"nodeType":"YulFunctionCall","src":"3249:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3239:2:31"},"nodeType":"YulFunctionCall","src":"3239:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3232:6:31"},"nodeType":"YulFunctionCall","src":"3232:50:31"},"nodeType":"YulIf","src":"3229:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"3160:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"3171:5:31","type":""}],"src":"3132:173:31"},{"body":{"nodeType":"YulBlock","src":"3397:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"3443:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3452:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3455:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3445:6:31"},"nodeType":"YulFunctionCall","src":"3445:12:31"},"nodeType":"YulExpressionStatement","src":"3445:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3418:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3427:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3414:3:31"},"nodeType":"YulFunctionCall","src":"3414:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3439:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3410:3:31"},"nodeType":"YulFunctionCall","src":"3410:32:31"},"nodeType":"YulIf","src":"3407:52:31"},{"nodeType":"YulAssignment","src":"3468:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3497:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3478:18:31"},"nodeType":"YulFunctionCall","src":"3478:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3468:6:31"}]},{"nodeType":"YulAssignment","src":"3516:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3543:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3554:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3539:3:31"},"nodeType":"YulFunctionCall","src":"3539:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3526:12:31"},"nodeType":"YulFunctionCall","src":"3526:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3516:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3355:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3366:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3378:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3386:6:31","type":""}],"src":"3310:254:31"},{"body":{"nodeType":"YulBlock","src":"3673:224:31","statements":[{"body":{"nodeType":"YulBlock","src":"3719:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3728:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3731:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3721:6:31"},"nodeType":"YulFunctionCall","src":"3721:12:31"},"nodeType":"YulExpressionStatement","src":"3721:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3694:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3703:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3690:3:31"},"nodeType":"YulFunctionCall","src":"3690:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3715:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3686:3:31"},"nodeType":"YulFunctionCall","src":"3686:32:31"},"nodeType":"YulIf","src":"3683:52:31"},{"nodeType":"YulAssignment","src":"3744:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3773:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3754:18:31"},"nodeType":"YulFunctionCall","src":"3754:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3744:6:31"}]},{"nodeType":"YulAssignment","src":"3792:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3825:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3836:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3821:3:31"},"nodeType":"YulFunctionCall","src":"3821:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3802:18:31"},"nodeType":"YulFunctionCall","src":"3802:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3792:6:31"}]},{"nodeType":"YulAssignment","src":"3849:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3876:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3887:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3872:3:31"},"nodeType":"YulFunctionCall","src":"3872:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3859:12:31"},"nodeType":"YulFunctionCall","src":"3859:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3849:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3623:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3634:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3646:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3654:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3662:6:31","type":""}],"src":"3569:328:31"},{"body":{"nodeType":"YulBlock","src":"4016:350:31","statements":[{"body":{"nodeType":"YulBlock","src":"4062:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4071:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4074:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4064:6:31"},"nodeType":"YulFunctionCall","src":"4064:12:31"},"nodeType":"YulExpressionStatement","src":"4064:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4037:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4046:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4033:3:31"},"nodeType":"YulFunctionCall","src":"4033:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4058:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4029:3:31"},"nodeType":"YulFunctionCall","src":"4029:32:31"},"nodeType":"YulIf","src":"4026:52:31"},{"nodeType":"YulAssignment","src":"4087:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4116:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4097:18:31"},"nodeType":"YulFunctionCall","src":"4097:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4087:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"4135:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4166:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4177:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4162:3:31"},"nodeType":"YulFunctionCall","src":"4162:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4149:12:31"},"nodeType":"YulFunctionCall","src":"4149:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4139:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4224:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4233:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4236:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4226:6:31"},"nodeType":"YulFunctionCall","src":"4226:12:31"},"nodeType":"YulExpressionStatement","src":"4226:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4196:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4204:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4193:2:31"},"nodeType":"YulFunctionCall","src":"4193:30:31"},"nodeType":"YulIf","src":"4190:50:31"},{"nodeType":"YulAssignment","src":"4249:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4281:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"4292:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4277:3:31"},"nodeType":"YulFunctionCall","src":"4277:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4301:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4259:17:31"},"nodeType":"YulFunctionCall","src":"4259:50:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4249:6:31"}]},{"nodeType":"YulAssignment","src":"4318:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4345:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4356:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4341:3:31"},"nodeType":"YulFunctionCall","src":"4341:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4328:12:31"},"nodeType":"YulFunctionCall","src":"4328:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4318:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_string_memory_ptrt_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3966:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3977:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3989:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3997:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4005:6:31","type":""}],"src":"3902:464:31"},{"body":{"nodeType":"YulBlock","src":"4632:318:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4649:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"4660:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4642:6:31"},"nodeType":"YulFunctionCall","src":"4642:25:31"},"nodeType":"YulExpressionStatement","src":"4642:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4687:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4698:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4683:3:31"},"nodeType":"YulFunctionCall","src":"4683:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"4703:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4676:6:31"},"nodeType":"YulFunctionCall","src":"4676:34:31"},"nodeType":"YulExpressionStatement","src":"4676:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4730:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4741:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4726:3:31"},"nodeType":"YulFunctionCall","src":"4726:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"4746:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4719:6:31"},"nodeType":"YulFunctionCall","src":"4719:34:31"},"nodeType":"YulExpressionStatement","src":"4719:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4773:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4784:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4769:3:31"},"nodeType":"YulFunctionCall","src":"4769:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4789:3:31","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4762:6:31"},"nodeType":"YulFunctionCall","src":"4762:31:31"},"nodeType":"YulExpressionStatement","src":"4762:31:31"},{"nodeType":"YulAssignment","src":"4802:54:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"4828:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4840:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4851:3:31","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4836:3:31"},"nodeType":"YulFunctionCall","src":"4836:19:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"4810:17:31"},"nodeType":"YulFunctionCall","src":"4810:46:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4802:4:31"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4876:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4887:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4872:3:31"},"nodeType":"YulFunctionCall","src":"4872:19:31"},{"name":"value4","nodeType":"YulIdentifier","src":"4893:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4865:6:31"},"nodeType":"YulFunctionCall","src":"4865:35:31"},"nodeType":"YulExpressionStatement","src":"4865:35:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4920:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4931:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4916:3:31"},"nodeType":"YulFunctionCall","src":"4916:19:31"},{"name":"value5","nodeType":"YulIdentifier","src":"4937:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4909:6:31"},"nodeType":"YulFunctionCall","src":"4909:35:31"},"nodeType":"YulExpressionStatement","src":"4909:35:31"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4561:9:31","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4572:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4580:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4588:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4596:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4604:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4612:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4623:4:31","type":""}],"src":"4371:579:31"},{"body":{"nodeType":"YulBlock","src":"5042:161:31","statements":[{"body":{"nodeType":"YulBlock","src":"5088:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5097:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5100:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5090:6:31"},"nodeType":"YulFunctionCall","src":"5090:12:31"},"nodeType":"YulExpressionStatement","src":"5090:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5063:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5072:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5059:3:31"},"nodeType":"YulFunctionCall","src":"5059:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5084:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5055:3:31"},"nodeType":"YulFunctionCall","src":"5055:32:31"},"nodeType":"YulIf","src":"5052:52:31"},{"nodeType":"YulAssignment","src":"5113:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5136:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5123:12:31"},"nodeType":"YulFunctionCall","src":"5123:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5113:6:31"}]},{"nodeType":"YulAssignment","src":"5155:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5182:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5193:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5178:3:31"},"nodeType":"YulFunctionCall","src":"5178:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5165:12:31"},"nodeType":"YulFunctionCall","src":"5165:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5155:6:31"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5000:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5011:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5023:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5031:6:31","type":""}],"src":"4955:248:31"},{"body":{"nodeType":"YulBlock","src":"5288:242:31","statements":[{"body":{"nodeType":"YulBlock","src":"5334:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5343:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5346:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5336:6:31"},"nodeType":"YulFunctionCall","src":"5336:12:31"},"nodeType":"YulExpressionStatement","src":"5336:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5309:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5318:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5305:3:31"},"nodeType":"YulFunctionCall","src":"5305:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5330:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5301:3:31"},"nodeType":"YulFunctionCall","src":"5301:32:31"},"nodeType":"YulIf","src":"5298:52:31"},{"nodeType":"YulVariableDeclaration","src":"5359:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5373:12:31"},"nodeType":"YulFunctionCall","src":"5373:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5363:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5439:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5448:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5451:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5441:6:31"},"nodeType":"YulFunctionCall","src":"5441:12:31"},"nodeType":"YulExpressionStatement","src":"5441:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5411:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5419:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5408:2:31"},"nodeType":"YulFunctionCall","src":"5408:30:31"},"nodeType":"YulIf","src":"5405:50:31"},{"nodeType":"YulAssignment","src":"5464:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5496:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"5507:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5492:3:31"},"nodeType":"YulFunctionCall","src":"5492:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5516:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5474:17:31"},"nodeType":"YulFunctionCall","src":"5474:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5464:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5254:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5265:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5277:6:31","type":""}],"src":"5208:322:31"},{"body":{"nodeType":"YulBlock","src":"5605:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"5651:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5660:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5663:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5653:6:31"},"nodeType":"YulFunctionCall","src":"5653:12:31"},"nodeType":"YulExpressionStatement","src":"5653:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5626:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5635:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5622:3:31"},"nodeType":"YulFunctionCall","src":"5622:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5647:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5618:3:31"},"nodeType":"YulFunctionCall","src":"5618:32:31"},"nodeType":"YulIf","src":"5615:52:31"},{"nodeType":"YulAssignment","src":"5676:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5705:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5686:18:31"},"nodeType":"YulFunctionCall","src":"5686:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5676:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5571:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5582:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5594:6:31","type":""}],"src":"5535:186:31"},{"body":{"nodeType":"YulBlock","src":"5827:76:31","statements":[{"nodeType":"YulAssignment","src":"5837:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5849:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5860:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5845:3:31"},"nodeType":"YulFunctionCall","src":"5845:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5837:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5879:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"5890:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5872:6:31"},"nodeType":"YulFunctionCall","src":"5872:25:31"},"nodeType":"YulExpressionStatement","src":"5872:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5796:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5807:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5818:4:31","type":""}],"src":"5726:177:31"},{"body":{"nodeType":"YulBlock","src":"6022:356:31","statements":[{"body":{"nodeType":"YulBlock","src":"6068:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6077:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6080:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6070:6:31"},"nodeType":"YulFunctionCall","src":"6070:12:31"},"nodeType":"YulExpressionStatement","src":"6070:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6043:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6052:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6039:3:31"},"nodeType":"YulFunctionCall","src":"6039:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"6064:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6035:3:31"},"nodeType":"YulFunctionCall","src":"6035:32:31"},"nodeType":"YulIf","src":"6032:52:31"},{"nodeType":"YulVariableDeclaration","src":"6093:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6120:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6107:12:31"},"nodeType":"YulFunctionCall","src":"6107:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6097:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6173:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6182:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6185:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6175:6:31"},"nodeType":"YulFunctionCall","src":"6175:12:31"},"nodeType":"YulExpressionStatement","src":"6175:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6145:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"6153:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6142:2:31"},"nodeType":"YulFunctionCall","src":"6142:30:31"},"nodeType":"YulIf","src":"6139:50:31"},{"nodeType":"YulAssignment","src":"6198:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6230:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"6241:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6226:3:31"},"nodeType":"YulFunctionCall","src":"6226:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6250:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"6208:17:31"},"nodeType":"YulFunctionCall","src":"6208:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6198:6:31"}]},{"nodeType":"YulAssignment","src":"6267:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6300:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6311:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6296:3:31"},"nodeType":"YulFunctionCall","src":"6296:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6277:18:31"},"nodeType":"YulFunctionCall","src":"6277:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6267:6:31"}]},{"nodeType":"YulAssignment","src":"6324:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6357:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6368:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6353:3:31"},"nodeType":"YulFunctionCall","src":"6353:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6334:18:31"},"nodeType":"YulFunctionCall","src":"6334:38:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6324:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5972:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5983:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5995:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6003:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6011:6:31","type":""}],"src":"5908:470:31"},{"body":{"nodeType":"YulBlock","src":"6532:142:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6549:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"6560:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6542:6:31"},"nodeType":"YulFunctionCall","src":"6542:25:31"},"nodeType":"YulExpressionStatement","src":"6542:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6587:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6598:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6583:3:31"},"nodeType":"YulFunctionCall","src":"6583:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6603:2:31","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6576:6:31"},"nodeType":"YulFunctionCall","src":"6576:30:31"},"nodeType":"YulExpressionStatement","src":"6576:30:31"},{"nodeType":"YulAssignment","src":"6615:53:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6641:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6653:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6664:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6649:3:31"},"nodeType":"YulFunctionCall","src":"6649:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"6623:17:31"},"nodeType":"YulFunctionCall","src":"6623:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6615:4:31"}]}]},"name":"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6493:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6504:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6512:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6523:4:31","type":""}],"src":"6383:291:31"},{"body":{"nodeType":"YulBlock","src":"6740:374:31","statements":[{"nodeType":"YulVariableDeclaration","src":"6750:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6770:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6764:5:31"},"nodeType":"YulFunctionCall","src":"6764:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6754:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6792:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"6797:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6785:6:31"},"nodeType":"YulFunctionCall","src":"6785:19:31"},"nodeType":"YulExpressionStatement","src":"6785:19:31"},{"nodeType":"YulVariableDeclaration","src":"6813:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"6823:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6817:2:31","type":""}]},{"nodeType":"YulAssignment","src":"6836:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6847:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6852:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6843:3:31"},"nodeType":"YulFunctionCall","src":"6843:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6836:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"6864:28:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6882:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6889:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6878:3:31"},"nodeType":"YulFunctionCall","src":"6878:14:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6868:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6901:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"6910:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6905:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6969:120:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6990:3:31"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7001:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6995:5:31"},"nodeType":"YulFunctionCall","src":"6995:13:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6983:6:31"},"nodeType":"YulFunctionCall","src":"6983:26:31"},"nodeType":"YulExpressionStatement","src":"6983:26:31"},{"nodeType":"YulAssignment","src":"7022:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7033:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7038:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7029:3:31"},"nodeType":"YulFunctionCall","src":"7029:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7022:3:31"}]},{"nodeType":"YulAssignment","src":"7054:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7068:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7076:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7064:3:31"},"nodeType":"YulFunctionCall","src":"7064:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7054:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6931:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"6934:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6928:2:31"},"nodeType":"YulFunctionCall","src":"6928:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6942:18:31","statements":[{"nodeType":"YulAssignment","src":"6944:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6953:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"6956:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6949:3:31"},"nodeType":"YulFunctionCall","src":"6949:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6944:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"6924:3:31","statements":[]},"src":"6920:169:31"},{"nodeType":"YulAssignment","src":"7098:10:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"7105:3:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7098:3:31"}]}]},"name":"abi_encode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6717:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6724:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6732:3:31","type":""}],"src":"6679:435:31"},{"body":{"nodeType":"YulBlock","src":"7270:110:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7287:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7298:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7280:6:31"},"nodeType":"YulFunctionCall","src":"7280:21:31"},"nodeType":"YulExpressionStatement","src":"7280:21:31"},{"nodeType":"YulAssignment","src":"7310:64:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7347:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7359:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7370:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7355:3:31"},"nodeType":"YulFunctionCall","src":"7355:18:31"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"7318:28:31"},"nodeType":"YulFunctionCall","src":"7318:56:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7310:4:31"}]}]},"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":"7239:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7250:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7261:4:31","type":""}],"src":"7119:261:31"},{"body":{"nodeType":"YulBlock","src":"7526:539:31","statements":[{"body":{"nodeType":"YulBlock","src":"7573:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7582:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7585:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7575:6:31"},"nodeType":"YulFunctionCall","src":"7575:12:31"},"nodeType":"YulExpressionStatement","src":"7575:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7547:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"7556:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7543:3:31"},"nodeType":"YulFunctionCall","src":"7543:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"7568:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7539:3:31"},"nodeType":"YulFunctionCall","src":"7539:33:31"},"nodeType":"YulIf","src":"7536:53:31"},{"nodeType":"YulVariableDeclaration","src":"7598:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7625:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7612:12:31"},"nodeType":"YulFunctionCall","src":"7612:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7602:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7644:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"7654:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7648:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7699:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7708:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7711:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7701:6:31"},"nodeType":"YulFunctionCall","src":"7701:12:31"},"nodeType":"YulExpressionStatement","src":"7701:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7687:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7695:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7684:2:31"},"nodeType":"YulFunctionCall","src":"7684:14:31"},"nodeType":"YulIf","src":"7681:34:31"},{"nodeType":"YulAssignment","src":"7724:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7756:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"7767:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7752:3:31"},"nodeType":"YulFunctionCall","src":"7752:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7776:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"7734:17:31"},"nodeType":"YulFunctionCall","src":"7734:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7724:6:31"}]},{"nodeType":"YulAssignment","src":"7793:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7820:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7831:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7816:3:31"},"nodeType":"YulFunctionCall","src":"7816:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7803:12:31"},"nodeType":"YulFunctionCall","src":"7803:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7793:6:31"}]},{"nodeType":"YulAssignment","src":"7844:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7871:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7882:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7867:3:31"},"nodeType":"YulFunctionCall","src":"7867:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7854:12:31"},"nodeType":"YulFunctionCall","src":"7854:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7844:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"7895:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7928:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7939:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7924:3:31"},"nodeType":"YulFunctionCall","src":"7924:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7911:12:31"},"nodeType":"YulFunctionCall","src":"7911:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7899:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7972:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7981:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7984:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7974:6:31"},"nodeType":"YulFunctionCall","src":"7974:12:31"},"nodeType":"YulExpressionStatement","src":"7974:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7958:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7968:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7955:2:31"},"nodeType":"YulFunctionCall","src":"7955:16:31"},"nodeType":"YulIf","src":"7952:36:31"},{"nodeType":"YulAssignment","src":"7997:62:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8029:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8040:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8025:3:31"},"nodeType":"YulFunctionCall","src":"8025:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8051:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"8007:17:31"},"nodeType":"YulFunctionCall","src":"8007:52:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7997:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7468:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7479:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7491:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7499:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7507:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7515:6:31","type":""}],"src":"7385:680:31"},{"body":{"nodeType":"YulBlock","src":"8143:275:31","statements":[{"body":{"nodeType":"YulBlock","src":"8192:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8201:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8204:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8194:6:31"},"nodeType":"YulFunctionCall","src":"8194:12:31"},"nodeType":"YulExpressionStatement","src":"8194:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8171:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8179:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8167:3:31"},"nodeType":"YulFunctionCall","src":"8167:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"8186:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8163:3:31"},"nodeType":"YulFunctionCall","src":"8163:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8156:6:31"},"nodeType":"YulFunctionCall","src":"8156:35:31"},"nodeType":"YulIf","src":"8153:55:31"},{"nodeType":"YulAssignment","src":"8217:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8240:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8227:12:31"},"nodeType":"YulFunctionCall","src":"8227:20:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8217:6:31"}]},{"body":{"nodeType":"YulBlock","src":"8290:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8299:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8302:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8292:6:31"},"nodeType":"YulFunctionCall","src":"8292:12:31"},"nodeType":"YulExpressionStatement","src":"8292:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8262:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8270:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8259:2:31"},"nodeType":"YulFunctionCall","src":"8259:30:31"},"nodeType":"YulIf","src":"8256:50:31"},{"nodeType":"YulAssignment","src":"8315:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8331:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8339:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8327:3:31"},"nodeType":"YulFunctionCall","src":"8327:17:31"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"8315:8:31"}]},{"body":{"nodeType":"YulBlock","src":"8396:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8405:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8408:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8398:6:31"},"nodeType":"YulFunctionCall","src":"8398:12:31"},"nodeType":"YulExpressionStatement","src":"8398:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8367:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"8375:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8363:3:31"},"nodeType":"YulFunctionCall","src":"8363:19:31"},{"kind":"number","nodeType":"YulLiteral","src":"8384:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8359:3:31"},"nodeType":"YulFunctionCall","src":"8359:30:31"},{"name":"end","nodeType":"YulIdentifier","src":"8391:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8356:2:31"},"nodeType":"YulFunctionCall","src":"8356:39:31"},"nodeType":"YulIf","src":"8353:59:31"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8106:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"8114:3:31","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"8122:8:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"8132:6:31","type":""}],"src":"8070:348:31"},{"body":{"nodeType":"YulBlock","src":"8513:321:31","statements":[{"body":{"nodeType":"YulBlock","src":"8559:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8568:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8571:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8561:6:31"},"nodeType":"YulFunctionCall","src":"8561:12:31"},"nodeType":"YulExpressionStatement","src":"8561:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8534:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"8543:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8530:3:31"},"nodeType":"YulFunctionCall","src":"8530:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"8555:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8526:3:31"},"nodeType":"YulFunctionCall","src":"8526:32:31"},"nodeType":"YulIf","src":"8523:52:31"},{"nodeType":"YulVariableDeclaration","src":"8584:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8611:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8598:12:31"},"nodeType":"YulFunctionCall","src":"8598:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8588:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"8664:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8673:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8676:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8666:6:31"},"nodeType":"YulFunctionCall","src":"8666:12:31"},"nodeType":"YulExpressionStatement","src":"8666:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8636:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8644:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8633:2:31"},"nodeType":"YulFunctionCall","src":"8633:30:31"},"nodeType":"YulIf","src":"8630:50:31"},{"nodeType":"YulVariableDeclaration","src":"8689:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8746:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"8757:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8742:3:31"},"nodeType":"YulFunctionCall","src":"8742:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8766:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"8715:26:31"},"nodeType":"YulFunctionCall","src":"8715:59:31"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"8693:8:31","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"8703:8:31","type":""}]},{"nodeType":"YulAssignment","src":"8783:18:31","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"8793:8:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8783:6:31"}]},{"nodeType":"YulAssignment","src":"8810:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"8820:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8810:6:31"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8471:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8482:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8494:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8502:6:31","type":""}],"src":"8423:411:31"},{"body":{"nodeType":"YulBlock","src":"8990:507:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9000:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"9010:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9004:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9021:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9039:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9050:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9035:3:31"},"nodeType":"YulFunctionCall","src":"9035:18:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"9025:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9069:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9080:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9062:6:31"},"nodeType":"YulFunctionCall","src":"9062:21:31"},"nodeType":"YulExpressionStatement","src":"9062:21:31"},{"nodeType":"YulVariableDeclaration","src":"9092:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"9103:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"9096:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9118:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9138:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9132:5:31"},"nodeType":"YulFunctionCall","src":"9132:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9122:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"9161:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"9169:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9154:6:31"},"nodeType":"YulFunctionCall","src":"9154:22:31"},"nodeType":"YulExpressionStatement","src":"9154:22:31"},{"nodeType":"YulAssignment","src":"9185:25:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9196:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9207:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9192:3:31"},"nodeType":"YulFunctionCall","src":"9192:18:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9185:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"9219:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9237:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9245:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9233:3:31"},"nodeType":"YulFunctionCall","src":"9233:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"9223:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9257:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"9266:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9261:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9325:146:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9346:3:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9361:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9355:5:31"},"nodeType":"YulFunctionCall","src":"9355:13:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9378:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9383:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9374:3:31"},"nodeType":"YulFunctionCall","src":"9374:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"9387:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9370:3:31"},"nodeType":"YulFunctionCall","src":"9370:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9351:3:31"},"nodeType":"YulFunctionCall","src":"9351:39:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9339:6:31"},"nodeType":"YulFunctionCall","src":"9339:52:31"},"nodeType":"YulExpressionStatement","src":"9339:52:31"},{"nodeType":"YulAssignment","src":"9404:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9415:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9420:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9411:3:31"},"nodeType":"YulFunctionCall","src":"9411:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9404:3:31"}]},{"nodeType":"YulAssignment","src":"9436:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9450:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9458:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9446:3:31"},"nodeType":"YulFunctionCall","src":"9446:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9436:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9287:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"9290:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9284:2:31"},"nodeType":"YulFunctionCall","src":"9284:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9298:18:31","statements":[{"nodeType":"YulAssignment","src":"9300:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9309:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"9312:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9305:3:31"},"nodeType":"YulFunctionCall","src":"9305:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9300:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"9280:3:31","statements":[]},"src":"9276:195:31"},{"nodeType":"YulAssignment","src":"9480:11:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"9488:3:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9480:4:31"}]}]},"name":"abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8959:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8970:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8981:4:31","type":""}],"src":"8839:658:31"},{"body":{"nodeType":"YulBlock","src":"9544:76:31","statements":[{"body":{"nodeType":"YulBlock","src":"9598:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9607:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9610:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9600:6:31"},"nodeType":"YulFunctionCall","src":"9600:12:31"},"nodeType":"YulExpressionStatement","src":"9600:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9567:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9588:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9581:6:31"},"nodeType":"YulFunctionCall","src":"9581:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9574:6:31"},"nodeType":"YulFunctionCall","src":"9574:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9564:2:31"},"nodeType":"YulFunctionCall","src":"9564:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9557:6:31"},"nodeType":"YulFunctionCall","src":"9557:40:31"},"nodeType":"YulIf","src":"9554:60:31"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9533:5:31","type":""}],"src":"9502:118:31"},{"body":{"nodeType":"YulBlock","src":"9709:231:31","statements":[{"body":{"nodeType":"YulBlock","src":"9755:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9764:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9767:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9757:6:31"},"nodeType":"YulFunctionCall","src":"9757:12:31"},"nodeType":"YulExpressionStatement","src":"9757:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9730:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"9739:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9726:3:31"},"nodeType":"YulFunctionCall","src":"9726:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"9751:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9722:3:31"},"nodeType":"YulFunctionCall","src":"9722:32:31"},"nodeType":"YulIf","src":"9719:52:31"},{"nodeType":"YulAssignment","src":"9780:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9809:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"9790:18:31"},"nodeType":"YulFunctionCall","src":"9790:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9780:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"9828:45:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9858:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9869:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9854:3:31"},"nodeType":"YulFunctionCall","src":"9854:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9841:12:31"},"nodeType":"YulFunctionCall","src":"9841:32:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9832:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9904:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"9882:21:31"},"nodeType":"YulFunctionCall","src":"9882:28:31"},"nodeType":"YulExpressionStatement","src":"9882:28:31"},{"nodeType":"YulAssignment","src":"9919:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"9929:5:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9919:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9667:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9678:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9690:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9698:6:31","type":""}],"src":"9625:315:31"},{"body":{"nodeType":"YulBlock","src":"10194:731:31","statements":[{"nodeType":"YulVariableDeclaration","src":"10204:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10222:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10233:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10218:3:31"},"nodeType":"YulFunctionCall","src":"10218:18:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"10208:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10252:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10263:2:31","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10245:6:31"},"nodeType":"YulFunctionCall","src":"10245:21:31"},"nodeType":"YulExpressionStatement","src":"10245:21:31"},{"nodeType":"YulVariableDeclaration","src":"10275:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"10286:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"10279:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10301:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10321:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10315:5:31"},"nodeType":"YulFunctionCall","src":"10315:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10305:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"10344:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"10352:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10337:6:31"},"nodeType":"YulFunctionCall","src":"10337:22:31"},"nodeType":"YulExpressionStatement","src":"10337:22:31"},{"nodeType":"YulAssignment","src":"10368:25:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10379:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10390:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10375:3:31"},"nodeType":"YulFunctionCall","src":"10375:18:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10368:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"10402:53:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10424:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10439:1:31","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"10442:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10435:3:31"},"nodeType":"YulFunctionCall","src":"10435:14:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10420:3:31"},"nodeType":"YulFunctionCall","src":"10420:30:31"},{"kind":"number","nodeType":"YulLiteral","src":"10452:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10416:3:31"},"nodeType":"YulFunctionCall","src":"10416:39:31"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"10406:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10464:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"10474:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"10468:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10487:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10505:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"10513:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10501:3:31"},"nodeType":"YulFunctionCall","src":"10501:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"10491:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"10525:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"10534:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"10529:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"10593:206:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10614:3:31"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"10627:6:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"10635:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10623:3:31"},"nodeType":"YulFunctionCall","src":"10623:22:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10651:2:31","type":"","value":"95"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10647:3:31"},"nodeType":"YulFunctionCall","src":"10647:7:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10619:3:31"},"nodeType":"YulFunctionCall","src":"10619:36:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10607:6:31"},"nodeType":"YulFunctionCall","src":"10607:49:31"},"nodeType":"YulExpressionStatement","src":"10607:49:31"},{"nodeType":"YulAssignment","src":"10669:50:31","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10703:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10697:5:31"},"nodeType":"YulFunctionCall","src":"10697:13:31"},{"name":"tail_2","nodeType":"YulIdentifier","src":"10712:6:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10679:17:31"},"nodeType":"YulFunctionCall","src":"10679:40:31"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"10669:6:31"}]},{"nodeType":"YulAssignment","src":"10732:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10746:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"10754:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10742:3:31"},"nodeType":"YulFunctionCall","src":"10742:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"10732:6:31"}]},{"nodeType":"YulAssignment","src":"10770:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10781:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"10786:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10777:3:31"},"nodeType":"YulFunctionCall","src":"10777:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10770:3:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10555:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"10558:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10552:2:31"},"nodeType":"YulFunctionCall","src":"10552:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"10566:18:31","statements":[{"nodeType":"YulAssignment","src":"10568:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"10577:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"10580:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10573:3:31"},"nodeType":"YulFunctionCall","src":"10573:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"10568:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"10548:3:31","statements":[]},"src":"10544:255:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10819:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"10830:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10815:3:31"},"nodeType":"YulFunctionCall","src":"10815:18:31"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"10839:6:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"10847:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10835:3:31"},"nodeType":"YulFunctionCall","src":"10835:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10808:6:31"},"nodeType":"YulFunctionCall","src":"10808:50:31"},"nodeType":"YulExpressionStatement","src":"10808:50:31"},{"nodeType":"YulAssignment","src":"10867:52:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10904:6:31"},{"name":"tail_2","nodeType":"YulIdentifier","src":"10912:6:31"}],"functionName":{"name":"abi_encode_array_uint256_dyn","nodeType":"YulIdentifier","src":"10875:28:31"},"nodeType":"YulFunctionCall","src":"10875:44:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10867:4:31"}]}]},"name":"abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10155:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10166:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10174:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10185:4:31","type":""}],"src":"9945:980:31"},{"body":{"nodeType":"YulBlock","src":"11060:537:31","statements":[{"body":{"nodeType":"YulBlock","src":"11107:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11116:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11119:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11109:6:31"},"nodeType":"YulFunctionCall","src":"11109:12:31"},"nodeType":"YulExpressionStatement","src":"11109:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11081:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"11090:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11077:3:31"},"nodeType":"YulFunctionCall","src":"11077:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"11102:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11073:3:31"},"nodeType":"YulFunctionCall","src":"11073:33:31"},"nodeType":"YulIf","src":"11070:53:31"},{"nodeType":"YulAssignment","src":"11132:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11161:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"11142:18:31"},"nodeType":"YulFunctionCall","src":"11142:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11132:6:31"}]},{"nodeType":"YulAssignment","src":"11180:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11213:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11224:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11209:3:31"},"nodeType":"YulFunctionCall","src":"11209:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"11190:18:31"},"nodeType":"YulFunctionCall","src":"11190:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11180:6:31"}]},{"nodeType":"YulAssignment","src":"11237:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11264:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11275:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11260:3:31"},"nodeType":"YulFunctionCall","src":"11260:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11247:12:31"},"nodeType":"YulFunctionCall","src":"11247:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11237:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"11288:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11319:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11330:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11315:3:31"},"nodeType":"YulFunctionCall","src":"11315:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11302:12:31"},"nodeType":"YulFunctionCall","src":"11302:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11292:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"11377:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11386:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11389:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11379:6:31"},"nodeType":"YulFunctionCall","src":"11379:12:31"},"nodeType":"YulExpressionStatement","src":"11379:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11349:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"11357:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11346:2:31"},"nodeType":"YulFunctionCall","src":"11346:30:31"},"nodeType":"YulIf","src":"11343:50:31"},{"nodeType":"YulVariableDeclaration","src":"11402:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11416:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"11427:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11412:3:31"},"nodeType":"YulFunctionCall","src":"11412:22:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11406:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"11482:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11491:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11494:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11484:6:31"},"nodeType":"YulFunctionCall","src":"11484:12:31"},"nodeType":"YulExpressionStatement","src":"11484:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"11461:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"11465:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11457:3:31"},"nodeType":"YulFunctionCall","src":"11457:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11472:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11453:3:31"},"nodeType":"YulFunctionCall","src":"11453:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11446:6:31"},"nodeType":"YulFunctionCall","src":"11446:35:31"},"nodeType":"YulIf","src":"11443:55:31"},{"nodeType":"YulAssignment","src":"11507:84:31","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"11556:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"11560:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11552:3:31"},"nodeType":"YulFunctionCall","src":"11552:11:31"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"11578:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11565:12:31"},"nodeType":"YulFunctionCall","src":"11565:16:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11583:7:31"}],"functionName":{"name":"abi_decode_available_length_string","nodeType":"YulIdentifier","src":"11517:34:31"},"nodeType":"YulFunctionCall","src":"11517:74:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"11507:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11002:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11013:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11025:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11033:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11041:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11049:6:31","type":""}],"src":"10930:667:31"},{"body":{"nodeType":"YulBlock","src":"11689:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"11735:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11744:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11747:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11737:6:31"},"nodeType":"YulFunctionCall","src":"11737:12:31"},"nodeType":"YulExpressionStatement","src":"11737:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11710:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"11719:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11706:3:31"},"nodeType":"YulFunctionCall","src":"11706:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"11731:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11702:3:31"},"nodeType":"YulFunctionCall","src":"11702:32:31"},"nodeType":"YulIf","src":"11699:52:31"},{"nodeType":"YulAssignment","src":"11760:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11789:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"11770:18:31"},"nodeType":"YulFunctionCall","src":"11770:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11760:6:31"}]},{"nodeType":"YulAssignment","src":"11808:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11841:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11852:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11837:3:31"},"nodeType":"YulFunctionCall","src":"11837:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"11818:18:31"},"nodeType":"YulFunctionCall","src":"11818:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11808:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11647:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11658:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11670:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11678:6:31","type":""}],"src":"11602:260:31"},{"body":{"nodeType":"YulBlock","src":"11974:378:31","statements":[{"body":{"nodeType":"YulBlock","src":"12020:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12029:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12032:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12022:6:31"},"nodeType":"YulFunctionCall","src":"12022:12:31"},"nodeType":"YulExpressionStatement","src":"12022:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11995:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"12004:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11991:3:31"},"nodeType":"YulFunctionCall","src":"11991:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"12016:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11987:3:31"},"nodeType":"YulFunctionCall","src":"11987:32:31"},"nodeType":"YulIf","src":"11984:52:31"},{"nodeType":"YulAssignment","src":"12045:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12074:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"12055:18:31"},"nodeType":"YulFunctionCall","src":"12055:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12045:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"12093:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12124:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12135:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12120:3:31"},"nodeType":"YulFunctionCall","src":"12120:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12107:12:31"},"nodeType":"YulFunctionCall","src":"12107:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12097:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"12182:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12191:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12194:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12184:6:31"},"nodeType":"YulFunctionCall","src":"12184:12:31"},"nodeType":"YulExpressionStatement","src":"12184:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12154:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"12162:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12151:2:31"},"nodeType":"YulFunctionCall","src":"12151:30:31"},"nodeType":"YulIf","src":"12148:50:31"},{"nodeType":"YulVariableDeclaration","src":"12207:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12264:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"12275:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12260:3:31"},"nodeType":"YulFunctionCall","src":"12260:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12284:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"12233:26:31"},"nodeType":"YulFunctionCall","src":"12233:59:31"},"variables":[{"name":"value1_1","nodeType":"YulTypedName","src":"12211:8:31","type":""},{"name":"value2_1","nodeType":"YulTypedName","src":"12221:8:31","type":""}]},{"nodeType":"YulAssignment","src":"12301:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"12311:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"12301:6:31"}]},{"nodeType":"YulAssignment","src":"12328:18:31","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"12338:8:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"12328:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11924:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11935:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11947:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11955:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11963:6:31","type":""}],"src":"11867:485:31"},{"body":{"nodeType":"YulBlock","src":"12552:1191:31","statements":[{"nodeType":"YulVariableDeclaration","src":"12562:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12572:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12566:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12583:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12601:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12612:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12597:3:31"},"nodeType":"YulFunctionCall","src":"12597:18:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"12587:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12631:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12642:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12624:6:31"},"nodeType":"YulFunctionCall","src":"12624:21:31"},"nodeType":"YulExpressionStatement","src":"12624:21:31"},{"nodeType":"YulVariableDeclaration","src":"12654:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"12665:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"12658:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12680:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12700:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12694:5:31"},"nodeType":"YulFunctionCall","src":"12694:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12684:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12723:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"12731:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12716:6:31"},"nodeType":"YulFunctionCall","src":"12716:22:31"},"nodeType":"YulExpressionStatement","src":"12716:22:31"},{"nodeType":"YulVariableDeclaration","src":"12747:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12757:2:31","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"12751:2:31","type":""}]},{"nodeType":"YulAssignment","src":"12768:25:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12779:9:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12790:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12775:3:31"},"nodeType":"YulFunctionCall","src":"12775:18:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"12768:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"12802:53:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12824:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12839:1:31","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"12842:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12835:3:31"},"nodeType":"YulFunctionCall","src":"12835:14:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12820:3:31"},"nodeType":"YulFunctionCall","src":"12820:30:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12852:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12816:3:31"},"nodeType":"YulFunctionCall","src":"12816:39:31"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"12806:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12864:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12882:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12890:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12878:3:31"},"nodeType":"YulFunctionCall","src":"12878:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"12868:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12902:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12911:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"12906:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"12970:744:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12991:3:31"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13004:6:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"13012:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13000:3:31"},"nodeType":"YulFunctionCall","src":"13000:22:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13028:2:31","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"13024:3:31"},"nodeType":"YulFunctionCall","src":"13024:7:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12996:3:31"},"nodeType":"YulFunctionCall","src":"12996:36:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12984:6:31"},"nodeType":"YulFunctionCall","src":"12984:49:31"},"nodeType":"YulExpressionStatement","src":"12984:49:31"},{"nodeType":"YulVariableDeclaration","src":"13046:23:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13062:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13056:5:31"},"nodeType":"YulFunctionCall","src":"13056:13:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"13050:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13082:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"13092:4:31","type":"","value":"0xc0"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"13086:2:31","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13116:6:31"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"13130:2:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13124:5:31"},"nodeType":"YulFunctionCall","src":"13124:9:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13109:6:31"},"nodeType":"YulFunctionCall","src":"13109:25:31"},"nodeType":"YulExpressionStatement","src":"13109:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13158:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"13166:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13154:3:31"},"nodeType":"YulFunctionCall","src":"13154:15:31"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"13181:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"13185:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13177:3:31"},"nodeType":"YulFunctionCall","src":"13177:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13171:5:31"},"nodeType":"YulFunctionCall","src":"13171:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13147:6:31"},"nodeType":"YulFunctionCall","src":"13147:43:31"},"nodeType":"YulExpressionStatement","src":"13147:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13214:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"13222:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13210:3:31"},"nodeType":"YulFunctionCall","src":"13210:15:31"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"13237:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"13241:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13233:3:31"},"nodeType":"YulFunctionCall","src":"13233:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13227:5:31"},"nodeType":"YulFunctionCall","src":"13227:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13203:6:31"},"nodeType":"YulFunctionCall","src":"13203:43:31"},"nodeType":"YulExpressionStatement","src":"13203:43:31"},{"nodeType":"YulVariableDeclaration","src":"13259:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"13269:4:31","type":"","value":"0x60"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"13263:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13286:38:31","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"13316:2:31"},{"name":"_5","nodeType":"YulIdentifier","src":"13320:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13312:3:31"},"nodeType":"YulFunctionCall","src":"13312:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13306:5:31"},"nodeType":"YulFunctionCall","src":"13306:18:31"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"13290:12:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13348:6:31"},{"name":"_5","nodeType":"YulIdentifier","src":"13356:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13344:3:31"},"nodeType":"YulFunctionCall","src":"13344:15:31"},{"name":"_4","nodeType":"YulIdentifier","src":"13361:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13337:6:31"},"nodeType":"YulFunctionCall","src":"13337:27:31"},"nodeType":"YulExpressionStatement","src":"13337:27:31"},{"nodeType":"YulVariableDeclaration","src":"13377:62:31","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"13409:12:31"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13427:6:31"},{"name":"_4","nodeType":"YulIdentifier","src":"13435:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13423:3:31"},"nodeType":"YulFunctionCall","src":"13423:15:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"13391:17:31"},"nodeType":"YulFunctionCall","src":"13391:48:31"},"variables":[{"name":"tail_3","nodeType":"YulTypedName","src":"13381:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13452:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"13462:4:31","type":"","value":"0x80"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"13456:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13490:6:31"},{"name":"_6","nodeType":"YulIdentifier","src":"13498:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13486:3:31"},"nodeType":"YulFunctionCall","src":"13486:15:31"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"13513:2:31"},{"name":"_6","nodeType":"YulIdentifier","src":"13517:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13509:3:31"},"nodeType":"YulFunctionCall","src":"13509:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13503:5:31"},"nodeType":"YulFunctionCall","src":"13503:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13479:6:31"},"nodeType":"YulFunctionCall","src":"13479:43:31"},"nodeType":"YulExpressionStatement","src":"13479:43:31"},{"nodeType":"YulVariableDeclaration","src":"13535:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"13545:4:31","type":"","value":"0xa0"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"13539:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13573:6:31"},{"name":"_7","nodeType":"YulIdentifier","src":"13581:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13569:3:31"},"nodeType":"YulFunctionCall","src":"13569:15:31"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"13596:2:31"},{"name":"_7","nodeType":"YulIdentifier","src":"13600:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13592:3:31"},"nodeType":"YulFunctionCall","src":"13592:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13586:5:31"},"nodeType":"YulFunctionCall","src":"13586:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13562:6:31"},"nodeType":"YulFunctionCall","src":"13562:43:31"},"nodeType":"YulExpressionStatement","src":"13562:43:31"},{"nodeType":"YulAssignment","src":"13618:16:31","value":{"name":"tail_3","nodeType":"YulIdentifier","src":"13628:6:31"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"13618:6:31"}]},{"nodeType":"YulAssignment","src":"13647:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13661:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"13669:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13657:3:31"},"nodeType":"YulFunctionCall","src":"13657:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"13647:6:31"}]},{"nodeType":"YulAssignment","src":"13685:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13696:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"13701:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13692:3:31"},"nodeType":"YulFunctionCall","src":"13692:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"13685:3:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12932:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"12935:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12929:2:31"},"nodeType":"YulFunctionCall","src":"12929:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12943:18:31","statements":[{"nodeType":"YulAssignment","src":"12945:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12954:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"12957:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12950:3:31"},"nodeType":"YulFunctionCall","src":"12950:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12945:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"12925:3:31","statements":[]},"src":"12921:793:31"},{"nodeType":"YulAssignment","src":"13723:14:31","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"13731:6:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13723:4:31"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12521:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12532:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12543:4:31","type":""}],"src":"12357:1386:31"},{"body":{"nodeType":"YulBlock","src":"13887:150:31","statements":[{"nodeType":"YulVariableDeclaration","src":"13897:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13917:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13911:5:31"},"nodeType":"YulFunctionCall","src":"13911:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"13901:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13972:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"13980:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13968:3:31"},"nodeType":"YulFunctionCall","src":"13968:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"13987:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"13992:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"13933:34:31"},"nodeType":"YulFunctionCall","src":"13933:66:31"},"nodeType":"YulExpressionStatement","src":"13933:66:31"},{"nodeType":"YulAssignment","src":"14008:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14019:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"14024:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14015:3:31"},"nodeType":"YulFunctionCall","src":"14015:16:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14008:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13863:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13868:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13879:3:31","type":""}],"src":"13748:289:31"},{"body":{"nodeType":"YulBlock","src":"14216:173:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14233:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14244:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14226:6:31"},"nodeType":"YulFunctionCall","src":"14226:21:31"},"nodeType":"YulExpressionStatement","src":"14226:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14267:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14278:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14263:3:31"},"nodeType":"YulFunctionCall","src":"14263:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"14283:2:31","type":"","value":"23"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14256:6:31"},"nodeType":"YulFunctionCall","src":"14256:30:31"},"nodeType":"YulExpressionStatement","src":"14256:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14306:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14317:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14302:3:31"},"nodeType":"YulFunctionCall","src":"14302:18:31"},{"hexValue":"59612074656e657320756e207061636b2077616368696e","kind":"string","nodeType":"YulLiteral","src":"14322:25:31","type":"","value":"Ya tenes un pack wachin"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14295:6:31"},"nodeType":"YulFunctionCall","src":"14295:53:31"},"nodeType":"YulExpressionStatement","src":"14295:53:31"},{"nodeType":"YulAssignment","src":"14357:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14369:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14380:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14365:3:31"},"nodeType":"YulFunctionCall","src":"14365:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14357:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6a3fadf7b5b83cfa8be0b8450b58a9c8d5b3fe4b731922b6399f6a02096c6708__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14193:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14207:4:31","type":""}],"src":"14042:347:31"},{"body":{"nodeType":"YulBlock","src":"14568:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14585:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14596:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14578:6:31"},"nodeType":"YulFunctionCall","src":"14578:21:31"},"nodeType":"YulExpressionStatement","src":"14578:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14619:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14630:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14615:3:31"},"nodeType":"YulFunctionCall","src":"14615:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"14635:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14608:6:31"},"nodeType":"YulFunctionCall","src":"14608:30:31"},"nodeType":"YulExpressionStatement","src":"14608:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14658:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14669:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14654:3:31"},"nodeType":"YulFunctionCall","src":"14654:18:31"},{"hexValue":"53656e6420657861637420707269636520666f72205061636b","kind":"string","nodeType":"YulLiteral","src":"14674:27:31","type":"","value":"Send exact price for Pack"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14647:6:31"},"nodeType":"YulFunctionCall","src":"14647:55:31"},"nodeType":"YulExpressionStatement","src":"14647:55:31"},{"nodeType":"YulAssignment","src":"14711:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14723:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14734:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14719:3:31"},"nodeType":"YulFunctionCall","src":"14719:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14711:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_46aff5505e7887e423791622f5ba36d7ca4a9d15512f9df8e6b7f62e3722bc44__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14545:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14559:4:31","type":""}],"src":"14394:349:31"},{"body":{"nodeType":"YulBlock","src":"14780:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14797:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14804:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"14809:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14800:3:31"},"nodeType":"YulFunctionCall","src":"14800:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14790:6:31"},"nodeType":"YulFunctionCall","src":"14790:31:31"},"nodeType":"YulExpressionStatement","src":"14790:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14837:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"14840:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14830:6:31"},"nodeType":"YulFunctionCall","src":"14830:15:31"},"nodeType":"YulExpressionStatement","src":"14830:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14861:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14864:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14854:6:31"},"nodeType":"YulFunctionCall","src":"14854:15:31"},"nodeType":"YulExpressionStatement","src":"14854:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"14748:127:31"},{"body":{"nodeType":"YulBlock","src":"14932:116:31","statements":[{"nodeType":"YulAssignment","src":"14942:20:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14957:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"14960:1:31"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"14953:3:31"},"nodeType":"YulFunctionCall","src":"14953:9:31"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"14942:7:31"}]},{"body":{"nodeType":"YulBlock","src":"15020:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15022:16:31"},"nodeType":"YulFunctionCall","src":"15022:18:31"},"nodeType":"YulExpressionStatement","src":"15022:18:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"14991:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14984:6:31"},"nodeType":"YulFunctionCall","src":"14984:9:31"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"14998:1:31"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"15005:7:31"},{"name":"x","nodeType":"YulIdentifier","src":"15014:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"15001:3:31"},"nodeType":"YulFunctionCall","src":"15001:15:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"14995:2:31"},"nodeType":"YulFunctionCall","src":"14995:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14981:2:31"},"nodeType":"YulFunctionCall","src":"14981:37:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"14974:6:31"},"nodeType":"YulFunctionCall","src":"14974:45:31"},"nodeType":"YulIf","src":"14971:71:31"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"14911:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"14914:1:31","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"14920:7:31","type":""}],"src":"14880:168:31"},{"body":{"nodeType":"YulBlock","src":"15085:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15102:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15109:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"15114:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15105:3:31"},"nodeType":"YulFunctionCall","src":"15105:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15095:6:31"},"nodeType":"YulFunctionCall","src":"15095:31:31"},"nodeType":"YulExpressionStatement","src":"15095:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15142:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"15145:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15135:6:31"},"nodeType":"YulFunctionCall","src":"15135:15:31"},"nodeType":"YulExpressionStatement","src":"15135:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15166:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15169:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15159:6:31"},"nodeType":"YulFunctionCall","src":"15159:15:31"},"nodeType":"YulExpressionStatement","src":"15159:15:31"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"15053:127:31"},{"body":{"nodeType":"YulBlock","src":"15231:74:31","statements":[{"body":{"nodeType":"YulBlock","src":"15254:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"15256:16:31"},"nodeType":"YulFunctionCall","src":"15256:18:31"},"nodeType":"YulExpressionStatement","src":"15256:18:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"15251:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15244:6:31"},"nodeType":"YulFunctionCall","src":"15244:9:31"},"nodeType":"YulIf","src":"15241:35:31"},{"nodeType":"YulAssignment","src":"15285:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15294:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"15297:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"15290:3:31"},"nodeType":"YulFunctionCall","src":"15290:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"15285:1:31"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15216:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"15219:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"15225:1:31","type":""}],"src":"15185:120:31"},{"body":{"nodeType":"YulBlock","src":"15358:77:31","statements":[{"nodeType":"YulAssignment","src":"15368:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15379:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"15382:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15375:3:31"},"nodeType":"YulFunctionCall","src":"15375:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"15368:3:31"}]},{"body":{"nodeType":"YulBlock","src":"15407:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15409:16:31"},"nodeType":"YulFunctionCall","src":"15409:18:31"},"nodeType":"YulExpressionStatement","src":"15409:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15399:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"15402:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15396:2:31"},"nodeType":"YulFunctionCall","src":"15396:10:31"},"nodeType":"YulIf","src":"15393:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15341:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"15344:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"15350:3:31","type":""}],"src":"15310:125:31"},{"body":{"nodeType":"YulBlock","src":"15597:218:31","statements":[{"nodeType":"YulAssignment","src":"15607:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15619:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15630:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15615:3:31"},"nodeType":"YulFunctionCall","src":"15615:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15607:4:31"}]},{"nodeType":"YulVariableDeclaration","src":"15642:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15660:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"15665:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15656:3:31"},"nodeType":"YulFunctionCall","src":"15656:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"15669:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15652:3:31"},"nodeType":"YulFunctionCall","src":"15652:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15646:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15687:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15702:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"15710:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15698:3:31"},"nodeType":"YulFunctionCall","src":"15698:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15680:6:31"},"nodeType":"YulFunctionCall","src":"15680:34:31"},"nodeType":"YulExpressionStatement","src":"15680:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15734:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15745:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15730:3:31"},"nodeType":"YulFunctionCall","src":"15730:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"15754:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"15762:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15750:3:31"},"nodeType":"YulFunctionCall","src":"15750:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15723:6:31"},"nodeType":"YulFunctionCall","src":"15723:43:31"},"nodeType":"YulExpressionStatement","src":"15723:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15786:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15797:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15782:3:31"},"nodeType":"YulFunctionCall","src":"15782:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"15802:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15775:6:31"},"nodeType":"YulFunctionCall","src":"15775:34:31"},"nodeType":"YulExpressionStatement","src":"15775:34:31"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15550:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15561:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15569:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15577:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15588:4:31","type":""}],"src":"15440:375:31"},{"body":{"nodeType":"YulBlock","src":"15898:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"15944:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15953:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15956:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15946:6:31"},"nodeType":"YulFunctionCall","src":"15946:12:31"},"nodeType":"YulExpressionStatement","src":"15946:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15919:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"15928:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15915:3:31"},"nodeType":"YulFunctionCall","src":"15915:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"15940:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15911:3:31"},"nodeType":"YulFunctionCall","src":"15911:32:31"},"nodeType":"YulIf","src":"15908:52:31"},{"nodeType":"YulVariableDeclaration","src":"15969:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15988:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15982:5:31"},"nodeType":"YulFunctionCall","src":"15982:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15973:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16029:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"16007:21:31"},"nodeType":"YulFunctionCall","src":"16007:28:31"},"nodeType":"YulExpressionStatement","src":"16007:28:31"},{"nodeType":"YulAssignment","src":"16044:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"16054:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16044:6:31"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15864:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15875:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15887:6:31","type":""}],"src":"15820:245:31"},{"body":{"nodeType":"YulBlock","src":"16119:79:31","statements":[{"nodeType":"YulAssignment","src":"16129:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16141:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"16144:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16137:3:31"},"nodeType":"YulFunctionCall","src":"16137:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"16129:4:31"}]},{"body":{"nodeType":"YulBlock","src":"16170:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16172:16:31"},"nodeType":"YulFunctionCall","src":"16172:18:31"},"nodeType":"YulExpressionStatement","src":"16172:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"16161:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"16167:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16158:2:31"},"nodeType":"YulFunctionCall","src":"16158:11:31"},"nodeType":"YulIf","src":"16155:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16101:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"16104:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"16110:4:31","type":""}],"src":"16070:128:31"},{"body":{"nodeType":"YulBlock","src":"16322:63:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16339:3:31"},{"name":"value0","nodeType":"YulIdentifier","src":"16344:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16332:6:31"},"nodeType":"YulFunctionCall","src":"16332:19:31"},"nodeType":"YulExpressionStatement","src":"16332:19:31"},{"nodeType":"YulAssignment","src":"16360:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16371:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"16376:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16367:3:31"},"nodeType":"YulFunctionCall","src":"16367:12:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16360:3:31"}]}]},"name":"abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16298:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16303:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16314:3:31","type":""}],"src":"16203:182:31"},{"body":{"nodeType":"YulBlock","src":"16428:74:31","statements":[{"body":{"nodeType":"YulBlock","src":"16451:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"16453:16:31"},"nodeType":"YulFunctionCall","src":"16453:18:31"},"nodeType":"YulExpressionStatement","src":"16453:18:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"16448:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16441:6:31"},"nodeType":"YulFunctionCall","src":"16441:9:31"},"nodeType":"YulIf","src":"16438:35:31"},{"nodeType":"YulAssignment","src":"16482:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16491:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"16494:1:31"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"16487:3:31"},"nodeType":"YulFunctionCall","src":"16487:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"16482:1:31"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16413:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"16416:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"16422:1:31","type":""}],"src":"16390:112:31"},{"body":{"nodeType":"YulBlock","src":"16539:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16556:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16563:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"16568:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16559:3:31"},"nodeType":"YulFunctionCall","src":"16559:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16549:6:31"},"nodeType":"YulFunctionCall","src":"16549:31:31"},"nodeType":"YulExpressionStatement","src":"16549:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16596:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"16599:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16589:6:31"},"nodeType":"YulFunctionCall","src":"16589:15:31"},"nodeType":"YulExpressionStatement","src":"16589:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16620:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16623:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16613:6:31"},"nodeType":"YulFunctionCall","src":"16613:15:31"},"nodeType":"YulExpressionStatement","src":"16613:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"16507:127:31"},{"body":{"nodeType":"YulBlock","src":"16671:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16688:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16695:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"16700:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16691:3:31"},"nodeType":"YulFunctionCall","src":"16691:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16681:6:31"},"nodeType":"YulFunctionCall","src":"16681:31:31"},"nodeType":"YulExpressionStatement","src":"16681:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16728:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"16731:4:31","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16721:6:31"},"nodeType":"YulFunctionCall","src":"16721:15:31"},"nodeType":"YulExpressionStatement","src":"16721:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16752:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16755:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16745:6:31"},"nodeType":"YulFunctionCall","src":"16745:15:31"},"nodeType":"YulExpressionStatement","src":"16745:15:31"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"16639:127:31"},{"body":{"nodeType":"YulBlock","src":"16826:325:31","statements":[{"nodeType":"YulAssignment","src":"16836:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16850:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"16853:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16846:3:31"},"nodeType":"YulFunctionCall","src":"16846:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16836:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"16867:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"16897:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"16903:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16893:3:31"},"nodeType":"YulFunctionCall","src":"16893:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"16871:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"16944:31:31","statements":[{"nodeType":"YulAssignment","src":"16946:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"16960:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"16968:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16956:3:31"},"nodeType":"YulFunctionCall","src":"16956:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"16946:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16924:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"16917:6:31"},"nodeType":"YulFunctionCall","src":"16917:26:31"},"nodeType":"YulIf","src":"16914:61:31"},{"body":{"nodeType":"YulBlock","src":"17034:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17055:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17062:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17067:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17058:3:31"},"nodeType":"YulFunctionCall","src":"17058:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17048:6:31"},"nodeType":"YulFunctionCall","src":"17048:31:31"},"nodeType":"YulExpressionStatement","src":"17048:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17099:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17102:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17092:6:31"},"nodeType":"YulFunctionCall","src":"17092:15:31"},"nodeType":"YulExpressionStatement","src":"17092:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17120:6:31"},"nodeType":"YulFunctionCall","src":"17120:15:31"},"nodeType":"YulExpressionStatement","src":"17120:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"16990:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17013:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"17021:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17010:2:31"},"nodeType":"YulFunctionCall","src":"17010:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"16987:2:31"},"nodeType":"YulFunctionCall","src":"16987:38:31"},"nodeType":"YulIf","src":"16984:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"16806:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"16815:6:31","type":""}],"src":"16771:380:31"},{"body":{"nodeType":"YulBlock","src":"17215:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17232:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"17235:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17225:6:31"},"nodeType":"YulFunctionCall","src":"17225:14:31"},"nodeType":"YulExpressionStatement","src":"17225:14:31"},{"nodeType":"YulAssignment","src":"17248:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17266:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17269:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"17256:9:31"},"nodeType":"YulFunctionCall","src":"17256:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"17248:4:31"}]}]},"name":"array_dataslot_bytes_storage_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"17198:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"17206:4:31","type":""}],"src":"17156:124:31"},{"body":{"nodeType":"YulBlock","src":"17346:664:31","statements":[{"nodeType":"YulVariableDeclaration","src":"17356:29:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17379:5:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"17373:5:31"},"nodeType":"YulFunctionCall","src":"17373:12:31"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"17360:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17394:50:31","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"17434:9:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"17408:25:31"},"nodeType":"YulFunctionCall","src":"17408:36:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"17398:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17453:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"17463:1:31","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17457:2:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"17514:126:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17535:3:31"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"17544:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17559:3:31","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"17555:3:31"},"nodeType":"YulFunctionCall","src":"17555:8:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17540:3:31"},"nodeType":"YulFunctionCall","src":"17540:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17528:6:31"},"nodeType":"YulFunctionCall","src":"17528:37:31"},"nodeType":"YulExpressionStatement","src":"17528:37:31"},{"nodeType":"YulAssignment","src":"17578:52:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17589:3:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17598:6:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"17620:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17613:6:31"},"nodeType":"YulFunctionCall","src":"17613:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17606:6:31"},"nodeType":"YulFunctionCall","src":"17606:22:31"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"17594:3:31"},"nodeType":"YulFunctionCall","src":"17594:35:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17585:3:31"},"nodeType":"YulFunctionCall","src":"17585:45:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"17578:3:31"}]}]},"nodeType":"YulCase","src":"17507:133:31","value":{"kind":"number","nodeType":"YulLiteral","src":"17512:1:31","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"17656:348:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17677:1:31","type":"","value":"0"},{"name":"value","nodeType":"YulIdentifier","src":"17680:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17670:6:31"},"nodeType":"YulFunctionCall","src":"17670:16:31"},"nodeType":"YulExpressionStatement","src":"17670:16:31"},{"nodeType":"YulVariableDeclaration","src":"17699:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"17709:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"17703:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17726:31:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17751:1:31","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"17754:2:31"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"17741:9:31"},"nodeType":"YulFunctionCall","src":"17741:16:31"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"17730:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17770:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"17779:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"17774:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"17847:111:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17876:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"17881:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17872:3:31"},"nodeType":"YulFunctionCall","src":"17872:11:31"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"17891:7:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"17885:5:31"},"nodeType":"YulFunctionCall","src":"17885:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17865:6:31"},"nodeType":"YulFunctionCall","src":"17865:35:31"},"nodeType":"YulExpressionStatement","src":"17865:35:31"},{"nodeType":"YulAssignment","src":"17917:27:31","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"17932:7:31"},{"name":"_1","nodeType":"YulIdentifier","src":"17941:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17928:3:31"},"nodeType":"YulFunctionCall","src":"17928:16:31"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"17917:7:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"17804:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"17807:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17801:2:31"},"nodeType":"YulFunctionCall","src":"17801:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"17815:19:31","statements":[{"nodeType":"YulAssignment","src":"17817:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"17826:1:31"},{"name":"_2","nodeType":"YulIdentifier","src":"17829:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17822:3:31"},"nodeType":"YulFunctionCall","src":"17822:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"17817:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"17797:3:31","statements":[]},"src":"17793:165:31"},{"nodeType":"YulAssignment","src":"17971:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17982:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"17987:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17978:3:31"},"nodeType":"YulFunctionCall","src":"17978:16:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"17971:3:31"}]}]},"nodeType":"YulCase","src":"17649:355:31","value":{"kind":"number","nodeType":"YulLiteral","src":"17654:1:31","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"17484:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"17495:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17480:3:31"},"nodeType":"YulFunctionCall","src":"17480:18:31"},"nodeType":"YulSwitch","src":"17473:531:31"}]},"name":"abi_encode_bytes_storage_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17323:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"17330:3:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"17338:3:31","type":""}],"src":"17285:725:31"},{"body":{"nodeType":"YulBlock","src":"18291:526:31","statements":[{"nodeType":"YulVariableDeclaration","src":"18301:51:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18340:6:31"},{"name":"pos","nodeType":"YulIdentifier","src":"18348:3:31"}],"functionName":{"name":"abi_encode_bytes_storage_ptr","nodeType":"YulIdentifier","src":"18311:28:31"},"nodeType":"YulFunctionCall","src":"18311:41:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"18305:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18361:27:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18381:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18375:5:31"},"nodeType":"YulFunctionCall","src":"18375:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"18365:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18436:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"18444:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18432:3:31"},"nodeType":"YulFunctionCall","src":"18432:17:31"},{"name":"_1","nodeType":"YulIdentifier","src":"18451:2:31"},{"name":"length","nodeType":"YulIdentifier","src":"18455:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"18397:34:31"},"nodeType":"YulFunctionCall","src":"18397:65:31"},"nodeType":"YulExpressionStatement","src":"18397:65:31"},{"nodeType":"YulVariableDeclaration","src":"18471:28:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"18488:2:31"},{"name":"length","nodeType":"YulIdentifier","src":"18492:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18484:3:31"},"nodeType":"YulFunctionCall","src":"18484:15:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"18475:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18508:29:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18530:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18524:5:31"},"nodeType":"YulFunctionCall","src":"18524:13:31"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"18512:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"18585:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"18593:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18581:3:31"},"nodeType":"YulFunctionCall","src":"18581:17:31"},{"name":"end_1","nodeType":"YulIdentifier","src":"18600:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"18607:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"18546:34:31"},"nodeType":"YulFunctionCall","src":"18546:70:31"},"nodeType":"YulExpressionStatement","src":"18546:70:31"},{"nodeType":"YulVariableDeclaration","src":"18625:33:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"18642:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"18649:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18638:3:31"},"nodeType":"YulFunctionCall","src":"18638:20:31"},"variables":[{"name":"end_2","nodeType":"YulTypedName","src":"18629:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18667:29:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"18689:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18683:5:31"},"nodeType":"YulFunctionCall","src":"18683:13:31"},"variables":[{"name":"length_2","nodeType":"YulTypedName","src":"18671:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"18744:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"18752:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18740:3:31"},"nodeType":"YulFunctionCall","src":"18740:17:31"},{"name":"end_2","nodeType":"YulIdentifier","src":"18759:5:31"},{"name":"length_2","nodeType":"YulIdentifier","src":"18766:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"18705:34:31"},"nodeType":"YulFunctionCall","src":"18705:70:31"},"nodeType":"YulExpressionStatement","src":"18705:70:31"},{"nodeType":"YulAssignment","src":"18784:27:31","value":{"arguments":[{"name":"end_2","nodeType":"YulIdentifier","src":"18795:5:31"},{"name":"length_2","nodeType":"YulIdentifier","src":"18802:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18791:3:31"},"nodeType":"YulFunctionCall","src":"18791:20:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"18784:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"18243:3:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"18248:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"18256:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18264:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18272:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18283:3:31","type":""}],"src":"18015:802:31"},{"body":{"nodeType":"YulBlock","src":"18869:88:31","statements":[{"body":{"nodeType":"YulBlock","src":"18900:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18902:16:31"},"nodeType":"YulFunctionCall","src":"18902:18:31"},"nodeType":"YulExpressionStatement","src":"18902:18:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18885:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18896:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18892:3:31"},"nodeType":"YulFunctionCall","src":"18892:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18882:2:31"},"nodeType":"YulFunctionCall","src":"18882:17:31"},"nodeType":"YulIf","src":"18879:43:31"},{"nodeType":"YulAssignment","src":"18931:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18942:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"18949:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18938:3:31"},"nodeType":"YulFunctionCall","src":"18938:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18931:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18851:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18861:3:31","type":""}],"src":"18822:135:31"},{"body":{"nodeType":"YulBlock","src":"19111:168:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19128:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19143:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19159:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"19164:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19155:3:31"},"nodeType":"YulFunctionCall","src":"19155:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"19168:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19151:3:31"},"nodeType":"YulFunctionCall","src":"19151:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19139:3:31"},"nodeType":"YulFunctionCall","src":"19139:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19121:6:31"},"nodeType":"YulFunctionCall","src":"19121:51:31"},"nodeType":"YulExpressionStatement","src":"19121:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19192:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19203:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19188:3:31"},"nodeType":"YulFunctionCall","src":"19188:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"19208:2:31","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19181:6:31"},"nodeType":"YulFunctionCall","src":"19181:30:31"},"nodeType":"YulExpressionStatement","src":"19181:30:31"},{"nodeType":"YulAssignment","src":"19220:53:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"19246:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19258:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19269:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19254:3:31"},"nodeType":"YulFunctionCall","src":"19254:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"19228:17:31"},"nodeType":"YulFunctionCall","src":"19228:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19220:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19072:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19083:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19091:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19102:4:31","type":""}],"src":"18962:317:31"},{"body":{"nodeType":"YulBlock","src":"19458:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19475:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19486:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19468:6:31"},"nodeType":"YulFunctionCall","src":"19468:21:31"},"nodeType":"YulExpressionStatement","src":"19468:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19509:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19520:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19505:3:31"},"nodeType":"YulFunctionCall","src":"19505:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"19525:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19498:6:31"},"nodeType":"YulFunctionCall","src":"19498:30:31"},"nodeType":"YulExpressionStatement","src":"19498:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19548:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19559:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19544:3:31"},"nodeType":"YulFunctionCall","src":"19544:18:31"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"19564:34:31","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19537:6:31"},"nodeType":"YulFunctionCall","src":"19537:62:31"},"nodeType":"YulExpressionStatement","src":"19537:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19619:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19630:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19615:3:31"},"nodeType":"YulFunctionCall","src":"19615:18:31"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"19635:3:31","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19608:6:31"},"nodeType":"YulFunctionCall","src":"19608:31:31"},"nodeType":"YulExpressionStatement","src":"19608:31:31"},{"nodeType":"YulAssignment","src":"19648:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19660:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19671:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19656:3:31"},"nodeType":"YulFunctionCall","src":"19656:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19648:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19435:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19449:4:31","type":""}],"src":"19284:397:31"},{"body":{"nodeType":"YulBlock","src":"19860:251:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19877:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19888:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19870:6:31"},"nodeType":"YulFunctionCall","src":"19870:21:31"},"nodeType":"YulExpressionStatement","src":"19870:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19911:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19922:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19907:3:31"},"nodeType":"YulFunctionCall","src":"19907:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"19927:2:31","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19900:6:31"},"nodeType":"YulFunctionCall","src":"19900:30:31"},"nodeType":"YulExpressionStatement","src":"19900:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19950:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19961:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19946:3:31"},"nodeType":"YulFunctionCall","src":"19946:18:31"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"19966:34:31","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19939:6:31"},"nodeType":"YulFunctionCall","src":"19939:62:31"},"nodeType":"YulExpressionStatement","src":"19939:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20021:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20032:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20017:3:31"},"nodeType":"YulFunctionCall","src":"20017:18:31"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"20037:31:31","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20010:6:31"},"nodeType":"YulFunctionCall","src":"20010:59:31"},"nodeType":"YulExpressionStatement","src":"20010:59:31"},{"nodeType":"YulAssignment","src":"20078:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20090:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20101:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20086:3:31"},"nodeType":"YulFunctionCall","src":"20086:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20078:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19837:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19851:4:31","type":""}],"src":"19686:425:31"},{"body":{"nodeType":"YulBlock","src":"20290:171:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20307:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20318:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20300:6:31"},"nodeType":"YulFunctionCall","src":"20300:21:31"},"nodeType":"YulExpressionStatement","src":"20300:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20341:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20352:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20337:3:31"},"nodeType":"YulFunctionCall","src":"20337:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"20357:2:31","type":"","value":"21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20330:6:31"},"nodeType":"YulFunctionCall","src":"20330:30:31"},"nodeType":"YulExpressionStatement","src":"20330:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20380:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20391:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20376:3:31"},"nodeType":"YulFunctionCall","src":"20376:18:31"},{"hexValue":"54686973206973206e6f7420796f75722063617264","kind":"string","nodeType":"YulLiteral","src":"20396:23:31","type":"","value":"This is not your card"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20369:6:31"},"nodeType":"YulFunctionCall","src":"20369:51:31"},"nodeType":"YulExpressionStatement","src":"20369:51:31"},{"nodeType":"YulAssignment","src":"20429:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20441:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20452:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20437:3:31"},"nodeType":"YulFunctionCall","src":"20437:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20429:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c109004b669a4d72cb4eb97db002903cc0169ec4c84c949b78ec5088ec4668fe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20267:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20281:4:31","type":""}],"src":"20116:345:31"},{"body":{"nodeType":"YulBlock","src":"20640:172:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20657:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20668:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20650:6:31"},"nodeType":"YulFunctionCall","src":"20650:21:31"},"nodeType":"YulExpressionStatement","src":"20650:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20691:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20702:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20687:3:31"},"nodeType":"YulFunctionCall","src":"20687:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"20707:2:31","type":"","value":"22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20680:6:31"},"nodeType":"YulFunctionCall","src":"20680:30:31"},"nodeType":"YulExpressionStatement","src":"20680:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20730:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20741:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20726:3:31"},"nodeType":"YulFunctionCall","src":"20726:18:31"},{"hexValue":"54686973206973206e6f7420796f757220616c62756d","kind":"string","nodeType":"YulLiteral","src":"20746:24:31","type":"","value":"This is not your album"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20719:6:31"},"nodeType":"YulFunctionCall","src":"20719:52:31"},"nodeType":"YulExpressionStatement","src":"20719:52:31"},{"nodeType":"YulAssignment","src":"20780:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20792:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20803:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20788:3:31"},"nodeType":"YulFunctionCall","src":"20788:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20780:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6cb55d0887b6e2e68566b1f2151148dcb5c2a2639658126a6a7f044d1aa26a53__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20617:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20631:4:31","type":""}],"src":"20466:346:31"},{"body":{"nodeType":"YulBlock","src":"20991:170:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21008:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21019:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21001:6:31"},"nodeType":"YulFunctionCall","src":"21001:21:31"},"nodeType":"YulExpressionStatement","src":"21001:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21042:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21053:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21038:3:31"},"nodeType":"YulFunctionCall","src":"21038:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"21058:2:31","type":"","value":"20"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21031:6:31"},"nodeType":"YulFunctionCall","src":"21031:30:31"},"nodeType":"YulExpressionStatement","src":"21031:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21081:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21092:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21077:3:31"},"nodeType":"YulFunctionCall","src":"21077:18:31"},{"hexValue":"63617264206973206e6f7420616e20616c62756d","kind":"string","nodeType":"YulLiteral","src":"21097:22:31","type":"","value":"card is not an album"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21070:6:31"},"nodeType":"YulFunctionCall","src":"21070:50:31"},"nodeType":"YulExpressionStatement","src":"21070:50:31"},{"nodeType":"YulAssignment","src":"21129:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21141:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21152:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21137:3:31"},"nodeType":"YulFunctionCall","src":"21137:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21129:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_20d8a65ab2c3e6e002e588f538284af6066809c65c417beb1fc1ab00bdd39555__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20968:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20982:4:31","type":""}],"src":"20817:344:31"},{"body":{"nodeType":"YulBlock","src":"21247:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"21280:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"21294:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21304:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"21298:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"21325:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"21329:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21318:6:31"},"nodeType":"YulFunctionCall","src":"21318:17:31"},"nodeType":"YulExpressionStatement","src":"21318:17:31"},{"nodeType":"YulVariableDeclaration","src":"21348:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"21370:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"21374:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"21360:9:31"},"nodeType":"YulFunctionCall","src":"21360:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"21352:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21392:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"21415:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21425:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"21432:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"21444:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21428:3:31"},"nodeType":"YulFunctionCall","src":"21428:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"21421:3:31"},"nodeType":"YulFunctionCall","src":"21421:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21411:3:31"},"nodeType":"YulFunctionCall","src":"21411:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"21396:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"21486:23:31","statements":[{"nodeType":"YulAssignment","src":"21488:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"21503:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"21488:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"21468:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"21480:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21465:2:31"},"nodeType":"YulFunctionCall","src":"21465:20:31"},"nodeType":"YulIf","src":"21462:47:31"},{"nodeType":"YulVariableDeclaration","src":"21522:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"21536:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21546:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"21553:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"21558:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21549:3:31"},"nodeType":"YulFunctionCall","src":"21549:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"21542:3:31"},"nodeType":"YulFunctionCall","src":"21542:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21532:3:31"},"nodeType":"YulFunctionCall","src":"21532:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"21526:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21576:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"21589:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"21580:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"21674:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"21683:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21690:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21676:6:31"},"nodeType":"YulFunctionCall","src":"21676:17:31"},"nodeType":"YulExpressionStatement","src":"21676:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"21624:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"21631:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21621:2:31"},"nodeType":"YulFunctionCall","src":"21621:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21635:26:31","statements":[{"nodeType":"YulAssignment","src":"21637:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"21650:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"21657:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21646:3:31"},"nodeType":"YulFunctionCall","src":"21646:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"21637:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"21617:3:31","statements":[]},"src":"21613:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"21263:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"21268:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21260:2:31"},"nodeType":"YulFunctionCall","src":"21260:11:31"},"nodeType":"YulIf","src":"21257:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"21219:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"21226:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"21231:10:31","type":""}],"src":"21166:545:31"},{"body":{"nodeType":"YulBlock","src":"21801:81:31","statements":[{"nodeType":"YulAssignment","src":"21811:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"21826:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21844:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"21847:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21840:3:31"},"nodeType":"YulFunctionCall","src":"21840:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21857:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21853:3:31"},"nodeType":"YulFunctionCall","src":"21853:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"21836:3:31"},"nodeType":"YulFunctionCall","src":"21836:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21832:3:31"},"nodeType":"YulFunctionCall","src":"21832:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21822:3:31"},"nodeType":"YulFunctionCall","src":"21822:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21868:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"21871:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21864:3:31"},"nodeType":"YulFunctionCall","src":"21864:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"21819:2:31"},"nodeType":"YulFunctionCall","src":"21819:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"21811:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"21778:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"21784:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"21792:4:31","type":""}],"src":"21716:166:31"},{"body":{"nodeType":"YulBlock","src":"21980:1344:31","statements":[{"body":{"nodeType":"YulBlock","src":"22007:9:31","statements":[{"nodeType":"YulLeave","src":"22009:5:31"}]},"condition":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21996:4:31"},{"name":"src","nodeType":"YulIdentifier","src":"22002:3:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"21993:2:31"},"nodeType":"YulFunctionCall","src":"21993:13:31"},"nodeType":"YulIf","src":"21990:26:31"},{"nodeType":"YulVariableDeclaration","src":"22025:51:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22071:3:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"22065:5:31"},"nodeType":"YulFunctionCall","src":"22065:10:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"22039:25:31"},"nodeType":"YulFunctionCall","src":"22039:37:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"22029:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"22119:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"22121:16:31"},"nodeType":"YulFunctionCall","src":"22121:18:31"},"nodeType":"YulExpressionStatement","src":"22121:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"22091:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"22099:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22088:2:31"},"nodeType":"YulFunctionCall","src":"22088:30:31"},"nodeType":"YulIf","src":"22085:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"22194:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"22232:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"22226:5:31"},"nodeType":"YulFunctionCall","src":"22226:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"22200:25:31"},"nodeType":"YulFunctionCall","src":"22200:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"22240:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"22150:43:31"},"nodeType":"YulFunctionCall","src":"22150:97:31"},"nodeType":"YulExpressionStatement","src":"22150:97:31"},{"nodeType":"YulVariableDeclaration","src":"22256:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"22273:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"22260:9:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"22320:747:31","statements":[{"nodeType":"YulVariableDeclaration","src":"22334:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"22353:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22365:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"22361:3:31"},"nodeType":"YulFunctionCall","src":"22361:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22349:3:31"},"nodeType":"YulFunctionCall","src":"22349:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"22338:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"22382:50:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22428:3:31"}],"functionName":{"name":"array_dataslot_bytes_storage_ptr","nodeType":"YulIdentifier","src":"22395:32:31"},"nodeType":"YulFunctionCall","src":"22395:37:31"},"variables":[{"name":"src_1","nodeType":"YulTypedName","src":"22386:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"22445:52:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"22492:4:31"}],"functionName":{"name":"array_dataslot_bytes_storage_ptr","nodeType":"YulIdentifier","src":"22459:32:31"},"nodeType":"YulFunctionCall","src":"22459:38:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"22449:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"22510:18:31","value":{"name":"srcOffset","nodeType":"YulIdentifier","src":"22519:9:31"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"22514:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"22598:194:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"22623:6:31"},{"arguments":[{"arguments":[{"name":"src_1","nodeType":"YulIdentifier","src":"22641:5:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"22648:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22637:3:31"},"nodeType":"YulFunctionCall","src":"22637:21:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"22631:5:31"},"nodeType":"YulFunctionCall","src":"22631:28:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"22616:6:31"},"nodeType":"YulFunctionCall","src":"22616:44:31"},"nodeType":"YulExpressionStatement","src":"22616:44:31"},{"nodeType":"YulVariableDeclaration","src":"22677:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"22687:1:31","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"22681:2:31","type":""}]},{"nodeType":"YulAssignment","src":"22705:25:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"22719:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"22727:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22715:3:31"},"nodeType":"YulFunctionCall","src":"22715:15:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"22705:6:31"}]},{"nodeType":"YulAssignment","src":"22747:31:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"22764:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"22775:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22760:3:31"},"nodeType":"YulFunctionCall","src":"22760:18:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"22747:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"22552:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"22555:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"22549:2:31"},"nodeType":"YulFunctionCall","src":"22549:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"22564:21:31","statements":[{"nodeType":"YulAssignment","src":"22566:17:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"22575:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"22578:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22571:3:31"},"nodeType":"YulFunctionCall","src":"22571:12:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"22566:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"22545:3:31","statements":[]},"src":"22541:251:31"},{"body":{"nodeType":"YulBlock","src":"22840:168:31","statements":[{"nodeType":"YulVariableDeclaration","src":"22858:45:31","value":{"arguments":[{"arguments":[{"name":"src_1","nodeType":"YulIdentifier","src":"22885:5:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"22892:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22881:3:31"},"nodeType":"YulFunctionCall","src":"22881:21:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"22875:5:31"},"nodeType":"YulFunctionCall","src":"22875:28:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"22862:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"22927:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"22939:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22966:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"22969:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22962:3:31"},"nodeType":"YulFunctionCall","src":"22962:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"22978:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22958:3:31"},"nodeType":"YulFunctionCall","src":"22958:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22988:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"22984:3:31"},"nodeType":"YulFunctionCall","src":"22984:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"22954:3:31"},"nodeType":"YulFunctionCall","src":"22954:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"22950:3:31"},"nodeType":"YulFunctionCall","src":"22950:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22935:3:31"},"nodeType":"YulFunctionCall","src":"22935:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"22920:6:31"},"nodeType":"YulFunctionCall","src":"22920:74:31"},"nodeType":"YulExpressionStatement","src":"22920:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"22811:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"22820:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"22808:2:31"},"nodeType":"YulFunctionCall","src":"22808:19:31"},"nodeType":"YulIf","src":"22805:203:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"23028:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23042:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"23045:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23038:3:31"},"nodeType":"YulFunctionCall","src":"23038:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"23054:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23034:3:31"},"nodeType":"YulFunctionCall","src":"23034:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"23021:6:31"},"nodeType":"YulFunctionCall","src":"23021:36:31"},"nodeType":"YulExpressionStatement","src":"23021:36:31"}]},"nodeType":"YulCase","src":"22313:754:31","value":{"kind":"number","nodeType":"YulLiteral","src":"22318:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"23084:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"23098:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"23111:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"23102:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"23147:67:31","statements":[{"nodeType":"YulAssignment","src":"23165:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"23184:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"23189:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23180:3:31"},"nodeType":"YulFunctionCall","src":"23180:19:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"23174:5:31"},"nodeType":"YulFunctionCall","src":"23174:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"23165:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"23128:6:31"},"nodeType":"YulIf","src":"23125:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"23234:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23293:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"23300:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"23240:52:31"},"nodeType":"YulFunctionCall","src":"23240:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"23227:6:31"},"nodeType":"YulFunctionCall","src":"23227:81:31"},"nodeType":"YulExpressionStatement","src":"23227:81:31"}]},"nodeType":"YulCase","src":"23076:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"22293:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"22301:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22290:2:31"},"nodeType":"YulFunctionCall","src":"22290:14:31"},"nodeType":"YulSwitch","src":"22283:1035:31"}]},"name":"copy_byte_array_to_storage_from_t_string_storage_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"21965:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"21971:3:31","type":""}],"src":"21887:1437:31"},{"body":{"nodeType":"YulBlock","src":"23374:130:31","statements":[{"nodeType":"YulVariableDeclaration","src":"23384:31:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23403:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"23410:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23399:3:31"},"nodeType":"YulFunctionCall","src":"23399:16:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"23388:7:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"23445:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23447:16:31"},"nodeType":"YulFunctionCall","src":"23447:18:31"},"nodeType":"YulExpressionStatement","src":"23447:18:31"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"23430:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"23439:4:31","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"23427:2:31"},"nodeType":"YulFunctionCall","src":"23427:17:31"},"nodeType":"YulIf","src":"23424:43:31"},{"nodeType":"YulAssignment","src":"23476:22:31","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"23487:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"23496:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23483:3:31"},"nodeType":"YulFunctionCall","src":"23483:15:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"23476:3:31"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23356:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"23366:3:31","type":""}],"src":"23329:175:31"},{"body":{"nodeType":"YulBlock","src":"23645:64:31","statements":[{"nodeType":"YulAssignment","src":"23655:48:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23691:6:31"},{"name":"pos","nodeType":"YulIdentifier","src":"23699:3:31"}],"functionName":{"name":"abi_encode_bytes_storage_ptr","nodeType":"YulIdentifier","src":"23662:28:31"},"nodeType":"YulFunctionCall","src":"23662:41:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23655:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"23621:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23626:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"23637:3:31","type":""}],"src":"23509:200:31"},{"body":{"nodeType":"YulBlock","src":"23888:238:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23905:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23916:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23898:6:31"},"nodeType":"YulFunctionCall","src":"23898:21:31"},"nodeType":"YulExpressionStatement","src":"23898:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23939:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23950:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23935:3:31"},"nodeType":"YulFunctionCall","src":"23935:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"23955:2:31","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23928:6:31"},"nodeType":"YulFunctionCall","src":"23928:30:31"},"nodeType":"YulExpressionStatement","src":"23928:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23978:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23989:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23974:3:31"},"nodeType":"YulFunctionCall","src":"23974:18:31"},{"hexValue":"5072697a65206d757374206265206c6f776572206f7220657175616c20746861","kind":"string","nodeType":"YulLiteral","src":"23994:34:31","type":"","value":"Prize must be lower or equal tha"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23967:6:31"},"nodeType":"YulFunctionCall","src":"23967:62:31"},"nodeType":"YulExpressionStatement","src":"23967:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24049:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24060:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24045:3:31"},"nodeType":"YulFunctionCall","src":"24045:18:31"},{"hexValue":"6e207072697a65732062616c616e6365","kind":"string","nodeType":"YulLiteral","src":"24065:18:31","type":"","value":"n prizes balance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24038:6:31"},"nodeType":"YulFunctionCall","src":"24038:46:31"},"nodeType":"YulExpressionStatement","src":"24038:46:31"},{"nodeType":"YulAssignment","src":"24093:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24105:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24116:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24101:3:31"},"nodeType":"YulFunctionCall","src":"24101:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24093:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0e4d98b4b75f02e2c4a099a7c074c2e9dad88450b338cf2ea1346aa894189705__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23865:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23879:4:31","type":""}],"src":"23714:412:31"},{"body":{"nodeType":"YulBlock","src":"24260:145:31","statements":[{"nodeType":"YulAssignment","src":"24270:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24282:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24293:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24278:3:31"},"nodeType":"YulFunctionCall","src":"24278:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24270:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24312:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24327:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24343:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"24348:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24339:3:31"},"nodeType":"YulFunctionCall","src":"24339:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"24352:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24335:3:31"},"nodeType":"YulFunctionCall","src":"24335:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24323:3:31"},"nodeType":"YulFunctionCall","src":"24323:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24305:6:31"},"nodeType":"YulFunctionCall","src":"24305:51:31"},"nodeType":"YulExpressionStatement","src":"24305:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24376:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24387:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24372:3:31"},"nodeType":"YulFunctionCall","src":"24372:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"24392:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24365:6:31"},"nodeType":"YulFunctionCall","src":"24365:34:31"},"nodeType":"YulExpressionStatement","src":"24365:34:31"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24221:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24232:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24240:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24251:4:31","type":""}],"src":"24131:274:31"},{"body":{"nodeType":"YulBlock","src":"24587:211:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24604:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"24619:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24635:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"24640:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24631:3:31"},"nodeType":"YulFunctionCall","src":"24631:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"24644:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"24627:3:31"},"nodeType":"YulFunctionCall","src":"24627:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"24615:3:31"},"nodeType":"YulFunctionCall","src":"24615:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24597:6:31"},"nodeType":"YulFunctionCall","src":"24597:51:31"},"nodeType":"YulExpressionStatement","src":"24597:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24668:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24679:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24664:3:31"},"nodeType":"YulFunctionCall","src":"24664:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"24684:2:31","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24657:6:31"},"nodeType":"YulFunctionCall","src":"24657:30:31"},"nodeType":"YulExpressionStatement","src":"24657:30:31"},{"nodeType":"YulAssignment","src":"24696:53:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"24722:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24734:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24745:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24730:3:31"},"nodeType":"YulFunctionCall","src":"24730:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"24704:17:31"},"nodeType":"YulFunctionCall","src":"24704:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24696:4:31"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24769:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24780:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24765:3:31"},"nodeType":"YulFunctionCall","src":"24765:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"24785:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24758:6:31"},"nodeType":"YulFunctionCall","src":"24758:34:31"},"nodeType":"YulExpressionStatement","src":"24758:34:31"}]},"name":"abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24540:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"24551:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24559:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24567:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24578:4:31","type":""}],"src":"24410:388:31"},{"body":{"nodeType":"YulBlock","src":"24899:1259:31","statements":[{"nodeType":"YulVariableDeclaration","src":"24909:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"24929:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24923:5:31"},"nodeType":"YulFunctionCall","src":"24923:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"24913:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"24976:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"24978:16:31"},"nodeType":"YulFunctionCall","src":"24978:18:31"},"nodeType":"YulExpressionStatement","src":"24978:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"24948:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"24956:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"24945:2:31"},"nodeType":"YulFunctionCall","src":"24945:30:31"},"nodeType":"YulIf","src":"24942:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"25051:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"25089:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"25083:5:31"},"nodeType":"YulFunctionCall","src":"25083:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"25057:25:31"},"nodeType":"YulFunctionCall","src":"25057:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"25097:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"25007:43:31"},"nodeType":"YulFunctionCall","src":"25007:97:31"},"nodeType":"YulExpressionStatement","src":"25007:97:31"},{"nodeType":"YulVariableDeclaration","src":"25113:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"25130:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"25117:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25140:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"25159:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"25144:11:31","type":""}]},{"nodeType":"YulAssignment","src":"25172:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"25185:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"25172:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"25242:659:31","statements":[{"nodeType":"YulVariableDeclaration","src":"25256:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"25275:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25287:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"25283:3:31"},"nodeType":"YulFunctionCall","src":"25283:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25271:3:31"},"nodeType":"YulFunctionCall","src":"25271:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"25260:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25304:52:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"25351:4:31"}],"functionName":{"name":"array_dataslot_bytes_storage_ptr","nodeType":"YulIdentifier","src":"25318:32:31"},"nodeType":"YulFunctionCall","src":"25318:38:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"25308:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"25369:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"25378:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"25373:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"25456:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"25481:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"25499:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"25504:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25495:3:31"},"nodeType":"YulFunctionCall","src":"25495:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25489:5:31"},"nodeType":"YulFunctionCall","src":"25489:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"25474:6:31"},"nodeType":"YulFunctionCall","src":"25474:42:31"},"nodeType":"YulExpressionStatement","src":"25474:42:31"},{"nodeType":"YulAssignment","src":"25533:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"25547:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"25555:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25543:3:31"},"nodeType":"YulFunctionCall","src":"25543:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"25533:6:31"}]},{"nodeType":"YulAssignment","src":"25574:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"25591:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"25602:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25587:3:31"},"nodeType":"YulFunctionCall","src":"25587:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"25574:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25403:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"25406:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25400:2:31"},"nodeType":"YulFunctionCall","src":"25400:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"25415:28:31","statements":[{"nodeType":"YulAssignment","src":"25417:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"25426:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"25429:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25422:3:31"},"nodeType":"YulFunctionCall","src":"25422:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"25417:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"25396:3:31","statements":[]},"src":"25392:236:31"},{"body":{"nodeType":"YulBlock","src":"25676:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"25694:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"25721:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"25726:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25717:3:31"},"nodeType":"YulFunctionCall","src":"25717:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25711:5:31"},"nodeType":"YulFunctionCall","src":"25711:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"25698:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"25761:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"25773:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25800:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"25803:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25796:3:31"},"nodeType":"YulFunctionCall","src":"25796:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"25812:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25792:3:31"},"nodeType":"YulFunctionCall","src":"25792:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25822:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"25818:3:31"},"nodeType":"YulFunctionCall","src":"25818:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"25788:3:31"},"nodeType":"YulFunctionCall","src":"25788:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"25784:3:31"},"nodeType":"YulFunctionCall","src":"25784:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25769:3:31"},"nodeType":"YulFunctionCall","src":"25769:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"25754:6:31"},"nodeType":"YulFunctionCall","src":"25754:74:31"},"nodeType":"YulExpressionStatement","src":"25754:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"25647:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"25656:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"25644:2:31"},"nodeType":"YulFunctionCall","src":"25644:19:31"},"nodeType":"YulIf","src":"25641:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"25862:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25876:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"25879:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25872:3:31"},"nodeType":"YulFunctionCall","src":"25872:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"25888:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25868:3:31"},"nodeType":"YulFunctionCall","src":"25868:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"25855:6:31"},"nodeType":"YulFunctionCall","src":"25855:36:31"},"nodeType":"YulExpressionStatement","src":"25855:36:31"}]},"nodeType":"YulCase","src":"25235:666:31","value":{"kind":"number","nodeType":"YulLiteral","src":"25240:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"25918:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"25932:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"25945:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"25936:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"25981:67:31","statements":[{"nodeType":"YulAssignment","src":"25999:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"26018:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"26023:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26014:3:31"},"nodeType":"YulFunctionCall","src":"26014:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26008:5:31"},"nodeType":"YulFunctionCall","src":"26008:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"25999:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"25962:6:31"},"nodeType":"YulIf","src":"25959:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"26068:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26127:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"26134:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"26074:52:31"},"nodeType":"YulFunctionCall","src":"26074:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"26061:6:31"},"nodeType":"YulFunctionCall","src":"26061:81:31"},"nodeType":"YulExpressionStatement","src":"26061:81:31"}]},"nodeType":"YulCase","src":"25910:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"25215:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"25223:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"25212:2:31"},"nodeType":"YulFunctionCall","src":"25212:14:31"},"nodeType":"YulSwitch","src":"25205:947:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"24884:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"24890:3:31","type":""}],"src":"24803:1355:31"},{"body":{"nodeType":"YulBlock","src":"26337:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26354:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26365:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26347:6:31"},"nodeType":"YulFunctionCall","src":"26347:21:31"},"nodeType":"YulExpressionStatement","src":"26347:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26388:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26399:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26384:3:31"},"nodeType":"YulFunctionCall","src":"26384:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"26404:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26377:6:31"},"nodeType":"YulFunctionCall","src":"26377:30:31"},"nodeType":"YulExpressionStatement","src":"26377:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26427:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26438:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26423:3:31"},"nodeType":"YulFunctionCall","src":"26423:18:31"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"26443:26:31","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26416:6:31"},"nodeType":"YulFunctionCall","src":"26416:54:31"},"nodeType":"YulExpressionStatement","src":"26416:54:31"},{"nodeType":"YulAssignment","src":"26479:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26491:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26502:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26487:3:31"},"nodeType":"YulFunctionCall","src":"26487:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26479:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26314:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26328:4:31","type":""}],"src":"26163:348:31"},{"body":{"nodeType":"YulBlock","src":"26690:231:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26707:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26718:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26700:6:31"},"nodeType":"YulFunctionCall","src":"26700:21:31"},"nodeType":"YulExpressionStatement","src":"26700:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26741:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26752:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26737:3:31"},"nodeType":"YulFunctionCall","src":"26737:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"26757:2:31","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26730:6:31"},"nodeType":"YulFunctionCall","src":"26730:30:31"},"nodeType":"YulExpressionStatement","src":"26730:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26780:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26791:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26776:3:31"},"nodeType":"YulFunctionCall","src":"26776:18:31"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"26796:34:31","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26769:6:31"},"nodeType":"YulFunctionCall","src":"26769:62:31"},"nodeType":"YulExpressionStatement","src":"26769:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26851:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26862:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26847:3:31"},"nodeType":"YulFunctionCall","src":"26847:18:31"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"26867:11:31","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26840:6:31"},"nodeType":"YulFunctionCall","src":"26840:39:31"},"nodeType":"YulExpressionStatement","src":"26840:39:31"},{"nodeType":"YulAssignment","src":"26888:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26900:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26911:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26896:3:31"},"nodeType":"YulFunctionCall","src":"26896:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26888:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26667:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26681:4:31","type":""}],"src":"26516:405:31"},{"body":{"nodeType":"YulBlock","src":"27100:228:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27117:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27128:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27110:6:31"},"nodeType":"YulFunctionCall","src":"27110:21:31"},"nodeType":"YulExpressionStatement","src":"27110:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27151:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27162:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27147:3:31"},"nodeType":"YulFunctionCall","src":"27147:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"27167:2:31","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27140:6:31"},"nodeType":"YulFunctionCall","src":"27140:30:31"},"nodeType":"YulExpressionStatement","src":"27140:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27190:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27201:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27186:3:31"},"nodeType":"YulFunctionCall","src":"27186:18:31"},{"hexValue":"7061636b2076616c7565206d757374206265206174206c6561737420302e3030","kind":"string","nodeType":"YulLiteral","src":"27206:34:31","type":"","value":"pack value must be at least 0.00"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27179:6:31"},"nodeType":"YulFunctionCall","src":"27179:62:31"},"nodeType":"YulExpressionStatement","src":"27179:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27261:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27272:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27257:3:31"},"nodeType":"YulFunctionCall","src":"27257:18:31"},{"hexValue":"303120444149","kind":"string","nodeType":"YulLiteral","src":"27277:8:31","type":"","value":"01 DAI"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27250:6:31"},"nodeType":"YulFunctionCall","src":"27250:36:31"},"nodeType":"YulExpressionStatement","src":"27250:36:31"},{"nodeType":"YulAssignment","src":"27295:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27307:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27318:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27303:3:31"},"nodeType":"YulFunctionCall","src":"27303:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27295:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_9a1865d30cf19bfaa7d7325645ef08ea1d4d4543a2f6cbfca6039b17e0b62a8b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27077:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27091:4:31","type":""}],"src":"26926:402:31"},{"body":{"nodeType":"YulBlock","src":"27507:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27524:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27535:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27517:6:31"},"nodeType":"YulFunctionCall","src":"27517:21:31"},"nodeType":"YulExpressionStatement","src":"27517:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27558:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27569:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27554:3:31"},"nodeType":"YulFunctionCall","src":"27554:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"27574:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27547:6:31"},"nodeType":"YulFunctionCall","src":"27547:30:31"},"nodeType":"YulExpressionStatement","src":"27547:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27597:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27608:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27593:3:31"},"nodeType":"YulFunctionCall","src":"27593:18:31"},{"hexValue":"416d6f756e74206d757374206265206d756c7469706c65206f662036","kind":"string","nodeType":"YulLiteral","src":"27613:30:31","type":"","value":"Amount must be multiple of 6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27586:6:31"},"nodeType":"YulFunctionCall","src":"27586:58:31"},"nodeType":"YulExpressionStatement","src":"27586:58:31"},{"nodeType":"YulAssignment","src":"27653:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27665:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"27676:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27661:3:31"},"nodeType":"YulFunctionCall","src":"27661:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27653:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_84db3c6fb4093dae2514a973b47e2a9da9f8133d327db9a749c46cce3c3ddbd3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27484:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27498:4:31","type":""}],"src":"27333:352:31"},{"body":{"nodeType":"YulBlock","src":"27839:124:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27862:3:31"},{"name":"value0","nodeType":"YulIdentifier","src":"27867:6:31"},{"name":"value1","nodeType":"YulIdentifier","src":"27875:6:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"27849:12:31"},"nodeType":"YulFunctionCall","src":"27849:33:31"},"nodeType":"YulExpressionStatement","src":"27849:33:31"},{"nodeType":"YulVariableDeclaration","src":"27891:26:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27905:3:31"},{"name":"value1","nodeType":"YulIdentifier","src":"27910:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27901:3:31"},"nodeType":"YulFunctionCall","src":"27901:16:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"27895:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"27933:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"27937:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27926:6:31"},"nodeType":"YulFunctionCall","src":"27926:13:31"},"nodeType":"YulExpressionStatement","src":"27926:13:31"},{"nodeType":"YulAssignment","src":"27948:9:31","value":{"name":"_1","nodeType":"YulIdentifier","src":"27955:2:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27948:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"27807:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"27812:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"27820:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27831:3:31","type":""}],"src":"27690:273:31"},{"body":{"nodeType":"YulBlock","src":"28142:231:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28159:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28170:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28152:6:31"},"nodeType":"YulFunctionCall","src":"28152:21:31"},"nodeType":"YulExpressionStatement","src":"28152:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28193:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28204:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28189:3:31"},"nodeType":"YulFunctionCall","src":"28189:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"28209:2:31","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28182:6:31"},"nodeType":"YulFunctionCall","src":"28182:30:31"},"nodeType":"YulExpressionStatement","src":"28182:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28232:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28243:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28228:3:31"},"nodeType":"YulFunctionCall","src":"28228:18:31"},{"hexValue":"54686572652061726520616c62756d7320617661696c61626c6520696e207468","kind":"string","nodeType":"YulLiteral","src":"28248:34:31","type":"","value":"There are albums available in th"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28221:6:31"},"nodeType":"YulFunctionCall","src":"28221:62:31"},"nodeType":"YulExpressionStatement","src":"28221:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28303:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28314:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28299:3:31"},"nodeType":"YulFunctionCall","src":"28299:18:31"},{"hexValue":"697320736561736f6e","kind":"string","nodeType":"YulLiteral","src":"28319:11:31","type":"","value":"is season"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28292:6:31"},"nodeType":"YulFunctionCall","src":"28292:39:31"},"nodeType":"YulExpressionStatement","src":"28292:39:31"},{"nodeType":"YulAssignment","src":"28340:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28352:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28363:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28348:3:31"},"nodeType":"YulFunctionCall","src":"28348:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28340:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b68f12cbcd232c73be6408046b8bacdd39d892eb30152cae1e438e3b9ffcb162__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28119:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28133:4:31","type":""}],"src":"27968:405:31"},{"body":{"nodeType":"YulBlock","src":"28552:225:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28569:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28580:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28562:6:31"},"nodeType":"YulFunctionCall","src":"28562:21:31"},"nodeType":"YulExpressionStatement","src":"28562:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28603:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28614:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28599:3:31"},"nodeType":"YulFunctionCall","src":"28599:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"28619:2:31","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28592:6:31"},"nodeType":"YulFunctionCall","src":"28592:30:31"},"nodeType":"YulExpressionStatement","src":"28592:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28642:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28653:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28638:3:31"},"nodeType":"YulFunctionCall","src":"28638:18:31"},{"hexValue":"5265636569766572206973206e6f7420706c6179696e67207468697320736561","kind":"string","nodeType":"YulLiteral","src":"28658:34:31","type":"","value":"Receiver is not playing this sea"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28631:6:31"},"nodeType":"YulFunctionCall","src":"28631:62:31"},"nodeType":"YulExpressionStatement","src":"28631:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28713:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28724:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28709:3:31"},"nodeType":"YulFunctionCall","src":"28709:18:31"},{"hexValue":"736f6e","kind":"string","nodeType":"YulLiteral","src":"28729:5:31","type":"","value":"son"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28702:6:31"},"nodeType":"YulFunctionCall","src":"28702:33:31"},"nodeType":"YulExpressionStatement","src":"28702:33:31"},{"nodeType":"YulAssignment","src":"28744:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28756:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28767:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28752:3:31"},"nodeType":"YulFunctionCall","src":"28752:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28744:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6fb3401561c4ea771698bde988bc8c4726a4c15a319e33ca1c375fd68af39641__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28529:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28543:4:31","type":""}],"src":"28378:399:31"},{"body":{"nodeType":"YulBlock","src":"28956:230:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28973:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"28984:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28966:6:31"},"nodeType":"YulFunctionCall","src":"28966:21:31"},"nodeType":"YulExpressionStatement","src":"28966:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29007:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29018:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29003:3:31"},"nodeType":"YulFunctionCall","src":"29003:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"29023:2:31","type":"","value":"40"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28996:6:31"},"nodeType":"YulFunctionCall","src":"28996:30:31"},"nodeType":"YulExpressionStatement","src":"28996:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29046:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29057:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29042:3:31"},"nodeType":"YulFunctionCall","src":"29042:18:31"},{"hexValue":"4f6e6c7920636f6d706c6574656420616c62756d732063616e20626520747261","kind":"string","nodeType":"YulLiteral","src":"29062:34:31","type":"","value":"Only completed albums can be tra"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29035:6:31"},"nodeType":"YulFunctionCall","src":"29035:62:31"},"nodeType":"YulExpressionStatement","src":"29035:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29117:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29128:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29113:3:31"},"nodeType":"YulFunctionCall","src":"29113:18:31"},{"hexValue":"6e73666572726564","kind":"string","nodeType":"YulLiteral","src":"29133:10:31","type":"","value":"nsferred"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29106:6:31"},"nodeType":"YulFunctionCall","src":"29106:38:31"},"nodeType":"YulExpressionStatement","src":"29106:38:31"},{"nodeType":"YulAssignment","src":"29153:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29165:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29176:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29161:3:31"},"nodeType":"YulFunctionCall","src":"29161:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29153:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_5c0cd0be58cc286bb0e9354e9867d6529b848f34df009e50263cf8f305906b2f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28933:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28947:4:31","type":""}],"src":"28782:404:31"},{"body":{"nodeType":"YulBlock","src":"29365:228:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29382:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29393:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29375:6:31"},"nodeType":"YulFunctionCall","src":"29375:21:31"},"nodeType":"YulExpressionStatement","src":"29375:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29416:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29427:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29412:3:31"},"nodeType":"YulFunctionCall","src":"29412:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"29432:2:31","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29405:6:31"},"nodeType":"YulFunctionCall","src":"29405:30:31"},"nodeType":"YulExpressionStatement","src":"29405:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29455:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29466:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29451:3:31"},"nodeType":"YulFunctionCall","src":"29451:18:31"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"29471:34:31","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29444:6:31"},"nodeType":"YulFunctionCall","src":"29444:62:31"},"nodeType":"YulExpressionStatement","src":"29444:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29526:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29537:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29522:3:31"},"nodeType":"YulFunctionCall","src":"29522:18:31"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"29542:8:31","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29515:6:31"},"nodeType":"YulFunctionCall","src":"29515:36:31"},"nodeType":"YulExpressionStatement","src":"29515:36:31"},{"nodeType":"YulAssignment","src":"29560:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29572:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29583:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29568:3:31"},"nodeType":"YulFunctionCall","src":"29568:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29560:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29342:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29356:4:31","type":""}],"src":"29191:402:31"},{"body":{"nodeType":"YulBlock","src":"29772:236:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29789:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29800:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29782:6:31"},"nodeType":"YulFunctionCall","src":"29782:21:31"},"nodeType":"YulExpressionStatement","src":"29782:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29823:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29834:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29819:3:31"},"nodeType":"YulFunctionCall","src":"29819:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"29839:2:31","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29812:6:31"},"nodeType":"YulFunctionCall","src":"29812:30:31"},"nodeType":"YulExpressionStatement","src":"29812:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29862:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29873:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29858:3:31"},"nodeType":"YulFunctionCall","src":"29858:18:31"},{"hexValue":"45524337323155524953746f726167653a2055524920736574206f66206e6f6e","kind":"string","nodeType":"YulLiteral","src":"29878:34:31","type":"","value":"ERC721URIStorage: URI set of non"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29851:6:31"},"nodeType":"YulFunctionCall","src":"29851:62:31"},"nodeType":"YulExpressionStatement","src":"29851:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29933:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29944:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29929:3:31"},"nodeType":"YulFunctionCall","src":"29929:18:31"},{"hexValue":"6578697374656e7420746f6b656e","kind":"string","nodeType":"YulLiteral","src":"29949:16:31","type":"","value":"existent token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29922:6:31"},"nodeType":"YulFunctionCall","src":"29922:44:31"},"nodeType":"YulExpressionStatement","src":"29922:44:31"},{"nodeType":"YulAssignment","src":"29975:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29987:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"29998:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29983:3:31"},"nodeType":"YulFunctionCall","src":"29983:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29975:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29749:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29763:4:31","type":""}],"src":"29598:410:31"},{"body":{"nodeType":"YulBlock","src":"30187:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30204:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30215:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30197:6:31"},"nodeType":"YulFunctionCall","src":"30197:21:31"},"nodeType":"YulExpressionStatement","src":"30197:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30238:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30249:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30234:3:31"},"nodeType":"YulFunctionCall","src":"30234:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"30254:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30227:6:31"},"nodeType":"YulFunctionCall","src":"30227:30:31"},"nodeType":"YulExpressionStatement","src":"30227:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30277:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30288:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30273:3:31"},"nodeType":"YulFunctionCall","src":"30273:18:31"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"30293:34:31","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30266:6:31"},"nodeType":"YulFunctionCall","src":"30266:62:31"},"nodeType":"YulExpressionStatement","src":"30266:62:31"},{"nodeType":"YulAssignment","src":"30337:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30349:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30360:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30345:3:31"},"nodeType":"YulFunctionCall","src":"30345:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30337:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30164:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30178:4:31","type":""}],"src":"30013:356:31"},{"body":{"nodeType":"YulBlock","src":"30548:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30565:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30576:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30558:6:31"},"nodeType":"YulFunctionCall","src":"30558:21:31"},"nodeType":"YulExpressionStatement","src":"30558:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30599:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30610:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30595:3:31"},"nodeType":"YulFunctionCall","src":"30595:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"30615:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30588:6:31"},"nodeType":"YulFunctionCall","src":"30588:30:31"},"nodeType":"YulExpressionStatement","src":"30588:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30638:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30649:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30634:3:31"},"nodeType":"YulFunctionCall","src":"30634:18:31"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"30654:27:31","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30627:6:31"},"nodeType":"YulFunctionCall","src":"30627:55:31"},"nodeType":"YulExpressionStatement","src":"30627:55:31"},{"nodeType":"YulAssignment","src":"30691:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30703:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30714:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30699:3:31"},"nodeType":"YulFunctionCall","src":"30699:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30691:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30525:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30539:4:31","type":""}],"src":"30374:349:31"},{"body":{"nodeType":"YulBlock","src":"30902:235:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30919:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30930:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30912:6:31"},"nodeType":"YulFunctionCall","src":"30912:21:31"},"nodeType":"YulExpressionStatement","src":"30912:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30953:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30964:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30949:3:31"},"nodeType":"YulFunctionCall","src":"30949:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"30969:2:31","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30942:6:31"},"nodeType":"YulFunctionCall","src":"30942:30:31"},"nodeType":"YulExpressionStatement","src":"30942:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30992:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31003:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30988:3:31"},"nodeType":"YulFunctionCall","src":"30988:18:31"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"31008:34:31","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30981:6:31"},"nodeType":"YulFunctionCall","src":"30981:62:31"},"nodeType":"YulExpressionStatement","src":"30981:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31063:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31074:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31059:3:31"},"nodeType":"YulFunctionCall","src":"31059:18:31"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"31079:15:31","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31052:6:31"},"nodeType":"YulFunctionCall","src":"31052:43:31"},"nodeType":"YulExpressionStatement","src":"31052:43:31"},{"nodeType":"YulAssignment","src":"31104:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31116:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31127:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31112:3:31"},"nodeType":"YulFunctionCall","src":"31112:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31104:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30879:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30893:4:31","type":""}],"src":"30728:409:31"},{"body":{"nodeType":"YulBlock","src":"31329:309:31","statements":[{"nodeType":"YulVariableDeclaration","src":"31339:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31359:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31353:5:31"},"nodeType":"YulFunctionCall","src":"31353:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"31343:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"31414:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"31422:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31410:3:31"},"nodeType":"YulFunctionCall","src":"31410:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"31429:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"31434:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"31375:34:31"},"nodeType":"YulFunctionCall","src":"31375:66:31"},"nodeType":"YulExpressionStatement","src":"31375:66:31"},{"nodeType":"YulVariableDeclaration","src":"31450:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31467:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"31472:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31463:3:31"},"nodeType":"YulFunctionCall","src":"31463:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"31454:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31488:29:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"31510:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31504:5:31"},"nodeType":"YulFunctionCall","src":"31504:13:31"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"31492:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"31565:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"31573:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31561:3:31"},"nodeType":"YulFunctionCall","src":"31561:17:31"},{"name":"end_1","nodeType":"YulIdentifier","src":"31580:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"31587:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"31526:34:31"},"nodeType":"YulFunctionCall","src":"31526:70:31"},"nodeType":"YulExpressionStatement","src":"31526:70:31"},{"nodeType":"YulAssignment","src":"31605:27:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"31616:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"31623:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31612:3:31"},"nodeType":"YulFunctionCall","src":"31612:20:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"31605:3:31"}]}]},"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":"31297:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"31302:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"31310:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"31321:3:31","type":""}],"src":"31142:496:31"},{"body":{"nodeType":"YulBlock","src":"31817:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31834:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31845:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31827:6:31"},"nodeType":"YulFunctionCall","src":"31827:21:31"},"nodeType":"YulExpressionStatement","src":"31827:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31868:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31879:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31864:3:31"},"nodeType":"YulFunctionCall","src":"31864:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"31884:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31857:6:31"},"nodeType":"YulFunctionCall","src":"31857:30:31"},"nodeType":"YulExpressionStatement","src":"31857:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31907:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31918:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31903:3:31"},"nodeType":"YulFunctionCall","src":"31903:18:31"},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"31923:34:31","type":"","value":"ERC721: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31896:6:31"},"nodeType":"YulFunctionCall","src":"31896:62:31"},"nodeType":"YulExpressionStatement","src":"31896:62:31"},{"nodeType":"YulAssignment","src":"31967:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31979:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31990:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31975:3:31"},"nodeType":"YulFunctionCall","src":"31975:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31967:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31794:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31808:4:31","type":""}],"src":"31643:356:31"},{"body":{"nodeType":"YulBlock","src":"32178:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32195:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32206:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32188:6:31"},"nodeType":"YulFunctionCall","src":"32188:21:31"},"nodeType":"YulExpressionStatement","src":"32188:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32229:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32240:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32225:3:31"},"nodeType":"YulFunctionCall","src":"32225:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"32245:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32218:6:31"},"nodeType":"YulFunctionCall","src":"32218:30:31"},"nodeType":"YulExpressionStatement","src":"32218:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32268:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32279:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32264:3:31"},"nodeType":"YulFunctionCall","src":"32264:18:31"},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","kind":"string","nodeType":"YulLiteral","src":"32284:30:31","type":"","value":"ERC721: token already minted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32257:6:31"},"nodeType":"YulFunctionCall","src":"32257:58:31"},"nodeType":"YulExpressionStatement","src":"32257:58:31"},{"nodeType":"YulAssignment","src":"32324:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32336:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32347:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32332:3:31"},"nodeType":"YulFunctionCall","src":"32332:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32324:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32155:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32169:4:31","type":""}],"src":"32004:352:31"},{"body":{"nodeType":"YulBlock","src":"32535:240:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32552:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32563:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32545:6:31"},"nodeType":"YulFunctionCall","src":"32545:21:31"},"nodeType":"YulExpressionStatement","src":"32545:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32586:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32597:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32582:3:31"},"nodeType":"YulFunctionCall","src":"32582:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"32602:2:31","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32575:6:31"},"nodeType":"YulFunctionCall","src":"32575:30:31"},"nodeType":"YulExpressionStatement","src":"32575:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32625:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32636:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32621:3:31"},"nodeType":"YulFunctionCall","src":"32621:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"32641:34:31","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32614:6:31"},"nodeType":"YulFunctionCall","src":"32614:62:31"},"nodeType":"YulExpressionStatement","src":"32614:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32696:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32707:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32692:3:31"},"nodeType":"YulFunctionCall","src":"32692:18:31"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"32712:20:31","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32685:6:31"},"nodeType":"YulFunctionCall","src":"32685:48:31"},"nodeType":"YulExpressionStatement","src":"32685:48:31"},{"nodeType":"YulAssignment","src":"32742:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32754:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32765:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32750:3:31"},"nodeType":"YulFunctionCall","src":"32750:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32742:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32512:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32526:4:31","type":""}],"src":"32361:414:31"},{"body":{"nodeType":"YulBlock","src":"32954:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32971:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32982:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32964:6:31"},"nodeType":"YulFunctionCall","src":"32964:21:31"},"nodeType":"YulExpressionStatement","src":"32964:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33005:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33016:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33001:3:31"},"nodeType":"YulFunctionCall","src":"33001:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"33021:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32994:6:31"},"nodeType":"YulFunctionCall","src":"32994:30:31"},"nodeType":"YulExpressionStatement","src":"32994:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33044:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33055:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33040:3:31"},"nodeType":"YulFunctionCall","src":"33040:18:31"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"33060:34:31","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33033:6:31"},"nodeType":"YulFunctionCall","src":"33033:62:31"},"nodeType":"YulExpressionStatement","src":"33033:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33115:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33126:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33111:3:31"},"nodeType":"YulFunctionCall","src":"33111:18:31"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"33131:7:31","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33104:6:31"},"nodeType":"YulFunctionCall","src":"33104:35:31"},"nodeType":"YulExpressionStatement","src":"33104:35:31"},{"nodeType":"YulAssignment","src":"33148:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33160:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33171:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33156:3:31"},"nodeType":"YulFunctionCall","src":"33156:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33148:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32931:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32945:4:31","type":""}],"src":"32780:401:31"},{"body":{"nodeType":"YulBlock","src":"33360:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33377:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33388:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33370:6:31"},"nodeType":"YulFunctionCall","src":"33370:21:31"},"nodeType":"YulExpressionStatement","src":"33370:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33411:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33422:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33407:3:31"},"nodeType":"YulFunctionCall","src":"33407:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"33427:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33400:6:31"},"nodeType":"YulFunctionCall","src":"33400:30:31"},"nodeType":"YulExpressionStatement","src":"33400:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33450:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33461:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33446:3:31"},"nodeType":"YulFunctionCall","src":"33446:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"33466:34:31","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33439:6:31"},"nodeType":"YulFunctionCall","src":"33439:62:31"},"nodeType":"YulExpressionStatement","src":"33439:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33521:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33532:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33517:3:31"},"nodeType":"YulFunctionCall","src":"33517:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"33537:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33510:6:31"},"nodeType":"YulFunctionCall","src":"33510:34:31"},"nodeType":"YulExpressionStatement","src":"33510:34:31"},{"nodeType":"YulAssignment","src":"33553:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33565:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33576:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33561:3:31"},"nodeType":"YulFunctionCall","src":"33561:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33553:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33337:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33351:4:31","type":""}],"src":"33186:400:31"},{"body":{"nodeType":"YulBlock","src":"33794:286:31","statements":[{"nodeType":"YulVariableDeclaration","src":"33804:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33822:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"33827:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"33818:3:31"},"nodeType":"YulFunctionCall","src":"33818:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"33831:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33814:3:31"},"nodeType":"YulFunctionCall","src":"33814:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"33808:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33849:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"33864:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"33872:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33860:3:31"},"nodeType":"YulFunctionCall","src":"33860:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33842:6:31"},"nodeType":"YulFunctionCall","src":"33842:34:31"},"nodeType":"YulExpressionStatement","src":"33842:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33896:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33907:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33892:3:31"},"nodeType":"YulFunctionCall","src":"33892:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"33916:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"33924:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"33912:3:31"},"nodeType":"YulFunctionCall","src":"33912:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33885:6:31"},"nodeType":"YulFunctionCall","src":"33885:43:31"},"nodeType":"YulExpressionStatement","src":"33885:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33948:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33959:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33944:3:31"},"nodeType":"YulFunctionCall","src":"33944:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"33964:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33937:6:31"},"nodeType":"YulFunctionCall","src":"33937:34:31"},"nodeType":"YulExpressionStatement","src":"33937:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33991:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34002:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33987:3:31"},"nodeType":"YulFunctionCall","src":"33987:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"34007:3:31","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33980:6:31"},"nodeType":"YulFunctionCall","src":"33980:31:31"},"nodeType":"YulExpressionStatement","src":"33980:31:31"},{"nodeType":"YulAssignment","src":"34020:54:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"34046:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34058:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34069:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34054:3:31"},"nodeType":"YulFunctionCall","src":"34054:19:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"34028:17:31"},"nodeType":"YulFunctionCall","src":"34028:46:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34020:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33739:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"33750:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"33758:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33766:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"33774:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33785:4:31","type":""}],"src":"33591:489:31"},{"body":{"nodeType":"YulBlock","src":"34165:169:31","statements":[{"body":{"nodeType":"YulBlock","src":"34211:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"34220:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"34223:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"34213:6:31"},"nodeType":"YulFunctionCall","src":"34213:12:31"},"nodeType":"YulExpressionStatement","src":"34213:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"34186:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"34195:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"34182:3:31"},"nodeType":"YulFunctionCall","src":"34182:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"34207:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"34178:3:31"},"nodeType":"YulFunctionCall","src":"34178:32:31"},"nodeType":"YulIf","src":"34175:52:31"},{"nodeType":"YulVariableDeclaration","src":"34236:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34255:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34249:5:31"},"nodeType":"YulFunctionCall","src":"34249:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"34240:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"34298:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"34274:23:31"},"nodeType":"YulFunctionCall","src":"34274:30:31"},"nodeType":"YulExpressionStatement","src":"34274:30:31"},{"nodeType":"YulAssignment","src":"34313:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"34323:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"34313:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34131:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"34142:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"34154:6:31","type":""}],"src":"34085:249:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 192)\n tail := abi_encode_string(value3, add(headStart, 192))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_string_memory_ptrt_addresst_address(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := abi_decode_address(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 64)\n tail := abi_encode_string(value1, add(headStart, 64))\n }\n function abi_encode_array_uint256_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\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 {\n mstore(headStart, 32)\n tail := abi_encode_array_uint256_dyn(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_string(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_bool(value)\n value1 := value\n }\n function abi_encode_tuple_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 64)\n mstore(headStart, 64)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 96)\n let tail_2 := add(add(headStart, shl(5, length)), 96)\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(95)))\n tail_2 := abi_encode_string(mload(srcPtr), tail_2)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n mstore(add(headStart, _1), sub(tail_2, headStart))\n tail := abi_encode_array_uint256_dyn(value1, tail_2)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value3 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n }\n function abi_encode_tuple_t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Card_$3501_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n let _2 := 64\n pos := add(headStart, _2)\n let tail_2 := add(add(headStart, shl(5, length)), _2)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n let _3 := mload(srcPtr)\n let _4 := 0xc0\n mstore(tail_2, mload(_3))\n mstore(add(tail_2, _1), mload(add(_3, _1)))\n mstore(add(tail_2, _2), mload(add(_3, _2)))\n let _5 := 0x60\n let memberValue0 := mload(add(_3, _5))\n mstore(add(tail_2, _5), _4)\n let tail_3 := abi_encode_string(memberValue0, add(tail_2, _4))\n let _6 := 0x80\n mstore(add(tail_2, _6), mload(add(_3, _6)))\n let _7 := 0xa0\n mstore(add(tail_2, _7), mload(add(_3, _7)))\n tail_2 := tail_3\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_6a3fadf7b5b83cfa8be0b8450b58a9c8d5b3fe4b731922b6399f6a02096c6708__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Ya tenes un pack wachin\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_46aff5505e7887e423791622f5ba36d7ca4a9d15512f9df8e6b7f62e3722bc44__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Send exact price for Pack\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, value0)\n end := add(pos, 32)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_bytes_storage_ptr(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_bytes_storage_ptr(value, pos) -> ret\n {\n let slotValue := sload(value)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n }\n function abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n let _1 := abi_encode_bytes_storage_ptr(value0, pos)\n let length := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), _1, length)\n let end_1 := add(_1, length)\n let length_1 := mload(value2)\n copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_1, length_1)\n let end_2 := add(end_1, length_1)\n let length_2 := mload(value3)\n copy_memory_to_memory_with_cleanup(add(value3, 0x20), end_2, length_2)\n end := add(end_2, length_2)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_address_t_string_memory_ptr__to_t_address_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), 64)\n tail := abi_encode_string(value1, add(headStart, 64))\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c109004b669a4d72cb4eb97db002903cc0169ec4c84c949b78ec5088ec4668fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"This is not your card\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6cb55d0887b6e2e68566b1f2151148dcb5c2a2639658126a6a7f044d1aa26a53__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"This is not your album\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_20d8a65ab2c3e6e002e588f538284af6066809c65c417beb1fc1ab00bdd39555__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"card is not an album\")\n tail := add(headStart, 96)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_storage_to_t_string_storage(slot, src)\n {\n if eq(slot, src) { leave }\n let newLen := extract_byte_array_length(sload(src))\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let src_1 := array_dataslot_bytes_storage_ptr(src)\n let dstPtr := array_dataslot_bytes_storage_ptr(slot)\n let i := srcOffset\n for { } lt(i, loopEnd) { i := add(i, 0x20) }\n {\n sstore(dstPtr, sload(add(src_1, srcOffset)))\n let _1 := 1\n dstPtr := add(dstPtr, _1)\n srcOffset := add(srcOffset, _1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := sload(add(src_1, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := sload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n end := abi_encode_bytes_storage_ptr(value0, pos)\n }\n function abi_encode_tuple_t_stringliteral_0e4d98b4b75f02e2c4a099a7c074c2e9dad88450b338cf2ea1346aa894189705__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"Prize must be lower or equal tha\")\n mstore(add(headStart, 96), \"n prizes balance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), 96)\n tail := abi_encode_string(value1, add(headStart, 96))\n mstore(add(headStart, 64), value2)\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_bytes_storage_ptr(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9a1865d30cf19bfaa7d7325645ef08ea1d4d4543a2f6cbfca6039b17e0b62a8b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"pack value must be at least 0.00\")\n mstore(add(headStart, 96), \"01 DAI\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_84db3c6fb4093dae2514a973b47e2a9da9f8133d327db9a749c46cce3c3ddbd3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Amount must be multiple of 6\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_t_stringliteral_b68f12cbcd232c73be6408046b8bacdd39d892eb30152cae1e438e3b9ffcb162__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"There are albums available in th\")\n mstore(add(headStart, 96), \"is season\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6fb3401561c4ea771698bde988bc8c4726a4c15a319e33ca1c375fd68af39641__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"Receiver is not playing this sea\")\n mstore(add(headStart, 96), \"son\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_5c0cd0be58cc286bb0e9354e9867d6529b848f34df009e50263cf8f305906b2f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"Only completed albums can be tra\")\n mstore(add(headStart, 96), \"nsferred\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"ERC721URIStorage: URI set of non\")\n mstore(add(headStart, 96), \"existent token\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC721: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"ERC721: token already minted\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061021c5760003560e01c80638477919b11610125578063be20e5a9116100ad578063e5db587a1161007c578063e5db587a146104c7578063e606df87146104d0578063e985e9c5146104e3578063e9d43f7d146104f6578063f2fde38b1461051657600080fd5b8063be20e5a91461047b578063c1f3a3bb1461048e578063c87b56dd146104a1578063d1811d02146104b457600080fd5b806395d89b41116100f457806395d89b411461042f5780639abc832014610437578063a22cb4651461043f578063b773d5c114610452578063b88d4fde1461046857600080fd5b80638477919b146103d85780638da5cb5b146103eb5780638dc10768146103fc57806395a4c5251461040f57600080fd5b806355f804b3116101a857806370a082311161017757806370a082311461035b578063715018a61461037c57806371f72fa014610384578063787f0b051461039757806383c73d81146103b857600080fd5b806355f804b31461030f57806361c66c1614610322578063627b253f146103355780636352211e1461034857600080fd5b8063095ea7b3116101ef578063095ea7b31461029e57806323b872dd146102b1578063308f5987146102c457806341c2c10f146102e957806342842e0e146102fc57600080fd5b8063015db3961461022157806301ffc9a71461023657806306fdde031461025e578063081812fc14610273575b600080fd5b61023461022f36600461385c565b610529565b005b6102496102443660046138b8565b610c62565b60405190151581526020015b60405180910390f35b610266610c73565b6040516102559190613925565b610286610281366004613938565b610d05565b6040516001600160a01b039091168152602001610255565b6102346102ac36600461396d565b610d2c565b6102346102bf366004613997565b610e53565b6102d76102d23660046139d3565b610e5e565b60405161025596959493929190613a29565b6102346102f7366004613a63565b610f5b565b61023461030a366004613997565b6117ad565b61023461031d366004613a85565b6117c8565b610266610330366004613938565b6117e0565b600a54610286906001600160a01b031681565b610286610356366004613938565b61188c565b61036e610369366004613ab9565b6118ec565b604051908152602001610255565b610234611972565b610234610392366004613ad4565b611986565b6103aa6103a5366004613a85565b6119ca565b604051610255929190613b31565b6103cb6103c6366004613a85565b611a7a565b6040516102559190613b85565b6102346103e6366004613b98565b611aed565b6007546001600160a01b0316610286565b6102d761040a366004613938565b611d20565b61042261041d366004613c56565b611d50565b6040516102559190613c97565b610266611dcd565b610266611ddc565b61023461044d366004613cf2565b611de9565b61045a611dfb565b604051610255929190613d29565b610234610476366004613d9f565b611f2f565b6103cb610489366004613a85565b612172565b61023461049c366004613ab9565b6121e3565b6102666104af366004613938565b61220d565b61036e6104c2366004613938565b612218565b61036e60125481565b601354610286906001600160a01b031681565b6102496104f1366004613e0e565b612239565b610509610504366004613e41565b612299565b6040516102559190613e93565b610234610524366004613ab9565b6123f7565b600b816040516105399190613f33565b9081526040805160209281900383019020336000908152600390910190925290205460ff16156105b05760405162461bcd60e51b815260206004820152601760248201527f59612074656e657320756e207061636b2077616368696e00000000000000000060448201526064015b60405180910390fd5b6001600b826040516105c29190613f33565b908152604080516020928190038301812033600090815260039091019093529120805460ff1916921515929092179091558290600b90610603908490613f33565b90815260405190819003602001902054146106605760405162461bcd60e51b815260206004820152601960248201527f53656e6420657861637420707269636520666f72205061636b0000000000000060448201526064016105a7565b6000606461066f84604b613f65565b6106799190613f92565b9050806012600082825461068d9190613fa6565b90915550506013546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156106e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070d9190613fb9565b50601354600a546001600160a01b03918216916323b872dd913391166107338588613fd6565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab9190613fb9565b506000600b836040516107be9190613f33565b9081526040805160209281900383018120600201544293820193909352016040516020818303038152906040528051906020012060001c6107ff9190613fe9565b90506000600b846040516108139190613f33565b9081526020016040518091039020600201828154811061083557610835613ffd565b90600052602060002001549050600b846040516108529190613f33565b90815260200160405180910390206002016001600b866040516108759190613f33565b908152604051908190036020019020600201546108929190613fd6565b815481106108a2576108a2613ffd565b9060005260206000200154600b856040516108bd9190613f33565b908152602001604051809103902060020183815481106108df576108df613ffd565b9060005260206000200181905550600b846040516108fd9190613f33565b908152602001604051809103902060020180548061091d5761091d614013565b600190038181906000526020600020016000905590556109dc33600b866040516109479190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061097b85612470565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016109ac94939291906140d6565b60408051601f19818403018152919052600060016109cb600687613f92565b6109d59190613fd6565b8886612578565b505060005b6005811015610c23576000600b846040516109fc9190613f33565b9081526040805160209281900383018120600101544293820193909352016040516020818303038152906040528051906020012060001c610a3d9190613fe9565b90506000600b85604051610a519190613f33565b90815260200160405180910390206001018281548110610a7357610a73613ffd565b90600052602060002001549050600b85604051610a909190613f33565b90815260200160405180910390206001016001600b87604051610ab39190613f33565b90815260405190819003602001902060010154610ad09190613fd6565b81548110610ae057610ae0613ffd565b9060005260206000200154600b86604051610afb9190613f33565b90815260200160405180910390206001018381548110610b1d57610b1d613ffd565b9060005260206000200181905550600b85604051610b3b9190613f33565b9081526020016040518091039020600101805480610b5b57610b5b614013565b60019003818190600052602060002001600090559055610c0e33600b87604051610b859190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b815250610bb985612470565b60405180604001604052806005815260200164173539b7b760d91b815250604051602001610bea94939291906140d6565b60408051601f198184030181529190526001610c07600686613f92565b8986612578565b50508080610c1b90614123565b9150506109e1565b507f55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c3383604051610c5592919061413c565b60405180910390a1505050565b6000610c6d82612685565b92915050565b606060008054610c8290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610cae90614029565b8015610cfb5780601f10610cd057610100808354040283529160200191610cfb565b820191906000526020600020905b815481529060010190602001808311610cde57829003601f168201915b5050505050905090565b6000610d10826126aa565b506000908152600460205260409020546001600160a01b031690565b6000610d378261188c565b9050806001600160a01b0316836001600160a01b031603610da45760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016105a7565b806001600160a01b0316610db6612709565b6001600160a01b03161480610dd25750610dd2816104f1612709565b610e445760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105a7565b610e4e8383612718565b505050565b610e4e8383836117ad565b600e6020908152600084815260409020835180850183018051928152908301928501929092209152805482908110610e9557600080fd5b90600052602060002090600602016000925092505050806000015490806001015490806002015490806003018054610ecc90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef890614029565b8015610f455780601f10610f1a57610100808354040283529160200191610f45565b820191906000526020600020905b815481529060010190602001808311610f2857829003601f168201915b5050505050908060040154908060050154905086565b33610f658361188c565b6001600160a01b031614610fb35760405162461bcd60e51b8152602060048201526015602482015274151a1a5cc81a5cc81b9bdd081e5bdd5c8818d85c99605a1b60448201526064016105a7565b33610fbd8261188c565b6001600160a01b03161461100c5760405162461bcd60e51b815260206004820152601660248201527554686973206973206e6f7420796f757220616c62756d60501b60448201526064016105a7565b6000818152600c6020526040902060010154156110625760405162461bcd60e51b815260206004820152601460248201527363617264206973206e6f7420616e20616c62756d60601b60448201526064016105a7565b6000828152600c60205260408120600301805461107e90614029565b80601f01602080910402602001604051908101604052809291908181526020018280546110aa90614029565b80156110f75780601f106110cc576101008083540402835291602001916110f7565b820191906000526020600020905b8154815290600101906020018083116110da57829003601f168201915b5050505050905060005b336000908152600e602052604090819020905161111f908490613f33565b9081526040519081900360200190205460ff82161015611365576000848152600c6020908152604080832060050154338452600e90925291829020915190919061116a908590613f33565b90815260200160405180910390208260ff168154811061118c5761118c613ffd565b9060005260206000209060060201600501540361135357336000908152600e60205260409081902090516111c1908490613f33565b90815260200160405180910390206001600e6000336001600160a01b03166001600160a01b03168152602001908152602001600020846040516112049190613f33565b9081526040519081900360200190205461121e9190613fd6565b8154811061122e5761122e613ffd565b60009182526020808320338452600e9091526040928390209251600690920201919061125b908590613f33565b90815260200160405180910390208260ff168154811061127d5761127d613ffd565b9060005260206000209060060201600082015481600001556001820154816001015560028201548160020155600382018160030190816112bd91906141ae565b5060048281015490820155600591820154910155336000908152600e60205260409081902090516112ef908490613f33565b908152602001604051809103902080548061130c5761130c614013565b6000828152602081206006600019909301928302018181556001810182905560028101829055906113406003830182613763565b5060006004820181905560059091015590555b8061135d8161428a565b915050611101565b5061136f83612786565b6000828152600c6020526040812060040180549161138c83614123565b9091555050336000908152600e60209081526040808320868452600c90925291829020915190916113c2916003909101906142a9565b90815260200160405180910390206000815481106113e2576113e2613ffd565b60009182526020822060046006909202010180549161140083614123565b90915550506000828152600c6020526040902060040154600503610e4e576000828152600c60205260408120600301805461143a90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461146690614029565b80156114b35780601f10611488576101008083540402835291602001916114b3565b820191906000526020600020905b81548152906001019060200180831161149657829003601f168201915b505050505090506007600d826040516114cc9190613f33565b9081526040519081900360200190205410156116ad57600d816040516114f29190613f33565b908152604051908190036020908101822080546001818101835560009283529282200180546001600160a01b0319163317905591600a91600f91600d9061153a908790613f33565b908152604051908190036020019020546115549190613fd6565b6007811061156457611564613ffd565b602091828204019190069054906101000a900460ff1660ff16600b8460405161158d9190613f33565b908152604051908190036020019020546115a79190613f65565b6115b19190613f92565b905060125481111561161e5760405162461bcd60e51b815260206004820152603060248201527f5072697a65206d757374206265206c6f776572206f7220657175616c2074686160448201526f6e207072697a65732062616c616e636560801b60648201526084016105a7565b80601260008282546116309190613fd6565b909155505060135460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190613fb9565b50505b61175183600b836040516116c19190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061170b600c600089815260200190815260200160002060050154612470565b6040518060400160405280600681526020016523173539b7b760d11b81525060405160200161173d94939291906140d6565b60405160208183030381529060405261278f565b7f953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c963382600d846040516117849190613f33565b9081526040519081900360200181205461179f9392916142b5565b60405180910390a150505050565b610e4e83838360405180602001604052806000815250611f2f565b6117d061285a565b60096117dc82826142e9565b5050565b601081815481106117f057600080fd5b90600052602060002001600091509050805461180b90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461183790614029565b80156118845780601f1061185957610100808354040283529160200191611884565b820191906000526020600020905b81548152906001019060200180831161186757829003601f168201915b505050505081565b6000818152600260205260408120546001600160a01b031680610c6d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b60006001600160a01b0382166119565760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105a7565b506001600160a01b031660009081526003602052604090205490565b61197a61285a565b61198460006128d3565b565b61198e61285a565b600961199a84826142e9565b50601380546001600160a01b039384166001600160a01b031991821617909155600a805492909316911617905550565b8051602081830181018051600b82529282019190930120915280546004820180549192916119f790614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611a2390614029565b8015611a705780601f10611a4557610100808354040283529160200191611a70565b820191906000526020600020905b815481529060010190602001808311611a5357829003601f168201915b5050505050905082565b6060600b82604051611a8c9190613f33565b9081526040805191829003602090810183206001018054808302850183019093528284529190830182828015611ae157602002820191906000526020600020905b815481526020019060010190808311611acd575b50505050509050919050565b611af561285a565b655af3107a4000831015611b5a5760405162461bcd60e51b815260206004820152602660248201527f7061636b2076616c7565206d757374206265206174206c6561737420302e303060448201526530312044414960d01b60648201526084016105a7565b611b65600683613fe9565b15611bb25760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206d757374206265206d756c7469706c65206f6620360000000060448201526064016105a7565b82600b85604051611bc39190613f33565b908152604051908190036020018120919091558190600b90611be6908790613f33565b90815260200160405180910390206004019081611c0391906142e9565b50601080546001810182556000919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67201611c4085826142e9565b5060118054600181810183556000929092527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68018490555b828111611d1957611c8a600682613fe9565b600003611ccd57600b85604051611ca19190613f33565b908152604051602091819003820190206002018054600181018255600091825291902001819055611d07565b600b85604051611cdd9190613f33565b90815260405160209181900382019020600190810180549182018155600090815291909120018190555b80611d1181614123565b915050611c78565b5050505050565b600c60205260009081526040902080546001820154600283015460038401805493949293919291610ecc90614029565b6060600d8383604051611d649291906143a0565b9081526040805191829003602090810183208054808302850183019093528284529190830182828015611dc057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611da2575b5050505050905092915050565b606060018054610c8290614029565b6009805461180b90614029565b6117dc611df4612709565b8383612925565b6060806010601181805480602002602001604051908101604052809291908181526020016000905b82821015611ecf578382906000526020600020018054611e4290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6e90614029565b8015611ebb5780601f10611e9057610100808354040283529160200191611ebb565b820191906000526020600020905b815481529060010190602001808311611e9e57829003601f168201915b505050505081526020019060010190611e23565b50505050915080805480602002602001604051908101604052809291908181526020018280548015611f2057602002820191906000526020600020905b815481526020019060010190808311611f0c575b50505050509050915091509091565b6000828152600c602052604081206003018054611f4b90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7790614029565b8015611fc45780601f10611f9957610100808354040283529160200191611fc4565b820191906000526020600020905b815481529060010190602001808311611fa757829003601f168201915b50505050509050611fd481612172565b51156120345760405162461bcd60e51b815260206004820152602960248201527f54686572652061726520616c62756d7320617661696c61626c6520696e20746860448201526834b99039b2b0b9b7b760b91b60648201526084016105a7565b612040858585856129f3565b6000838152600c6020526040902060019081015490036120f557600b8160405161206a9190613f33565b90815260408051602092819003830190206001600160a01b0387166000908152600390910190925290205460ff166120f05760405162461bcd60e51b815260206004820152602360248201527f5265636569766572206973206e6f7420706c6179696e6720746869732073656160448201526239b7b760e91b60648201526084016105a7565b612167565b6000838152600c60205260409020600401546005146121675760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920636f6d706c6574656420616c62756d732063616e206265207472616044820152671b9cd9995c9c995960c21b60648201526084016105a7565b611d19858585612a78565b6060600b826040516121849190613f33565b9081526040805191829003602090810183206002018054808302850183019093528284529190830182828015611ae15760200282019190600052602060002090815481526020019060010190808311611acd5750505050509050919050565b6121eb61285a565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060610c6d82612e52565b6011818154811061222857600080fd5b600091825260209091200154905081565b60007358807bad0b376efc12f5ad86aac70e78ed67dead196001600160a01b0383160161226857506001610c6d565b6001600160a01b0380841660009081526005602090815260408083209386168352929052205460ff165b9392505050565b6001600160a01b0383166000908152600e6020526040908190209051606091906122c690859085906143a0565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b828210156123ea57838290600052602060002090600602016040518060c001604052908160008201548152602001600182015481526020016002820154815260200160038201805461234590614029565b80601f016020809104026020016040519081016040528092919081815260200182805461237190614029565b80156123be5780601f10612393576101008083540402835291602001916123be565b820191906000526020600020905b8154815290600101906020018083116123a157829003601f168201915b5050505050815260200160048201548152602001600582015481525050815260200190600101906122f4565b5050505090509392505050565b6123ff61285a565b6001600160a01b0381166124645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a7565b61246d816128d3565b50565b6060816000036124975750506040805180820190915260018152600360fc1b602082015290565b8160005b81156124c157806124ab81614123565b91506124ba9050600a83613f92565b915061249b565b6000816001600160401b038111156124db576124db6137b1565b6040519080825280601f01601f191660200182016040528015612505576020820181803683370190505b5090505b84156125705761251a600183613fd6565b9150612527600a86613fe9565b612532906030613fa6565b60f81b81838151811061254757612547613ffd565b60200101906001600160f81b031916908160001a905350612569600a86613f92565b9450612509565b949350505050565b6008805490600190600061258c8385613fa6565b90915550506000818152600c6020526040902081815560018101869055600281018590556003016125bd84826142e9565b506000818152600c602090815260408083206005018590556001600160a01b038a168352600e9091529081902090516125f7908590613f33565b90815260408051602092819003830190206000848152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612654908401826141ae565b50600482810154908201556005918201549101556126728782612f4d565b61267c818761278f565b50505050505050565b60006001600160e01b03198216632483248360e11b1480610c6d5750610c6d826130e6565b6000818152600260205260409020546001600160a01b031661246d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b6000612713613136565b905090565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061274d8261188c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61246d81613192565b6000828152600260205260409020546001600160a01b031661280a5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016105a7565b600082815260066020526040902061282282826142e9565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b612862612709565b6001600160a01b031661287d6007546001600160a01b031690565b6001600160a01b0316146119845760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a7565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036129865760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612a046129fe612709565b836131d2565b612a665760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a7565b612a7284848484613230565b50505050565b6000818152600c602052604081206003018054612a9490614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ac090614029565b8015612b0d5780601f10612ae257610100808354040283529160200191612b0d565b820191906000526020600020905b815481529060010190602001808311612af057829003601f168201915b5050505050905060005b6001600160a01b0385166000908152600e6020526040908190209051612b3e908490613f33565b9081526040519081900360200190205460ff82161015612db3576000838152600c60209081526040808320600501546001600160a01b0389168452600e909252918290209151909190612b92908590613f33565b90815260200160405180910390208260ff1681548110612bb457612bb4613ffd565b90600052602060002090600602016005015403612da1576001600160a01b0385166000908152600e6020526040908190209051612bf2908490613f33565b90815260200160405180910390206001600e6000886001600160a01b03166001600160a01b0316815260200190815260200160002084604051612c359190613f33565b90815260405190819003602001902054612c4f9190613fd6565b81548110612c5f57612c5f613ffd565b9060005260206000209060060201600e6000876001600160a01b03166001600160a01b0316815260200190815260200160002083604051612ca09190613f33565b90815260200160405180910390208260ff1681548110612cc257612cc2613ffd565b906000526020600020906006020160008201548160000155600182015481600101556002820154816002015560038201816003019081612d0291906141ae565b50600482810154908201556005918201549101556001600160a01b0385166000908152600e6020526040908190209051612d3d908490613f33565b9081526020016040518091039020805480612d5a57612d5a614013565b600082815260208120600660001990930192830201818155600181018290556002810182905590612d8e6003830182613763565b5060006004820181905560059091015590555b80612dab8161428a565b915050612b17565b506001600160a01b0383166000908152600e6020526040908190209051612ddb908390613f33565b90815260408051602092819003830190206000858152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612e38908401826141ae565b506004828101549082015560059182015491015550505050565b6060612e5d826126aa565b60008281526006602052604081208054612e7690614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ea290614029565b8015612eef5780601f10612ec457610100808354040283529160200191612eef565b820191906000526020600020905b815481529060010190602001808311612ed257829003601f168201915b505050505090506000612f00613263565b90508051600003612f12575092915050565b815115612f44578082604051602001612f2c9291906143b0565b60405160208183030381529060405292505050919050565b61257084613272565b6001600160a01b038216612fa35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105a7565b6000818152600260205260409020546001600160a01b0316156130085760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6130166000838360016132d8565b6000818152600260205260409020546001600160a01b03161561307b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160e01b031982166380ac58cd60e01b148061311757506001600160e01b03198216635b5e139f60e01b145b80610c6d57506301ffc9a760e01b6001600160e01b0319831614610c6d565b600030330361318c57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061318f9050565b50335b90565b61319b816132dd565b600081815260066020526040902080546131b490614029565b15905061246d57600081815260066020526040812061246d91613763565b6000806131de8361188c565b9050806001600160a01b0316846001600160a01b0316148061320557506132058185612239565b806125705750836001600160a01b031661321e84610d05565b6001600160a01b031614949350505050565b61323b848484613380565b613247848484846134f1565b612a725760405162461bcd60e51b81526004016105a7906143df565b606060098054610c8290614029565b606061327d826126aa565b6000613287613263565b905060008151116132a75760405180602001604052806000815250612292565b806132b1846135f9565b6040516020016132c29291906143b0565b6040516020818303038152906040529392505050565b612a72565b60006132e88261188c565b90506132f88160008460016132d8565b6133018261188c565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b826001600160a01b03166133938261188c565b6001600160a01b0316146133b95760405162461bcd60e51b81526004016105a790614431565b6001600160a01b03821661341b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105a7565b61342883838360016132d8565b826001600160a01b031661343b8261188c565b6001600160a01b0316146134615760405162461bcd60e51b81526004016105a790614431565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006001600160a01b0384163b156135ee57836001600160a01b031663150b7a0261351a612709565b8786866040518563ffffffff1660e01b815260040161353c9493929190614476565b6020604051808303816000875af1925050508015613577575060408051601f3d908101601f19168201909252613574918101906144b3565b60015b6135d4573d8080156135a5576040519150601f19603f3d011682016040523d82523d6000602084013e6135aa565b606091505b5080516000036135cc5760405162461bcd60e51b81526004016105a7906143df565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612570565b506001949350505050565b606060006136068361368b565b60010190506000816001600160401b03811115613625576136256137b1565b6040519080825280601f01601f19166020018201604052801561364f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461365957509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136ca5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106136f6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061371457662386f26fc10000830492506010015b6305f5e100831061372c576305f5e100830492506008015b612710831061374057612710830492506004015b60648310613752576064830492506002015b600a8310610c6d5760010192915050565b50805461376f90614029565b6000825580601f1061377f575050565b601f01602090049060005260206000209081019061246d91905b808211156137ad5760008155600101613799565b5090565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156137e1576137e16137b1565b604051601f8501601f19908116603f01168101908282118183101715613809576138096137b1565b8160405280935085815286868601111561382257600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261384d57600080fd5b612292838335602085016137c7565b6000806040838503121561386f57600080fd5b8235915060208301356001600160401b0381111561388c57600080fd5b6138988582860161383c565b9150509250929050565b6001600160e01b03198116811461246d57600080fd5b6000602082840312156138ca57600080fd5b8135612292816138a2565b60005b838110156138f05781810151838201526020016138d8565b50506000910152565b600081518084526139118160208601602086016138d5565b601f01601f19169290920160200192915050565b60208152600061229260208301846138f9565b60006020828403121561394a57600080fd5b5035919050565b80356001600160a01b038116811461396857600080fd5b919050565b6000806040838503121561398057600080fd5b61398983613951565b946020939093013593505050565b6000806000606084860312156139ac57600080fd5b6139b584613951565b92506139c360208501613951565b9150604084013590509250925092565b6000806000606084860312156139e857600080fd5b6139f184613951565b925060208401356001600160401b03811115613a0c57600080fd5b613a188682870161383c565b925050604084013590509250925092565b86815285602082015284604082015260c060608201526000613a4e60c08301866138f9565b60808301949094525060a00152949350505050565b60008060408385031215613a7657600080fd5b50508035926020909101359150565b600060208284031215613a9757600080fd5b81356001600160401b03811115613aad57600080fd5b6125708482850161383c565b600060208284031215613acb57600080fd5b61229282613951565b600080600060608486031215613ae957600080fd5b83356001600160401b03811115613aff57600080fd5b613b0b8682870161383c565b935050613b1a60208501613951565b9150613b2860408501613951565b90509250925092565b82815260406020820152600061257060408301846138f9565b600081518084526020808501945080840160005b83811015613b7a57815187529582019590820190600101613b5e565b509495945050505050565b6020815260006122926020830184613b4a565b60008060008060808587031215613bae57600080fd5b84356001600160401b0380821115613bc557600080fd5b613bd18883890161383c565b955060208701359450604087013593506060870135915080821115613bf557600080fd5b50613c028782880161383c565b91505092959194509250565b60008083601f840112613c2057600080fd5b5081356001600160401b03811115613c3757600080fd5b602083019150836020828501011115613c4f57600080fd5b9250929050565b60008060208385031215613c6957600080fd5b82356001600160401b03811115613c7f57600080fd5b613c8b85828601613c0e565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015613cd85783516001600160a01b031683529284019291840191600101613cb3565b50909695505050505050565b801515811461246d57600080fd5b60008060408385031215613d0557600080fd5b613d0e83613951565b91506020830135613d1e81613ce4565b809150509250929050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b83811015613d8057605f19888703018552613d6e8683516138f9565b95509382019390820190600101613d52565b505085840381870152505050613d968185613b4a565b95945050505050565b60008060008060808587031215613db557600080fd5b613dbe85613951565b9350613dcc60208601613951565b92506040850135915060608501356001600160401b03811115613dee57600080fd5b8501601f81018713613dff57600080fd5b613c02878235602084016137c7565b60008060408385031215613e2157600080fd5b613e2a83613951565b9150613e3860208401613951565b90509250929050565b600080600060408486031215613e5657600080fd5b613e5f84613951565b925060208401356001600160401b03811115613e7a57600080fd5b613e8686828701613c0e565b9497909650939450505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613f2557603f19898403018552815160c081518552888201518986015287820151888601526060808301518282880152613efa838801826138f9565b6080858101519089015260a09485015194909701939093525050509386019390860190600101613eba565b509098975050505050505050565b60008251613f458184602087016138d5565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c6d57610c6d613f4f565b634e487b7160e01b600052601260045260246000fd5b600082613fa157613fa1613f7c565b500490565b80820180821115610c6d57610c6d613f4f565b600060208284031215613fcb57600080fd5b815161229281613ce4565b81810381811115610c6d57610c6d613f4f565b600082613ff857613ff8613f7c565b500690565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600181811c9082168061403d57607f821691505b60208210810361405d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000815461407081614029565b60018281168015614088576001811461409d576140cc565b60ff19841687528215158302870194506140cc565b8560005260208060002060005b858110156140c35781548a8201529084019082016140aa565b50505082870194505b5050505092915050565b60006140e28287614063565b85516140f2818360208a016138d5565b85519101906141058183602089016138d5565b84519101906141188183602088016138d5565b019695505050505050565b60006001820161413557614135613f4f565b5060010190565b6001600160a01b0383168152604060208201819052600090612570908301846138f9565b601f821115610e4e57600081815260208120601f850160051c810160208610156141875750805b601f850160051c820191505b818110156141a657828155600101614193565b505050505050565b8181036141b9575050565b6141c38254614029565b6001600160401b038111156141da576141da6137b1565b6141ee816141e88454614029565b84614160565b6000601f821160018114614222576000831561420a5750848201545b600019600385901b1c1916600184901b178455611d19565b600085815260209020601f19841690600086815260209020845b8381101561425c578286015482556001958601959091019060200161423c565b508583101561427a5781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060ff821660ff81036142a0576142a0613f4f565b60010192915050565b60006122928284614063565b6001600160a01b03841681526060602082018190526000906142d9908301856138f9565b9050826040830152949350505050565b81516001600160401b03811115614302576143026137b1565b614310816141e88454614029565b602080601f831160018114614345576000841561432d5750858301515b600019600386901b1c1916600185901b1785556141a6565b600085815260208120601f198616915b8281101561437457888601518255948401946001909101908401614355565b508582101561427a57939096015160001960f8600387901b161c19169092555050600190811b01905550565b8183823760009101908152919050565b600083516143c28184602088016138d5565b8351908301906143d68183602088016138d5565b01949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906144a9908301846138f9565b9695505050505050565b6000602082840312156144c557600080fd5b8151612292816138a256fea26469706673582212207cae2c97a645048b47d0b2429ea7b106fe9044d36f976c9ca117019dab73d24e64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x21C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8477919B GT PUSH2 0x125 JUMPI DUP1 PUSH4 0xBE20E5A9 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xE5DB587A GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xE5DB587A EQ PUSH2 0x4C7 JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0x4D0 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x4E3 JUMPI DUP1 PUSH4 0xE9D43F7D EQ PUSH2 0x4F6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x516 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBE20E5A9 EQ PUSH2 0x47B JUMPI DUP1 PUSH4 0xC1F3A3BB EQ PUSH2 0x48E JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x4A1 JUMPI DUP1 PUSH4 0xD1811D02 EQ PUSH2 0x4B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95D89B41 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x42F JUMPI DUP1 PUSH4 0x9ABC8320 EQ PUSH2 0x437 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x43F JUMPI DUP1 PUSH4 0xB773D5C1 EQ PUSH2 0x452 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x468 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8477919B EQ PUSH2 0x3D8 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3EB JUMPI DUP1 PUSH4 0x8DC10768 EQ PUSH2 0x3FC JUMPI DUP1 PUSH4 0x95A4C525 EQ PUSH2 0x40F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x55F804B3 GT PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x70A08231 GT PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x35B JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x37C JUMPI DUP1 PUSH4 0x71F72FA0 EQ PUSH2 0x384 JUMPI DUP1 PUSH4 0x787F0B05 EQ PUSH2 0x397 JUMPI DUP1 PUSH4 0x83C73D81 EQ PUSH2 0x3B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x55F804B3 EQ PUSH2 0x30F JUMPI DUP1 PUSH4 0x61C66C16 EQ PUSH2 0x322 JUMPI DUP1 PUSH4 0x627B253F EQ PUSH2 0x335 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x1EF JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x29E JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x2B1 JUMPI DUP1 PUSH4 0x308F5987 EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x41C2C10F EQ PUSH2 0x2E9 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x15DB396 EQ PUSH2 0x221 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x25E JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x273 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x234 PUSH2 0x22F CALLDATASIZE PUSH1 0x4 PUSH2 0x385C JUMP JUMPDEST PUSH2 0x529 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x249 PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0x38B8 JUMP JUMPDEST PUSH2 0xC62 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x266 PUSH2 0xC73 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3925 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x281 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0xD05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x255 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x2AC CALLDATASIZE PUSH1 0x4 PUSH2 0x396D JUMP JUMPDEST PUSH2 0xD2C JUMP JUMPDEST PUSH2 0x234 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x3997 JUMP JUMPDEST PUSH2 0xE53 JUMP JUMPDEST PUSH2 0x2D7 PUSH2 0x2D2 CALLDATASIZE PUSH1 0x4 PUSH2 0x39D3 JUMP JUMPDEST PUSH2 0xE5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3A29 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x2F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A63 JUMP JUMPDEST PUSH2 0xF5B JUMP JUMPDEST PUSH2 0x234 PUSH2 0x30A CALLDATASIZE PUSH1 0x4 PUSH2 0x3997 JUMP JUMPDEST PUSH2 0x17AD JUMP JUMPDEST PUSH2 0x234 PUSH2 0x31D CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x17C8 JUMP JUMPDEST PUSH2 0x266 PUSH2 0x330 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x17E0 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH2 0x286 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x286 PUSH2 0x356 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x188C JUMP JUMPDEST PUSH2 0x36E PUSH2 0x369 CALLDATASIZE PUSH1 0x4 PUSH2 0x3AB9 JUMP JUMPDEST PUSH2 0x18EC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x255 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x1972 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x392 CALLDATASIZE PUSH1 0x4 PUSH2 0x3AD4 JUMP JUMPDEST PUSH2 0x1986 JUMP JUMPDEST PUSH2 0x3AA PUSH2 0x3A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x19CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP3 SWAP2 SWAP1 PUSH2 0x3B31 JUMP JUMPDEST PUSH2 0x3CB PUSH2 0x3C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x1A7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3B85 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x3E6 CALLDATASIZE PUSH1 0x4 PUSH2 0x3B98 JUMP JUMPDEST PUSH2 0x1AED JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x286 JUMP JUMPDEST PUSH2 0x2D7 PUSH2 0x40A CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x1D20 JUMP JUMPDEST PUSH2 0x422 PUSH2 0x41D CALLDATASIZE PUSH1 0x4 PUSH2 0x3C56 JUMP JUMPDEST PUSH2 0x1D50 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3C97 JUMP JUMPDEST PUSH2 0x266 PUSH2 0x1DCD JUMP JUMPDEST PUSH2 0x266 PUSH2 0x1DDC JUMP JUMPDEST PUSH2 0x234 PUSH2 0x44D CALLDATASIZE PUSH1 0x4 PUSH2 0x3CF2 JUMP JUMPDEST PUSH2 0x1DE9 JUMP JUMPDEST PUSH2 0x45A PUSH2 0x1DFB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP3 SWAP2 SWAP1 PUSH2 0x3D29 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x476 CALLDATASIZE PUSH1 0x4 PUSH2 0x3D9F JUMP JUMPDEST PUSH2 0x1F2F JUMP JUMPDEST PUSH2 0x3CB PUSH2 0x489 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A85 JUMP JUMPDEST PUSH2 0x2172 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x49C CALLDATASIZE PUSH1 0x4 PUSH2 0x3AB9 JUMP JUMPDEST PUSH2 0x21E3 JUMP JUMPDEST PUSH2 0x266 PUSH2 0x4AF CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x220D JUMP JUMPDEST PUSH2 0x36E PUSH2 0x4C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3938 JUMP JUMPDEST PUSH2 0x2218 JUMP JUMPDEST PUSH2 0x36E PUSH1 0x12 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH2 0x286 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x249 PUSH2 0x4F1 CALLDATASIZE PUSH1 0x4 PUSH2 0x3E0E JUMP JUMPDEST PUSH2 0x2239 JUMP JUMPDEST PUSH2 0x509 PUSH2 0x504 CALLDATASIZE PUSH1 0x4 PUSH2 0x3E41 JUMP JUMPDEST PUSH2 0x2299 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x3E93 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x524 CALLDATASIZE PUSH1 0x4 PUSH2 0x3AB9 JUMP JUMPDEST PUSH2 0x23F7 JUMP JUMPDEST PUSH1 0xB DUP2 PUSH1 0x40 MLOAD PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x5B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x59612074656E657320756E207061636B2077616368696E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0xB DUP3 PUSH1 0x40 MLOAD PUSH2 0x5C2 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD DUP2 KECCAK256 CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE DUP3 SWAP1 PUSH1 0xB SWAP1 PUSH2 0x603 SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD EQ PUSH2 0x660 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53656E6420657861637420707269636520666F72205061636B00000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x64 PUSH2 0x66F DUP5 PUSH1 0x4B PUSH2 0x3F65 JUMP JUMPDEST PUSH2 0x679 SWAP2 SWAP1 PUSH2 0x3F92 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x68D SWAP2 SWAP1 PUSH2 0x3FA6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6E9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x70D SWAP2 SWAP1 PUSH2 0x3FB9 JUMP JUMPDEST POP PUSH1 0x13 SLOAD PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND SWAP2 PUSH4 0x23B872DD SWAP2 CALLER SWAP2 AND PUSH2 0x733 DUP6 DUP9 PUSH2 0x3FD6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x4 DUP3 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x787 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7AB SWAP2 SWAP1 PUSH2 0x3FB9 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0xB DUP4 PUSH1 0x40 MLOAD PUSH2 0x7BE SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD TIMESTAMP SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH2 0x7FF SWAP2 SWAP1 PUSH2 0x3FE9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x813 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x835 JUMPI PUSH2 0x835 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x852 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD PUSH1 0x1 PUSH1 0xB DUP7 PUSH1 0x40 MLOAD PUSH2 0x875 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x892 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x8A2 JUMPI PUSH2 0x8A2 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x8BD SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x8DF JUMPI PUSH2 0x8DF PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP2 SWAP1 SSTORE POP PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x8FD SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH2 0x91D JUMPI PUSH2 0x91D PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE PUSH2 0x9DC CALLER PUSH1 0xB DUP7 PUSH1 0x40 MLOAD PUSH2 0x947 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP PUSH2 0x97B DUP6 PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9AC SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x40D6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x0 PUSH1 0x1 PUSH2 0x9CB PUSH1 0x6 DUP8 PUSH2 0x3F92 JUMP JUMPDEST PUSH2 0x9D5 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP9 DUP7 PUSH2 0x2578 JUMP JUMPDEST POP POP PUSH1 0x0 JUMPDEST PUSH1 0x5 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x9FC SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD DUP2 KECCAK256 PUSH1 0x1 ADD SLOAD TIMESTAMP SWAP4 DUP3 ADD SWAP4 SWAP1 SWAP4 MSTORE ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH2 0xA3D SWAP2 SWAP1 PUSH2 0x3FE9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0xA51 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xA73 JUMPI PUSH2 0xA73 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0xA90 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 PUSH1 0xB DUP8 PUSH1 0x40 MLOAD PUSH2 0xAB3 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0xAD0 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xAE0 JUMPI PUSH2 0xAE0 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0xB DUP7 PUSH1 0x40 MLOAD PUSH2 0xAFB SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD DUP4 DUP2 SLOAD DUP2 LT PUSH2 0xB1D JUMPI PUSH2 0xB1D PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP2 SWAP1 SSTORE POP PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0xB3B SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD DUP1 PUSH2 0xB5B JUMPI PUSH2 0xB5B PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE PUSH2 0xC0E CALLER PUSH1 0xB DUP8 PUSH1 0x40 MLOAD PUSH2 0xB85 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP PUSH2 0xBB9 DUP6 PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xBEA SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x40D6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x1 PUSH2 0xC07 PUSH1 0x6 DUP7 PUSH2 0x3F92 JUMP JUMPDEST DUP10 DUP7 PUSH2 0x2578 JUMP JUMPDEST POP POP DUP1 DUP1 PUSH2 0xC1B SWAP1 PUSH2 0x4123 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x9E1 JUMP JUMPDEST POP PUSH32 0x55D44F7F091F0389B4DCB1B6AE002ED20FE8229C546E6AAF1CCAC2646CDF514C CALLER DUP4 PUSH1 0x40 MLOAD PUSH2 0xC55 SWAP3 SWAP2 SWAP1 PUSH2 0x413C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC6D DUP3 PUSH2 0x2685 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0xC82 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xCAE SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCFB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xCD0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCFB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xCDE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD10 DUP3 PUSH2 0x26AA JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD37 DUP3 PUSH2 0x188C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xDA4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDB6 PUSH2 0x2709 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xDD2 JUMPI POP PUSH2 0xDD2 DUP2 PUSH2 0x4F1 PUSH2 0x2709 JUMP JUMPDEST PUSH2 0xE44 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0xE4E DUP4 DUP4 PUSH2 0x2718 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xE4E DUP4 DUP4 DUP4 PUSH2 0x17AD JUMP JUMPDEST PUSH1 0xE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP4 MLOAD DUP1 DUP6 ADD DUP4 ADD DUP1 MLOAD SWAP3 DUP2 MSTORE SWAP1 DUP4 ADD SWAP3 DUP6 ADD SWAP3 SWAP1 SWAP3 KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP3 SWAP1 DUP2 LT PUSH2 0xE95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x0 SWAP3 POP SWAP3 POP POP POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0xECC SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xEF8 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF45 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF1A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF45 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF28 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 DUP1 PUSH1 0x5 ADD SLOAD SWAP1 POP DUP7 JUMP JUMPDEST CALLER PUSH2 0xF65 DUP4 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xFB3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x151A1A5CC81A5CC81B9BDD081E5BDD5C8818D85C99 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST CALLER PUSH2 0xFBD DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x100C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x54686973206973206E6F7420796F757220616C62756D PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD ISZERO PUSH2 0x1062 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x63617264206973206E6F7420616E20616C62756D PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x107E SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10AA SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10F7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10CC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x10F7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10DA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x111F SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x1365 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD SLOAD CALLER DUP5 MSTORE PUSH1 0xE SWAP1 SWAP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x116A SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x118C JUMPI PUSH2 0x118C PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x5 ADD SLOAD SUB PUSH2 0x1353 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x11C1 SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 PUSH1 0xE PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1204 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x121E SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x122E JUMPI PUSH2 0x122E PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE PUSH1 0xE SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 SWAP3 MLOAD PUSH1 0x6 SWAP1 SWAP3 MUL ADD SWAP2 SWAP1 PUSH2 0x125B SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x127D JUMPI PUSH2 0x127D PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x0 DUP3 ADD SLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x3 DUP3 ADD DUP2 PUSH1 0x3 ADD SWAP1 DUP2 PUSH2 0x12BD SWAP2 SWAP1 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x12EF SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH2 0x130C JUMPI PUSH2 0x130C PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x6 PUSH1 0x0 NOT SWAP1 SWAP4 ADD SWAP3 DUP4 MUL ADD DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP3 SWAP1 SSTORE PUSH1 0x2 DUP2 ADD DUP3 SWAP1 SSTORE SWAP1 PUSH2 0x1340 PUSH1 0x3 DUP4 ADD DUP3 PUSH2 0x3763 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE JUMPDEST DUP1 PUSH2 0x135D DUP2 PUSH2 0x428A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1101 JUMP JUMPDEST POP PUSH2 0x136F DUP4 PUSH2 0x2786 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD SWAP2 PUSH2 0x138C DUP4 PUSH2 0x4123 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP5 MSTORE PUSH1 0xC SWAP1 SWAP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP1 SWAP2 PUSH2 0x13C2 SWAP2 PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x42A9 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP2 LT PUSH2 0x13E2 JUMPI PUSH2 0x13E2 PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x4 PUSH1 0x6 SWAP1 SWAP3 MUL ADD ADD DUP1 SLOAD SWAP2 PUSH2 0x1400 DUP4 PUSH2 0x4123 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x5 SUB PUSH2 0xE4E JUMPI PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x143A SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1466 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x14B3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1488 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x14B3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1496 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x7 PUSH1 0xD DUP3 PUSH1 0x40 MLOAD PUSH2 0x14CC SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD LT ISZERO PUSH2 0x16AD JUMPI PUSH1 0xD DUP2 PUSH1 0x40 MLOAD PUSH2 0x14F2 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE SWAP3 DUP3 KECCAK256 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER OR SWAP1 SSTORE SWAP2 PUSH1 0xA SWAP2 PUSH1 0xF SWAP2 PUSH1 0xD SWAP1 PUSH2 0x153A SWAP1 DUP8 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x1554 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST PUSH1 0x7 DUP2 LT PUSH2 0x1564 JUMPI PUSH2 0x1564 PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x20 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0xFF AND PUSH1 0xB DUP5 PUSH1 0x40 MLOAD PUSH2 0x158D SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x15A7 SWAP2 SWAP1 PUSH2 0x3F65 JUMP JUMPDEST PUSH2 0x15B1 SWAP2 SWAP1 PUSH2 0x3F92 JUMP JUMPDEST SWAP1 POP PUSH1 0x12 SLOAD DUP2 GT ISZERO PUSH2 0x161E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5072697A65206D757374206265206C6F776572206F7220657175616C20746861 PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x6E207072697A65732062616C616E6365 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1630 SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1686 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16AA SWAP2 SWAP1 PUSH2 0x3FB9 JUMP JUMPDEST POP POP JUMPDEST PUSH2 0x1751 DUP4 PUSH1 0xB DUP4 PUSH1 0x40 MLOAD PUSH2 0x16C1 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP PUSH2 0x170B PUSH1 0xC PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH2 0x2470 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x173D SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x40D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x278F JUMP JUMPDEST PUSH32 0x953EC8B8176B9EB94E1561816A70BC231210AEE5F1AAA59FDBAD7915F9AD3C96 CALLER DUP3 PUSH1 0xD DUP5 PUSH1 0x40 MLOAD PUSH2 0x1784 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 SLOAD PUSH2 0x179F SWAP4 SWAP3 SWAP2 PUSH2 0x42B5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0xE4E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1F2F JUMP JUMPDEST PUSH2 0x17D0 PUSH2 0x285A JUMP JUMPDEST PUSH1 0x9 PUSH2 0x17DC DUP3 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x10 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x17F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 SLOAD PUSH2 0x180B SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1837 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1884 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1859 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1884 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1867 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0xC6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1956 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x197A PUSH2 0x285A JUMP JUMPDEST PUSH2 0x1984 PUSH1 0x0 PUSH2 0x28D3 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x198E PUSH2 0x285A JUMP JUMPDEST PUSH1 0x9 PUSH2 0x199A DUP5 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x13 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0xB DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD PUSH1 0x4 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x19F7 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1A23 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1A70 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1A45 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1A70 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1A53 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xB DUP3 PUSH1 0x40 MLOAD PUSH2 0x1A8C SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP4 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD DUP1 DUP4 MUL DUP6 ADD DUP4 ADD SWAP1 SWAP4 MSTORE DUP3 DUP5 MSTORE SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1AE1 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1ACD JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1AF5 PUSH2 0x285A JUMP JUMPDEST PUSH6 0x5AF3107A4000 DUP4 LT ISZERO PUSH2 0x1B5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x7061636B2076616C7565206D757374206265206174206C6561737420302E3030 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x303120444149 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x1B65 PUSH1 0x6 DUP4 PUSH2 0x3FE9 JUMP JUMPDEST ISZERO PUSH2 0x1BB2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416D6F756E74206D757374206265206D756C7469706C65206F66203600000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST DUP3 PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x1BC3 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH1 0xB SWAP1 PUSH2 0x1BE6 SWAP1 DUP8 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x1C03 SWAP2 SWAP1 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x10 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x1B6847DC741A1B0CD08D278845F9D819D87B734759AFB55FE2DE5CB82A9AE672 ADD PUSH2 0x1C40 DUP6 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x11 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE PUSH1 0x0 SWAP3 SWAP1 SWAP3 MSTORE PUSH32 0x31ECC21A745E3968A04E9570E4425BC18FA8019C68028196B546D1669C200C68 ADD DUP5 SWAP1 SSTORE JUMPDEST DUP3 DUP2 GT PUSH2 0x1D19 JUMPI PUSH2 0x1C8A PUSH1 0x6 DUP3 PUSH2 0x3FE9 JUMP JUMPDEST PUSH1 0x0 SUB PUSH2 0x1CCD JUMPI PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CA1 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP2 SWAP1 SUB DUP3 ADD SWAP1 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE SWAP2 SWAP1 KECCAK256 ADD DUP2 SWAP1 SSTORE PUSH2 0x1D07 JUMP JUMPDEST PUSH1 0xB DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CDD SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x20 SWAP2 DUP2 SWAP1 SUB DUP3 ADD SWAP1 KECCAK256 PUSH1 0x1 SWAP1 DUP2 ADD DUP1 SLOAD SWAP2 DUP3 ADD DUP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 ADD DUP2 SWAP1 SSTORE JUMPDEST DUP1 PUSH2 0x1D11 DUP2 PUSH2 0x4123 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1C78 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP4 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0xECC SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xD DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1D64 SWAP3 SWAP2 SWAP1 PUSH2 0x43A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP4 KECCAK256 DUP1 SLOAD DUP1 DUP4 MUL DUP6 ADD DUP4 ADD SWAP1 SWAP4 MSTORE DUP3 DUP5 MSTORE SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1DC0 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1DA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0xC82 SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH2 0x180B SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH2 0x17DC PUSH2 0x1DF4 PUSH2 0x2709 JUMP JUMPDEST DUP4 DUP4 PUSH2 0x2925 JUMP JUMPDEST PUSH1 0x60 DUP1 PUSH1 0x10 PUSH1 0x11 DUP2 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x1ECF JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD DUP1 SLOAD PUSH2 0x1E42 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1E6E SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1EBB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1E90 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1EBB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1E9E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E23 JUMP JUMPDEST POP POP POP POP SWAP2 POP DUP1 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD DUP1 ISZERO PUSH2 0x1F20 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1F0C JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 POP SWAP2 POP SWAP1 SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1F4B SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F77 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1FC4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F99 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1FC4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1FA7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH2 0x1FD4 DUP2 PUSH2 0x2172 JUMP JUMPDEST MLOAD ISZERO PUSH2 0x2034 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x54686572652061726520616C62756D7320617661696C61626C6520696E207468 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x34B99039B2B0B9B7B7 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2040 DUP6 DUP6 DUP6 DUP6 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 DUP2 ADD SLOAD SWAP1 SUB PUSH2 0x20F5 JUMPI PUSH1 0xB DUP2 PUSH1 0x40 MLOAD PUSH2 0x206A SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP2 ADD SWAP1 SWAP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x20F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265636569766572206973206E6F7420706C6179696E67207468697320736561 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x39B7B7 PUSH1 0xE9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2167 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x5 EQ PUSH2 0x2167 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F6E6C7920636F6D706C6574656420616C62756D732063616E20626520747261 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x1B9CD9995C9C9959 PUSH1 0xC2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x1D19 DUP6 DUP6 DUP6 PUSH2 0x2A78 JUMP JUMPDEST PUSH1 0x60 PUSH1 0xB DUP3 PUSH1 0x40 MLOAD PUSH2 0x2184 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB PUSH1 0x20 SWAP1 DUP2 ADD DUP4 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP1 DUP4 MUL DUP6 ADD DUP4 ADD SWAP1 SWAP4 MSTORE DUP3 DUP5 MSTORE SWAP2 SWAP1 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1AE1 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x1ACD JUMPI POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x21EB PUSH2 0x285A JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC6D DUP3 PUSH2 0x2E52 JUMP JUMPDEST PUSH1 0x11 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH20 0x58807BAD0B376EFC12F5AD86AAC70E78ED67DEAD NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ADD PUSH2 0x2268 JUMPI POP PUSH1 0x1 PUSH2 0xC6D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP7 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x22C6 SWAP1 DUP6 SWAP1 DUP6 SWAP1 PUSH2 0x43A0 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x23EA JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x2345 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2371 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23BE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2393 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23BE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x23A1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x5 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x22F4 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x23FF PUSH2 0x285A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2464 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x246D DUP2 PUSH2 0x28D3 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x2497 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x24C1 JUMPI DUP1 PUSH2 0x24AB DUP2 PUSH2 0x4123 JUMP JUMPDEST SWAP2 POP PUSH2 0x24BA SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x3F92 JUMP JUMPDEST SWAP2 POP PUSH2 0x249B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x24DB JUMPI PUSH2 0x24DB PUSH2 0x37B1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x2505 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x2570 JUMPI PUSH2 0x251A PUSH1 0x1 DUP4 PUSH2 0x3FD6 JUMP JUMPDEST SWAP2 POP PUSH2 0x2527 PUSH1 0xA DUP7 PUSH2 0x3FE9 JUMP JUMPDEST PUSH2 0x2532 SWAP1 PUSH1 0x30 PUSH2 0x3FA6 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x2547 JUMPI PUSH2 0x2547 PUSH2 0x3FFD JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x2569 PUSH1 0xA DUP7 PUSH2 0x3F92 JUMP JUMPDEST SWAP5 POP PUSH2 0x2509 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x8 DUP1 SLOAD SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x0 PUSH2 0x258C DUP4 DUP6 PUSH2 0x3FA6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP7 SWAP1 SSTORE PUSH1 0x2 DUP2 ADD DUP6 SWAP1 SSTORE PUSH1 0x3 ADD PUSH2 0x25BD DUP5 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD DUP6 SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND DUP4 MSTORE PUSH1 0xE SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x25F7 SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0xC DUP5 MSTORE SWAP2 DUP3 KECCAK256 DUP2 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP5 SSTORE SWAP3 DUP5 MSTORE SWAP4 SWAP1 SWAP3 KECCAK256 DUP3 SLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE PUSH1 0x2 DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE SWAP1 PUSH1 0x3 DUP1 DUP3 ADD SWAP1 PUSH2 0x2654 SWAP1 DUP5 ADD DUP3 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH2 0x2672 DUP8 DUP3 PUSH2 0x2F4D JUMP JUMPDEST PUSH2 0x267C DUP2 DUP8 PUSH2 0x278F JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xC6D JUMPI POP PUSH2 0xC6D DUP3 PUSH2 0x30E6 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x246D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2713 PUSH2 0x3136 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x274D DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH2 0x246D DUP2 PUSH2 0x3192 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x280A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x2822 DUP3 DUP3 PUSH2 0x42E9 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8E1A15ABA9398E019F0B49DF1A4FDE98EE17AE345CB5F6B5E2C27F5033E8CE7 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH2 0x2862 PUSH2 0x2709 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x287D PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1984 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x2986 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x2A04 PUSH2 0x29FE PUSH2 0x2709 JUMP JUMPDEST DUP4 PUSH2 0x31D2 JUMP JUMPDEST PUSH2 0x2A66 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2A72 DUP5 DUP5 DUP5 DUP5 PUSH2 0x3230 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x2A94 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2AC0 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2B0D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2AE2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2B0D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2AF0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2B3E SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH1 0xFF DUP3 AND LT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND DUP5 MSTORE PUSH1 0xE SWAP1 SWAP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 SWAP2 MLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x2B92 SWAP1 DUP6 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2BB4 JUMPI PUSH2 0x2BB4 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x5 ADD SLOAD SUB PUSH2 0x2DA1 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2BF2 SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x1 PUSH1 0xE PUSH1 0x0 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 PUSH1 0x40 MLOAD PUSH2 0x2C35 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 SLOAD PUSH2 0x2C4F SWAP2 SWAP1 PUSH2 0x3FD6 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2C5F JUMPI PUSH2 0x2C5F PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0xE PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH2 0x2CA0 SWAP2 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0xFF AND DUP2 SLOAD DUP2 LT PUSH2 0x2CC2 JUMPI PUSH2 0x2CC2 PUSH2 0x3FFD JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x6 MUL ADD PUSH1 0x0 DUP3 ADD SLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x1 DUP3 ADD SLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x2 DUP3 ADD SLOAD DUP2 PUSH1 0x2 ADD SSTORE PUSH1 0x3 DUP3 ADD DUP2 PUSH1 0x3 ADD SWAP1 DUP2 PUSH2 0x2D02 SWAP2 SWAP1 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2D3D SWAP1 DUP5 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH2 0x2D5A JUMPI PUSH2 0x2D5A PUSH2 0x4013 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x6 PUSH1 0x0 NOT SWAP1 SWAP4 ADD SWAP3 DUP4 MUL ADD DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP3 SWAP1 SSTORE PUSH1 0x2 DUP2 ADD DUP3 SWAP1 SSTORE SWAP1 PUSH2 0x2D8E PUSH1 0x3 DUP4 ADD DUP3 PUSH2 0x3763 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE JUMPDEST DUP1 PUSH2 0x2DAB DUP2 PUSH2 0x428A JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2B17 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP1 MLOAD PUSH2 0x2DDB SWAP1 DUP4 SWAP1 PUSH2 0x3F33 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 SWAP3 DUP2 SWAP1 SUB DUP4 ADD SWAP1 KECCAK256 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0xC DUP5 MSTORE SWAP2 DUP3 KECCAK256 DUP2 SLOAD PUSH1 0x1 DUP1 DUP3 ADD DUP5 SSTORE SWAP3 DUP5 MSTORE SWAP4 SWAP1 SWAP3 KECCAK256 DUP3 SLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD SWAP3 DUP4 SSTORE DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE PUSH1 0x2 DUP1 DUP3 ADD SLOAD SWAP1 DUP4 ADD SSTORE SWAP1 PUSH1 0x3 DUP1 DUP3 ADD SWAP1 PUSH2 0x2E38 SWAP1 DUP5 ADD DUP3 PUSH2 0x41AE JUMP JUMPDEST POP PUSH1 0x4 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD SSTORE PUSH1 0x5 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x2E5D DUP3 PUSH2 0x26AA JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x2E76 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2EA2 SWAP1 PUSH2 0x4029 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EEF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2EC4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EEF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2ED2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x2F00 PUSH2 0x3263 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x2F12 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x2F44 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2F2C SWAP3 SWAP2 SWAP1 PUSH2 0x43B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2570 DUP5 PUSH2 0x3272 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x2FA3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x3008 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x3016 PUSH1 0x0 DUP4 DUP4 PUSH1 0x1 PUSH2 0x32D8 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x307B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x3117 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xC6D JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xC6D JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH2 0x318C JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0x318F SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x319B DUP2 PUSH2 0x32DD JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x31B4 SWAP1 PUSH2 0x4029 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x246D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x246D SWAP2 PUSH2 0x3763 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x31DE DUP4 PUSH2 0x188C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x3205 JUMPI POP PUSH2 0x3205 DUP2 DUP6 PUSH2 0x2239 JUMP JUMPDEST DUP1 PUSH2 0x2570 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x321E DUP5 PUSH2 0xD05 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x323B DUP5 DUP5 DUP5 PUSH2 0x3380 JUMP JUMPDEST PUSH2 0x3247 DUP5 DUP5 DUP5 DUP5 PUSH2 0x34F1 JUMP JUMPDEST PUSH2 0x2A72 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x43DF JUMP JUMPDEST PUSH1 0x60 PUSH1 0x9 DUP1 SLOAD PUSH2 0xC82 SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x327D DUP3 PUSH2 0x26AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3287 PUSH2 0x3263 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x32A7 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x2292 JUMP JUMPDEST DUP1 PUSH2 0x32B1 DUP5 PUSH2 0x35F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x32C2 SWAP3 SWAP2 SWAP1 PUSH2 0x43B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x2A72 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32E8 DUP3 PUSH2 0x188C JUMP JUMPDEST SWAP1 POP PUSH2 0x32F8 DUP2 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH2 0x32D8 JUMP JUMPDEST PUSH2 0x3301 DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3393 DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x33B9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x4431 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x341B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x3428 DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0x32D8 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x343B DUP3 PUSH2 0x188C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3461 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x4431 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x35EE JUMPI DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x150B7A02 PUSH2 0x351A PUSH2 0x2709 JUMP JUMPDEST DUP8 DUP7 DUP7 PUSH1 0x40 MLOAD DUP6 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x353C SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4476 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x3577 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x3574 SWAP2 DUP2 ADD SWAP1 PUSH2 0x44B3 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x35D4 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x35A5 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x35AA JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x35CC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A7 SWAP1 PUSH2 0x43DF JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x2570 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x3606 DUP4 PUSH2 0x368B JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3625 JUMPI PUSH2 0x3625 PUSH2 0x37B1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x364F JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x3659 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x36CA JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x36F6 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x3714 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x372C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x3740 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x3752 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xC6D JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x376F SWAP1 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x377F JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x246D SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x37AD JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x3799 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 GT ISZERO PUSH2 0x37E1 JUMPI PUSH2 0x37E1 PUSH2 0x37B1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3809 JUMPI PUSH2 0x3809 PUSH2 0x37B1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x3822 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x384D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2292 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x37C7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x386F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x388C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3898 DUP6 DUP3 DUP7 ADD PUSH2 0x383C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x246D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x38CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2292 DUP2 PUSH2 0x38A2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x38F0 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x38D8 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3911 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x38D5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2292 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x394A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x3968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3980 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3989 DUP4 PUSH2 0x3951 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x39AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39B5 DUP5 PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH2 0x39C3 PUSH1 0x20 DUP6 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x39E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x39F1 DUP5 PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3A0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A18 DUP7 DUP3 DUP8 ADD PUSH2 0x383C JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP7 DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE DUP5 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0xC0 PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x3A4E PUSH1 0xC0 DUP4 ADD DUP7 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x80 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3A76 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3AAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2570 DUP5 DUP3 DUP6 ADD PUSH2 0x383C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3ACB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2292 DUP3 PUSH2 0x3951 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3AE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3AFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3B0B DUP7 DUP3 DUP8 ADD PUSH2 0x383C JUMP JUMPDEST SWAP4 POP POP PUSH2 0x3B1A PUSH1 0x20 DUP6 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH2 0x3B28 PUSH1 0x40 DUP6 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2570 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3B7A JUMPI DUP2 MLOAD DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3B5E JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2292 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3B4A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3BAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x3BC5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3BD1 DUP9 DUP4 DUP10 ADD PUSH2 0x383C JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3BF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C02 DUP8 DUP3 DUP9 ADD PUSH2 0x383C JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3C20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3C37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x3C4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3C69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3C7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C8B DUP6 DUP3 DUP7 ADD PUSH2 0x3C0E JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3CD8 JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x3CB3 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x246D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3D05 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3D0E DUP4 PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x3D1E DUP2 PUSH2 0x3CE4 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD PUSH1 0x40 DUP4 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x60 DUP6 ADD SWAP2 POP PUSH1 0x60 DUP2 PUSH1 0x5 SHL DUP7 ADD ADD SWAP3 POP PUSH1 0x20 DUP1 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3D80 JUMPI PUSH1 0x5F NOT DUP9 DUP8 SUB ADD DUP6 MSTORE PUSH2 0x3D6E DUP7 DUP4 MLOAD PUSH2 0x38F9 JUMP JUMPDEST SWAP6 POP SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3D52 JUMP JUMPDEST POP POP DUP6 DUP5 SUB DUP2 DUP8 ADD MSTORE POP POP POP PUSH2 0x3D96 DUP2 DUP6 PUSH2 0x3B4A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3DB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3DBE DUP6 PUSH2 0x3951 JUMP JUMPDEST SWAP4 POP PUSH2 0x3DCC PUSH1 0x20 DUP7 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3DEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x3DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3C02 DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x37C7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E2A DUP4 PUSH2 0x3951 JUMP JUMPDEST SWAP2 POP PUSH2 0x3E38 PUSH1 0x20 DUP5 ADD PUSH2 0x3951 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3E56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E5F DUP5 PUSH2 0x3951 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x3E7A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E86 DUP7 DUP3 DUP8 ADD PUSH2 0x3C0E JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 SWAP3 POP DUP3 DUP7 ADD SWAP2 POP DUP3 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD DUP5 DUP9 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3F25 JUMPI PUSH1 0x3F NOT DUP10 DUP5 SUB ADD DUP6 MSTORE DUP2 MLOAD PUSH1 0xC0 DUP2 MLOAD DUP6 MSTORE DUP9 DUP3 ADD MLOAD DUP10 DUP7 ADD MSTORE DUP8 DUP3 ADD MLOAD DUP9 DUP7 ADD MSTORE PUSH1 0x60 DUP1 DUP4 ADD MLOAD DUP3 DUP3 DUP9 ADD MSTORE PUSH2 0x3EFA DUP4 DUP9 ADD DUP3 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x80 DUP6 DUP2 ADD MLOAD SWAP1 DUP10 ADD MSTORE PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD SWAP5 SWAP1 SWAP8 ADD SWAP4 SWAP1 SWAP4 MSTORE POP POP POP SWAP4 DUP7 ADD SWAP4 SWAP1 DUP7 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3EBA JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3F45 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x38D5 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xC6D JUMPI PUSH2 0xC6D PUSH2 0x3F4F JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3FA1 JUMPI PUSH2 0x3FA1 PUSH2 0x3F7C JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xC6D JUMPI PUSH2 0xC6D PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3FCB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2292 DUP2 PUSH2 0x3CE4 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xC6D JUMPI PUSH2 0xC6D PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3FF8 JUMPI PUSH2 0x3FF8 PUSH2 0x3F7C JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x403D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x405D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SLOAD PUSH2 0x4070 DUP2 PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x4088 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x409D JUMPI PUSH2 0x40CC JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x40CC JUMP JUMPDEST DUP6 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x40C3 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x40AA JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x40E2 DUP3 DUP8 PUSH2 0x4063 JUMP JUMPDEST DUP6 MLOAD PUSH2 0x40F2 DUP2 DUP4 PUSH1 0x20 DUP11 ADD PUSH2 0x38D5 JUMP JUMPDEST DUP6 MLOAD SWAP2 ADD SWAP1 PUSH2 0x4105 DUP2 DUP4 PUSH1 0x20 DUP10 ADD PUSH2 0x38D5 JUMP JUMPDEST DUP5 MLOAD SWAP2 ADD SWAP1 PUSH2 0x4118 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x38D5 JUMP JUMPDEST ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x4135 JUMPI PUSH2 0x4135 PUSH2 0x3F4F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x2570 SWAP1 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xE4E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x4187 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x41A6 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x4193 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB PUSH2 0x41B9 JUMPI POP POP JUMP JUMPDEST PUSH2 0x41C3 DUP3 SLOAD PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x41DA JUMPI PUSH2 0x41DA PUSH2 0x37B1 JUMP JUMPDEST PUSH2 0x41EE DUP2 PUSH2 0x41E8 DUP5 SLOAD PUSH2 0x4029 JUMP JUMPDEST DUP5 PUSH2 0x4160 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4222 JUMPI PUSH1 0x0 DUP4 ISZERO PUSH2 0x420A JUMPI POP DUP5 DUP3 ADD SLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP6 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP5 SWAP1 SHL OR DUP5 SSTORE PUSH2 0x1D19 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x1F NOT DUP5 AND SWAP1 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x425C JUMPI DUP3 DUP7 ADD SLOAD DUP3 SSTORE PUSH1 0x1 SWAP6 DUP7 ADD SWAP6 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD PUSH2 0x423C JUMP JUMPDEST POP DUP6 DUP4 LT ISZERO PUSH2 0x427A JUMPI DUP2 DUP6 ADD SLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x42A0 JUMPI PUSH2 0x42A0 PUSH2 0x3F4F JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2292 DUP3 DUP5 PUSH2 0x4063 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x42D9 SWAP1 DUP4 ADD DUP6 PUSH2 0x38F9 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x40 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4302 JUMPI PUSH2 0x4302 PUSH2 0x37B1 JUMP JUMPDEST PUSH2 0x4310 DUP2 PUSH2 0x41E8 DUP5 SLOAD PUSH2 0x4029 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x4345 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x432D JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x41A6 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x4374 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x4355 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x427A JUMPI SWAP4 SWAP1 SWAP7 ADD MLOAD PUSH1 0x0 NOT PUSH1 0xF8 PUSH1 0x3 DUP8 SWAP1 SHL AND SHR NOT AND SWAP1 SWAP3 SSTORE POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x43C2 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x38D5 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x43D6 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x38D5 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x44A9 SWAP1 DUP4 ADD DUP5 PUSH2 0x38F9 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x44C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2292 DUP2 PUSH2 0x38A2 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0xAE2C97A645048B47D0B2429EA7B106FE9044D36F976C9CA117019DAB73 0xD2 0x4E PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"338:10775:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3923:1607;;;;;;:::i;:::-;;:::i;:::-;;2905:205;;;;;;:::i;:::-;;:::i;:::-;;;1956:14:31;;1949:22;1931:41;;1919:2;1904:18;2905:205:19;;;;;;;;2471:98:5;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3088:32:31;;;3070:51;;3058:2;3043:18;3935:167:5;2924:203:31;3468:406:5;;;;;;:::i;:::-;;:::i;8283:159:19:-;;;;;;:::i;:::-;;:::i;1015:73::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;8448:1721::-;;;;;;:::i;:::-;;:::i;4974:149:5:-;;;;;;:::i;:::-;;:::i;11011:99:19:-;;;;;;:::i;:::-;;:::i;1151:27::-;;;;;;:::i;:::-;;:::i;813:30::-;;;;;-1:-1:-1;;;;;813:30:19;;;2190:219:5;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;5872:25:31;;;5860:2;5845:18;1929:204:5;5726:177:31;1824:101:0;;;:::i;1465:229:19:-;;;;;;:::i;:::-;;:::i;849:41::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;6351:122::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5536:621::-;;;;;;:::i;:::-;;:::i;1201:85:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;1201:85;;896:35:19;;;;;;:::i;:::-;;:::i;6661:131::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2633:102:5:-;;;:::i;454:21:19:-;;;:::i;4169:153:5:-;;;;;;:::i;:::-;;:::i;6163:131:19:-;;;:::i;:::-;;;;;;;;:::i;7617:660::-;;;;;;:::i;:::-;;:::i;6531:124::-;;;;;;:::i;:::-;;:::i;10877:128::-;;;;;;:::i;:::-;;:::i;2710:189::-;;;;;;:::i;:::-;;:::i;1184:29::-;;;;;;:::i;:::-;;:::i;1219:28::-;;;;;;1254:24;;;;;-1:-1:-1;;;;;1254:24:19;;;3116:537;;;;;;:::i;:::-;;:::i;6798:174::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;3923:1607:19:-;4002:7;4010:4;4002:13;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4023:10;4002:32;;;;:20;;;;:32;;;;;;;;4001:33;3993:69;;;;-1:-1:-1;;;3993:69:19;;14244:2:31;3993:69:19;;;14226:21:31;14283:2;14263:18;;;14256:30;14322:25;14302:18;;;14295:53;14365:18;;3993:69:19;;;;;;;;;4107:4;4072:7;4080:4;4072:13;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4093:10;4072:32;;;;:20;;;;:32;;;;;:39;;-1:-1:-1;;4072:39:19;;;;;;;;;;;4152:6;;4129:7;;:13;;4137:4;;4129:13;:::i;:::-;;;;;;;;;;;;;;:19;:29;4121:67;;;;-1:-1:-1;;;4121:67:19;;14596:2:31;4121:67:19;;;14578:21:31;14635:2;14615:18;;;14608:30;14674:27;14654:18;;;14647:55;14719:18;;4121:67:19;14394:349:31;4121:67:19;4198:20;4235:3;4221:11;:6;4230:2;4221:11;:::i;:::-;:17;;;;:::i;:::-;4198:40;;4265:12;4248:13;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;;4294:9:19;;4287:71;;-1:-1:-1;;;4287:71:19;;4318:10;4287:71;;;15680:34:31;4338:4:19;15730:18:31;;;15723:43;15782:18;;;15775:34;;;-1:-1:-1;;;;;4294:9:19;;;;4287:30;;15615:18:31;;4287:71:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4375:9:19;;4411:15;;-1:-1:-1;;;;;4375:9:19;;;;4368:30;;4399:10;;4411:15;4428:21;4437:12;4428:6;:21;:::i;:::-;4368:82;;-1:-1:-1;;;;;;4368:82:19;;;;;;;-1:-1:-1;;;;;15698:15:31;;;4368:82:19;;;15680:34:31;15750:15;;;;15730:18;;;15723:43;15782:18;;;15775:34;15615:18;;4368:82:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4475:10;4539:7;4547:4;4539:13;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:20;;:27;4520:15;4503:33;;;16332:19:31;;;;16367:12;4503:33:19;;;;;;;;;;;;4493:44;;;;;;4488:50;;:78;;;;:::i;:::-;4475:91;;4580:12;4595:7;4603:4;4595:13;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;4616:5;4595:27;;;;;;;;:::i;:::-;;;;;;;;;4580:42;;4666:7;4674:4;4666:13;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;4717:1;4687:7;4695:4;4687:13;;;;;;:::i;:::-;;;;;;;;;;;;;;:20;;:27;:31;;;;:::i;:::-;4666:53;;;;;;;;:::i;:::-;;;;;;;;;4636:7;4644:4;4636:13;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;4657:5;4636:27;;;;;;;;:::i;:::-;;;;;;;;:83;;;;4733:7;4741:4;4733:13;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4773:174;4778:10;4820:7;4828:4;4820:13;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;4843:10;;;;;;;;;;;;;-1:-1:-1;;;4843:10:19;;;4879:17;4888:7;4879:8;:17::i;:::-;4899:14;;;;;;;;;;;;;-1:-1:-1;;;4899:14:19;;;4797:117;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4797:117:19;;;;;;;;;4917:1;4930;4920:9;4928:1;4920:7;:9;:::i;:::-;:11;;;;:::i;:::-;4933:4;4939:7;4773:4;:174::i;:::-;4461:497;;4972:6;4968:515;4985:1;4981;:5;4968:515;;;5007:10;5071:7;5079:4;5071:13;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:19;;:26;5052:15;5035:33;;;16332:19:31;;;;16367:12;5035:33:19;;;;;;;;;;;;5025:44;;;;;;5020:50;;:77;;;;:::i;:::-;5007:90;;5111:12;5126:7;5134:4;5126:13;;;;;;:::i;:::-;;;;;;;;;;;;;:19;;5146:5;5126:26;;;;;;;;:::i;:::-;;;;;;;;;5111:41;;5195:7;5203:4;5195:13;;;;;;:::i;:::-;;;;;;;;;;;;;:19;;5244:1;5215:7;5223:4;5215:13;;;;;;:::i;:::-;;;;;;;;;;;;;;:19;;:26;:30;;;;:::i;:::-;5195:51;;;;;;;;:::i;:::-;;;;;;;;;5166:7;5174:4;5166:13;;;;;;:::i;:::-;;;;;;;;;;;;;:19;;5186:5;5166:26;;;;;;;;:::i;:::-;;;;;;;;:80;;;;5260:7;5268:4;5260:13;;;;;;:::i;:::-;;;;;;;;;;;;;:19;;:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5299:173;5304:10;5347:7;5355:4;5347:13;;;;;;:::i;:::-;;;;;;;;;;;;;:20;;5370:10;;;;;;;;;;;;;-1:-1:-1;;;5370:10:19;;;5406:17;5415:7;5406:8;:17::i;:::-;5426:14;;;;;;;;;;;;;-1:-1:-1;;;5426:14:19;;;5324:117;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5324:117:19;;;;;;;;;5444:1;5447:9;5455:1;5447:7;:9;:::i;:::-;5458:4;5464:7;5299:4;:173::i;:::-;4993:490;;4988:3;;;;;:::i;:::-;;;;4968:515;;;;5498:25;5506:10;5518:4;5498:25;;;;;;;:::i;:::-;;;;;;;;3983:1547;3923:1607;;:::o;2905:205::-;3040:4;3067:36;3091:11;3067:23;:36::i;:::-;3060:43;2905:205;-1:-1:-1;;2905:205:19:o;2471:98:5:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;19486:2:31;3597:57:5;;;19468:21:31;19525:2;19505:18;;;19498:30;19564:34;19544:18;;;19537:62;-1:-1:-1;;;19615:18:31;;;19608:31;19656:19;;3597:57:5;19284:397:31;3597:57:5;3702:5;-1:-1:-1;;;;;3686:21:5;:12;:10;:12::i;:::-;-1:-1:-1;;;;;3686:21:5;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;19888:2:31;3665:170:5;;;19870:21:31;19927:2;19907:18;;;19900:30;19966:34;19946:18;;;19939:62;20037:31;20017:18;;;20010:59;20086:19;;3665:170:5;19686:425:31;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;8283:159:19:-;8400:35;8417:4;8423:2;8427:7;8400:16;:35::i;1015:73::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8448:1721::-;8533:10;8516:13;8524:4;8516:7;:13::i;:::-;-1:-1:-1;;;;;8516:27:19;;8508:61;;;;-1:-1:-1;;;8508:61:19;;20318:2:31;8508:61:19;;;20300:21:31;20357:2;20337:18;;;20330:30;-1:-1:-1;;;20376:18:31;;;20369:51;20437:18;;8508:61:19;20116:345:31;8508:61:19;8605:10;8587:14;8595:5;8587:7;:14::i;:::-;-1:-1:-1;;;;;8587:28:19;;8579:63;;;;-1:-1:-1;;;8579:63:19;;20668:2:31;8579:63:19;;;20650:21:31;20707:2;20687:18;;;20680:30;-1:-1:-1;;;20726:18:31;;;20719:52;20788:18;;8579:63:19;20466:346:31;8579:63:19;8660:12;;;;:5;:12;;;;;:18;;;:23;8652:56;;;;-1:-1:-1;;;8652:56:19;;21019:2:31;8652:56:19;;;21001:21:31;21058:2;21038:18;;;21031:30;-1:-1:-1;;;21077:18:31;;;21070:50;21137:18;;8652:56:19;20817:344:31;8652:56:19;8719:24;8746:11;;;:5;:11;;;;;:18;;8719:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8778:7;8774:443;8810:10;8790:31;;;;:19;:31;;;;;;;:43;;;;8822:10;;8790:43;:::i;:::-;;;;;;;;;;;;;;:50;8788:52;;;;8774:443;;;8919:11;;;;:5;:11;;;;;;;;:18;;;8882:10;8862:31;;:19;:31;;;;;;;:43;;8919:18;;8862:31;:43;;8894:10;;8862:43;:::i;:::-;;;;;;;;;;;;;8906:1;8862:46;;;;;;;;;;:::i;:::-;;;;;;;;;;;:53;;;:75;8859:348;;9046:10;9026:31;;;;:19;:31;;;;;;;:43;;;;9058:10;;9026:43;:::i;:::-;;;;;;;;;;;;;9123:1;9070:19;:31;9090:10;-1:-1:-1;;;;;9070:31:19;-1:-1:-1;;;;;9070:31:19;;;;;;;;;;;;9102:10;9070:43;;;;;;:::i;:::-;;;;;;;;;;;;;;:50;:54;;;;:::i;:::-;9026:99;;;;;;;;:::i;:::-;;;;;;;;;8976:10;8956:31;;:19;:31;;;;;;;;:43;;9026:99;;;;;;8956:31;:43;;8988:10;;8956:43;:::i;:::-;;;;;;;;;;;;;9000:1;8956:46;;;;;;;;;;:::i;:::-;;;;;;;;;;;:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8956:169:19;;;;;;;;;;;;;;;;;9163:10;-1:-1:-1;9143:31:19;;;:19;:31;;;;;;;:43;;;;9175:10;;9143:43;:::i;:::-;;;;;;;;;;;;;:49;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;9143:49:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9143:49:19;;;;;;;;;;;;;;8859:348;8841:3;;;;:::i;:::-;;;;8774:443;;;;9227:11;9233:4;9227:5;:11::i;:::-;9248:12;;;;:5;:12;;;;;:23;;:25;;;;;;:::i;:::-;;;;-1:-1:-1;;9303:10:19;9283:31;;;;:19;:31;;;;;;;;9315:11;;;:5;:11;;;;;;;9283:51;;:31;;:51;;9315:18;;;;;9283:51;:::i;:::-;;;;;;;;;;;;;9335:1;9283:54;;;;;;;;:::i;:::-;;;;;;;;:65;:54;;;;;:65;:67;;;;;;:::i;:::-;;;;-1:-1:-1;;9364:12:19;;;;:5;:12;;;;;:23;;;9391:1;9364:28;9361:800;;9407:25;9435:12;;;:5;:12;;;;;:19;;9407:47;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9501:1;9471:7;9479:11;9471:20;;;;;;:::i;:::-;;;;;;;;;;;;;;:27;:31;9468:416;;;9521:7;9529:11;9521:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:37;;;;;;;;-1:-1:-1;9521:37:19;;;;;;;;;-1:-1:-1;;;;;;9521:37:19;9547:10;9521:37;;;-1:-1:-1;9663:2:19;;9621:6;;9628:7;;:20;;9636:11;;9628:20;:::i;:::-;;;;;;;;;;;;;;:27;:31;;;;:::i;:::-;9621:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9592:68;;:7;9600:11;9592:20;;;;;;:::i;:::-;;;;;;;;;;;;;;:26;:68;;;;:::i;:::-;:73;;;;:::i;:::-;9576:89;;9700:13;;9691:5;:22;;9683:83;;;;-1:-1:-1;;;9683:83:19;;23916:2:31;9683:83:19;;;23898:21:31;23955:2;23935:18;;;23928:30;23994:34;23974:18;;;23967:62;-1:-1:-1;;;24045:18:31;;;24038:46;24101:19;;9683:83:19;23714:412:31;9683:83:19;9801:5;9784:13;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;9831:9:19;;9824:45;;-1:-1:-1;;;9824:45:19;;9851:10;9824:45;;;24305:51:31;24372:18;;;24365:34;;;-1:-1:-1;;;;;9831:9:19;;;;9824:26;;24278:18:31;;9824:45:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9503:381;9468:416;9897:174;9910:5;9947:7;9955:11;9947:20;;;;;;:::i;:::-;;;;;;;;;;;;;:27;;10003:10;;;;;;;;;;;;;-1:-1:-1;;;10003:10:19;;;10021:29;10030:5;:12;10036:5;10030:12;;;;;;;;;;;:19;;;10021:8;:29::i;:::-;10053:15;;;;;;;;;;;;;-1:-1:-1;;;10053:15:19;;;9924:145;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9897:12;:174::i;:::-;10090:60;10097:10;10109:11;10122:7;10130:11;10122:20;;;;;;:::i;:::-;;;;;;;;;;;;;;:27;10090:60;;;;;:::i;:::-;;;;;;;;9393:768;8498:1671;8448:1721;;:::o;4974:149:5:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;11011:99:19:-;1094:13:0;:11;:13::i;:::-;11084:7:19::1;:19;11094:9:::0;11084:7;:19:::1;:::i;:::-;;11011:99:::0;:::o;1151:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2190:219:5:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;26365:2:31;2324:56:5;;;26347:21:31;26404:2;26384:18;;;26377:30;-1:-1:-1;;;26423:18:31;;;26416:54;26487:18;;2324:56:5;26163:348:31;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;26718:2:31;2020:73:5;;;26700:21:31;26757:2;26737:18;;;26730:30;26796:34;26776:18;;;26769:62;-1:-1:-1;;;26847:18:31;;;26840:39;26896:19;;2020:73:5;26516:405:31;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1465:229:19:-;1094:13:0;:11;:13::i;:::-;1586:7:19::1;:19;1596:9:::0;1586:7;:19:::1;:::i;:::-;-1:-1:-1::0;1615:9:19::1;:28:::0;;-1:-1:-1;;;;;1615:28:19;;::::1;-1:-1:-1::0;;;;;;1615:28:19;;::::1;;::::0;;;1653:15:::1;:34:::0;;;;;::::1;::::0;::::1;;::::0;;-1:-1:-1;1465:229:19:o;849:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6351:122::-;6415:13;6447:7;6455:4;6447:13;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:19;;6440:26;;;;;;;;;;;;;;;6447:19;6440:26;;;6447:19;6440:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6351:122;;;:::o;5536:621::-;1094:13:0;:11;:13::i;:::-;5666:15:19::1;5657:5;:24;;5649:75;;;::::0;-1:-1:-1;;;5649:75:19;;27128:2:31;5649:75:19::1;::::0;::::1;27110:21:31::0;27167:2;27147:18;;;27140:30;27206:34;27186:18;;;27179:62;-1:-1:-1;;;27257:18:31;;;27250:36;27303:19;;5649:75:19::1;26926:402:31::0;5649:75:19::1;5742:10;5751:1;5742:6:::0;:10:::1;:::i;:::-;:15:::0;5734:56:::1;;;::::0;-1:-1:-1;;;5734:56:19;;27535:2:31;5734:56:19::1;::::0;::::1;27517:21:31::0;27574:2;27554:18;;;27547:30;27613;27593:18;;;27586:58;27661:18;;5734:56:19::1;27333:352:31::0;5734:56:19::1;5822:5;5800:7;5808:4;5800:13;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:27;;;;5860:6;;5837:7:::1;::::0;:13:::1;::::0;5845:4;;5837:13:::1;:::i;:::-;;;;;;;;;;;;;:20;;:29;;;;;;:::i;:::-;-1:-1:-1::0;5876:11:19::1;:22:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;5876:22:19;;;;;::::1;;5893:4:::0;5876:22;::::1;:::i;:::-;-1:-1:-1::0;5908:12:19::1;:24:::0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;5908:24:19;;;;;::::1;::::0;;;5951:200:::1;5972:6;5967:1;:11;5951:200;;6002:5;6006:1;6002::::0;:5:::1;:::i;:::-;6011:1;6002:10:::0;5999:142:::1;;6032:7;6040:4;6032:13;;;;;;:::i;:::-;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;:20:::1;;:28:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;6032:28:19;;;;;;::::1;::::0;;;5999:142:::1;;;6099:7;6107:4;6099:13;;;;;;:::i;:::-;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;:19:::1;::::0;;::::1;:27:::0;;;;::::1;::::0;;-1:-1:-1;6099:27:19;;;;;;;::::1;::::0;;;5999:142:::1;5980:3:::0;::::1;::::0;::::1;:::i;:::-;;;;5951:200;;;;5536:621:::0;;;;:::o;896:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6661:131::-;6730:16;6765:7;6773:11;;6765:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6758:27;;;;;;;;;;;;;;;6765:20;6758:27;;;6765:20;6758:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6758:27:19;;;;;;;;;;;;;;;;;;;;;;;6661:131;;;;:::o;2633:102:5:-;2689:13;2721:7;2714:14;;;;;:::i;454:21:19:-;;;;;;;:::i;4169:153:5:-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;6163:131:19:-;6208:15;6225:16;6261:11;6274:12;6253:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6163:131;;:::o;7617:660::-;7757:24;7784:14;;;:5;:14;;;;;:21;;7757:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7823:27;7839:10;7823:15;:27::i;:::-;:34;:39;7815:93;;;;-1:-1:-1;;;7815:93:19;;28170:2:31;7815:93:19;;;28152:21:31;28209:2;28189:18;;;28182:30;28248:34;28228:18;;;28221:62;-1:-1:-1;;;28299:18:31;;;28292:39;28348:19;;7815:93:19;27968:405:31;7815:93:19;7918:47;7941:4;7947:2;7951:7;7960:4;7918:22;:47::i;:::-;7978:14;;;;:5;:14;;;;;:20;;;;;:25;;7975:246;;8026:7;8034:10;8026:19;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8026:30:19;;;;;;:26;;;;:30;;;;;;;;8018:78;;;;-1:-1:-1;;;8018:78:19;;28580:2:31;8018:78:19;;;28562:21:31;28619:2;28599:18;;;28592:30;28658:34;28638:18;;;28631:62;-1:-1:-1;;;28709:18:31;;;28702:33;28752:19;;8018:78:19;28378:399:31;8018:78:19;7975:246;;;8135:14;;;;:5;:14;;;;;:25;;;8164:1;8135:30;8127:83;;;;-1:-1:-1;;;8127:83:19;;28984:2:31;8127:83:19;;;28966:21:31;29023:2;29003:18;;;28996:30;29062:34;29042:18;;;29035:62;-1:-1:-1;;;29113:18:31;;;29106:38;29161:19;;8127:83:19;28782:404:31;8127:83:19;8230:40;8252:4;8258:2;8262:7;8230:21;:40::i;6531:124::-;6596:13;6628:7;6636:4;6628:13;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:20;;6621:27;;;;;;;;;;;;;;;6628:20;6621:27;;;6628:20;6621:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6531:124;;;:::o;10877:128::-;1094:13:0;:11;:13::i;:::-;10961:15:19::1;:37:::0;;-1:-1:-1;;;;;;10961:37:19::1;-1:-1:-1::0;;;;;10961:37:19;;;::::1;::::0;;;::::1;::::0;;10877:128::o;2710:189::-;2833:13;2869:23;2884:7;2869:14;:23::i;1184:29::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1184:29:19;:::o;3116:537::-;3224:15;-1:-1:-1;;;;;;;3414:64:19;;;3410:106;;-1:-1:-1;3501:4:19;3494:11;;3410:106;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;3604:42:19;3597:49;3116:537;-1:-1:-1;;;3116:537:19:o;6798:174::-;-1:-1:-1;;;;;6926:26:19;;;;;;:19;:26;;;;;;;:39;;6894:13;;6926:26;:39;;6953:11;;;;6926:39;:::i;:::-;;;;;;;;;;;;;6919:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6798:174;;;;;:::o;2074:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;29393:2:31;2154:73:0::1;::::0;::::1;29375:21:31::0;29432:2;29412:18;;;29405:30;29471:34;29451:18;;;29444:62;-1:-1:-1;;;29522:18:31;;;29515:36;29568:19;;2154:73:0::1;29191:402:31::0;2154:73:0::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;10175:696:19:-;10231:13;10441:5;10450:1;10441:10;10437:51;;-1:-1:-1;;10467:10:19;;;;;;;;;;;;-1:-1:-1;;;10467:10:19;;;;;10175:696::o;10437:51::-;10512:5;10497:12;10551:75;10558:9;;10551:75;;10583:8;;;;:::i;:::-;;-1:-1:-1;10605:10:19;;-1:-1:-1;10613:2:19;10605:10;;:::i;:::-;;;10551:75;;;10635:19;10667:6;-1:-1:-1;;;;;10657:17:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10657:17:19;;10635:39;;10684:150;10691:10;;10684:150;;10717:11;10727:1;10717:11;;:::i;:::-;;-1:-1:-1;10785:10:19;10793:2;10785:5;:10;:::i;:::-;10772:24;;:2;:24;:::i;:::-;10759:39;;10742:6;10749;10742:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;10742:56:19;;;;;;;;-1:-1:-1;10812:11:19;10821:2;10812:11;;:::i;:::-;;;10684:150;;;10857:6;10175:696;-1:-1:-1;;;;10175:696:19:o;1804:564::-;1975:15;;;;2019:1;;1957:15;2000:20;2019:1;1975:15;2000:20;:::i;:::-;;;;-1:-1:-1;;2030:14:19;;;;:5;:14;;;;;:32;;;2072:20;;;:29;;;2111:25;;;:39;;;2160:21;;:31;2184:7;2160:21;:31;:::i;:::-;-1:-1:-1;2201:14:19;;;;:5;:14;;;;;;;;:21;;:33;;;-1:-1:-1;;;;;2244:23:19;;;;:19;:23;;;;;;;:32;;;;2268:7;;2244:32;:::i;:::-;;;;;;;;;;;;;;;;2282:14;;;;:5;:14;;;;;2244:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2282:14;2244:53;;;;;;;;;;;:::i;:::-;-1:-1:-1;2244:53:19;;;;;;;;;;;;;;;;;2307:18;2313:2;2317:7;2307:5;:18::i;:::-;2335:26;2348:7;2357:3;2335:12;:26::i;:::-;1947:421;1804:564;;;;;;:::o;535:205:9:-;637:4;-1:-1:-1;;;;;;660:33:9;;-1:-1:-1;;;660:33:9;;:73;;;697:36;721:11;697:23;:36::i;13240:133:5:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;26365:2:31;13313:53:5;;;26347:21:31;26404:2;26384:18;;;26377:30;-1:-1:-1;;;26423:18:31;;;26416:54;26487:18;;13313:53:5;26163:348:31;3793:124:19;3847:14;3884:26;:24;:26::i;:::-;3877:33;;3793:124;:::o;12572:171:5:-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;2591:113:19:-;2677:20;2689:7;2677:11;:20::i;1599:253:9:-;7185:4:5;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;1690:75:9;;;;-1:-1:-1;;;1690:75:9;;29800:2:31;1690:75:9;;;29782:21:31;29839:2;29819:18;;;29812:30;29878:34;29858:18;;;29851:62;-1:-1:-1;;;29929:18:31;;;29922:44;29983:19;;1690:75:9;29598:410:31;1690:75:9;1775:19;;;;:10;:19;;;;;:31;1797:9;1775:19;:31;:::i;:::-;-1:-1:-1;1822:23:9;;5872:25:31;;;1822:23:9;;5860:2:31;5845:18;1822:23:9;;;;;;;1599:253;;:::o;1359:130:0:-;1433:12;:10;:12::i;:::-;-1:-1:-1;;;;;1422:23:0;:7;1273:6;;-1:-1:-1;;;;;1273:6:0;;1201:85;1422:7;-1:-1:-1;;;;;1422:23:0;;1414:68;;;;-1:-1:-1;;;1414:68:0;;30215:2:31;1414:68:0;;;30197:21:31;;;30234:18;;;30227:30;30293:34;30273:18;;;30266:62;30345:18;;1414:68:0;30013:356:31;2426:187:0;2518:6;;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;12879:277:5:-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;30576:2:31;12982:55:5;;;30558:21:31;30615:2;30595:18;;;30588:30;30654:27;30634:18;;;30627:55;30699:18;;12982:55:5;30374:349:31;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;1931::31;;;13108::5;;1904:18:31;13108:41:5;;;;;;;12879:277;;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;30930:2:31;5311:99:5;;;30912:21:31;30969:2;30949:18;;;30942:30;31008:34;30988:18;;;30981:62;-1:-1:-1;;;31059:18:31;;;31052:43;31112:19;;5311:99:5;30728:409:31;5311:99:5;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;6978:633:19:-;7071:24;7098:14;;;:5;:14;;;;;:21;;7071:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:7;7129:410;-1:-1:-1;;;;;7145:25:19;;;;;;:19;:25;;;;;;;:37;;;;7171:10;;7145:37;:::i;:::-;;;;;;;;;;;;;;:44;7143:46;;;;7129:410;;;7262:14;;;;:5;:14;;;;;;;;:21;;;-1:-1:-1;;;;;7211:25:19;;;;:19;:25;;;;;;;:37;;7262:21;;7211:25;:37;;7237:10;;7211:37;:::i;:::-;;;;;;;;;;;;;7249:1;7211:40;;;;;;;;;;:::i;:::-;;;;;;;;;;;:47;;;:72;7208:321;;-1:-1:-1;;;;;7366:25:19;;;;;;:19;:25;;;;;;;:37;;;;7392:10;;7366:37;:::i;:::-;;;;;;;;;;;;;7451:1;7404:19;:25;7424:4;-1:-1:-1;;;;;7404:25:19;-1:-1:-1;;;;;7404:25:19;;;;;;;;;;;;7430:10;7404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;:44;:48;;;;:::i;:::-;7366:87;;;;;;;;:::i;:::-;;;;;;;;;;;7302:19;:25;7322:4;-1:-1:-1;;;;;7302:25:19;-1:-1:-1;;;;;7302:25:19;;;;;;;;;;;;7328:10;7302:37;;;;;;:::i;:::-;;;;;;;;;;;;;7340:1;7302:40;;;;;;;;;;:::i;:::-;;;;;;;;;;;:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7302:151:19;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7471:25:19;;-1:-1:-1;7471:25:19;;;:19;:25;;;;;;;:37;;;;7497:10;;7471:37;:::i;:::-;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;7471:43:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7471:43:19;;;;;;;;;;;;;;7208:321;7190:3;;;;:::i;:::-;;;;7129:410;;;-1:-1:-1;;;;;;7548:23:19;;;;;;:19;:23;;;;;;;:35;;;;7572:10;;7548:35;:::i;:::-;;;;;;;;;;;;;;;;7589:14;;;;:5;:14;;;;;7548:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7589:14;7548:56;;;;;;;;;;;:::i;:::-;-1:-1:-1;7548:56:19;;;;;;;;;;;;;;;;;-1:-1:-1;;;;6978:633:19:o;806:608:9:-;879:13;904:23;919:7;904:14;:23::i;:::-;938;964:19;;;:10;:19;;;;;938:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:18;1014:10;:8;:10::i;:::-;993:31;;1103:4;1097:18;1119:1;1097:23;1093:70;;-1:-1:-1;1143:9:9;806:608;-1:-1:-1;;806:608:9:o;1093:70::-;1265:23;;:27;1261:106;;1339:4;1345:9;1322:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1308:48;;;;806:608;;;:::o;1261:106::-;1384:23;1399:7;1384:14;:23::i;8925:920:5:-;-1:-1:-1;;;;;9004:16:5;;8996:61;;;;-1:-1:-1;;;8996:61:5;;31845:2:31;8996:61:5;;;31827:21:31;;;31864:18;;;31857:30;31923:34;31903:18;;;31896:62;31975:18;;8996:61:5;31643:356:31;8996:61:5;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:5;;32206:2:31;9067:58:5;;;32188:21:31;32245:2;32225:18;;;32218:30;32284;32264:18;;;32257:58;32332:18;;9067:58:5;32004:352:31;9067:58:5;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:5;;32206:2:31;9271:58:5;;;32188:21:31;32245:2;32225:18;;;32218:30;32284;32264:18;;;32257:58;32332:18;;9271:58:5;32004:352:31;9271:58:5;-1:-1:-1;;;;;9671:13:5;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:5;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;11084:19:19::1;11011:99:::0;:::o;1570:300:5:-;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;829:155:15;97:651:20;165:22;229:4;207:10;:27;203:516;;250:18;271:8;;250:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;309:8:20;536:17;530:24;-1:-1:-1;;;;;505:131:20;;-1:-1:-1;203:516:20;;-1:-1:-1;203:516:20;;-1:-1:-1;697:10:20;203:516;97:651;:::o;2070:200:9:-;2138:20;2150:7;2138:11;:20::i;:::-;2179:19;;;;:10;:19;;;;;2173:33;;;;;:::i;:::-;:38;;-1:-1:-1;2169:95:9;;2234:19;;;;:10;:19;;;;;2227:26;;;:::i;7404:261:5:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;1700:98:19:-;1752:13;1784:7;1777:14;;;;;:::i;2801:276:5:-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;2374:211:19:-;2522:56;5189:276:5;10171:762;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10280:51;10301:5;10316:1;10320:7;10329:1;10280:20;:51::i;:::-;10441:23;10456:7;10441:14;:23::i;:::-;10509:24;;;;:15;:24;;;;;;;;10502:31;;-1:-1:-1;;;;;;10502:31:5;;;;;;-1:-1:-1;;;;;10749:16:5;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10749:21:5;;;10797:16;;;:7;:16;;;;;;10790:23;;;;;;;10829:36;10433:31;;-1:-1:-1;10525:7:5;;10829:36;;10509:24;;10829:36;11084:19:19::1;11011:99:::0;:::o;11257:1203:5:-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;33388:2:31;11437:65:5;;;33370:21:31;33427:2;33407:18;;;33400:30;33466:34;33446:18;;;33439:62;-1:-1:-1;;;33517:18:31;;;33510:34;33561:19;;11437:65:5;33186:400:31;11437:65:5;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;13925:831::-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14145:2;-1:-1:-1;;;;;14129:36:5;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;13925:831;;;;;;:::o;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;-1:-1:-1;;;;;627:18:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:31:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:632;211:5;-1:-1:-1;;;;;282:2:31;274:6;271:14;268:40;;;288:18;;:::i;:::-;363:2;357:9;331:2;417:15;;-1:-1:-1;;413:24:31;;;439:2;409:33;405:42;393:55;;;463:18;;;483:22;;;460:46;457:72;;;509:18;;:::i;:::-;549:10;545:2;538:22;578:6;569:15;;608:6;600;593:22;648:3;639:6;634:3;630:16;627:25;624:45;;;665:1;662;655:12;624:45;715:6;710:3;703:4;695:6;691:17;678:44;770:1;763:4;754:6;746;742:19;738:30;731:41;;;;146:632;;;;;:::o;783:222::-;826:5;879:3;872:4;864:6;860:17;856:27;846:55;;897:1;894;887:12;846:55;919:80;995:3;986:6;973:20;966:4;958:6;954:17;919:80;:::i;1010:390::-;1088:6;1096;1149:2;1137:9;1128:7;1124:23;1120:32;1117:52;;;1165:1;1162;1155:12;1117:52;1201:9;1188:23;1178:33;;1262:2;1251:9;1247:18;1234:32;-1:-1:-1;;;;;1281:6:31;1278:30;1275:50;;;1321:1;1318;1311:12;1275:50;1344;1386:7;1377:6;1366:9;1362:22;1344:50;:::i;:::-;1334:60;;;1010:390;;;;;:::o;1405:131::-;-1:-1:-1;;;;;;1479:32:31;;1469:43;;1459:71;;1526:1;1523;1516:12;1541:245;1599:6;1652:2;1640:9;1631:7;1627:23;1623:32;1620:52;;;1668:1;1665;1658:12;1620:52;1707:9;1694:23;1726:30;1750:5;1726:30;:::i;1983:250::-;2068:1;2078:113;2092:6;2089:1;2086:13;2078:113;;;2168:11;;;2162:18;2149:11;;;2142:39;2114:2;2107:10;2078:113;;;-1:-1:-1;;2225:1:31;2207:16;;2200:27;1983:250::o;2238:271::-;2280:3;2318:5;2312:12;2345:6;2340:3;2333:19;2361:76;2430:6;2423:4;2418:3;2414:14;2407:4;2400:5;2396:16;2361:76;:::i;:::-;2491:2;2470:15;-1:-1:-1;;2466:29:31;2457:39;;;;2498:4;2453:50;;2238:271;-1:-1:-1;;2238:271:31:o;2514:220::-;2663:2;2652:9;2645:21;2626:4;2683:45;2724:2;2713:9;2709:18;2701:6;2683:45;:::i;2739:180::-;2798:6;2851:2;2839:9;2830:7;2826:23;2822:32;2819:52;;;2867:1;2864;2857:12;2819:52;-1:-1:-1;2890:23:31;;2739:180;-1:-1:-1;2739:180:31:o;3132:173::-;3200:20;;-1:-1:-1;;;;;3249:31:31;;3239:42;;3229:70;;3295:1;3292;3285:12;3229:70;3132:173;;;:::o;3310:254::-;3378:6;3386;3439:2;3427:9;3418:7;3414:23;3410:32;3407:52;;;3455:1;3452;3445:12;3407:52;3478:29;3497:9;3478:29;:::i;:::-;3468:39;3554:2;3539:18;;;;3526:32;;-1:-1:-1;;;3310:254:31:o;3569:328::-;3646:6;3654;3662;3715:2;3703:9;3694:7;3690:23;3686:32;3683:52;;;3731:1;3728;3721:12;3683:52;3754:29;3773:9;3754:29;:::i;:::-;3744:39;;3802:38;3836:2;3825:9;3821:18;3802:38;:::i;:::-;3792:48;;3887:2;3876:9;3872:18;3859:32;3849:42;;3569:328;;;;;:::o;3902:464::-;3989:6;3997;4005;4058:2;4046:9;4037:7;4033:23;4029:32;4026:52;;;4074:1;4071;4064:12;4026:52;4097:29;4116:9;4097:29;:::i;:::-;4087:39;;4177:2;4166:9;4162:18;4149:32;-1:-1:-1;;;;;4196:6:31;4193:30;4190:50;;;4236:1;4233;4226:12;4190:50;4259;4301:7;4292:6;4281:9;4277:22;4259:50;:::i;:::-;4249:60;;;4356:2;4345:9;4341:18;4328:32;4318:42;;3902:464;;;;;:::o;4371:579::-;4660:6;4649:9;4642:25;4703:6;4698:2;4687:9;4683:18;4676:34;4746:6;4741:2;4730:9;4726:18;4719:34;4789:3;4784:2;4773:9;4769:18;4762:31;4623:4;4810:46;4851:3;4840:9;4836:19;4828:6;4810:46;:::i;:::-;4887:3;4872:19;;4865:35;;;;-1:-1:-1;4931:3:31;4916:19;4909:35;4802:54;4371:579;-1:-1:-1;;;;4371:579:31:o;4955:248::-;5023:6;5031;5084:2;5072:9;5063:7;5059:23;5055:32;5052:52;;;5100:1;5097;5090:12;5052:52;-1:-1:-1;;5123:23:31;;;5193:2;5178:18;;;5165:32;;-1:-1:-1;4955:248:31:o;5208:322::-;5277:6;5330:2;5318:9;5309:7;5305:23;5301:32;5298:52;;;5346:1;5343;5336:12;5298:52;5386:9;5373:23;-1:-1:-1;;;;;5411:6:31;5408:30;5405:50;;;5451:1;5448;5441:12;5405:50;5474;5516:7;5507:6;5496:9;5492:22;5474:50;:::i;5535:186::-;5594:6;5647:2;5635:9;5626:7;5622:23;5618:32;5615:52;;;5663:1;5660;5653:12;5615:52;5686:29;5705:9;5686:29;:::i;5908:470::-;5995:6;6003;6011;6064:2;6052:9;6043:7;6039:23;6035:32;6032:52;;;6080:1;6077;6070:12;6032:52;6120:9;6107:23;-1:-1:-1;;;;;6145:6:31;6142:30;6139:50;;;6185:1;6182;6175:12;6139:50;6208;6250:7;6241:6;6230:9;6226:22;6208:50;:::i;:::-;6198:60;;;6277:38;6311:2;6300:9;6296:18;6277:38;:::i;:::-;6267:48;;6334:38;6368:2;6357:9;6353:18;6334:38;:::i;:::-;6324:48;;5908:470;;;;;:::o;6383:291::-;6560:6;6549:9;6542:25;6603:2;6598;6587:9;6583:18;6576:30;6523:4;6623:45;6664:2;6653:9;6649:18;6641:6;6623:45;:::i;6679:435::-;6732:3;6770:5;6764:12;6797:6;6792:3;6785:19;6823:4;6852:2;6847:3;6843:12;6836:19;;6889:2;6882:5;6878:14;6910:1;6920:169;6934:6;6931:1;6928:13;6920:169;;;6995:13;;6983:26;;7029:12;;;;7064:15;;;;6956:1;6949:9;6920:169;;;-1:-1:-1;7105:3:31;;6679:435;-1:-1:-1;;;;;6679:435:31:o;7119:261::-;7298:2;7287:9;7280:21;7261:4;7318:56;7370:2;7359:9;7355:18;7347:6;7318:56;:::i;7385:680::-;7491:6;7499;7507;7515;7568:3;7556:9;7547:7;7543:23;7539:33;7536:53;;;7585:1;7582;7575:12;7536:53;7625:9;7612:23;-1:-1:-1;;;;;7695:2:31;7687:6;7684:14;7681:34;;;7711:1;7708;7701:12;7681:34;7734:50;7776:7;7767:6;7756:9;7752:22;7734:50;:::i;:::-;7724:60;;7831:2;7820:9;7816:18;7803:32;7793:42;;7882:2;7871:9;7867:18;7854:32;7844:42;;7939:2;7928:9;7924:18;7911:32;7895:48;;7968:2;7958:8;7955:16;7952:36;;;7984:1;7981;7974:12;7952:36;;8007:52;8051:7;8040:8;8029:9;8025:24;8007:52;:::i;:::-;7997:62;;;7385:680;;;;;;;:::o;8070:348::-;8122:8;8132:6;8186:3;8179:4;8171:6;8167:17;8163:27;8153:55;;8204:1;8201;8194:12;8153:55;-1:-1:-1;8227:20:31;;-1:-1:-1;;;;;8259:30:31;;8256:50;;;8302:1;8299;8292:12;8256:50;8339:4;8331:6;8327:17;8315:29;;8391:3;8384:4;8375:6;8367;8363:19;8359:30;8356:39;8353:59;;;8408:1;8405;8398:12;8353:59;8070:348;;;;;:::o;8423:411::-;8494:6;8502;8555:2;8543:9;8534:7;8530:23;8526:32;8523:52;;;8571:1;8568;8561:12;8523:52;8611:9;8598:23;-1:-1:-1;;;;;8636:6:31;8633:30;8630:50;;;8676:1;8673;8666:12;8630:50;8715:59;8766:7;8757:6;8746:9;8742:22;8715:59;:::i;:::-;8793:8;;8689:85;;-1:-1:-1;8423:411:31;-1:-1:-1;;;;8423:411:31:o;8839:658::-;9010:2;9062:21;;;9132:13;;9035:18;;;9154:22;;;8981:4;;9010:2;9233:15;;;;9207:2;9192:18;;;8981:4;9276:195;9290:6;9287:1;9284:13;9276:195;;;9355:13;;-1:-1:-1;;;;;9351:39:31;9339:52;;9446:15;;;;9411:12;;;;9387:1;9305:9;9276:195;;;-1:-1:-1;9488:3:31;;8839:658;-1:-1:-1;;;;;;8839:658:31:o;9502:118::-;9588:5;9581:13;9574:21;9567:5;9564:32;9554:60;;9610:1;9607;9600:12;9625:315;9690:6;9698;9751:2;9739:9;9730:7;9726:23;9722:32;9719:52;;;9767:1;9764;9757:12;9719:52;9790:29;9809:9;9790:29;:::i;:::-;9780:39;;9869:2;9858:9;9854:18;9841:32;9882:28;9904:5;9882:28;:::i;:::-;9929:5;9919:15;;;9625:315;;;;;:::o;9945:980::-;10185:4;10233:2;10222:9;10218:18;10263:2;10252:9;10245:21;10286:6;10321;10315:13;10352:6;10344;10337:22;10390:2;10379:9;10375:18;10368:25;;10452:2;10442:6;10439:1;10435:14;10424:9;10420:30;10416:39;10402:53;;10474:4;10513:2;10505:6;10501:15;10534:1;10544:255;10558:6;10555:1;10552:13;10544:255;;;10651:2;10647:7;10635:9;10627:6;10623:22;10619:36;10614:3;10607:49;10679:40;10712:6;10703;10697:13;10679:40;:::i;:::-;10669:50;-1:-1:-1;10777:12:31;;;;10742:15;;;;10580:1;10573:9;10544:255;;;10548:3;;10847:9;10839:6;10835:22;10830:2;10819:9;10815:18;10808:50;;;;10875:44;10912:6;10904;10875:44;:::i;:::-;10867:52;9945:980;-1:-1:-1;;;;;9945:980:31:o;10930:667::-;11025:6;11033;11041;11049;11102:3;11090:9;11081:7;11077:23;11073:33;11070:53;;;11119:1;11116;11109:12;11070:53;11142:29;11161:9;11142:29;:::i;:::-;11132:39;;11190:38;11224:2;11213:9;11209:18;11190:38;:::i;:::-;11180:48;;11275:2;11264:9;11260:18;11247:32;11237:42;;11330:2;11319:9;11315:18;11302:32;-1:-1:-1;;;;;11349:6:31;11346:30;11343:50;;;11389:1;11386;11379:12;11343:50;11412:22;;11465:4;11457:13;;11453:27;-1:-1:-1;11443:55:31;;11494:1;11491;11484:12;11443:55;11517:74;11583:7;11578:2;11565:16;11560:2;11556;11552:11;11517:74;:::i;11602:260::-;11670:6;11678;11731:2;11719:9;11710:7;11706:23;11702:32;11699:52;;;11747:1;11744;11737:12;11699:52;11770:29;11789:9;11770:29;:::i;:::-;11760:39;;11818:38;11852:2;11841:9;11837:18;11818:38;:::i;:::-;11808:48;;11602:260;;;;;:::o;11867:485::-;11947:6;11955;11963;12016:2;12004:9;11995:7;11991:23;11987:32;11984:52;;;12032:1;12029;12022:12;11984:52;12055:29;12074:9;12055:29;:::i;:::-;12045:39;;12135:2;12124:9;12120:18;12107:32;-1:-1:-1;;;;;12154:6:31;12151:30;12148:50;;;12194:1;12191;12184:12;12148:50;12233:59;12284:7;12275:6;12264:9;12260:22;12233:59;:::i;:::-;11867:485;;12311:8;;-1:-1:-1;12207:85:31;;-1:-1:-1;;;;11867:485:31:o;12357:1386::-;12543:4;12572:2;12612;12601:9;12597:18;12642:2;12631:9;12624:21;12665:6;12700;12694:13;12731:6;12723;12716:22;12757:2;12747:12;;12790:2;12779:9;12775:18;12768:25;;12852:2;12842:6;12839:1;12835:14;12824:9;12820:30;12816:39;12890:2;12882:6;12878:15;12911:1;12921:793;12935:6;12932:1;12929:13;12921:793;;;13028:2;13024:7;13012:9;13004:6;13000:22;12996:36;12991:3;12984:49;13062:6;13056:13;13092:4;13130:2;13124:9;13116:6;13109:25;13185:2;13181;13177:11;13171:18;13166:2;13158:6;13154:15;13147:43;13241:2;13237;13233:11;13227:18;13222:2;13214:6;13210:15;13203:43;13269:4;13320:2;13316;13312:11;13306:18;13361:2;13356;13348:6;13344:15;13337:27;13391:48;13435:2;13427:6;13423:15;13409:12;13391:48;:::i;:::-;13462:4;13509:11;;;13503:18;13486:15;;;13479:43;13545:4;13592:11;;;13586:18;13569:15;;;;13562:43;;;;-1:-1:-1;;;13692:12:31;;;;13657:15;;;;12957:1;12950:9;12921:793;;;-1:-1:-1;13731:6:31;;12357:1386;-1:-1:-1;;;;;;;;12357:1386:31:o;13748:289::-;13879:3;13917:6;13911:13;13933:66;13992:6;13987:3;13980:4;13972:6;13968:17;13933:66;:::i;:::-;14015:16;;;;;13748:289;-1:-1:-1;;13748:289:31:o;14748:127::-;14809:10;14804:3;14800:20;14797:1;14790:31;14840:4;14837:1;14830:15;14864:4;14861:1;14854:15;14880:168;14953:9;;;14984;;15001:15;;;14995:22;;14981:37;14971:71;;15022:18;;:::i;15053:127::-;15114:10;15109:3;15105:20;15102:1;15095:31;15145:4;15142:1;15135:15;15169:4;15166:1;15159:15;15185:120;15225:1;15251;15241:35;;15256:18;;:::i;:::-;-1:-1:-1;15290:9:31;;15185:120::o;15310:125::-;15375:9;;;15396:10;;;15393:36;;;15409:18;;:::i;15820:245::-;15887:6;15940:2;15928:9;15919:7;15915:23;15911:32;15908:52;;;15956:1;15953;15946:12;15908:52;15988:9;15982:16;16007:28;16029:5;16007:28;:::i;16070:128::-;16137:9;;;16158:11;;;16155:37;;;16172:18;;:::i;16390:112::-;16422:1;16448;16438:35;;16453:18;;:::i;:::-;-1:-1:-1;16487:9:31;;16390:112::o;16507:127::-;16568:10;16563:3;16559:20;16556:1;16549:31;16599:4;16596:1;16589:15;16623:4;16620:1;16613:15;16639:127;16700:10;16695:3;16691:20;16688:1;16681:31;16731:4;16728:1;16721:15;16755:4;16752:1;16745:15;16771:380;16850:1;16846:12;;;;16893;;;16914:61;;16968:4;16960:6;16956:17;16946:27;;16914:61;17021:2;17013:6;17010:14;16990:18;16987:38;16984:161;;17067:10;17062:3;17058:20;17055:1;17048:31;17102:4;17099:1;17092:15;17130:4;17127:1;17120:15;16984:161;;16771:380;;;:::o;17285:725::-;17338:3;17379:5;17373:12;17408:36;17434:9;17408:36;:::i;:::-;17463:1;17480:18;;;17507:133;;;;17654:1;17649:355;;;;17473:531;;17507:133;-1:-1:-1;;17540:24:31;;17528:37;;17613:14;;17606:22;17594:35;;17585:45;;;-1:-1:-1;17507:133:31;;17649:355;17680:5;17677:1;17670:16;17709:4;17754:2;17751:1;17741:16;17779:1;17793:165;17807:6;17804:1;17801:13;17793:165;;;17885:14;;17872:11;;;17865:35;17928:16;;;;17822:10;;17793:165;;;17797:3;;;17987:6;17982:3;17978:16;17971:23;;17473:531;;;;;17285:725;;;;:::o;18015:802::-;18283:3;18311:41;18348:3;18340:6;18311:41;:::i;:::-;18381:6;18375:13;18397:65;18455:6;18451:2;18444:4;18436:6;18432:17;18397:65;:::i;:::-;18524:13;;18484:15;;;18546:70;18524:13;18484:15;18593:4;18581:17;;18546:70;:::i;:::-;18683:13;;18638:20;;;18705:70;18683:13;18638:20;18752:4;18740:17;;18705:70;:::i;:::-;18791:20;;18015:802;-1:-1:-1;;;;;;18015:802:31:o;18822:135::-;18861:3;18882:17;;;18879:43;;18902:18;;:::i;:::-;-1:-1:-1;18949:1:31;18938:13;;18822:135::o;18962:317::-;-1:-1:-1;;;;;19139:32:31;;19121:51;;19208:2;19203;19188:18;;19181:30;;;-1:-1:-1;;19228:45:31;;19254:18;;19246:6;19228:45;:::i;21166:545::-;21268:2;21263:3;21260:11;21257:448;;;21304:1;21329:5;21325:2;21318:17;21374:4;21370:2;21360:19;21444:2;21432:10;21428:19;21425:1;21421:27;21415:4;21411:38;21480:4;21468:10;21465:20;21462:47;;;-1:-1:-1;21503:4:31;21462:47;21558:2;21553:3;21549:12;21546:1;21542:20;21536:4;21532:31;21522:41;;21613:82;21631:2;21624:5;21621:13;21613:82;;;21676:17;;;21657:1;21646:13;21613:82;;;21617:3;;;21166:545;;;:::o;21887:1437::-;22002:3;21996:4;21993:13;21990:26;;22009:5;;21887:1437::o;21990:26::-;22039:37;22071:3;22065:10;22039:37;:::i;:::-;-1:-1:-1;;;;;22091:6:31;22088:30;22085:56;;;22121:18;;:::i;:::-;22150:97;22240:6;22200:38;22232:4;22226:11;22200:38;:::i;:::-;22194:4;22150:97;:::i;:::-;22273:1;22301:2;22293:6;22290:14;22318:1;22313:754;;;;23111:1;23128:6;23125:89;;;-1:-1:-1;23180:19:31;;;23174:26;23125:89;-1:-1:-1;;21844:1:31;21840:11;;;21836:24;21832:29;21822:40;21868:1;21864:11;;;21819:57;23227:81;;22283:1035;;22313:754;17232:1;17225:14;;;17269:4;17256:18;;-1:-1:-1;;22349:20:31;;;17232:1;17225:14;;;17269:4;17256:18;;22519:9;22541:251;22555:7;22552:1;22549:14;22541:251;;;22637:21;;;22631:28;22616:44;;22687:1;22760:18;;;;22715:15;;;;22578:4;22571:12;22541:251;;;22545:3;22820:6;22811:7;22808:19;22805:203;;;22881:21;;;22875:28;-1:-1:-1;;22966:1:31;22962:14;;;22978:3;22958:24;22954:37;22950:42;22935:58;22920:74;;22805:203;-1:-1:-1;;;;;23054:1:31;23038:14;;;23034:22;23021:36;;-1:-1:-1;21887:1437:31:o;23329:175::-;23366:3;23410:4;23403:5;23399:16;23439:4;23430:7;23427:17;23424:43;;23447:18;;:::i;:::-;23496:1;23483:15;;23329:175;-1:-1:-1;;23329:175:31:o;23509:200::-;23637:3;23662:41;23699:3;23691:6;23662:41;:::i;24410:388::-;-1:-1:-1;;;;;24615:32:31;;24597:51;;24684:2;24679;24664:18;;24657:30;;;-1:-1:-1;;24704:45:31;;24730:18;;24722:6;24704:45;:::i;:::-;24696:53;;24785:6;24780:2;24769:9;24765:18;24758:34;24410:388;;;;;;:::o;24803:1355::-;24929:3;24923:10;-1:-1:-1;;;;;24948:6:31;24945:30;24942:56;;;24978:18;;:::i;:::-;25007:97;25097:6;25057:38;25089:4;25083:11;25057:38;:::i;25007:97::-;25159:4;;25223:2;25212:14;;25240:1;25235:666;;;;25945:1;25962:6;25959:89;;;-1:-1:-1;26014:19:31;;;26008:26;25959:89;-1:-1:-1;;21844:1:31;21840:11;;;21836:24;21832:29;21822:40;21868:1;21864:11;;;21819:57;26061:81;;25205:947;;25235:666;17232:1;17225:14;;;17269:4;17256:18;;-1:-1:-1;;25271:20:31;;;25392:236;25406:7;25403:1;25400:14;25392:236;;;25495:19;;;25489:26;25474:42;;25587:27;;;;25555:1;25543:14;;;;25422:19;;25392:236;;;25396:3;25656:6;25647:7;25644:19;25641:201;;;25717:19;;;;25711:26;-1:-1:-1;;25812:3:31;25800:1;25796:14;;;25792:24;25788:37;25784:42;25769:58;25754:74;;;-1:-1:-1;;25888:1:31;25872:14;;;25868:22;25855:36;;-1:-1:-1;24803:1355:31:o;27690:273::-;27875:6;27867;27862:3;27849:33;27831:3;27901:16;;27926:13;;;27901:16;27690:273;-1:-1:-1;27690:273:31:o;31142:496::-;31321:3;31359:6;31353:13;31375:66;31434:6;31429:3;31422:4;31414:6;31410:17;31375:66;:::i;:::-;31504:13;;31463:16;;;;31526:70;31504:13;31463:16;31573:4;31561:17;;31526:70;:::i;:::-;31612:20;;31142:496;-1:-1:-1;;;;31142:496:31:o;32361:414::-;32563:2;32545:21;;;32602:2;32582:18;;;32575:30;32641:34;32636:2;32621:18;;32614:62;-1:-1:-1;;;32707:2:31;32692:18;;32685:48;32765:3;32750:19;;32361:414::o;32780:401::-;32982:2;32964:21;;;33021:2;33001:18;;;32994:30;33060:34;33055:2;33040:18;;33033:62;-1:-1:-1;;;33126:2:31;33111:18;;33104:35;33171:3;33156:19;;32780:401::o;33591:489::-;-1:-1:-1;;;;;33860:15:31;;;33842:34;;33912:15;;33907:2;33892:18;;33885:43;33959:2;33944:18;;33937:34;;;34007:3;34002:2;33987:18;;33980:31;;;33785:4;;34028:46;;34054:19;;34046:6;34028:46;:::i;:::-;34020:54;33591:489;-1:-1:-1;;;;;;33591:489:31:o;34085:249::-;34154:6;34207:2;34195:9;34186:7;34182:23;34178:32;34175:52;;;34223:1;34220;34213:12;34175:52;34255:9;34249:16;34274:30;34298:5;34274:30;:::i"},"methodIdentifiers":{"DAI_TOKEN()":"e606df87","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","balanceReceiver()":"627b253f","baseUri()":"9abc8320","buyPack(uint256,string)":"015db396","cards(uint256)":"8dc10768","cardsByUserBySeason(address,string,uint256)":"308f5987","getApproved(uint256)":"081812fc","getCardsByUserBySeason(address,string)":"e9d43f7d","getSeasonAlbums(string)":"be20e5a9","getSeasonCards(string)":"83c73d81","getSeasonData()":"b773d5c1","getWinners(string)":"95a4c525","init(string,address,address)":"71f72fa0","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","newSeason(string,uint256,uint256,string)":"8477919b","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","pasteCards(uint256,uint256)":"41c2c10f","prizesBalance()":"e5db587a","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","seasonNames(uint256)":"61c66c16","seasonPrices(uint256)":"d1811d02","seasons(string)":"787f0b05","setApprovalForAll(address,bool)":"a22cb465","setBalanceReceiver(address)":"c1f3a3bb","setBaseURI(string)":"55f804b3","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"seasonName\",\"type\":\"string\"}],\"name\":\"BuyPack\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"winner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"season\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"position\",\"type\":\"uint256\"}],\"name\":\"Winner\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DAI_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":[],\"name\":\"balanceReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"buyPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"cards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collection\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"season\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"completion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"cardsByUserBySeason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collection\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"season\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"completion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_seasonName\",\"type\":\"string\"}],\"name\":\"getCardsByUserBySeason\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collection\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"season\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"completion\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"internalType\":\"struct NofAlphaV3.Card[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getSeasonAlbums\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getSeasonCards\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSeasonData\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_seasonName\",\"type\":\"string\"}],\"name\":\"getWinners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"__baseUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_daiTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balanceReceiver\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"folder\",\"type\":\"string\"}],\"name\":\"newSeason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"uint256\",\"name\":\"card\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"album\",\"type\":\"uint256\"}],\"name\":\"pasteCards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prizesBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"seasonNames\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"seasonPrices\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"seasons\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"folder\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"_newBalanceReceiver\",\"type\":\"address\"}],\"name\":\"setBalanceReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"__baseURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/alpha/Alpha.v3.sol\":\"NofAlphaV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/alpha/Alpha.v3.sol\":{\"keccak256\":\"0x5befe18d0f06008458d0f4f522855d9551f90d475da1d85732d0254099772495\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c425496707995a2af4212c1667cbea1d6c8b1570073a9ff64c1299fbee5cd714\",\"dweb:/ipfs/QmU5EN4wtQbCdoMHU3e5aH46yFudbeLWWEeVqzsx5nvmDm\"]},\"contracts/alpha/ContextMixin.v2.sol\":{\"keccak256\":\"0x1a4890c1a9a18f557561473d86e12fe7bc010354b22d19561ce6ff4823a94634\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e67a19beb7a53ec032b8b991f3336d79107e70ba7954da61ec765bc59acfbec2\",\"dweb:/ipfs/QmQjoXHFZH7beSMtAAJpcDGcyRtnA5PoPvdYedYPEgQVwx\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":7,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_owner","offset":0,"slot":"7","type":"t_address"},{"astId":3471,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"_tokenIdCounter","offset":0,"slot":"8","type":"t_uint256"},{"astId":3473,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"baseUri","offset":0,"slot":"9","type":"t_string_storage"},{"astId":3503,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"balanceReceiver","offset":0,"slot":"10","type":"t_address"},{"astId":3508,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"seasons","offset":0,"slot":"11","type":"t_mapping(t_string_memory_ptr,t_struct(Season)3488_storage)"},{"astId":3513,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"cards","offset":0,"slot":"12","type":"t_mapping(t_uint256,t_struct(Card)3501_storage)"},{"astId":3518,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"winners","offset":0,"slot":"13","type":"t_mapping(t_string_memory_ptr,t_array(t_address)dyn_storage)"},{"astId":3526,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"cardsByUserBySeason","offset":0,"slot":"14","type":"t_mapping(t_address,t_mapping(t_string_memory_ptr,t_array(t_struct(Card)3501_storage)dyn_storage))"},{"astId":3538,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"prizes","offset":0,"slot":"15","type":"t_array(t_uint8)7_storage"},{"astId":3541,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"seasonNames","offset":0,"slot":"16","type":"t_array(t_string_storage)dyn_storage"},{"astId":3544,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"seasonPrices","offset":0,"slot":"17","type":"t_array(t_uint256)dyn_storage"},{"astId":3546,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"prizesBalance","offset":0,"slot":"18","type":"t_uint256"},{"astId":3548,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"DAI_TOKEN","offset":0,"slot":"19","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"base":"t_address","encoding":"dynamic_array","label":"address[]","numberOfBytes":"32"},"t_array(t_string_storage)dyn_storage":{"base":"t_string_storage","encoding":"dynamic_array","label":"string[]","numberOfBytes":"32"},"t_array(t_struct(Card)3501_storage)dyn_storage":{"base":"t_struct(Card)3501_storage","encoding":"dynamic_array","label":"struct NofAlphaV3.Card[]","numberOfBytes":"32"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_array(t_uint8)7_storage":{"base":"t_uint8","encoding":"inplace","label":"uint8[7]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_string_memory_ptr,t_array(t_struct(Card)3501_storage)dyn_storage))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(string => struct NofAlphaV3.Card[]))","numberOfBytes":"32","value":"t_mapping(t_string_memory_ptr,t_array(t_struct(Card)3501_storage)dyn_storage)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_string_memory_ptr,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_string_memory_ptr,t_array(t_struct(Card)3501_storage)dyn_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct NofAlphaV3.Card[])","numberOfBytes":"32","value":"t_array(t_struct(Card)3501_storage)dyn_storage"},"t_mapping(t_string_memory_ptr,t_struct(Season)3488_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct NofAlphaV3.Season)","numberOfBytes":"32","value":"t_struct(Season)3488_storage"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_uint256,t_struct(Card)3501_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct NofAlphaV3.Card)","numberOfBytes":"32","value":"t_struct(Card)3501_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Card)3501_storage":{"encoding":"inplace","label":"struct NofAlphaV3.Card","members":[{"astId":3490,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"tokenId","offset":0,"slot":"0","type":"t_uint256"},{"astId":3492,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"class","offset":0,"slot":"1","type":"t_uint256"},{"astId":3494,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"collection","offset":0,"slot":"2","type":"t_uint256"},{"astId":3496,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"season","offset":0,"slot":"3","type":"t_string_storage"},{"astId":3498,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"completion","offset":0,"slot":"4","type":"t_uint256"},{"astId":3500,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"number","offset":0,"slot":"5","type":"t_uint256"}],"numberOfBytes":"192"},"t_struct(Season)3488_storage":{"encoding":"inplace","label":"struct NofAlphaV3.Season","members":[{"astId":3475,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"price","offset":0,"slot":"0","type":"t_uint256"},{"astId":3478,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"cards","offset":0,"slot":"1","type":"t_array(t_uint256)dyn_storage"},{"astId":3481,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"albums","offset":0,"slot":"2","type":"t_array(t_uint256)dyn_storage"},{"astId":3485,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"owners","offset":0,"slot":"3","type":"t_mapping(t_address,t_bool)"},{"astId":3487,"contract":"contracts/alpha/Alpha.v3.sol:NofAlphaV3","label":"folder","offset":0,"slot":"4","type":"t_string_storage"}],"numberOfBytes":"160"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}}},"contracts/alpha/ContextMixin.v2.sol":{"ContextMixinV2":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/alpha/ContextMixin.v2.sol\":\"ContextMixinV2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/alpha/ContextMixin.v2.sol\":{\"keccak256\":\"0x1a4890c1a9a18f557561473d86e12fe7bc010354b22d19561ce6ff4823a94634\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e67a19beb7a53ec032b8b991f3336d79107e70ba7954da61ec765bc59acfbec2\",\"dweb:/ipfs/QmQjoXHFZH7beSMtAAJpcDGcyRtnA5PoPvdYedYPEgQVwx\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/gamma/GammaCards.v5.sol":{"IgammaOffersContract":{"abi":[{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"getOfferByUserAndCardNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getOffersByUserCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"hasOffer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeOffersByUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getOfferByUserAndCardNumber(address,uint8)":"9f915069","getOffersByUserCounter(address)":"0cdb3117","hasOffer(address,uint8)":"2edb5fcf","removeOffersByUser(address)":"fc9e80fc"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"getOfferByUserAndCardNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getOffersByUserCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"hasOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"removeOffersByUser\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"IgammaOffersContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x433cd3be36fe8df2243334d9c80b2b4c6f561fd265a561fb2340a773aea8f5ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4e30eb7023c5a17befec86fcb2cdb54aa30d7d41d38716ab297c3aad1b3b3c\",\"dweb:/ipfs/QmTohDpjVWgCNCFSfBez82zdeFRQpHpa1LQ4JWdgS6TCE3\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IgammaPacksContract":{"abi":[{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getPackOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"openPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"address","name":"owner","type":"address"}],"name":"openPacks","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getPackOwner(uint256)":"d3e6a7ad","openPack(uint256,address)":"80f2540b","openPacks(uint256[],address)":"97f8b3d3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getPackOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"openPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"IgammaPacksContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x433cd3be36fe8df2243334d9c80b2b4c6f561fd265a561fb2340a773aea8f5ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4e30eb7023c5a17befec86fcb2cdb54aa30d7d41d38716ab297c3aad1b3b3c\",\"dweb:/ipfs/QmTohDpjVWgCNCFSfBez82zdeFRQpHpa1LQ4JWdgS6TCE3\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IgammaTicketsContract":{"abi":[{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"generateTicket","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"generateTicket(address)":"fa8213d3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"generateTicket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"IgammaTicketsContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x433cd3be36fe8df2243334d9c80b2b4c6f561fd265a561fb2340a773aea8f5ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4e30eb7023c5a17befec86fcb2cdb54aa30d7d41d38716ab297c3aad1b3b3c\",\"dweb:/ipfs/QmTohDpjVWgCNCFSfBez82zdeFRQpHpa1LQ4JWdgS6TCE3\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"NofGammaCardsV5":{"abi":[{"inputs":[],"name":"CannotRemoveUserOffers","type":"error"},{"inputs":[],"name":"CardLimitExceeded","type":"error"},{"inputs":[],"name":"IncorrectPrizeAmount","type":"error"},{"inputs":[],"name":"InsufficientCards","type":"error"},{"inputs":[],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidCardNumber","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"InvalidTransfer","type":"error"},{"inputs":[],"name":"MustCompleteAlbum","type":"error"},{"inputs":[],"name":"NotYourPack","type":"error"},{"inputs":[],"name":"OnlyGammaPacksContract","type":"error"},{"inputs":[],"name":"OnlyOffersContract","type":"error"},{"inputs":[],"name":"OnlyOwners","type":"error"},{"inputs":[],"name":"UserDoesNotHaveCardOrAlbum","type":"error"},{"inputs":[],"name":"WrongPacksQuantity","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint8","name":"albumClass","type":"uint8"}],"name":"AlbumCompleted","type":"event"},{"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":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint256","name":"cardTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"albumTokenId","type":"uint256"}],"name":"CardPasted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"CardTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint8[]","name":"cardsNumber","type":"uint8[]"}],"name":"CardsBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint8[]","name":"cardNumber","type":"uint8[]"}],"name":"CardsTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaOffersContract","type":"address"}],"name":"NewGammaOffersContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaPacksContract","type":"address"}],"name":"NewGammaPacksContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaTicketContract","type":"address"}],"name":"NewGammaTicketsContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newSigner","type":"address"}],"name":"NewSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newMainUri","type":"string"},{"indexed":true,"internalType":"string","name":"newSecondaryUri","type":"string"}],"name":"NewUris","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint8","name":"cardNumberFrom","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"cardNumberTo","type":"uint8"}],"name":"OfferCardsExchanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"indexed":true,"internalType":"uint256","name":"packNumber","type":"uint256"}],"name":"PackOpened","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":"DAI_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newSigner","type":"address"}],"name":"addSigner","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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8[]","name":"cardNumbers","type":"uint8[]"}],"name":"burnCards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_maxPacksToOpenAtOnce","type":"uint8"}],"name":"changeMaxPacksToOpenAtOnce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPackPrice","type":"uint256"}],"name":"changePackPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"required","type":"bool"}],"name":"changeRequireOfferValidationInMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"required","type":"bool"}],"name":"changeRequireOfferValidationInTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"required","type":"bool"}],"name":"changeRequireOpenPackSignerValidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint8","name":"cardNumberFrom","type":"uint8"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8","name":"cardNumberTo","type":"uint8"}],"name":"exchangeCardsOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishAlbum","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gammaOffersContract","outputs":[{"internalType":"contract IgammaOffersContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gammaPacksContract","outputs":[{"internalType":"contract IgammaPacksContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gammaTicketsContract","outputs":[{"internalType":"contract IgammaTicketsContract","name":"","type":"address"}],"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":"address","name":"user","type":"address"}],"name":"getBurnedCardQttyByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNum","type":"uint8"}],"name":"getCardQuantityByUser","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getCardsByUser","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLotteryPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNum","type":"uint8"}],"name":"hasCard","outputs":[{"internalType":"bool","name":"has","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"hasCardByOffer","outputs":[{"internalType":"bool","name":"has","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_daiTokenAddress","type":"address"},{"internalType":"address","name":"_gammaPacksContract","type":"address"},{"internalType":"address","name":"_gammaOffersContract","type":"address"},{"internalType":"address","name":"_gammaTicketsContract","type":"address"},{"internalType":"string","name":"_baseUri","type":"string"},{"internalType":"address","name":"_signer","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","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":"user","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isSigner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cardNum","type":"uint8"}],"name":"mintCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"openPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"packsQuantity","type":"uint8"},{"internalType":"uint256[]","name":"packsNumber","type":"uint256[]"},{"internalType":"uint8[][]","name":"packsData","type":"uint8[][]"},{"internalType":"bytes[]","name":"signatures","type":"bytes[]"}],"name":"openPacks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"removeCardByOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ownerToRemove","type":"address"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_signerToRemove","type":"address"}],"name":"removeSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"restoreCardByOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"s_baseUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"s_burnedCards","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"s_cards","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"bool","name":"pasted","type":"bool"},{"internalType":"uint8","name":"class","type":"uint8"},{"internalType":"uint256","name":"completion","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"s_cardsByUser","outputs":[{"internalType":"uint8","name":"amount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cardNumber","type":"uint256"}],"name":"s_cardsInventory","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_lotteryPrizePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_mainAlbumPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_mainUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_maxPacksToOpenAtOnce","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_packPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_prizesBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requireOfferValidationInMint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requireOfferValidationInTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requireOpenPackSignerValidation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_secondaryAlbumPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_secondaryUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_tokenIdCounter","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":"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":"_gammaOffersContract","type":"address"}],"name":"setGammaOffersContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaPacksContract","type":"address"}],"name":"setGammaPacksContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaTicketsContract","type":"address"}],"name":"setGammaTicketsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"amount","type":"uint8"}],"name":"setLotteryPrizePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMainAlbumPrize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setPrizesBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSecondaryAlbumPrize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newMainUri","type":"string"},{"internalType":"string","name":"newSecondaryUri","type":"string"}],"name":"setUris","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":"address","name":"user","type":"address"}],"name":"testAddCards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"}],"name":"testOpenPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"transferCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8[]","name":"cardNumbers","type":"uint8[]"}],"name":"transferCards","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":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyPackSigner","outputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23":{"entryPoint":null,"id":23,"parameterSlots":0,"returnSlots":0},"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"@_7028":{"entryPoint":null,"id":7028,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":224,"id":1834,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":228,"id":111,"parameterSlots":1,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":392,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":475,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":332,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":310,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"201:325:31","statements":[{"nodeType":"YulAssignment","src":"211:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:31"},"nodeType":"YulFunctionCall","src":"221:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:31"},"nodeType":"YulFunctionCall","src":"268:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:31","statements":[{"nodeType":"YulAssignment","src":"321:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:31"},"nodeType":"YulFunctionCall","src":"331:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:31"},"nodeType":"YulFunctionCall","src":"292:26:31"},"nodeType":"YulIf","src":"289:61:31"},{"body":{"nodeType":"YulBlock","src":"409:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:31"},"nodeType":"YulFunctionCall","src":"433:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:31"},"nodeType":"YulFunctionCall","src":"423:31:31"},"nodeType":"YulExpressionStatement","src":"423:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:31"},"nodeType":"YulFunctionCall","src":"467:15:31"},"nodeType":"YulExpressionStatement","src":"467:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:31"},"nodeType":"YulFunctionCall","src":"495:15:31"},"nodeType":"YulExpressionStatement","src":"495:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:31"},"nodeType":"YulFunctionCall","src":"385:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:31"},"nodeType":"YulFunctionCall","src":"362:38:31"},"nodeType":"YulIf","src":"359:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:31","type":""}],"src":"146:380:31"},{"body":{"nodeType":"YulBlock","src":"587:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:31"},"nodeType":"YulFunctionCall","src":"597:14:31"},"nodeType":"YulExpressionStatement","src":"597:14:31"},{"nodeType":"YulAssignment","src":"620:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:31"},"nodeType":"YulFunctionCall","src":"628:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:31","type":""}],"src":"531:121:31"},{"body":{"nodeType":"YulBlock","src":"738:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:17:31"},"nodeType":"YulExpressionStatement","src":"809:17:31"},{"nodeType":"YulVariableDeclaration","src":"839:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:31"},"nodeType":"YulFunctionCall","src":"851:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:31"},"nodeType":"YulFunctionCall","src":"919:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:31"},"nodeType":"YulFunctionCall","src":"912:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:31","statements":[{"nodeType":"YulAssignment","src":"979:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:31"},"nodeType":"YulFunctionCall","src":"956:20:31"},"nodeType":"YulIf","src":"953:47:31"},{"nodeType":"YulVariableDeclaration","src":"1013:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:31"},"nodeType":"YulFunctionCall","src":"1040:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:31"},"nodeType":"YulFunctionCall","src":"1033:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:31"},"nodeType":"YulFunctionCall","src":"1167:17:31"},"nodeType":"YulExpressionStatement","src":"1167:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:31"},"nodeType":"YulFunctionCall","src":"1112:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:31","statements":[{"nodeType":"YulAssignment","src":"1128:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:31"},"nodeType":"YulFunctionCall","src":"1137:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:31","statements":[]},"src":"1104:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:31"},"nodeType":"YulFunctionCall","src":"751:11:31"},"nodeType":"YulIf","src":"748:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:31","type":""}],"src":"657:545:31"},{"body":{"nodeType":"YulBlock","src":"1292:81:31","statements":[{"nodeType":"YulAssignment","src":"1302:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:31"},"nodeType":"YulFunctionCall","src":"1331:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:31"},"nodeType":"YulFunctionCall","src":"1344:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:31"},"nodeType":"YulFunctionCall","src":"1327:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:31"},"nodeType":"YulFunctionCall","src":"1323:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:31"},"nodeType":"YulFunctionCall","src":"1313:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:31"},"nodeType":"YulFunctionCall","src":"1355:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:31"},"nodeType":"YulFunctionCall","src":"1310:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:31","type":""}],"src":"1207:166:31"},{"body":{"nodeType":"YulBlock","src":"1474:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:31"},"nodeType":"YulFunctionCall","src":"1498:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:31"},"nodeType":"YulFunctionCall","src":"1553:18:31"},"nodeType":"YulExpressionStatement","src":"1553:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:31"},"nodeType":"YulFunctionCall","src":"1535:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:31"},"nodeType":"YulFunctionCall","src":"1531:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:31"},"nodeType":"YulFunctionCall","src":"1520:30:31"},"nodeType":"YulIf","src":"1517:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:31"},"nodeType":"YulFunctionCall","src":"1658:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:31"},"nodeType":"YulFunctionCall","src":"1632:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:31"},"nodeType":"YulFunctionCall","src":"1582:97:31"},"nodeType":"YulExpressionStatement","src":"1582:97:31"},{"nodeType":"YulVariableDeclaration","src":"1688:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:31","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:31"},"nodeType":"YulFunctionCall","src":"1846:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:31"},"nodeType":"YulFunctionCall","src":"1893:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:31"},"nodeType":"YulFunctionCall","src":"2067:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:31"},"nodeType":"YulFunctionCall","src":"2061:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:31"},"nodeType":"YulFunctionCall","src":"2046:42:31"},"nodeType":"YulExpressionStatement","src":"2046:42:31"},{"nodeType":"YulAssignment","src":"2105:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:31"},"nodeType":"YulFunctionCall","src":"2115:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:31"}]},{"nodeType":"YulAssignment","src":"2146:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:31"},"nodeType":"YulFunctionCall","src":"2159:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:31"},"nodeType":"YulFunctionCall","src":"1972:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:31","statements":[{"nodeType":"YulAssignment","src":"1989:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:31"},"nodeType":"YulFunctionCall","src":"1994:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:31","statements":[]},"src":"1964:236:31"},{"body":{"nodeType":"YulBlock","src":"2248:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:31"},"nodeType":"YulFunctionCall","src":"2289:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:31"},"nodeType":"YulFunctionCall","src":"2283:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:31"},"nodeType":"YulFunctionCall","src":"2368:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:31"},"nodeType":"YulFunctionCall","src":"2364:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:31"},"nodeType":"YulFunctionCall","src":"2390:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:31"},"nodeType":"YulFunctionCall","src":"2360:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:31"},"nodeType":"YulFunctionCall","src":"2356:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:31"},"nodeType":"YulFunctionCall","src":"2341:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:31"},"nodeType":"YulFunctionCall","src":"2326:74:31"},"nodeType":"YulExpressionStatement","src":"2326:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:31"},"nodeType":"YulFunctionCall","src":"2216:19:31"},"nodeType":"YulIf","src":"2213:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:31"},"nodeType":"YulFunctionCall","src":"2444:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:31"},"nodeType":"YulFunctionCall","src":"2440:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:31"},"nodeType":"YulFunctionCall","src":"2427:36:31"},"nodeType":"YulExpressionStatement","src":"2427:36:31"}]},"nodeType":"YulCase","src":"1810:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:31","statements":[{"nodeType":"YulAssignment","src":"2571:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:31"},"nodeType":"YulFunctionCall","src":"2586:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:31"},"nodeType":"YulFunctionCall","src":"2580:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:31"},"nodeType":"YulIf","src":"2531:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:31"},"nodeType":"YulFunctionCall","src":"2646:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:31"},"nodeType":"YulFunctionCall","src":"2633:81:31"},"nodeType":"YulExpressionStatement","src":"2633:81:31"}]},"nodeType":"YulCase","src":"2482:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:31"},"nodeType":"YulFunctionCall","src":"1787:14:31"},"nodeType":"YulSwitch","src":"1780:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:31","type":""}],"src":"1378:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":5023},{"length":20,"start":5709},{"length":20,"start":9707},{"length":20,"start":15088}]},"contracts/gamma/libs/LibPackVerifier.sol":{"LibPackVerifier":[{"length":20,"start":5285},{"length":20,"start":15769}]},"contracts/gamma/libs/LibStringUtils.sol":{"LibStringUtils":[{"length":20,"start":14286}]}},"object":"6080604052600f805461ffff191661320a1790556710a741a462780000601155600060125567d02ab486cedc0000601355670de0b6b3a76400006014556018805462ffff001916620101001790553480156200005a57600080fd5b506040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b8152508160009081620000ae9190620001db565b506001620000bd8282620001db565b505050620000da620000d4620000e060201b60201c565b620000e4565b620002a7565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016157607f821691505b6020821081036200018257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d657600081815260208120601f850160051c81016020861015620001b15750805b601f850160051c820191505b81811015620001d257828155600101620001bd565b5050505b505050565b81516001600160401b03811115620001f757620001f762000136565b6200020f816200020884546200014c565b8462000188565b602080601f8311600181146200024757600084156200022e5750858301515b600019600386901b1c1916600185901b178555620001d2565b600085815260208120601f198616915b82811015620002785788860151825594840194600190910190840162000257565b5085821015620002975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b615a3d80620002b76000396000f3fe608060405234801561001057600080fd5b506004361061046a5760003560e01c806379e8dadc1161024c578063ad1684fa11610146578063dbfc05cf116100c3578063e8a7e31d11610087578063e8a7e31d14610a82578063e985e9c514610a8a578063eb12d61e14610ac6578063f2fde38b14610ad9578063f98fd28314610aec57600080fd5b8063dbfc05cf14610a23578063ddb975e814610a36578063e1883c6e14610a49578063e4ae0b9b14610a5c578063e606df8714610a6957600080fd5b8063c87b56dd1161010a578063c87b56dd146109d9578063cafaa473146109ec578063d322b563146109ff578063d7093f4014610a12578063d780c47714610a1b57600080fd5b8063ad1684fa14610984578063b352618514610997578063b88d4fde146109a0578063ba6c0fbc146109b3578063bf400a6a146109c657600080fd5b80638da5cb5b116101d45780639ff26efd116101985780639ff26efd14610910578063a1af8ad41461093e578063a22cb46514610951578063a419811d14610964578063ab5351601461097757600080fd5b80638da5cb5b146108c95780639038f414146108da57806395d89b41146108e25780639a5613ad146108ea5780639c7f707f146108fd57600080fd5b80637df73e271161021b5780637df73e271461084e57806382d8a1181461087a578063886eb60f1461088357806388e0ef80146108965780638bf670c8146108b657600080fd5b806379e8dadc1461080d5780637ce65f7b146108155780637cf86b72146108285780637de99bd91461083b57600080fd5b8063267b841d116103685780635e31ce48116102e55780637065cb48116102a95780637065cb48146107b957806370a08231146107cc578063715018a6146107df5780637155a3ac146107e75780637232d7d4146107fa57600080fd5b80635e31ce48146107655780636352211e14610778578063656bd0ad1461078b57806368cc5bc1146107945780636d0af178146107a757600080fd5b80634039327e1161032c5780634039327e146106b257806342842e0e146106ba57806342966c68146106cd5780634c03cd0b146106e05780635312ea8e1461075257600080fd5b8063267b841d1461063a5780632ca699e71461064d5780632f54bf6e146106605780632f9e026a1461068c57806330f5cc581461069f57600080fd5b8063147baac7116103f6578063203335f6116103ba578063203335f6146105e557806320965a5f146105f857806321a7c6b01461060b57806323b872dd14610614578063241a08fe1461062757600080fd5b8063147baac71461057557806314cca36a14610587578063155e2f921461059a5780631585cc4e146105ad578063173825d9146105d257600080fd5b8063081812fc1161043d578063081812fc146104fc578063095ea7b3146105275780630e316ab71461053c578063128916dc1461054f5780631306952c1461056257600080fd5b806301ffc9a71461046f5780630435dcaf1461049757806306fdde03146104b957806307b2e246146104ce575b600080fd5b61048261047d366004614a27565b610aff565b60405190151581526020015b60405180910390f35b6104aa6104a5366004614a59565b610b10565b60405161048e93929190614ab4565b6104c1610ec0565b60405161048e9190614b6f565b6104ee6104dc366004614a59565b601b6020526000908152604090205481565b60405190815260200161048e565b61050f61050a366004614b82565b610f52565b6040516001600160a01b03909116815260200161048e565b61053a610535366004614b9b565b610f79565b005b61053a61054a366004614a59565b611093565b61053a61055d366004614a59565b611139565b61050f610570366004614cb8565b6111dc565b60185461048290610100900460ff1681565b600a5461050f906001600160a01b031681565b61053a6105a8366004614d52565b61126a565b6105c06105bb366004614d52565b6112e7565b60405160ff909116815260200161048e565b61053a6105e0366004614a59565b611341565b61053a6105f3366004614e51565b6113b8565b61053a610606366004614f47565b611477565b6104ee60135481565b61053a610622366004614f88565b611a93565b61053a610635366004614fc9565b611ac5565b61053a610648366004614cb8565b611b0b565b61053a61065b366004614d52565b611b1e565b61048261066e366004614a59565b6001600160a01b03166000908152600b602052604090205460ff1690565b60085461050f906001600160a01b031681565b61053a6106ad366004614fe4565b611d71565b6104c1611ff9565b61053a6106c8366004614f88565b612087565b61053a6106db366004614b82565b6120a2565b6107226106ee366004614b82565b60196020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a00161048e565b61053a610760366004614b82565b6120d3565b61053a610773366004614b82565b6121ee565b61050f610786366004614b82565b612233565b6104ee60115481565b61053a6107a236600461504a565b612293565b600f546105c090610100900460ff1681565b61053a6107c7366004614a59565b6122df565b6104ee6107da366004614a59565b612356565b61053a6123dc565b61053a6107f5366004614d52565b6123f0565b61053a610808366004614b82565b612450565b6104c16124a6565b61053a610823366004614fc9565b6124b3565b6104ee610836366004614a59565b612524565b61053a6108493660046150e7565b612570565b61048261085c366004614a59565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104ee60105481565b610482610891366004614d52565b61274b565b6104ee6108a4366004614b82565b601a6020526000908152604090205481565b6104826108c4366004614d52565b6127a7565b6007546001600160a01b031661050f565b610482612806565b6104c1612ba6565b6018546104829062010000900460ff1681565b61053a61090b366004615181565b612bb5565b6105c061091e366004614d52565b601c60209081526000928352604080842090915290825290205460ff1681565b61053a61094c3660046151e4565b612c57565b61053a61095f366004615238565b612fd1565b61053a610972366004614a59565b612fe0565b600f546105c09060ff1681565b61053a610992366004615271565b61307f565b6104ee60145481565b61053a6109ae3660046152c9565b613312565b61053a6109c1366004614b82565b613344565b61053a6109d4366004614fc9565b61339a565b6104c16109e7366004614b82565b6135e6565b61053a6109fa366004614a59565b6135f1565b60095461050f906001600160a01b031681565b6104ee60125481565b6104ee613694565b61053a610a3136600461504a565b6136c1565b61053a610a44366004614a59565b613704565b61053a610a57366004614b82565b6137a7565b6018546104829060ff1681565b600f5461050f906201000090046001600160a01b031681565b6104c16137d7565b610482610a98366004615348565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61053a610ad4366004614a59565b6137e4565b61053a610ae7366004614a59565b61385b565b61053a610afa36600461504a565b6138d1565b6000610b0a8261391b565b92915050565b60408051607a808252610f608201909252606091829182916000919060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f40803683370190505090506000805b60798160ff1611610cf6576001600160a01b0389166000908152601c6020908152604080832060ff80861685529252909120541615610ce45780858360ff1681518110610bdc57610bdc615376565b60ff9283166020918202929092018101919091526001600160a01b038b166000908152601c82526040808220858516835290925220548551908216918691908516908110610c2c57610c2c615376565b60ff9283166020918202929092010152600954604051632edb5fcf60e01b81526001600160a01b038c811660048301529284166024820152911690632edb5fcf90604401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061538c565b838360ff1681518110610cc657610cc6615376565b9115156020928302919091019091015281610ce0816153bf565b9250505b80610cee816153bf565b915050610b8d565b5060008160ff166001600160401b03811115610d1457610d14614bc7565b604051908082528060200260200182016040528015610d3d578160200160208202803683370190505b50905060008260ff166001600160401b03811115610d5d57610d5d614bc7565b604051908082528060200260200182016040528015610d86578160200160208202803683370190505b50905060008360ff166001600160401b03811115610da657610da6614bc7565b604051908082528060200260200182016040528015610dcf578160200160208202803683370190505b50905060005b8460ff16811015610eae57878181518110610df257610df2615376565b6020026020010151848281518110610e0c57610e0c615376565b602002602001019060ff16908160ff1681525050868181518110610e3257610e32615376565b6020026020010151838281518110610e4c57610e4c615376565b602002602001019060ff16908160ff1681525050858181518110610e7257610e72615376565b6020026020010151828281518110610e8c57610e8c615376565b9115156020928302919091019091015280610ea6816153de565b915050610dd5565b50919a90995090975095505050505050565b606060008054610ecf906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610efb906153f7565b8015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050505050905090565b6000610f5d82613940565b506000908152600460205260409020546001600160a01b031690565b6000610f8482612233565b9050806001600160a01b0316836001600160a01b031603610ff65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101257506110128133610a98565b6110845760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fed565b61108e838361399f565b505050565b336000908152600b602052604090205460ff166110c357604051634289c49360e01b815260040160405180910390fd5b604051630982088f60e41b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063982088f0906044015b60006040518083038186803b15801561111e57600080fd5b505af4158015611132573d6000803e3d6000fd5b5050505050565b336000908152600b602052604090205460ff1661116957604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166111915760405163e6c4247b60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0384169081179091556040517f538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead090600090a25050565b6040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b9061121e903390899089908990899060040161542b565b602060405180830381865af415801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906154b2565b90505b949350505050565b6009546001600160a01b0316331461129557604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca836153bf565b91906101000a81548160ff021916908360ff160217905550505050565b6000826001600160a01b0381166113115760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff94851684529091529020541690565b336000908152600b602052604090205460ff1661137157604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a490604401611106565b60ff851615806113d05750600f5460ff908116908616115b156113ee57604051630b154b3b60e41b815260040160405180910390fd5b60005b8560ff1681101561146f5761145d3386838151811061141257611412615376565b602002602001015186848151811061142c5761142c615376565b602002602001015186868681811061144657611446615376565b905060200281019061145891906154cf565b613a0d565b80611467816153de565b9150506113f1565b505050505050565b336000908152601c602090815260408083206079845290915281205460ff1690036114b55760405163210f01d160e21b815260040160405180910390fd5b336000908152601b60205260408120546114d0908390615515565b90506000603c821061158857600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f9190615528565b90506014548110806115645750601454601254105b156115825760405163356680b760e01b815260040160405180910390fd5b60019150505b600954604051630cdb311760e01b815233600482015260009182916001600160a01b0390911690630cdb311790602401602060405180830381865afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190615528565b1190508360005b8181101561182057336000908152601c602052604081209088888481811061162a5761162a615376565b905060200201602081019061163f9190614fc9565b60ff9081168252602082019290925260400160009081205490911690036116795760405163210f01d160e21b815260040160405180910390fd5b821561179c576009546001600160a01b0316632edb5fcf338989858181106116a3576116a3615376565b90506020020160208101906116b89190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611728919061538c565b1561179c57336000908152601c6020526040812060029189898581811061175157611751615376565b90506020020160208101906117669190614fc9565b60ff908116825260208201929092526040016000205416101561179c5760405163483e9b8d60e11b815260040160405180910390fd5b336000908152601c60205260408120908888848181106117be576117be615376565b90506020020160208101906117d39190614fc9565b60ff908116825260208201929092526040016000908120805490921691906117fa83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050611600565b50336000908152601b602052604081208054839290611840908490615515565b9091555050604051611855908790879061555e565b6040519081900381209033907fdbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b190600090a3821561146f57336000908152601c60209081526040808320607984529091528120805460ff16916118b783615541565b91906101000a81548160ff021916908360ff1602179055505061196833601680546118e1906153f7565b80601f016020809104026020016040519081016040528092919081815260200182805461190d906153f7565b801561195a5780601f1061192f5761010080835404028352916020019161195a565b820191906000526020600020905b81548152906001019060200180831161193d57829003601f168201915b505050505060796002613e24565b6014546012600082825461197c9190615598565b9091555050600f5460145460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff919061538c565b50600a5460405163fa8213d360e01b81523360048201526001600160a01b039091169063fa8213d390602401600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b5050604051600292503391507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a3505050505050565b611a9e335b82613e87565b611aba5760405162461bcd60e51b8152600401610fed906155ab565b61108e838383613f05565b336000908152600b602052604090205460ff16611af557604051634289c49360e01b815260040160405180910390fd5b600f805460ff191660ff92909216919091179055565b611b183385858585613a0d565b50505050565b816001600160a01b038116611b465760405163e6c4247b60e01b815260040160405180910390fd5b336000908152601c6020908152604080832060ff80871685529252822054169003611b845760405163210f01d160e21b815260040160405180910390fd5b336001600160a01b03841603611bad57604051632f35253160e01b815260040160405180910390fd5b60185462010000900460ff1615611c8457600954604051632edb5fcf60e01b815233600482015260ff841660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa158015611c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c34919061538c565b336000908152601c6020908152604080832060ff80891685529252909120549192506001911611811580611c655750805b611c815760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff808716855292528220805490911691611cb083615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0385166000908152601c602090815260408083208785168452909152812080549092169250611cff836153bf565b91906101000a81548160ff021916908360ff16021790555050826001600160a01b0316336001600160a01b03167f1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da84604051611d64919060ff91909116815260200190565b60405180910390a3505050565b336000908152600b602052604090205460ff16611da157604051634289c49360e01b815260040160405180910390fd5b6008546040516380f2540b60e01b8152600481018490526001600160a01b038581166024830152909116906380f2540b90604401600060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506006601154611e16919061562f565b601154611e239190615598565b60126000828254611e349190615515565b90915550600090505b8151811015611b1857818181518110611e5857611e58615376565b602002602001015160ff16607814611ea357611389601a6000848481518110611e8357611e83615376565b602002602001015160ff1681526020019081526020016000205410611ed4565b6078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb9115b611f205760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610fed565b601a6000838381518110611f3657611f36615376565b602002602001015160ff1681526020019081526020016000206000815480929190611f60906153de565b90915550506001600160a01b0384166000908152601c602052604081208351909190849084908110611f9457611f94615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611fcd906153bf565b91906101000a81548160ff021916908360ff160217905550508080611ff1906153de565b915050611e3d565b60168054612006906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054612032906153f7565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b505050505081565b61108e83838360405180602001604052806000815250613312565b6120ab33611a98565b6120c75760405162461bcd60e51b8152600401610fed906155ab565b6120d081614069565b50565b336000908152600b602052604090205460ff1661210357604051634289c49360e01b815260040160405180910390fd5b8061210d30612356565b101561212c5760405163356680b760e01b815260040160405180910390fd5b806012600082825461213e9190615598565b9091555050600f5460405163a9059cbb60e01b815233600482015260248101839052620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061538c565b50604051819033907f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2090600090a350565b6008546001600160a01b03163314612219576040516307473cc760e41b815260040160405180910390fd5b806012600082825461222b9190615515565b909155505050565b6000818152600260205260408120546001600160a01b031680610b0a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b336000908152600b602052604090205460ff166122c357604051634289c49360e01b815260040160405180910390fd5b60188054911515620100000262ff000019909216919091179055565b336000908152600b602052604090205460ff1661230f57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae490604401611106565b60006001600160a01b0382166123c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fed565b506001600160a01b031660009081526003602052604090205490565b6123e4614072565b6123ee60006140cc565b565b6009546001600160a01b0316331461241b57604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca83615541565b336000908152600b602052604090205460ff1661248057604051634289c49360e01b815260040160405180910390fd5b806000036124a157604051634b1c6ca160e01b815260040160405180910390fd5b601355565b60158054612006906153f7565b336000908152600b602052604090205460ff166124e357604051634289c49360e01b815260040160405180910390fd5b60648160ff16111561250857604051634b1c6ca160e01b815260040160405180910390fd5b600f805460ff9092166101000261ff0019909216919091179055565b6000816001600160a01b03811661254e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152601b602052604090205491505b50919050565b612578614072565b336000908152600b60205260409020805460ff19166001179055600f80546001600160a01b03888116620100000262010000600160b01b031990921691909117909155600880548783166001600160a01b031991821617909155600a8054868416908316179055600980549287169290911691909117905560176125fc8382615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516126599460179493909101615756565b604051602081830303815290604052601590816126769190615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b8184015293516126d39460179493909101615756565b604051602081830303815290604052601690816126f09190615697565b506001600160a01b0381166000908152600e60205260408120805460ff191660011790555b607a811015612742576000818152601a60205260409020600190558061273a816153de565b915050612715565b50505050505050565b6000826001600160a01b0381166127755760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b6009546000906001600160a01b031633146127d557604051638eea824160e01b815260040160405180910390fd5b506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b336000908152601c602090815260408083206078845290915281205460ff1681036128445760405163210f01d160e21b815260040160405180910390fd5b601354601254101561286957604051634b1c6ca160e01b815260040160405180910390fd5b600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156128b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128dc9190615528565b90506013548110156129015760405163356680b760e01b815260040160405180910390fd5b6000805b60788160ff161161299057336000908152601c6020908152604080832060ff8086168552925282205416900361293e5760019150612990565b336000908152601c6020908152604080832060ff80861685529252822080549091169161296a83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050612905565b5080156129af57604051623de82960e51b815260040160405180910390fd5b612a4733601580546129c0906153f7565b80601f01602080910402602001604051908101604052809291908181526020018280546129ec906153f7565b8015612a395780601f10612a0e57610100808354040283529160200191612a39565b820191906000526020600020905b815481529060010190602001808311612a1c57829003601f168201915b505050505060786002613e24565b600f5460135460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac5919061538c565b5060135460126000828254612ada9190615598565b9091555050600954604051633f27a03f60e21b81523360048201526000916001600160a01b03169063fc9e80fc906024016020604051808303816000875af1158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e919061538c565b905080612b6e5760405163e07c7c8d60e01b815260040160405180910390fd5b60405160019033907f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a36001935050505090565b606060018054610ecf906153f7565b336000908152600b602052604090205460ff16612be557604051634289c49360e01b815260040160405180910390fd5b6015612bf18382615697565b506016612bfe8282615697565b5080604051612c0d9190615805565b604051809103902082604051612c239190615805565b604051908190038120907fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec690600090a35050565b826001600160a01b038116612c7f5760405163e6c4247b60e01b815260040160405180910390fd5b336001600160a01b03851603612ca857604051632f35253160e01b815260040160405180910390fd5b60005b82811015612f7d57336000908152601c6020526040812090858584818110612cd557612cd5615376565b9050602002016020810190612cea9190614fc9565b60ff908116825260208201929092526040016000908120549091169003612d245760405163210f01d160e21b815260040160405180910390fd5b336000908152601c6020526040812090858584818110612d4657612d46615376565b9050602002016020810190612d5b9190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612d8283615541565b91906101000a81548160ff021916908360ff16021790555050601c6000866001600160a01b03166001600160a01b031681526020019081526020016000206000858584818110612dd457612dd4615376565b9050602002016020810190612de99190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612e10836153bf565b91906101000a81548160ff021916908360ff16021790555050601860029054906101000a900460ff1615612f6b576009546000906001600160a01b0316632edb5fcf33878786818110612e6557612e65615376565b9050602002016020810190612e7a9190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eea919061538c565b336000908152601c602052604081209192509060019082888887818110612f1357612f13615376565b9050602002016020810190612f289190614fc9565b60ff908116825260208201929092526040016000205416119050811580612f4c5750805b612f685760405162461bcd60e51b8152600401610fed906155f8565b50505b80612f75816153de565b915050612cab565b508282604051612f8e92919061555e565b604051908190038120906001600160a01b0386169033907f368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b90600090a450505050565b612fdc33838361411e565b5050565b336000908152600b602052604090205460ff1661301057604051634289c49360e01b815260040160405180910390fd5b60005b60798160ff1611612fdc576001600160a01b0382166000908152601c6020908152604080832060ff808616855292528220805490911691613053836153bf565b91906101000a81548160ff021916908360ff160217905550508080613077906153bf565b915050613013565b6009546001600160a01b031633146130aa57604051638eea824160e01b815260040160405180910390fd5b836001600160a01b0381166130d25760405163e6c4247b60e01b815260040160405180910390fd5b826001600160a01b0381166130fa5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a16855292529091205416158061315557506001600160a01b0384166000908152601c6020908152604080832060ff808816855292529091205416155b156131735760405163210f01d160e21b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a168552925282208054909116916131a883615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c602090815260408083208a851684529091528120805490921692506131f7836153bf565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c60209081526040808320888516845290915281208054909216925061324683615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0388166000908152601c602090815260408083208885168452909152812080549092169250613295836153bf565b91906101000a81548160ff021916908360ff16021790555050836001600160a01b0316866001600160a01b03167f52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524878660405161330292919060ff92831681529116602082015260400190565b60405180910390a3505050505050565b61331c3383613e87565b6133385760405162461bcd60e51b8152600401610fed906155ab565b611b18848484846141e4565b336000908152600b602052604090205460ff1661337457604051634289c49360e01b815260040160405180910390fd5b8060000361339557604051634b1c6ca160e01b815260040160405180910390fd5b601455565b336000908152601c6020908152604080832060ff808616855292528220541690036133d85760405163210f01d160e21b815260040160405180910390fd5b601854610100900460ff16156134ae57600954604051632edb5fcf60e01b815233600482015260ff831660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa15801561343a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345e919061538c565b336000908152601c6020908152604080832060ff8088168552925290912054919250600191161181158061348f5750805b6134ab5760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff8086168552925282208054909116916134da83615541565b91906101000a81548160ff021916908360ff1602179055505060006017604051806040016040528060018152602001602f60f81b8152508360ff1673__$7e24fea74dbc7efffb723a34f6ecd87681$__636900a3ae90916040518263ffffffff1660e01b815260040161354f91815260200190565b600060405180830381865af415801561356c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135949190810190615821565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016135c59493929190615756565b6040516020818303038152906040529050612fdc33828460ff166001613e24565b6060610b0a82614217565b336000908152600b602052604090205460ff1661362157604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166136495760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f90600090a25050565b601254600f546000916064916136b29190610100900460ff16615897565b6136bc919061562f565b905090565b336000908152600b602052604090205460ff166136f157604051634289c49360e01b815260040160405180910390fd5b6018805460ff1916911515919091179055565b336000908152600b602052604090205460ff1661373457604051634289c49360e01b815260040160405180910390fd5b806001600160a01b03811661375c5760405163e6c4247b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0384169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a25050565b6008546001600160a01b031633146137d2576040516307473cc760e41b815260040160405180910390fd5b601155565b60178054612006906153f7565b336000908152600b602052604090205460ff1661381457604051634289c49360e01b815260040160405180910390fd5b604051633b9db68960e11b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063773b6d1290604401611106565b613863614072565b6001600160a01b0381166138c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fed565b6120d0816140cc565b336000908152600b602052604090205460ff1661390157604051634289c49360e01b815260040160405180910390fd5b601880549115156101000261ff0019909216919091179055565b60006001600160e01b03198216632483248360e11b1480610b0a5750610b0a8261431f565b6000818152600260205260409020546001600160a01b03166120d05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139d482612233565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60085460405163d3e6a7ad60e01b8152600481018690526001600160a01b0387811692169063d3e6a7ad90602401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906154b2565b6001600160a01b031614613aa357604051637f6ecdf560e01b815260040160405180910390fd5b600f835110613ac557604051639dcca73360e01b815260040160405180910390fd5b60185460ff1615613b91576040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b90613b12903390899089908990899060040161542b565b602060405180830381865af4158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5391906154b2565b6001600160a01b0381166000908152600e602052604090205490915060ff16613b8f57604051638baa579f60e01b815260040160405180910390fd5b505b6008546040516380f2540b60e01b8152600481018690526001600160a01b038781166024830152909116906380f2540b90604401600060405180830381600087803b158015613bdf57600080fd5b505af1158015613bf3573d6000803e3d6000fd5b505050506006601154613c06919061562f565b601154613c139190615598565b60126000828254613c249190615515565b90915550600090505b8351811015613dd257838181518110613c4857613c48615376565b602002602001015160ff16607803613cad576078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb81015613ca857604051630d1ecf1760e11b815260040160405180910390fd5b613cff565b611388601a6000868481518110613cc657613cc6615376565b602002602001015160ff168152602001908152602001600020541115613cff57604051630d1ecf1760e11b815260040160405180910390fd5b601a6000858381518110613d1557613d15615376565b602002602001015160ff1681526020019081526020016000206000815480929190613d3f906153de565b90915550506001600160a01b0386166000908152601c602052604081208551909190869084908110613d7357613d73615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190613dac906153bf565b91906101000a81548160ff021916908360ff160217905550508080600101915050613c2d565b508383604051613de291906158ae565b604051908190038120906001600160a01b038816907fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e390600090a45050505050565b601054600081815260196020526040902081815560018101849055600201805461ff00191661010060ff851602179055613e5e858261436f565b613e688185614389565b600160106000828254613e7b9190615515565b90915550505050505050565b600080613e9383612233565b9050806001600160a01b0316846001600160a01b03161480613eda57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806112625750836001600160a01b0316613ef384610f52565b6001600160a01b031614949350505050565b826001600160a01b0316613f1882612233565b6001600160a01b031614613f3e5760405162461bcd60e51b8152600401610fed906158e7565b6001600160a01b038216613fa05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fed565b826001600160a01b0316613fb382612233565b6001600160a01b031614613fd95760405162461bcd60e51b8152600401610fed906158e7565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6120d081614454565b6007546001600160a01b031633146123ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fed565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361417f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fed565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d64565b6141ef848484613f05565b6141fb84848484614494565b611b185760405162461bcd60e51b8152600401610fed9061592c565b606061422282613940565b6000828152600660205260408120805461423b906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054614267906153f7565b80156142b45780601f10614289576101008083540402835291602001916142b4565b820191906000526020600020905b81548152906001019060200180831161429757829003601f168201915b5050505050905060006142d260408051602081019091526000815290565b905080516000036142e4575092915050565b8151156143165780826040516020016142fe92919061597e565b60405160208183030381529060405292505050919050565b61126284614592565b60006001600160e01b031982166380ac58cd60e01b148061435057506001600160e01b03198216635b5e139f60e01b145b80610b0a57506301ffc9a760e01b6001600160e01b0319831614610b0a565b612fdc828260405180602001604052806000815250614606565b6000828152600260205260409020546001600160a01b03166144045760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610fed565b600082815260066020526040902061441c8282615697565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b61445d81614639565b60008181526006602052604090208054614476906153f7565b1590506120d05760008181526006602052604081206120d0916149c3565b60006001600160a01b0384163b1561458a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144d89033908990889088906004016159ad565b6020604051808303816000875af1925050508015614513575060408051601f3d908101601f19168201909252614510918101906159ea565b60015b614570573d808015614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b5080516000036145685760405162461bcd60e51b8152600401610fed9061592c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001611262565b606061459d82613940565b60006145b460408051602081019091526000815290565b905060008151116145d457604051806020016040528060008152506145ff565b806145de846146ce565b6040516020016145ef92919061597e565b6040516020818303038152906040525b9392505050565b6146108383614760565b61461d6000848484614494565b61108e5760405162461bcd60e51b8152600401610fed9061592c565b600061464482612233565b905061464f82612233565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006146db836148eb565b60010190506000816001600160401b038111156146fa576146fa614bc7565b6040519080825280601f01601f191660200182016040528015614724576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461472e57509392505050565b6001600160a01b0382166147b65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fed565b6000818152600260205260409020546001600160a01b03161561481b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6000818152600260205260409020546001600160a01b0316156148805760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061492a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614956576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061497457662386f26fc10000830492506010015b6305f5e100831061498c576305f5e100830492506008015b61271083106149a057612710830492506004015b606483106149b2576064830492506002015b600a8310610b0a5760010192915050565b5080546149cf906153f7565b6000825580601f106149df575050565b601f0160209004906000526020600020908101906120d091905b80821115614a0d57600081556001016149f9565b5090565b6001600160e01b0319811681146120d057600080fd5b600060208284031215614a3957600080fd5b81356145ff81614a11565b6001600160a01b03811681146120d057600080fd5b600060208284031215614a6b57600080fd5b81356145ff81614a44565b600081518084526020808501945080840160005b83811015614aa957815160ff1687529582019590820190600101614a8a565b509495945050505050565b606081526000614ac76060830186614a76565b602083820381850152614ada8287614a76565b8481036040860152855180825282870193509082019060005b81811015614b11578451151583529383019391830191600101614af3565b509098975050505050505050565b60005b83811015614b3a578181015183820152602001614b22565b50506000910152565b60008151808452614b5b816020860160208601614b1f565b601f01601f19169290920160200192915050565b6020815260006145ff6020830184614b43565b600060208284031215614b9457600080fd5b5035919050565b60008060408385031215614bae57600080fd5b8235614bb981614a44565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614c0557614c05614bc7565b604052919050565b60006001600160401b03821115614c2657614c26614bc7565b5060051b60200190565b803560ff81168114614c4157600080fd5b919050565b600082601f830112614c5757600080fd5b81356020614c6c614c6783614c0d565b614bdd565b82815260059290921b84018101918181019086841115614c8b57600080fd5b8286015b84811015614cad57614ca081614c30565b8352918301918301614c8f565b509695505050505050565b60008060008060608587031215614cce57600080fd5b8435935060208501356001600160401b0380821115614cec57600080fd5b614cf888838901614c46565b94506040870135915080821115614d0e57600080fd5b818701915087601f830112614d2257600080fd5b813581811115614d3157600080fd5b886020828501011115614d4357600080fd5b95989497505060200194505050565b60008060408385031215614d6557600080fd5b8235614d7081614a44565b9150614d7e60208401614c30565b90509250929050565b600082601f830112614d9857600080fd5b81356020614da8614c6783614c0d565b82815260059290921b84018101918181019086841115614dc757600080fd5b8286015b84811015614cad5780356001600160401b03811115614dea5760008081fd5b614df88986838b0101614c46565b845250918301918301614dcb565b60008083601f840112614e1857600080fd5b5081356001600160401b03811115614e2f57600080fd5b6020830191508360208260051b8501011115614e4a57600080fd5b9250929050565b600080600080600060808688031215614e6957600080fd5b614e7286614c30565b94506020808701356001600160401b0380821115614e8f57600080fd5b818901915089601f830112614ea357600080fd5b8135614eb1614c6782614c0d565b81815260059190911b8301840190848101908c831115614ed057600080fd5b938501935b82851015614eee57843582529385019390850190614ed5565b985050506040890135925080831115614f0657600080fd5b614f128a848b01614d87565b95506060890135925080831115614f2857600080fd5b5050614f3688828901614e06565b969995985093965092949392505050565b60008060208385031215614f5a57600080fd5b82356001600160401b03811115614f7057600080fd5b614f7c85828601614e06565b90969095509350505050565b600080600060608486031215614f9d57600080fd5b8335614fa881614a44565b92506020840135614fb881614a44565b929592945050506040919091013590565b600060208284031215614fdb57600080fd5b6145ff82614c30565b600080600060608486031215614ff957600080fd5b833561500481614a44565b92506020840135915060408401356001600160401b0381111561502657600080fd5b61503286828701614c46565b9150509250925092565b80151581146120d057600080fd5b60006020828403121561505c57600080fd5b81356145ff8161503c565b60006001600160401b0382111561508057615080614bc7565b50601f01601f191660200190565b600061509c614c6784615067565b90508281528383830111156150b057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150d857600080fd5b6145ff8383356020850161508e565b60008060008060008060c0878903121561510057600080fd5b863561510b81614a44565b9550602087013561511b81614a44565b9450604087013561512b81614a44565b9350606087013561513b81614a44565b925060808701356001600160401b0381111561515657600080fd5b61516289828a016150c7565b92505060a087013561517381614a44565b809150509295509295509295565b6000806040838503121561519457600080fd5b82356001600160401b03808211156151ab57600080fd5b6151b7868387016150c7565b935060208501359150808211156151cd57600080fd5b506151da858286016150c7565b9150509250929050565b6000806000604084860312156151f957600080fd5b833561520481614a44565b925060208401356001600160401b0381111561521f57600080fd5b61522b86828701614e06565b9497909650939450505050565b6000806040838503121561524b57600080fd5b823561525681614a44565b915060208301356152668161503c565b809150509250929050565b6000806000806080858703121561528757600080fd5b843561529281614a44565b93506152a060208601614c30565b925060408501356152b081614a44565b91506152be60608601614c30565b905092959194509250565b600080600080608085870312156152df57600080fd5b84356152ea81614a44565b935060208501356152fa81614a44565b92506040850135915060608501356001600160401b0381111561531c57600080fd5b8501601f8101871361532d57600080fd5b61533c8782356020840161508e565b91505092959194509250565b6000806040838503121561535b57600080fd5b823561536681614a44565b9150602083013561526681614a44565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561539e57600080fd5b81516145ff8161503c565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036153d5576153d56153a9565b60010192915050565b6000600182016153f0576153f06153a9565b5060010190565b600181811c9082168061540b57607f821691505b60208210810361256a57634e487b7160e01b600052602260045260246000fd5b6001600160a01b0386168152602080820186905260806040830181905285519083018190526000918681019160a0850190845b8181101561547d57845160ff168352938301939183019160010161545e565b505084810360608601528581528587838301376000818701830152601f909501601f1916909401909301979650505050505050565b6000602082840312156154c457600080fd5b81516145ff81614a44565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b602001915036819003821315614e4a57600080fd5b80820180821115610b0a57610b0a6153a9565b60006020828403121561553a57600080fd5b5051919050565b600060ff821680615554576155546153a9565b6000190192915050565b60008184825b8581101561558d5760ff61557783614c30565b1683526020928301929190910190600101615564565b509095945050505050565b81810381811115610b0a57610b0a6153a9565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526017908201527f5468697320636172642068617320616e206f666665722e000000000000000000604082015260600190565b60008261564c57634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561108e57600081815260208120601f850160051c810160208610156156785750805b601f850160051c820191505b8181101561146f57828155600101615684565b81516001600160401b038111156156b0576156b0614bc7565b6156c4816156be84546153f7565b84615651565b602080601f8311600181146156f957600084156156e15750858301515b600019600386901b1c1916600185901b17855561146f565b600085815260208120601f198616915b8281101561572857888601518255948401946001909101908401615709565b50858210156157465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654615764816153f7565b6001828116801561577c5760018114615791576157c0565b60ff19841687528215158302870194506157c0565b8a60005260208060002060005b858110156157b75781548a82015290840190820161579e565b50505082870194505b5050505085516157d4818360208a01614b1f565b85519101906157e7818360208901614b1f565b84519101906157fa818360208801614b1f565b019695505050505050565b60008251615817818460208701614b1f565b9190910192915050565b60006020828403121561583357600080fd5b81516001600160401b0381111561584957600080fd5b8201601f8101841361585a57600080fd5b8051615868614c6782615067565b81815285602083850101111561587d57600080fd5b61588e826020830160208601614b1f565b95945050505050565b8082028115828204841417610b0a57610b0a6153a9565b815160009082906020808601845b838110156158db57815160ff16855293820193908201906001016158bc565b50929695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351615990818460208801614b1f565b8351908301906159a4818360208801614b1f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159e090830184614b43565b9695505050505050565b6000602082840312156159fc57600080fd5b81516145ff81614a1156fea264697066735822122037e4870fe1827025a5878dbedd00e617ea8ebf7de08517dc09f16363951ab41464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xF DUP1 SLOAD PUSH2 0xFFFF NOT AND PUSH2 0x320A OR SWAP1 SSTORE PUSH8 0x10A741A462780000 PUSH1 0x11 SSTORE PUSH1 0x0 PUSH1 0x12 SSTORE PUSH8 0xD02AB486CEDC0000 PUSH1 0x13 SSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x14 SSTORE PUSH1 0x18 DUP1 SLOAD PUSH3 0xFFFF00 NOT AND PUSH3 0x10100 OR SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH10 0x47616D6D614361726473 PUSH1 0xB0 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x4E4F465F4743 PUSH1 0xD0 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0xAE SWAP2 SWAP1 PUSH3 0x1DB JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0xBD DUP3 DUP3 PUSH3 0x1DB JUMP JUMPDEST POP POP POP PUSH3 0xDA PUSH3 0xD4 PUSH3 0xE0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xE4 JUMP JUMPDEST PUSH3 0x2A7 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x161 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x182 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x1D6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1B1 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x1D2 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1BD JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x1F7 JUMPI PUSH3 0x1F7 PUSH3 0x136 JUMP JUMPDEST PUSH3 0x20F DUP2 PUSH3 0x208 DUP5 SLOAD PUSH3 0x14C JUMP JUMPDEST DUP5 PUSH3 0x188 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x247 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x22E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x1D2 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x278 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x257 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x297 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x5A3D DUP1 PUSH3 0x2B7 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x46A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x79E8DADC GT PUSH2 0x24C JUMPI DUP1 PUSH4 0xAD1684FA GT PUSH2 0x146 JUMPI DUP1 PUSH4 0xDBFC05CF GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xE8A7E31D GT PUSH2 0x87 JUMPI DUP1 PUSH4 0xE8A7E31D EQ PUSH2 0xA82 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xA8A JUMPI DUP1 PUSH4 0xEB12D61E EQ PUSH2 0xAC6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xAD9 JUMPI DUP1 PUSH4 0xF98FD283 EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDBFC05CF EQ PUSH2 0xA23 JUMPI DUP1 PUSH4 0xDDB975E8 EQ PUSH2 0xA36 JUMPI DUP1 PUSH4 0xE1883C6E EQ PUSH2 0xA49 JUMPI DUP1 PUSH4 0xE4AE0B9B EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC87B56DD GT PUSH2 0x10A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x9D9 JUMPI DUP1 PUSH4 0xCAFAA473 EQ PUSH2 0x9EC JUMPI DUP1 PUSH4 0xD322B563 EQ PUSH2 0x9FF JUMPI DUP1 PUSH4 0xD7093F40 EQ PUSH2 0xA12 JUMPI DUP1 PUSH4 0xD780C477 EQ PUSH2 0xA1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAD1684FA EQ PUSH2 0x984 JUMPI DUP1 PUSH4 0xB3526185 EQ PUSH2 0x997 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x9A0 JUMPI DUP1 PUSH4 0xBA6C0FBC EQ PUSH2 0x9B3 JUMPI DUP1 PUSH4 0xBF400A6A EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x9FF26EFD GT PUSH2 0x198 JUMPI DUP1 PUSH4 0x9FF26EFD EQ PUSH2 0x910 JUMPI DUP1 PUSH4 0xA1AF8AD4 EQ PUSH2 0x93E JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0xA419811D EQ PUSH2 0x964 JUMPI DUP1 PUSH4 0xAB535160 EQ PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8C9 JUMPI DUP1 PUSH4 0x9038F414 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x8E2 JUMPI DUP1 PUSH4 0x9A5613AD EQ PUSH2 0x8EA JUMPI DUP1 PUSH4 0x9C7F707F EQ PUSH2 0x8FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7DF73E27 GT PUSH2 0x21B JUMPI DUP1 PUSH4 0x7DF73E27 EQ PUSH2 0x84E JUMPI DUP1 PUSH4 0x82D8A118 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x886EB60F EQ PUSH2 0x883 JUMPI DUP1 PUSH4 0x88E0EF80 EQ PUSH2 0x896 JUMPI DUP1 PUSH4 0x8BF670C8 EQ PUSH2 0x8B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79E8DADC EQ PUSH2 0x80D JUMPI DUP1 PUSH4 0x7CE65F7B EQ PUSH2 0x815 JUMPI DUP1 PUSH4 0x7CF86B72 EQ PUSH2 0x828 JUMPI DUP1 PUSH4 0x7DE99BD9 EQ PUSH2 0x83B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D GT PUSH2 0x368 JUMPI DUP1 PUSH4 0x5E31CE48 GT PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7065CB48 GT PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x7B9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x7CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x7DF JUMPI DUP1 PUSH4 0x7155A3AC EQ PUSH2 0x7E7 JUMPI DUP1 PUSH4 0x7232D7D4 EQ PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5E31CE48 EQ PUSH2 0x765 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x778 JUMPI DUP1 PUSH4 0x656BD0AD EQ PUSH2 0x78B JUMPI DUP1 PUSH4 0x68CC5BC1 EQ PUSH2 0x794 JUMPI DUP1 PUSH4 0x6D0AF178 EQ PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4039327E GT PUSH2 0x32C JUMPI DUP1 PUSH4 0x4039327E EQ PUSH2 0x6B2 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x6BA JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x6CD JUMPI DUP1 PUSH4 0x4C03CD0B EQ PUSH2 0x6E0 JUMPI DUP1 PUSH4 0x5312EA8E EQ PUSH2 0x752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D EQ PUSH2 0x63A JUMPI DUP1 PUSH4 0x2CA699E7 EQ PUSH2 0x64D JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x660 JUMPI DUP1 PUSH4 0x2F9E026A EQ PUSH2 0x68C JUMPI DUP1 PUSH4 0x30F5CC58 EQ PUSH2 0x69F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 GT PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x203335F6 GT PUSH2 0x3BA JUMPI DUP1 PUSH4 0x203335F6 EQ PUSH2 0x5E5 JUMPI DUP1 PUSH4 0x20965A5F EQ PUSH2 0x5F8 JUMPI DUP1 PUSH4 0x21A7C6B0 EQ PUSH2 0x60B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x614 JUMPI DUP1 PUSH4 0x241A08FE EQ PUSH2 0x627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 EQ PUSH2 0x575 JUMPI DUP1 PUSH4 0x14CCA36A EQ PUSH2 0x587 JUMPI DUP1 PUSH4 0x155E2F92 EQ PUSH2 0x59A JUMPI DUP1 PUSH4 0x1585CC4E EQ PUSH2 0x5AD JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x81812FC GT PUSH2 0x43D JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x527 JUMPI DUP1 PUSH4 0xE316AB7 EQ PUSH2 0x53C JUMPI DUP1 PUSH4 0x128916DC EQ PUSH2 0x54F JUMPI DUP1 PUSH4 0x1306952C EQ PUSH2 0x562 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0x435DCAF EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x7B2E246 EQ PUSH2 0x4CE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x482 PUSH2 0x47D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A27 JUMP JUMPDEST PUSH2 0xAFF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4AA PUSH2 0x4A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4AB4 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP2 SWAP1 PUSH2 0x4B6F JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x4DC CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x50F PUSH2 0x50A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x535 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B9B JUMP JUMPDEST PUSH2 0xF79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x53A PUSH2 0x54A CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1093 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x55D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1139 JUMP JUMPDEST PUSH2 0x50F PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x11DC JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x126A JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x5BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x12E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1341 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E51 JUMP JUMPDEST PUSH2 0x13B8 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x606 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F47 JUMP JUMPDEST PUSH2 0x1477 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x13 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x622 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x1A93 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x635 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x1AC5 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x648 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x1B0B JUMP JUMPDEST PUSH2 0x53A PUSH2 0x65B CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x1B1E JUMP JUMPDEST PUSH2 0x482 PUSH2 0x66E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6AD CALLDATASIZE PUSH1 0x4 PUSH2 0x4FE4 JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x1FF9 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x2087 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6DB CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x722 PUSH2 0x6EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF DUP1 DUP4 AND SWAP3 PUSH2 0x100 SWAP1 DIV AND SWAP1 DUP6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE SWAP2 ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x760 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20D3 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x773 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x21EE JUMP JUMPDEST PUSH2 0x50F PUSH2 0x786 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2233 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x11 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x2293 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x22DF JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x7DA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2356 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x23DC JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x23F0 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x808 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2450 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x24A6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x823 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x24B3 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x836 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2524 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x849 CALLDATASIZE PUSH1 0x4 PUSH2 0x50E7 JUMP JUMPDEST PUSH2 0x2570 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x85C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x10 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x891 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x274B JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x8A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x8C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x27A7 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x50F JUMP JUMPDEST PUSH2 0x482 PUSH2 0x2806 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x2BA6 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x90B CALLDATASIZE PUSH1 0x4 PUSH2 0x5181 JUMP JUMPDEST PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x91E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x51E4 JUMP JUMPDEST PUSH2 0x2C57 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x95F CALLDATASIZE PUSH1 0x4 PUSH2 0x5238 JUMP JUMPDEST PUSH2 0x2FD1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x972 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2FE0 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x992 CALLDATASIZE PUSH1 0x4 PUSH2 0x5271 JUMP JUMPDEST PUSH2 0x307F JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x14 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9AE CALLDATASIZE PUSH1 0x4 PUSH2 0x52C9 JUMP JUMPDEST PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x3344 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x339A JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x9E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x35E6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9FA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x35F1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x12 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x3694 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA31 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x36C1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA44 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x3704 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x37A7 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x50F SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x37D7 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xA98 CALLDATASIZE PUSH1 0x4 PUSH2 0x5348 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAD4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x37E4 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAE7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x385B JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAFA CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x38D1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0A DUP3 PUSH2 0x391B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0xCF6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO PUSH2 0xCE4 JUMPI DUP1 DUP6 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP6 AND DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD DUP6 MLOAD SWAP1 DUP3 AND SWAP2 DUP7 SWAP2 SWAP1 DUP6 AND SWAP1 DUP2 LT PUSH2 0xC2C JUMPI PUSH2 0xC2C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP3 DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP2 AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB1 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST DUP4 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xCC6 JUMPI PUSH2 0xCC6 PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP2 PUSH2 0xCE0 DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP3 POP POP JUMPDEST DUP1 PUSH2 0xCEE DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0xB8D JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD14 JUMPI PUSH2 0xD14 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD3D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD5D JUMPI PUSH2 0xD5D PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD86 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xDA6 JUMPI PUSH2 0xDA6 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDCF JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0xEAE JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xDF2 JUMPI PUSH2 0xDF2 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE0C JUMPI PUSH2 0xE0C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE32 JUMPI PUSH2 0xE32 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE4C JUMPI PUSH2 0xE4C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP6 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE72 JUMPI PUSH2 0xE72 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE8C JUMPI PUSH2 0xE8C PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP1 PUSH2 0xEA6 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0xDD5 JUMP JUMPDEST POP SWAP2 SWAP11 SWAP1 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xEFB SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF48 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF1D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF48 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF2B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF5D DUP3 PUSH2 0x3940 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF84 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xFF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x1012 JUMPI POP PUSH2 0x1012 DUP2 CALLER PUSH2 0xA98 JUMP JUMPDEST PUSH2 0x1084 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 PUSH2 0x399F JUMP JUMPDEST POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x10C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x982088F PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x982088F0 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x111E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1132 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1169 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1191 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x538B3425A321783393AD250DB10356B8B3523EF29A40DE015C5218213DE0EAD0 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x121E SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x123B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x125F SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1311 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1371 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0xFF DUP6 AND ISZERO DUP1 PUSH2 0x13D0 JUMPI POP PUSH1 0xF SLOAD PUSH1 0xFF SWAP1 DUP2 AND SWAP1 DUP7 AND GT JUMPDEST ISZERO PUSH2 0x13EE JUMPI PUSH1 0x40 MLOAD PUSH4 0xB154B3B PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x146F JUMPI PUSH2 0x145D CALLER DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1412 JUMPI PUSH2 0x1412 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x142C JUMPI PUSH2 0x142C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP7 DUP7 DUP2 DUP2 LT PUSH2 0x1446 JUMPI PUSH2 0x1446 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x1458 SWAP2 SWAP1 PUSH2 0x54CF JUMP JUMPDEST PUSH2 0x3A0D JUMP JUMPDEST DUP1 PUSH2 0x1467 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x13F1 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 SUB PUSH2 0x14B5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x14D0 SWAP1 DUP4 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x3C DUP3 LT PUSH2 0x1588 JUMPI PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x152B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x154F SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x14 SLOAD DUP2 LT DUP1 PUSH2 0x1564 JUMPI POP PUSH1 0x14 SLOAD PUSH1 0x12 SLOAD LT JUMPDEST ISZERO PUSH2 0x1582 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0xCDB3117 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xCDB3117 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15F9 SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST GT SWAP1 POP DUP4 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1820 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x162A JUMPI PUSH2 0x162A PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x163F SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x1679 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 ISZERO PUSH2 0x179C JUMPI PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x16A3 JUMPI PUSH2 0x16A3 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x16B8 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1704 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1728 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST ISZERO PUSH2 0x179C JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP2 DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x1751 JUMPI PUSH2 0x1751 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x1766 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND LT ISZERO PUSH2 0x179C JUMPI PUSH1 0x40 MLOAD PUSH4 0x483E9B8D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x17BE JUMPI PUSH2 0x17BE PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x17D3 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x17FA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x1600 JUMP JUMPDEST POP CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1840 SWAP1 DUP5 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH2 0x1855 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 CALLER SWAP1 PUSH32 0xDBCDA3B6D52A6F69C85189CA3F35E5BE8A2E3D052FEA47F656FF00384B0C47B1 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP3 ISZERO PUSH2 0x146F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF AND SWAP2 PUSH2 0x18B7 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x1968 CALLER PUSH1 0x16 DUP1 SLOAD PUSH2 0x18E1 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x190D SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x195A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x192F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x195A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x193D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x79 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x14 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x197C SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x14 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19FF SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH4 0xFA8213D3 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFA8213D3 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1A59 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x2 SWAP3 POP CALLER SWAP2 POP PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1A9E CALLER JUMPDEST DUP3 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x1ABA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH2 0x3F05 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1AF5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1B18 CALLER DUP6 DUP6 DUP6 DUP6 PUSH2 0x3A0D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1B46 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x1B84 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SUB PUSH2 0x1BAD JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1C84 JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C10 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C34 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP10 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x1C65 JUMPI POP DUP1 JUMPDEST PUSH2 0x1C81 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x1CB0 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x1CFF DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x1B6E5F928A38F442936BBDF4696F128A543B8E43730594344A66C028D0B9C3DA DUP5 PUSH1 0x40 MLOAD PUSH2 0x1D64 SWAP2 SWAP1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DA1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E03 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x1E16 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x1E23 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1E34 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B18 JUMPI DUP2 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1E58 JUMPI PUSH2 0x1E58 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 EQ PUSH2 0x1EA3 JUMPI PUSH2 0x1389 PUSH1 0x1A PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x1E83 JUMPI PUSH2 0x1E83 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT PUSH2 0x1ED4 JUMP JUMPDEST PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB9 GT JUMPDEST PUSH2 0x1F20 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x696E76616C69642063617264496E76656E746F727920706F736974696F6E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1F36 JUMPI PUSH2 0x1F36 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1F60 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP4 MLOAD SWAP1 SWAP2 SWAP1 DUP5 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x1F94 JUMPI PUSH2 0x1F94 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1FCD SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x1FF1 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1E3D JUMP JUMPDEST PUSH1 0x16 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2032 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x207F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2054 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x207F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2062 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x20AB CALLER PUSH2 0x1A98 JUMP JUMPDEST PUSH2 0x20C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4069 JUMP JUMPDEST POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2103 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x210D ADDRESS PUSH2 0x2356 JUMP JUMPDEST LT ISZERO PUSH2 0x212C JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x213E SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2199 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21BD SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 CALLER SWAP1 PUSH32 0x23D6711A1D031134A36921253C75AA59E967D38E369AC625992824315E204F20 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2219 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x222B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x22C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x230F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x23C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x23E4 PUSH2 0x4072 JUMP JUMPDEST PUSH2 0x23EE PUSH1 0x0 PUSH2 0x40CC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x241B JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x5541 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2480 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x24A1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SSTORE JUMP JUMPDEST PUSH1 0x15 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x24E3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x64 DUP2 PUSH1 0xFF AND GT ISZERO PUSH2 0x2508 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x254E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 POP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2578 PUSH2 0x4072 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0xF DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH3 0x10000 MUL PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD DUP8 DUP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x9 DUP1 SLOAD SWAP3 DUP8 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x17 PUSH2 0x25FC DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x31323 PUSH1 0xEC SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x2659 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x15 SWAP1 DUP2 PUSH2 0x2676 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x313231 PUSH1 0xE8 SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x26D3 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x16 SWAP1 DUP2 PUSH2 0x26F0 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x7A DUP2 LT ISZERO PUSH2 0x2742 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 SSTORE DUP1 PUSH2 0x273A DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2715 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2775 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x27D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x78 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 SUB PUSH2 0x2844 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SLOAD PUSH1 0x12 SLOAD LT ISZERO PUSH2 0x2869 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28DC SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x13 SLOAD DUP2 LT ISZERO PUSH2 0x2901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x78 DUP2 PUSH1 0xFF AND GT PUSH2 0x2990 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x293E JUMPI PUSH1 0x1 SWAP2 POP PUSH2 0x2990 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x296A DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x2905 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x29AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x3DE829 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2A47 CALLER PUSH1 0x15 DUP1 SLOAD PUSH2 0x29C0 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x29EC SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2A39 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A0E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2A39 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2A1C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x78 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2AA1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AC5 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x13 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2ADA SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x3F27A03F PUSH1 0xE2 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xFC9E80FC SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2B2A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B4E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2B6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE07C7C8D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 SWAP1 CALLER SWAP1 PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 SWAP4 POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2BE5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x15 PUSH2 0x2BF1 DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x16 PUSH2 0x2BFE DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP DUP1 PUSH1 0x40 MLOAD PUSH2 0x2C0D SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2C23 SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xABFD337AC5625B7DC2DDD3D3BD465FB1DEC15322EEEED81032268B337880BEC6 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2C7F JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SUB PUSH2 0x2CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F7D JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2CD5 JUMPI PUSH2 0x2CD5 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2CEA SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x2D24 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2D46 JUMPI PUSH2 0x2D46 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2D5B SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2D82 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x1C PUSH1 0x0 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2DD4 JUMPI PUSH2 0x2DD4 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2DE9 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2E10 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x18 PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x2F6B JUMPI PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP8 DUP8 DUP7 DUP2 DUP2 LT PUSH2 0x2E65 JUMPI PUSH2 0x2E65 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2E7A SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2EC6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EEA SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 DUP3 DUP9 DUP9 DUP8 DUP2 DUP2 LT PUSH2 0x2F13 JUMPI PUSH2 0x2F13 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2F28 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND GT SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x2F4C JUMPI POP DUP1 JUMPDEST PUSH2 0x2F68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST DUP1 PUSH2 0x2F75 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CAB JUMP JUMPDEST POP DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2F8E SWAP3 SWAP2 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 CALLER SWAP1 PUSH32 0x368EB521419FE880268B0D75C05EAA2DA7AE9CCF468BE86A848F7054366D2B9B SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP JUMP JUMPDEST PUSH2 0x2FDC CALLER DUP4 DUP4 PUSH2 0x411E JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3010 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0x2FDC JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x3053 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x3077 SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3013 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x30AA JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30FA JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO DUP1 PUSH2 0x3155 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO JUMPDEST ISZERO PUSH2 0x3173 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x31A8 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x31F7 DUP4 PUSH2 0x53BF JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3246 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3295 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x52819375A02768CB5083D7B729260C6DB2309FCB5C9161201ADA89D30D00D524 DUP8 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3302 SWAP3 SWAP2 SWAP1 PUSH1 0xFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x331C CALLER DUP4 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x3338 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x1B18 DUP5 DUP5 DUP5 DUP5 PUSH2 0x41E4 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3374 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x3395 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x14 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x33D8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x34AE JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x343A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x345E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x348F JUMPI POP DUP1 JUMPDEST PUSH2 0x34AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x34DA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 PUSH1 0x17 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP DUP4 PUSH1 0xFF AND PUSH20 0x0 PUSH4 0x6900A3AE SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x354F SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x356C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3594 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x35C5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x2FDC CALLER DUP3 DUP5 PUSH1 0xFF AND PUSH1 0x1 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB0A DUP3 PUSH2 0x4217 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3621 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3649 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x5A78287A942B8EA0DA8734A4EB919DF11E564CC48301FFCB582DC8612D98208F SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x12 SLOAD PUSH1 0xF SLOAD PUSH1 0x0 SWAP2 PUSH1 0x64 SWAP2 PUSH2 0x36B2 SWAP2 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x5897 JUMP JUMPDEST PUSH2 0x36BC SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x36F1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3734 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x375C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x563F24D71E856F79BEC30E1AA96082A296CD13F0A71CEC730A72B719FA0FA202 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x37D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x11 SSTORE JUMP JUMPDEST PUSH1 0x17 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3814 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3B9DB689 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x773B6D12 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH2 0x3863 PUSH2 0x4072 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x40CC JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xB0A JUMPI POP PUSH2 0xB0A DUP3 PUSH2 0x431F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x20D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x39D4 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3E6A7AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP3 AND SWAP1 PUSH4 0xD3E6A7AD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A7C SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3AA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7F6ECDF5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP4 MLOAD LT PUSH2 0x3AC5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9DCCA733 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B91 JUMPI PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x3B12 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3B2F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B53 SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x3B8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x8BAA579F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BF3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x3C06 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x3C13 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C24 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x3DD2 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3C48 JUMPI PUSH2 0x3C48 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 SUB PUSH2 0x3CAD JUMPI PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB8 LT ISZERO PUSH2 0x3CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3CFF JUMP JUMPDEST PUSH2 0x1388 PUSH1 0x1A PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3CC6 JUMPI PUSH2 0x3CC6 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT ISZERO PUSH2 0x3CFF JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3D15 JUMPI PUSH2 0x3D15 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3D3F SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP6 MLOAD SWAP1 SWAP2 SWAP1 DUP7 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x3D73 JUMPI PUSH2 0x3D73 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3DAC SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3C2D JUMP JUMPDEST POP DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DE2 SWAP2 SWAP1 PUSH2 0x58AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xBABE8F5E83E93AB103DDF917B4292A19335A5128B3530BEDD896A681CDD945E3 SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x10 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF DUP6 AND MUL OR SWAP1 SSTORE PUSH2 0x3E5E DUP6 DUP3 PUSH2 0x436F JUMP JUMPDEST PUSH2 0x3E68 DUP2 DUP6 PUSH2 0x4389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x10 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3E7B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E93 DUP4 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x3EDA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x1262 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3EF3 DUP5 PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3F18 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3F3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3FA0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3FB3 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3FD9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4454 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x23EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x417F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x41EF DUP5 DUP5 DUP5 PUSH2 0x3F05 JUMP JUMPDEST PUSH2 0x41FB DUP5 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x1B18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4222 DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x423B SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4267 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x42B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4289 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x42B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4297 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x42D2 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x42E4 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x4316 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x42FE SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1262 DUP5 PUSH2 0x4592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4350 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xB0A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x2FDC DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x4606 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4404 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x441C DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8E1A15ABA9398E019F0B49DF1A4FDE98EE17AE345CB5F6B5E2C27F5033E8CE7 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH2 0x445D DUP2 PUSH2 0x4639 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x4476 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x20D0 SWAP2 PUSH2 0x49C3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x458A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x44D8 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x59AD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x4513 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x4510 SWAP2 DUP2 ADD SWAP1 PUSH2 0x59EA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4570 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x4541 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4546 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x4568 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x1262 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x1262 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x459D DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x45D4 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x45FF JUMP JUMPDEST DUP1 PUSH2 0x45DE DUP5 PUSH2 0x46CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x45EF SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x4610 DUP4 DUP4 PUSH2 0x4760 JUMP JUMPDEST PUSH2 0x461D PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x108E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4644 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP PUSH2 0x464F DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x46DB DUP4 PUSH2 0x48EB JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x46FA JUMPI PUSH2 0x46FA PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x4724 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x472E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x47B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x481B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x4880 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x492A JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x4956 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x4974 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x498C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x49A0 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x49B2 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xB0A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x49CF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x49DF JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x20D0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4A0D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x49F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4AA9 JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4A8A JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4AC7 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x4A76 JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x4ADA DUP3 DUP8 PUSH2 0x4A76 JUMP JUMPDEST DUP5 DUP2 SUB PUSH1 0x40 DUP7 ADD MSTORE DUP6 MLOAD DUP1 DUP3 MSTORE DUP3 DUP8 ADD SWAP4 POP SWAP1 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B11 JUMPI DUP5 MLOAD ISZERO ISZERO DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4AF3 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4B3A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4B22 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B5B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x45FF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4BB9 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4C05 JUMPI PUSH2 0x4C05 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4C26 JUMPI PUSH2 0x4C26 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4C41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4C57 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4C6C PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST PUSH2 0x4BDD JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4C8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI PUSH2 0x4CA0 DUP2 PUSH2 0x4C30 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4C8F JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4CCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4CEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CF8 DUP9 DUP4 DUP10 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4D0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4D31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x4D43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP POP PUSH1 0x20 ADD SWAP5 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4D70 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x4D7E PUSH1 0x20 DUP5 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4DA8 PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DEA JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4DF8 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4C46 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4DCB JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4E18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E72 DUP7 PUSH2 0x4C30 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP1 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4E8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4EA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4EB1 PUSH2 0x4C67 DUP3 PUSH2 0x4C0D JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP13 DUP4 GT ISZERO PUSH2 0x4ED0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x4EEE JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4ED5 JUMP JUMPDEST SWAP9 POP POP POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F12 DUP11 DUP5 DUP12 ADD PUSH2 0x4D87 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x4F36 DUP9 DUP3 DUP10 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F7C DUP6 DUP3 DUP7 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4F9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4FA8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4FB8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP3 PUSH2 0x4C30 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4FF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5004 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5026 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5032 DUP7 DUP3 DUP8 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x505C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5080 JUMPI PUSH2 0x5080 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x509C PUSH2 0x4C67 DUP5 PUSH2 0x5067 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x50B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x50D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x508E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x5100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x510B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH2 0x511B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0x512B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x513B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5162 DUP10 DUP3 DUP11 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x5173 DUP2 PUSH2 0x4A44 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x51AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x51B7 DUP7 DUP4 DUP8 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x51CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51DA DUP6 DUP3 DUP7 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x51F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5204 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x521F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x522B DUP7 DUP3 DUP8 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x524B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5256 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x503C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x5292 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH2 0x52A0 PUSH1 0x20 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x52B0 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x52BE PUSH1 0x60 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x52DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x52EA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x52FA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x531C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x532D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x533C DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x508E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x535B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5366 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x539E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x53D5 JUMPI PUSH2 0x53D5 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x53F0 JUMPI PUSH2 0x53F0 PUSH2 0x53A9 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x540B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x256A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE DUP6 MLOAD SWAP1 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP7 DUP2 ADD SWAP2 PUSH1 0xA0 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x547D JUMPI DUP5 MLOAD PUSH1 0xFF AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x545E JUMP JUMPDEST POP POP DUP5 DUP2 SUB PUSH1 0x60 DUP7 ADD MSTORE DUP6 DUP2 MSTORE DUP6 DUP8 DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP8 ADD DUP4 ADD MSTORE PUSH1 0x1F SWAP1 SWAP6 ADD PUSH1 0x1F NOT AND SWAP1 SWAP5 ADD SWAP1 SWAP4 ADD SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x54E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x553A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND DUP1 PUSH2 0x5554 JUMPI PUSH2 0x5554 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 NOT ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP3 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x558D JUMPI PUSH1 0xFF PUSH2 0x5577 DUP4 PUSH2 0x4C30 JUMP JUMPDEST AND DUP4 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5564 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x5468697320636172642068617320616E206F666665722E000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x564C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x108E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5678 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x146F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5684 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56B0 JUMPI PUSH2 0x56B0 PUSH2 0x4BC7 JUMP JUMPDEST PUSH2 0x56C4 DUP2 PUSH2 0x56BE DUP5 SLOAD PUSH2 0x53F7 JUMP JUMPDEST DUP5 PUSH2 0x5651 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x56F9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x56E1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x146F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5728 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5709 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5746 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 SLOAD PUSH2 0x5764 DUP2 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x577C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5791 JUMPI PUSH2 0x57C0 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x57C0 JUMP JUMPDEST DUP11 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x57B7 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x579E JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP POP POP POP DUP6 MLOAD PUSH2 0x57D4 DUP2 DUP4 PUSH1 0x20 DUP11 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP6 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57E7 DUP2 DUP4 PUSH1 0x20 DUP10 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP5 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57FA DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5817 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5849 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x585A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x5868 PUSH2 0x4C67 DUP3 PUSH2 0x5067 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x587D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x588E DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x58DB JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x58BC JUMP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5990 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x59A4 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x59E0 SWAP1 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x59FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xE4 DUP8 0xF 0xE1 DUP3 PUSH17 0x25A5878DBEDD00E617EA8EBF7DE08517DC MULMOD CALL PUSH4 0x63951AB4 EQ PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1668:18731:21:-:0;;;2051:40;;;-1:-1:-1;;2095:42:21;;;;;2233:5;2204:34;;-1:-1:-1;2253:34:21;;2325:5;2291:39;;2414:4;2375:43;;2598:49;;;-1:-1:-1;;2651:53:21;;;;;1668:18731;;;;;;;;;;1390:113:5;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;1668:18731:21;;655:96:12;734:10;;655:96::o;2426:187:0:-;2518:6;;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;14:127:31:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:31;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:31;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:31;;;2580:26;2531:89;-1:-1:-1;;1335:1:31;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:31;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:31;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:31;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:31:o;:::-;1668:18731:21;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DAI_TOKEN_4974":{"entryPoint":null,"id":4974,"parameterSlots":0,"returnSlots":0},"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":14751,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_432":{"entryPoint":null,"id":432,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_burn_1464":{"entryPoint":17492,"id":1464,"parameterSlots":1,"returnSlots":0},"@_burn_7043":{"entryPoint":16489,"id":7043,"parameterSlots":1,"returnSlots":0},"@_burn_886":{"entryPoint":17977,"id":886,"parameterSlots":1,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":17556,"id":1103,"parameterSlots":4,"returnSlots":1},"@_checkOwner_54":{"entryPoint":16498,"id":54,"parameterSlots":0,"returnSlots":0},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":16007,"id":698,"parameterSlots":2,"returnSlots":1},"@_mint_819":{"entryPoint":18272,"id":819,"parameterSlots":2,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_openPack_6123":{"entryPoint":14861,"id":6123,"parameterSlots":5,"returnSlots":0},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":14656,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeMint_713":{"entryPoint":17263,"id":713,"parameterSlots":2,"returnSlots":0},"@_safeMint_742":{"entryPoint":17926,"id":742,"parameterSlots":3,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":16868,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":16670,"id":1027,"parameterSlots":3,"returnSlots":0},"@_setTokenURI_1434":{"entryPoint":17289,"id":1434,"parameterSlots":2,"returnSlots":0},"@_transferOwnership_111":{"entryPoint":16588,"id":111,"parameterSlots":1,"returnSlots":0},"@_transfer_971":{"entryPoint":16133,"id":971,"parameterSlots":3,"returnSlots":0},"@addOwner_5319":{"entryPoint":8927,"id":5319,"parameterSlots":1,"returnSlots":0},"@addSigner_5347":{"entryPoint":14308,"id":5347,"parameterSlots":1,"returnSlots":0},"@approve_475":{"entryPoint":3961,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":9046,"id":336,"parameterSlots":1,"returnSlots":1},"@burnCards_6719":{"entryPoint":5239,"id":6719,"parameterSlots":2,"returnSlots":0},"@burn_1308":{"entryPoint":8354,"id":1308,"parameterSlots":1,"returnSlots":0},"@changeMaxPacksToOpenAtOnce_5576":{"entryPoint":6853,"id":5576,"parameterSlots":1,"returnSlots":0},"@changePackPrice_5564":{"entryPoint":14247,"id":5564,"parameterSlots":1,"returnSlots":0},"@changeRequireOfferValidationInMint_5540":{"entryPoint":14545,"id":5540,"parameterSlots":1,"returnSlots":0},"@changeRequireOfferValidationInTransfer_5552":{"entryPoint":8851,"id":5552,"parameterSlots":1,"returnSlots":0},"@changeRequireOpenPackSignerValidation_5528":{"entryPoint":14017,"id":5528,"parameterSlots":1,"returnSlots":0},"@emergencyWithdraw_6901":{"entryPoint":8403,"id":6901,"parameterSlots":1,"returnSlots":0},"@exchangeCardsOffer_6197":{"entryPoint":12415,"id":6197,"parameterSlots":4,"returnSlots":0},"@finishAlbum_6518":{"entryPoint":10246,"id":6518,"parameterSlots":0,"returnSlots":1},"@gammaOffersContract_4957":{"entryPoint":null,"id":4957,"parameterSlots":0,"returnSlots":0},"@gammaPacksContract_4954":{"entryPoint":null,"id":4954,"parameterSlots":0,"returnSlots":0},"@gammaTicketsContract_4960":{"entryPoint":null,"id":4960,"parameterSlots":0,"returnSlots":0},"@getApproved_493":{"entryPoint":3922,"id":493,"parameterSlots":1,"returnSlots":1},"@getBurnedCardQttyByUser_5724":{"entryPoint":9508,"id":5724,"parameterSlots":1,"returnSlots":1},"@getCardQuantityByUser_5709":{"entryPoint":4839,"id":5709,"parameterSlots":2,"returnSlots":1},"@getCardsByUser_5898":{"entryPoint":2832,"id":5898,"parameterSlots":1,"returnSlots":3},"@getLotteryPrize_5690":{"entryPoint":13972,"id":5690,"parameterSlots":0,"returnSlots":1},"@hasCardByOffer_5630":{"entryPoint":10151,"id":5630,"parameterSlots":2,"returnSlots":1},"@hasCard_5651":{"entryPoint":10059,"id":5651,"parameterSlots":2,"returnSlots":1},"@init_5305":{"entryPoint":9584,"id":5305,"parameterSlots":6,"returnSlots":0},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@isOwner_5664":{"entryPoint":null,"id":5664,"parameterSlots":1,"returnSlots":1},"@isSigner_5677":{"entryPoint":null,"id":5677,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":18667,"id":3186,"parameterSlots":1,"returnSlots":1},"@mintCard_6811":{"entryPoint":13210,"id":6811,"parameterSlots":1,"returnSlots":0},"@name_374":{"entryPoint":3776,"id":374,"parameterSlots":0,"returnSlots":1},"@openPack_5939":{"entryPoint":6923,"id":5939,"parameterSlots":4,"returnSlots":0},"@openPacks_5991":{"entryPoint":5048,"id":5991,"parameterSlots":5,"returnSlots":0},"@ownerOf_364":{"entryPoint":8755,"id":364,"parameterSlots":1,"returnSlots":1},"@owner_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":1},"@removeCardByOffer_5593":{"entryPoint":9200,"id":5593,"parameterSlots":2,"returnSlots":0},"@removeOwner_5333":{"entryPoint":4929,"id":5333,"parameterSlots":1,"returnSlots":0},"@removeSigner_5361":{"entryPoint":4243,"id":5361,"parameterSlots":1,"returnSlots":0},"@renounceOwnership_68":{"entryPoint":9180,"id":68,"parameterSlots":0,"returnSlots":0},"@restoreCardByOffer_5610":{"entryPoint":4714,"id":5610,"parameterSlots":2,"returnSlots":0},"@s_baseUri_4994":{"entryPoint":14295,"id":4994,"parameterSlots":0,"returnSlots":0},"@s_burnedCards_5026":{"entryPoint":null,"id":5026,"parameterSlots":0,"returnSlots":0},"@s_cardsByUser_5032":{"entryPoint":null,"id":5032,"parameterSlots":0,"returnSlots":0},"@s_cardsInventory_5022":{"entryPoint":null,"id":5022,"parameterSlots":0,"returnSlots":0},"@s_cards_5018":{"entryPoint":null,"id":5018,"parameterSlots":0,"returnSlots":0},"@s_lotteryPrizePercentage_4972":{"entryPoint":null,"id":4972,"parameterSlots":0,"returnSlots":0},"@s_mainAlbumPrize_4985":{"entryPoint":null,"id":4985,"parameterSlots":0,"returnSlots":0},"@s_mainUri_4990":{"entryPoint":9382,"id":4990,"parameterSlots":0,"returnSlots":0},"@s_maxPacksToOpenAtOnce_4969":{"entryPoint":null,"id":4969,"parameterSlots":0,"returnSlots":0},"@s_packPrice_4979":{"entryPoint":null,"id":4979,"parameterSlots":0,"returnSlots":0},"@s_prizesBalance_4982":{"entryPoint":null,"id":4982,"parameterSlots":0,"returnSlots":0},"@s_requireOfferValidationInMint_4999":{"entryPoint":null,"id":4999,"parameterSlots":0,"returnSlots":0},"@s_requireOfferValidationInTransfer_5002":{"entryPoint":null,"id":5002,"parameterSlots":0,"returnSlots":0},"@s_requireOpenPackSignerValidation_4996":{"entryPoint":null,"id":4996,"parameterSlots":0,"returnSlots":0},"@s_secondaryAlbumPrize_4988":{"entryPoint":null,"id":4988,"parameterSlots":0,"returnSlots":0},"@s_secondaryUri_4992":{"entryPoint":8185,"id":4992,"parameterSlots":0,"returnSlots":0},"@s_tokenIdCounter_4976":{"entryPoint":null,"id":4976,"parameterSlots":0,"returnSlots":0},"@safeMint_6862":{"entryPoint":15908,"id":6862,"parameterSlots":4,"returnSlots":0},"@safeTransferFrom_574":{"entryPoint":8327,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":13074,"id":604,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":12241,"id":510,"parameterSlots":2,"returnSlots":0},"@setGammaOffersContract_5382":{"entryPoint":4409,"id":5382,"parameterSlots":1,"returnSlots":0},"@setGammaPacksContract_5403":{"entryPoint":13809,"id":5403,"parameterSlots":1,"returnSlots":0},"@setGammaTicketsContract_5424":{"entryPoint":14084,"id":5424,"parameterSlots":1,"returnSlots":0},"@setLotteryPrizePercentage_5493":{"entryPoint":9395,"id":5493,"parameterSlots":1,"returnSlots":0},"@setMainAlbumPrize_5455":{"entryPoint":9296,"id":5455,"parameterSlots":1,"returnSlots":0},"@setPrizesBalance_5436":{"entryPoint":8686,"id":5436,"parameterSlots":1,"returnSlots":0},"@setSecondaryAlbumPrize_5474":{"entryPoint":13124,"id":5474,"parameterSlots":1,"returnSlots":0},"@setUris_5516":{"entryPoint":11189,"id":5516,"parameterSlots":2,"returnSlots":0},"@supportsInterface_1349":{"entryPoint":14619,"id":1349,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":17183,"id":312,"parameterSlots":1,"returnSlots":1},"@supportsInterface_7075":{"entryPoint":2815,"id":7075,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":11174,"id":384,"parameterSlots":0,"returnSlots":1},"@testAddCards_6927":{"entryPoint":12256,"id":6927,"parameterSlots":1,"returnSlots":0},"@testOpenPack_7005":{"entryPoint":7537,"id":7005,"parameterSlots":3,"returnSlots":0},"@toString_1911":{"entryPoint":18126,"id":1911,"parameterSlots":1,"returnSlots":1},"@tokenURI_1408":{"entryPoint":16919,"id":1408,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":17810,"id":423,"parameterSlots":1,"returnSlots":1},"@tokenURI_7059":{"entryPoint":13798,"id":7059,"parameterSlots":1,"returnSlots":1},"@transferCard_6281":{"entryPoint":6942,"id":6281,"parameterSlots":2,"returnSlots":0},"@transferCards_6388":{"entryPoint":11351,"id":6388,"parameterSlots":3,"returnSlots":0},"@transferFrom_555":{"entryPoint":6803,"id":555,"parameterSlots":3,"returnSlots":0},"@transferOwnership_91":{"entryPoint":14427,"id":91,"parameterSlots":1,"returnSlots":0},"@verifyPackSigner_5920":{"entryPoint":4572,"id":5920,"parameterSlots":4,"returnSlots":1},"abi_decode_array_array_uint8_dyn_dyn":{"entryPoint":19847,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes_calldata_dyn_calldata":{"entryPoint":19974,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_array_uint8_dyn":{"entryPoint":19526,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_string":{"entryPoint":20622,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_string":{"entryPoint":20679,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":19033,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":21682,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":21320,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_addresst_string_memory_ptrt_address":{"entryPoint":20711,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":20360,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":21193,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_array$_t_uint8_$dyn_calldata_ptr":{"entryPoint":20964,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bool":{"entryPoint":21048,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":19355,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptr":{"entryPoint":20452,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint8":{"entryPoint":19794,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint8t_addresst_uint8":{"entryPoint":21105,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_uint8_$dyn_calldata_ptr":{"entryPoint":20295,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool":{"entryPoint":20554,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":21388,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4":{"entryPoint":18983,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":23018,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":22561,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr":{"entryPoint":20865,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":19330,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":21800,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr":{"entryPoint":19640,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint8":{"entryPoint":20425,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":20049,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_uint8":{"entryPoint":19504,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_uint8_dyn":{"entryPoint":19062,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":19267,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_calldata_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21854,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22702,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22358,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22533,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":22910,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":22957,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_calldata_ptr__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed":{"entryPoint":21547,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":19124,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaOffersContract_$4934__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaPacksContract_$4894__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaTicketsContract_$4940__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":19311,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21931,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22828,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22759,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22008,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__to_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint8__to_t_uint8_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":21711,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_memory":{"entryPoint":19421,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_uint8_dyn":{"entryPoint":19469,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_string":{"entryPoint":20583,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":21781,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":22063,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":22679,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":21912,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":22097,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":22167,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":19231,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint8":{"entryPoint":21825,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":21495,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":21470,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":21439,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":21417,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":21366,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":19399,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":19012,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":20540,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":18961,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:37023:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:31","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:31"},"nodeType":"YulFunctionCall","src":"125:12:31"},"nodeType":"YulExpressionStatement","src":"125:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:31","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:31"},"nodeType":"YulFunctionCall","src":"99:20:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:31"},"nodeType":"YulFunctionCall","src":"88:32:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:31"},"nodeType":"YulFunctionCall","src":"78:43:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:31"},"nodeType":"YulFunctionCall","src":"71:51:31"},"nodeType":"YulIf","src":"68:71:31"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:31","type":""}],"src":"14:131:31"},{"body":{"nodeType":"YulBlock","src":"219:176:31","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:31"},"nodeType":"YulFunctionCall","src":"267:12:31"},"nodeType":"YulExpressionStatement","src":"267:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:31"},"nodeType":"YulFunctionCall","src":"236:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:31"},"nodeType":"YulFunctionCall","src":"232:32:31"},"nodeType":"YulIf","src":"229:52:31"},{"nodeType":"YulVariableDeclaration","src":"290:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:31"},"nodeType":"YulFunctionCall","src":"303:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:31"},"nodeType":"YulFunctionCall","src":"335:30:31"},"nodeType":"YulExpressionStatement","src":"335:30:31"},{"nodeType":"YulAssignment","src":"374:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:31","type":""}],"src":"150:245:31"},{"body":{"nodeType":"YulBlock","src":"495:92:31","statements":[{"nodeType":"YulAssignment","src":"505:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:31"},"nodeType":"YulFunctionCall","src":"513:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:31"},"nodeType":"YulFunctionCall","src":"565:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:31"},"nodeType":"YulFunctionCall","src":"558:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:31"},"nodeType":"YulFunctionCall","src":"540:41:31"},"nodeType":"YulExpressionStatement","src":"540:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:31","type":""}],"src":"400:187:31"},{"body":{"nodeType":"YulBlock","src":"637:86:31","statements":[{"body":{"nodeType":"YulBlock","src":"701:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"710:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"713:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"703:6:31"},"nodeType":"YulFunctionCall","src":"703:12:31"},"nodeType":"YulExpressionStatement","src":"703:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"660:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"671:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"686:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"691:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"682:3:31"},"nodeType":"YulFunctionCall","src":"682:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"695:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"678:3:31"},"nodeType":"YulFunctionCall","src":"678:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"667:3:31"},"nodeType":"YulFunctionCall","src":"667:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"657:2:31"},"nodeType":"YulFunctionCall","src":"657:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"650:6:31"},"nodeType":"YulFunctionCall","src":"650:50:31"},"nodeType":"YulIf","src":"647:70:31"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"626:5:31","type":""}],"src":"592:131:31"},{"body":{"nodeType":"YulBlock","src":"798:177:31","statements":[{"body":{"nodeType":"YulBlock","src":"844:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"853:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"856:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"846:6:31"},"nodeType":"YulFunctionCall","src":"846:12:31"},"nodeType":"YulExpressionStatement","src":"846:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"819:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"828:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"815:3:31"},"nodeType":"YulFunctionCall","src":"815:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"840:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"811:3:31"},"nodeType":"YulFunctionCall","src":"811:32:31"},"nodeType":"YulIf","src":"808:52:31"},{"nodeType":"YulVariableDeclaration","src":"869:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"895:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"882:12:31"},"nodeType":"YulFunctionCall","src":"882:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"873:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"939:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"914:24:31"},"nodeType":"YulFunctionCall","src":"914:31:31"},"nodeType":"YulExpressionStatement","src":"914:31:31"},{"nodeType":"YulAssignment","src":"954:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"964:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"954:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"764:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"775:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"787:6:31","type":""}],"src":"728:247:31"},{"body":{"nodeType":"YulBlock","src":"1039:385:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1049:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1069:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1063:5:31"},"nodeType":"YulFunctionCall","src":"1063:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1053:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1091:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"1096:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1084:6:31"},"nodeType":"YulFunctionCall","src":"1084:19:31"},"nodeType":"YulExpressionStatement","src":"1084:19:31"},{"nodeType":"YulVariableDeclaration","src":"1112:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1122:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1116:2:31","type":""}]},{"nodeType":"YulAssignment","src":"1135:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1146:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1151:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1142:3:31"},"nodeType":"YulFunctionCall","src":"1142:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1135:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"1163:28:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1181:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1188:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1177:3:31"},"nodeType":"YulFunctionCall","src":"1177:14:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"1167:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1200:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1209:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1204:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1268:131:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1289:3:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1304:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1298:5:31"},"nodeType":"YulFunctionCall","src":"1298:13:31"},{"kind":"number","nodeType":"YulLiteral","src":"1313:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1294:3:31"},"nodeType":"YulFunctionCall","src":"1294:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1282:6:31"},"nodeType":"YulFunctionCall","src":"1282:37:31"},"nodeType":"YulExpressionStatement","src":"1282:37:31"},{"nodeType":"YulAssignment","src":"1332:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1343:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1348:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1339:3:31"},"nodeType":"YulFunctionCall","src":"1339:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1332:3:31"}]},{"nodeType":"YulAssignment","src":"1364:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1378:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1386:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1374:3:31"},"nodeType":"YulFunctionCall","src":"1374:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1364:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1230:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"1233:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1227:2:31"},"nodeType":"YulFunctionCall","src":"1227:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1241:18:31","statements":[{"nodeType":"YulAssignment","src":"1243:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1252:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"1255:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1248:3:31"},"nodeType":"YulFunctionCall","src":"1248:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1243:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1223:3:31","statements":[]},"src":"1219:180:31"},{"nodeType":"YulAssignment","src":"1408:10:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"1415:3:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1408:3:31"}]}]},"name":"abi_encode_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1016:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1023:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1031:3:31","type":""}],"src":"980:444:31"},{"body":{"nodeType":"YulBlock","src":"1722:713:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1739:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1750:2:31","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1732:6:31"},"nodeType":"YulFunctionCall","src":"1732:21:31"},"nodeType":"YulExpressionStatement","src":"1732:21:31"},{"nodeType":"YulVariableDeclaration","src":"1762:68:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1803:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1815:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1826:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1811:3:31"},"nodeType":"YulFunctionCall","src":"1811:18:31"}],"functionName":{"name":"abi_encode_array_uint8_dyn","nodeType":"YulIdentifier","src":"1776:26:31"},"nodeType":"YulFunctionCall","src":"1776:54:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"1766:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1839:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1849:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1843:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1871:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1882:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1867:3:31"},"nodeType":"YulFunctionCall","src":"1867:18:31"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"1891:6:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1899:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1887:3:31"},"nodeType":"YulFunctionCall","src":"1887:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1860:6:31"},"nodeType":"YulFunctionCall","src":"1860:50:31"},"nodeType":"YulExpressionStatement","src":"1860:50:31"},{"nodeType":"YulVariableDeclaration","src":"1919:56:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1960:6:31"},{"name":"tail_1","nodeType":"YulIdentifier","src":"1968:6:31"}],"functionName":{"name":"abi_encode_array_uint8_dyn","nodeType":"YulIdentifier","src":"1933:26:31"},"nodeType":"YulFunctionCall","src":"1933:42:31"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"1923:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1995:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2006:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1991:3:31"},"nodeType":"YulFunctionCall","src":"1991:18:31"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2015:6:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2023:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2011:3:31"},"nodeType":"YulFunctionCall","src":"2011:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1984:6:31"},"nodeType":"YulFunctionCall","src":"1984:50:31"},"nodeType":"YulExpressionStatement","src":"1984:50:31"},{"nodeType":"YulVariableDeclaration","src":"2043:17:31","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"2054:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2047:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2069:27:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"2089:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2083:5:31"},"nodeType":"YulFunctionCall","src":"2083:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2073:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2112:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"2120:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2105:6:31"},"nodeType":"YulFunctionCall","src":"2105:22:31"},"nodeType":"YulExpressionStatement","src":"2105:22:31"},{"nodeType":"YulAssignment","src":"2136:22:31","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2147:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2155:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2143:3:31"},"nodeType":"YulFunctionCall","src":"2143:15:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2136:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"2167:29:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"2185:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2193:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2181:3:31"},"nodeType":"YulFunctionCall","src":"2181:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2171:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2205:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2214:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2209:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2273:136:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2294:3:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2319:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2313:5:31"},"nodeType":"YulFunctionCall","src":"2313:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2306:6:31"},"nodeType":"YulFunctionCall","src":"2306:21:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2299:6:31"},"nodeType":"YulFunctionCall","src":"2299:29:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2287:6:31"},"nodeType":"YulFunctionCall","src":"2287:42:31"},"nodeType":"YulExpressionStatement","src":"2287:42:31"},{"nodeType":"YulAssignment","src":"2342:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2353:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2358:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2349:3:31"},"nodeType":"YulFunctionCall","src":"2349:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2342:3:31"}]},{"nodeType":"YulAssignment","src":"2374:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2388:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2396:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2384:3:31"},"nodeType":"YulFunctionCall","src":"2384:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2374:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2235:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"2238:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2232:2:31"},"nodeType":"YulFunctionCall","src":"2232:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2246:18:31","statements":[{"nodeType":"YulAssignment","src":"2248:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2257:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"2260:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2253:3:31"},"nodeType":"YulFunctionCall","src":"2253:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2248:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2228:3:31","statements":[]},"src":"2224:185:31"},{"nodeType":"YulAssignment","src":"2418:11:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"2426:3:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2418:4:31"}]}]},"name":"abi_encode_tuple_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1675:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1686:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1694:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1702:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1713:4:31","type":""}],"src":"1429:1006:31"},{"body":{"nodeType":"YulBlock","src":"2506:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2516:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2525:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2520:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2585:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2610:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"2615:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2606:3:31"},"nodeType":"YulFunctionCall","src":"2606:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2629:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"2634:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2625:3:31"},"nodeType":"YulFunctionCall","src":"2625:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2619:5:31"},"nodeType":"YulFunctionCall","src":"2619:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2599:6:31"},"nodeType":"YulFunctionCall","src":"2599:39:31"},"nodeType":"YulExpressionStatement","src":"2599:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2546:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"2549:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2543:2:31"},"nodeType":"YulFunctionCall","src":"2543:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2557:19:31","statements":[{"nodeType":"YulAssignment","src":"2559:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2568:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"2571:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2564:3:31"},"nodeType":"YulFunctionCall","src":"2564:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2559:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2539:3:31","statements":[]},"src":"2535:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2668:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"2673:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2664:3:31"},"nodeType":"YulFunctionCall","src":"2664:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"2682:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2657:6:31"},"nodeType":"YulFunctionCall","src":"2657:27:31"},"nodeType":"YulExpressionStatement","src":"2657:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2484:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"2489:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"2494:6:31","type":""}],"src":"2440:250:31"},{"body":{"nodeType":"YulBlock","src":"2745:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2755:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2775:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2769:5:31"},"nodeType":"YulFunctionCall","src":"2769:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2759:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2797:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"2802:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2790:6:31"},"nodeType":"YulFunctionCall","src":"2790:19:31"},"nodeType":"YulExpressionStatement","src":"2790:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2857:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"2864:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2853:3:31"},"nodeType":"YulFunctionCall","src":"2853:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2875:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2880:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2871:3:31"},"nodeType":"YulFunctionCall","src":"2871:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"2887:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2818:34:31"},"nodeType":"YulFunctionCall","src":"2818:76:31"},"nodeType":"YulExpressionStatement","src":"2818:76:31"},{"nodeType":"YulAssignment","src":"2903:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2918:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2931:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2939:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2927:3:31"},"nodeType":"YulFunctionCall","src":"2927:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2948:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2944:3:31"},"nodeType":"YulFunctionCall","src":"2944:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2923:3:31"},"nodeType":"YulFunctionCall","src":"2923:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2914:3:31"},"nodeType":"YulFunctionCall","src":"2914:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"2955:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:31"},"nodeType":"YulFunctionCall","src":"2910:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2903:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2722:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2729:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2737:3:31","type":""}],"src":"2695:271:31"},{"body":{"nodeType":"YulBlock","src":"3092:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3109:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3120:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3102:6:31"},"nodeType":"YulFunctionCall","src":"3102:21:31"},"nodeType":"YulExpressionStatement","src":"3102:21:31"},{"nodeType":"YulAssignment","src":"3132:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3158:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3181:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:31"},"nodeType":"YulFunctionCall","src":"3166:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3140:17:31"},"nodeType":"YulFunctionCall","src":"3140:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3132:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3061:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3072:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3083:4:31","type":""}],"src":"2971:220:31"},{"body":{"nodeType":"YulBlock","src":"3297:76:31","statements":[{"nodeType":"YulAssignment","src":"3307:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3319:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3330:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3315:3:31"},"nodeType":"YulFunctionCall","src":"3315:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3307:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3349:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3360:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3342:6:31"},"nodeType":"YulFunctionCall","src":"3342:25:31"},"nodeType":"YulExpressionStatement","src":"3342:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3266:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3277:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3288:4:31","type":""}],"src":"3196:177:31"},{"body":{"nodeType":"YulBlock","src":"3448:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"3494:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3503:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3506:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3496:6:31"},"nodeType":"YulFunctionCall","src":"3496:12:31"},"nodeType":"YulExpressionStatement","src":"3496:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3469:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3478:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3465:3:31"},"nodeType":"YulFunctionCall","src":"3465:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3490:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3461:3:31"},"nodeType":"YulFunctionCall","src":"3461:32:31"},"nodeType":"YulIf","src":"3458:52:31"},{"nodeType":"YulAssignment","src":"3519:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3542:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3529:12:31"},"nodeType":"YulFunctionCall","src":"3529:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3519:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3414:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3425:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3437:6:31","type":""}],"src":"3378:180:31"},{"body":{"nodeType":"YulBlock","src":"3664:102:31","statements":[{"nodeType":"YulAssignment","src":"3674:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3686:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3697:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3682:3:31"},"nodeType":"YulFunctionCall","src":"3682:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3674:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3716:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3731:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3747:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3752:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3743:3:31"},"nodeType":"YulFunctionCall","src":"3743:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3756:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3739:3:31"},"nodeType":"YulFunctionCall","src":"3739:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3727:3:31"},"nodeType":"YulFunctionCall","src":"3727:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3709:6:31"},"nodeType":"YulFunctionCall","src":"3709:51:31"},"nodeType":"YulExpressionStatement","src":"3709:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3633:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3644:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3655:4:31","type":""}],"src":"3563:203:31"},{"body":{"nodeType":"YulBlock","src":"3858:228:31","statements":[{"body":{"nodeType":"YulBlock","src":"3904:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3913:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3916:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3906:6:31"},"nodeType":"YulFunctionCall","src":"3906:12:31"},"nodeType":"YulExpressionStatement","src":"3906:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3879:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3888:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3875:3:31"},"nodeType":"YulFunctionCall","src":"3875:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3900:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3871:3:31"},"nodeType":"YulFunctionCall","src":"3871:32:31"},"nodeType":"YulIf","src":"3868:52:31"},{"nodeType":"YulVariableDeclaration","src":"3929:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3955:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3942:12:31"},"nodeType":"YulFunctionCall","src":"3942:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3933:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3999:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3974:24:31"},"nodeType":"YulFunctionCall","src":"3974:31:31"},"nodeType":"YulExpressionStatement","src":"3974:31:31"},{"nodeType":"YulAssignment","src":"4014:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"4024:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4014:6:31"}]},{"nodeType":"YulAssignment","src":"4038:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4065:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4076:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4061:3:31"},"nodeType":"YulFunctionCall","src":"4061:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4048:12:31"},"nodeType":"YulFunctionCall","src":"4048:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4038:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3816:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3827:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3839:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3847:6:31","type":""}],"src":"3771:315:31"},{"body":{"nodeType":"YulBlock","src":"4123:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4140:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4147:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4152:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4143:3:31"},"nodeType":"YulFunctionCall","src":"4143:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4133:6:31"},"nodeType":"YulFunctionCall","src":"4133:31:31"},"nodeType":"YulExpressionStatement","src":"4133:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4180:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4183:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4173:6:31"},"nodeType":"YulFunctionCall","src":"4173:15:31"},"nodeType":"YulExpressionStatement","src":"4173:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4204:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4207:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4197:6:31"},"nodeType":"YulFunctionCall","src":"4197:15:31"},"nodeType":"YulExpressionStatement","src":"4197:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"4091:127:31"},{"body":{"nodeType":"YulBlock","src":"4268:230:31","statements":[{"nodeType":"YulAssignment","src":"4278:19:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4294:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4288:5:31"},"nodeType":"YulFunctionCall","src":"4288:9:31"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4278:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"4306:58:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4328:6:31"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4344:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"4350:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4340:3:31"},"nodeType":"YulFunctionCall","src":"4340:13:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4359:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4355:3:31"},"nodeType":"YulFunctionCall","src":"4355:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4336:3:31"},"nodeType":"YulFunctionCall","src":"4336:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4324:3:31"},"nodeType":"YulFunctionCall","src":"4324:40:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4310:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4439:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4441:16:31"},"nodeType":"YulFunctionCall","src":"4441:18:31"},"nodeType":"YulExpressionStatement","src":"4441:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4382:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"4394:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4379:2:31"},"nodeType":"YulFunctionCall","src":"4379:34:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4418:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4430:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4415:2:31"},"nodeType":"YulFunctionCall","src":"4415:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4376:2:31"},"nodeType":"YulFunctionCall","src":"4376:62:31"},"nodeType":"YulIf","src":"4373:88:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4477:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4481:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4470:6:31"},"nodeType":"YulFunctionCall","src":"4470:22:31"},"nodeType":"YulExpressionStatement","src":"4470:22:31"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4248:4:31","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4257:6:31","type":""}],"src":"4223:275:31"},{"body":{"nodeType":"YulBlock","src":"4570:114:31","statements":[{"body":{"nodeType":"YulBlock","src":"4614:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4616:16:31"},"nodeType":"YulFunctionCall","src":"4616:18:31"},"nodeType":"YulExpressionStatement","src":"4616:18:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4586:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4594:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4583:2:31"},"nodeType":"YulFunctionCall","src":"4583:30:31"},"nodeType":"YulIf","src":"4580:56:31"},{"nodeType":"YulAssignment","src":"4645:33:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4661:1:31","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"4664:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4657:3:31"},"nodeType":"YulFunctionCall","src":"4657:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"4673:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4653:3:31"},"nodeType":"YulFunctionCall","src":"4653:25:31"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4645:4:31"}]}]},"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4550:6:31","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4561:4:31","type":""}],"src":"4503:181:31"},{"body":{"nodeType":"YulBlock","src":"4736:109:31","statements":[{"nodeType":"YulAssignment","src":"4746:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4768:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4755:12:31"},"nodeType":"YulFunctionCall","src":"4755:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4746:5:31"}]},{"body":{"nodeType":"YulBlock","src":"4823:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4832:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4835:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4825:6:31"},"nodeType":"YulFunctionCall","src":"4825:12:31"},"nodeType":"YulExpressionStatement","src":"4825:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4797:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4808:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"4815:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4804:3:31"},"nodeType":"YulFunctionCall","src":"4804:16:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4794:2:31"},"nodeType":"YulFunctionCall","src":"4794:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4787:6:31"},"nodeType":"YulFunctionCall","src":"4787:35:31"},"nodeType":"YulIf","src":"4784:55:31"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4715:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4726:5:31","type":""}],"src":"4689:156:31"},{"body":{"nodeType":"YulBlock","src":"4912:600:31","statements":[{"body":{"nodeType":"YulBlock","src":"4961:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4970:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4973:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4963:6:31"},"nodeType":"YulFunctionCall","src":"4963:12:31"},"nodeType":"YulExpressionStatement","src":"4963:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4940:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4948:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4936:3:31"},"nodeType":"YulFunctionCall","src":"4936:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"4955:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4932:3:31"},"nodeType":"YulFunctionCall","src":"4932:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4925:6:31"},"nodeType":"YulFunctionCall","src":"4925:35:31"},"nodeType":"YulIf","src":"4922:55:31"},{"nodeType":"YulVariableDeclaration","src":"4986:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5009:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4996:12:31"},"nodeType":"YulFunctionCall","src":"4996:20:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4990:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5025:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"5035:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5029:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5048:69:31","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"5113:2:31"}],"functionName":{"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulIdentifier","src":"5075:37:31"},"nodeType":"YulFunctionCall","src":"5075:41:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5059:15:31"},"nodeType":"YulFunctionCall","src":"5059:58:31"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5052:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5126:16:31","value":{"name":"dst","nodeType":"YulIdentifier","src":"5139:3:31"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"5130:5:31","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5158:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"5163:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5151:6:31"},"nodeType":"YulFunctionCall","src":"5151:15:31"},"nodeType":"YulExpressionStatement","src":"5151:15:31"},{"nodeType":"YulAssignment","src":"5175:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5186:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"5191:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5182:3:31"},"nodeType":"YulFunctionCall","src":"5182:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5175:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"5203:46:31","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5225:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5237:1:31","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"5240:2:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5233:3:31"},"nodeType":"YulFunctionCall","src":"5233:10:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5221:3:31"},"nodeType":"YulFunctionCall","src":"5221:23:31"},{"name":"_2","nodeType":"YulIdentifier","src":"5246:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5217:3:31"},"nodeType":"YulFunctionCall","src":"5217:32:31"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"5207:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5277:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5286:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5289:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5279:6:31"},"nodeType":"YulFunctionCall","src":"5279:12:31"},"nodeType":"YulExpressionStatement","src":"5279:12:31"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"5264:6:31"},{"name":"end","nodeType":"YulIdentifier","src":"5272:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5261:2:31"},"nodeType":"YulFunctionCall","src":"5261:15:31"},"nodeType":"YulIf","src":"5258:35:31"},{"nodeType":"YulVariableDeclaration","src":"5302:26:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5317:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"5325:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5313:3:31"},"nodeType":"YulFunctionCall","src":"5313:15:31"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5306:3:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5393:90:31","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5414:3:31"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5436:3:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"5419:16:31"},"nodeType":"YulFunctionCall","src":"5419:21:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5407:6:31"},"nodeType":"YulFunctionCall","src":"5407:34:31"},"nodeType":"YulExpressionStatement","src":"5407:34:31"},{"nodeType":"YulAssignment","src":"5454:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5465:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"5470:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5461:3:31"},"nodeType":"YulFunctionCall","src":"5461:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5454:3:31"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5348:3:31"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"5353:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5345:2:31"},"nodeType":"YulFunctionCall","src":"5345:15:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5361:23:31","statements":[{"nodeType":"YulAssignment","src":"5363:19:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5374:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"5379:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5370:3:31"},"nodeType":"YulFunctionCall","src":"5370:12:31"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5363:3:31"}]}]},"pre":{"nodeType":"YulBlock","src":"5341:3:31","statements":[]},"src":"5337:146:31"},{"nodeType":"YulAssignment","src":"5492:14:31","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"5501:5:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5492:5:31"}]}]},"name":"abi_decode_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4886:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"4894:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4902:5:31","type":""}],"src":"4850:662:31"},{"body":{"nodeType":"YulBlock","src":"5663:735:31","statements":[{"body":{"nodeType":"YulBlock","src":"5709:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5718:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5721:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5711:6:31"},"nodeType":"YulFunctionCall","src":"5711:12:31"},"nodeType":"YulExpressionStatement","src":"5711:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5684:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5693:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5680:3:31"},"nodeType":"YulFunctionCall","src":"5680:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5705:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5676:3:31"},"nodeType":"YulFunctionCall","src":"5676:32:31"},"nodeType":"YulIf","src":"5673:52:31"},{"nodeType":"YulAssignment","src":"5734:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5757:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5744:12:31"},"nodeType":"YulFunctionCall","src":"5744:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5734:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"5776:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5807:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5818:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5803:3:31"},"nodeType":"YulFunctionCall","src":"5803:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5790:12:31"},"nodeType":"YulFunctionCall","src":"5790:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5780:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5831:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"5841:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5835:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5886:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5895:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5898:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5888:6:31"},"nodeType":"YulFunctionCall","src":"5888:12:31"},"nodeType":"YulExpressionStatement","src":"5888:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5874:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"5882:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5871:2:31"},"nodeType":"YulFunctionCall","src":"5871:14:31"},"nodeType":"YulIf","src":"5868:34:31"},{"nodeType":"YulAssignment","src":"5911:69:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5952:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"5963:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5948:3:31"},"nodeType":"YulFunctionCall","src":"5948:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5972:7:31"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"5921:26:31"},"nodeType":"YulFunctionCall","src":"5921:59:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5911:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"5989:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6022:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6033:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6018:3:31"},"nodeType":"YulFunctionCall","src":"6018:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6005:12:31"},"nodeType":"YulFunctionCall","src":"6005:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5993:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6066:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6075:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6078:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6068:6:31"},"nodeType":"YulFunctionCall","src":"6068:12:31"},"nodeType":"YulExpressionStatement","src":"6068:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6052:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6062:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6049:2:31"},"nodeType":"YulFunctionCall","src":"6049:16:31"},"nodeType":"YulIf","src":"6046:36:31"},{"nodeType":"YulVariableDeclaration","src":"6091:34:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6105:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6116:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6101:3:31"},"nodeType":"YulFunctionCall","src":"6101:24:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6095:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6173:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6182:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6185:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6175:6:31"},"nodeType":"YulFunctionCall","src":"6175:12:31"},"nodeType":"YulExpressionStatement","src":"6175:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6152:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"6156:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6148:3:31"},"nodeType":"YulFunctionCall","src":"6148:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6163:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6144:3:31"},"nodeType":"YulFunctionCall","src":"6144:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6137:6:31"},"nodeType":"YulFunctionCall","src":"6137:35:31"},"nodeType":"YulIf","src":"6134:55:31"},{"nodeType":"YulVariableDeclaration","src":"6198:30:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6225:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6212:12:31"},"nodeType":"YulFunctionCall","src":"6212:16:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6202:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6255:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6264:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6267:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6257:6:31"},"nodeType":"YulFunctionCall","src":"6257:12:31"},"nodeType":"YulExpressionStatement","src":"6257:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6243:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6251:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6240:2:31"},"nodeType":"YulFunctionCall","src":"6240:14:31"},"nodeType":"YulIf","src":"6237:34:31"},{"body":{"nodeType":"YulBlock","src":"6321:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6330:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6333:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6323:6:31"},"nodeType":"YulFunctionCall","src":"6323:12:31"},"nodeType":"YulExpressionStatement","src":"6323:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6294:2:31"},{"name":"length","nodeType":"YulIdentifier","src":"6298:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6290:3:31"},"nodeType":"YulFunctionCall","src":"6290:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"6307:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6286:3:31"},"nodeType":"YulFunctionCall","src":"6286:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6312:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6283:2:31"},"nodeType":"YulFunctionCall","src":"6283:37:31"},"nodeType":"YulIf","src":"6280:57:31"},{"nodeType":"YulAssignment","src":"6346:21:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6360:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"6364:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6356:3:31"},"nodeType":"YulFunctionCall","src":"6356:11:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6346:6:31"}]},{"nodeType":"YulAssignment","src":"6376:16:31","value":{"name":"length","nodeType":"YulIdentifier","src":"6386:6:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6376:6:31"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5605:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5616:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5628:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5636:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5644:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5652:6:31","type":""}],"src":"5517:881:31"},{"body":{"nodeType":"YulBlock","src":"6534:102:31","statements":[{"nodeType":"YulAssignment","src":"6544:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6556:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6567:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6552:3:31"},"nodeType":"YulFunctionCall","src":"6552:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6544:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6586:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6601:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6617:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6622:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6613:3:31"},"nodeType":"YulFunctionCall","src":"6613:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"6626:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6609:3:31"},"nodeType":"YulFunctionCall","src":"6609:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6597:3:31"},"nodeType":"YulFunctionCall","src":"6597:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6579:6:31"},"nodeType":"YulFunctionCall","src":"6579:51:31"},"nodeType":"YulExpressionStatement","src":"6579:51:31"}]},"name":"abi_encode_tuple_t_contract$_IgammaTicketsContract_$4940__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6503:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6514:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6525:4:31","type":""}],"src":"6403:233:31"},{"body":{"nodeType":"YulBlock","src":"6726:232:31","statements":[{"body":{"nodeType":"YulBlock","src":"6772:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6781:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6784:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6774:6:31"},"nodeType":"YulFunctionCall","src":"6774:12:31"},"nodeType":"YulExpressionStatement","src":"6774:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6747:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6756:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6743:3:31"},"nodeType":"YulFunctionCall","src":"6743:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"6768:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6739:3:31"},"nodeType":"YulFunctionCall","src":"6739:32:31"},"nodeType":"YulIf","src":"6736:52:31"},{"nodeType":"YulVariableDeclaration","src":"6797:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6823:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6810:12:31"},"nodeType":"YulFunctionCall","src":"6810:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6801:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6867:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6842:24:31"},"nodeType":"YulFunctionCall","src":"6842:31:31"},"nodeType":"YulExpressionStatement","src":"6842:31:31"},{"nodeType":"YulAssignment","src":"6882:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"6892:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6882:6:31"}]},{"nodeType":"YulAssignment","src":"6906:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6937:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6948:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6933:3:31"},"nodeType":"YulFunctionCall","src":"6933:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"6916:16:31"},"nodeType":"YulFunctionCall","src":"6916:36:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6906:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6684:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6695:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6707:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6715:6:31","type":""}],"src":"6641:317:31"},{"body":{"nodeType":"YulBlock","src":"7060:87:31","statements":[{"nodeType":"YulAssignment","src":"7070:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7082:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7093:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7078:3:31"},"nodeType":"YulFunctionCall","src":"7078:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7070:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7112:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7127:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7135:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7123:3:31"},"nodeType":"YulFunctionCall","src":"7123:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7105:6:31"},"nodeType":"YulFunctionCall","src":"7105:36:31"},"nodeType":"YulExpressionStatement","src":"7105:36:31"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7029:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7040:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7051:4:31","type":""}],"src":"6963:184:31"},{"body":{"nodeType":"YulBlock","src":"7224:832:31","statements":[{"body":{"nodeType":"YulBlock","src":"7273:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7282:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7285:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7275:6:31"},"nodeType":"YulFunctionCall","src":"7275:12:31"},"nodeType":"YulExpressionStatement","src":"7275:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7252:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7260:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7248:3:31"},"nodeType":"YulFunctionCall","src":"7248:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"7267:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7244:3:31"},"nodeType":"YulFunctionCall","src":"7244:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7237:6:31"},"nodeType":"YulFunctionCall","src":"7237:35:31"},"nodeType":"YulIf","src":"7234:55:31"},{"nodeType":"YulVariableDeclaration","src":"7298:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7321:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7308:12:31"},"nodeType":"YulFunctionCall","src":"7308:20:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7302:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7337:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"7347:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"7341:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7360:69:31","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"7425:2:31"}],"functionName":{"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulIdentifier","src":"7387:37:31"},"nodeType":"YulFunctionCall","src":"7387:41:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"7371:15:31"},"nodeType":"YulFunctionCall","src":"7371:58:31"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"7364:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7438:16:31","value":{"name":"dst","nodeType":"YulIdentifier","src":"7451:3:31"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"7442:5:31","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7470:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7475:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7463:6:31"},"nodeType":"YulFunctionCall","src":"7463:15:31"},"nodeType":"YulExpressionStatement","src":"7463:15:31"},{"nodeType":"YulAssignment","src":"7487:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7498:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"7503:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7494:3:31"},"nodeType":"YulFunctionCall","src":"7494:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7487:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"7515:46:31","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7537:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7549:1:31","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"7552:2:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7545:3:31"},"nodeType":"YulFunctionCall","src":"7545:10:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7533:3:31"},"nodeType":"YulFunctionCall","src":"7533:23:31"},{"name":"_2","nodeType":"YulIdentifier","src":"7558:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7529:3:31"},"nodeType":"YulFunctionCall","src":"7529:32:31"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"7519:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7589:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7598:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7601:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7591:6:31"},"nodeType":"YulFunctionCall","src":"7591:12:31"},"nodeType":"YulExpressionStatement","src":"7591:12:31"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"7576:6:31"},{"name":"end","nodeType":"YulIdentifier","src":"7584:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7573:2:31"},"nodeType":"YulFunctionCall","src":"7573:15:31"},"nodeType":"YulIf","src":"7570:35:31"},{"nodeType":"YulVariableDeclaration","src":"7614:26:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7629:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"7637:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7625:3:31"},"nodeType":"YulFunctionCall","src":"7625:15:31"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"7618:3:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7705:322:31","statements":[{"nodeType":"YulVariableDeclaration","src":"7719:36:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7751:3:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7738:12:31"},"nodeType":"YulFunctionCall","src":"7738:17:31"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"7723:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7819:74:31","statements":[{"nodeType":"YulVariableDeclaration","src":"7837:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"7847:1:31","type":"","value":"0"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"7841:2:31","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"7872:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"7876:2:31"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7865:6:31"},"nodeType":"YulFunctionCall","src":"7865:14:31"},"nodeType":"YulExpressionStatement","src":"7865:14:31"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"7774:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"7787:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7771:2:31"},"nodeType":"YulFunctionCall","src":"7771:35:31"},"nodeType":"YulIf","src":"7768:125:31"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7913:3:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7953:6:31"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"7961:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7949:3:31"},"nodeType":"YulFunctionCall","src":"7949:24:31"},{"name":"_2","nodeType":"YulIdentifier","src":"7975:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7945:3:31"},"nodeType":"YulFunctionCall","src":"7945:33:31"},{"name":"end","nodeType":"YulIdentifier","src":"7980:3:31"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"7918:26:31"},"nodeType":"YulFunctionCall","src":"7918:66:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7906:6:31"},"nodeType":"YulFunctionCall","src":"7906:79:31"},"nodeType":"YulExpressionStatement","src":"7906:79:31"},{"nodeType":"YulAssignment","src":"7998:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8009:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"8014:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8005:3:31"},"nodeType":"YulFunctionCall","src":"8005:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7998:3:31"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7660:3:31"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"7665:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7657:2:31"},"nodeType":"YulFunctionCall","src":"7657:15:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7673:23:31","statements":[{"nodeType":"YulAssignment","src":"7675:19:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7686:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"7691:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7682:3:31"},"nodeType":"YulFunctionCall","src":"7682:12:31"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"7675:3:31"}]}]},"pre":{"nodeType":"YulBlock","src":"7653:3:31","statements":[]},"src":"7649:378:31"},{"nodeType":"YulAssignment","src":"8036:14:31","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8045:5:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8036:5:31"}]}]},"name":"abi_decode_array_array_uint8_dyn_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7198:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"7206:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7214:5:31","type":""}],"src":"7152:904:31"},{"body":{"nodeType":"YulBlock","src":"8152:283:31","statements":[{"body":{"nodeType":"YulBlock","src":"8201:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8210:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8213:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8203:6:31"},"nodeType":"YulFunctionCall","src":"8203:12:31"},"nodeType":"YulExpressionStatement","src":"8203:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8180:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8188:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8176:3:31"},"nodeType":"YulFunctionCall","src":"8176:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"8195:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8172:3:31"},"nodeType":"YulFunctionCall","src":"8172:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8165:6:31"},"nodeType":"YulFunctionCall","src":"8165:35:31"},"nodeType":"YulIf","src":"8162:55:31"},{"nodeType":"YulAssignment","src":"8226:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8249:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8236:12:31"},"nodeType":"YulFunctionCall","src":"8236:20:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8226:6:31"}]},{"body":{"nodeType":"YulBlock","src":"8299:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8308:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8311:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8301:6:31"},"nodeType":"YulFunctionCall","src":"8301:12:31"},"nodeType":"YulExpressionStatement","src":"8301:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8271:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8279:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8268:2:31"},"nodeType":"YulFunctionCall","src":"8268:30:31"},"nodeType":"YulIf","src":"8265:50:31"},{"nodeType":"YulAssignment","src":"8324:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8340:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8348:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8336:3:31"},"nodeType":"YulFunctionCall","src":"8336:17:31"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"8324:8:31"}]},{"body":{"nodeType":"YulBlock","src":"8413:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8422:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8425:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8415:6:31"},"nodeType":"YulFunctionCall","src":"8415:12:31"},"nodeType":"YulExpressionStatement","src":"8415:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8376:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8388:1:31","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"8391:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8384:3:31"},"nodeType":"YulFunctionCall","src":"8384:14:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8372:3:31"},"nodeType":"YulFunctionCall","src":"8372:27:31"},{"kind":"number","nodeType":"YulLiteral","src":"8401:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8368:3:31"},"nodeType":"YulFunctionCall","src":"8368:38:31"},{"name":"end","nodeType":"YulIdentifier","src":"8408:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8365:2:31"},"nodeType":"YulFunctionCall","src":"8365:47:31"},"nodeType":"YulIf","src":"8362:67:31"}]},"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8115:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"8123:3:31","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"8131:8:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"8141:6:31","type":""}],"src":"8061:374:31"},{"body":{"nodeType":"YulBlock","src":"8678:1333:31","statements":[{"body":{"nodeType":"YulBlock","src":"8725:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8734:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8737:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8727:6:31"},"nodeType":"YulFunctionCall","src":"8727:12:31"},"nodeType":"YulExpressionStatement","src":"8727:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8699:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"8708:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8695:3:31"},"nodeType":"YulFunctionCall","src":"8695:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"8720:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8691:3:31"},"nodeType":"YulFunctionCall","src":"8691:33:31"},"nodeType":"YulIf","src":"8688:53:31"},{"nodeType":"YulAssignment","src":"8750:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8777:9:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"8760:16:31"},"nodeType":"YulFunctionCall","src":"8760:27:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8750:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"8796:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"8806:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8800:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8817:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8848:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"8859:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8844:3:31"},"nodeType":"YulFunctionCall","src":"8844:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8831:12:31"},"nodeType":"YulFunctionCall","src":"8831:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8821:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8872:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"8882:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8876:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"8927:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8936:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8939:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8929:6:31"},"nodeType":"YulFunctionCall","src":"8929:12:31"},"nodeType":"YulExpressionStatement","src":"8929:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8915:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"8923:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8912:2:31"},"nodeType":"YulFunctionCall","src":"8912:14:31"},"nodeType":"YulIf","src":"8909:34:31"},{"nodeType":"YulVariableDeclaration","src":"8952:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8966:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"8977:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8962:3:31"},"nodeType":"YulFunctionCall","src":"8962:22:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8956:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9032:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9041:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9044:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9034:6:31"},"nodeType":"YulFunctionCall","src":"9034:12:31"},"nodeType":"YulExpressionStatement","src":"9034:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9011:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"9015:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9007:3:31"},"nodeType":"YulFunctionCall","src":"9007:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9022:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9003:3:31"},"nodeType":"YulFunctionCall","src":"9003:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8996:6:31"},"nodeType":"YulFunctionCall","src":"8996:35:31"},"nodeType":"YulIf","src":"8993:55:31"},{"nodeType":"YulVariableDeclaration","src":"9057:26:31","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9080:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9067:12:31"},"nodeType":"YulFunctionCall","src":"9067:16:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"9061:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9092:69:31","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"9157:2:31"}],"functionName":{"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulIdentifier","src":"9119:37:31"},"nodeType":"YulFunctionCall","src":"9119:41:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"9103:15:31"},"nodeType":"YulFunctionCall","src":"9103:58:31"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"9096:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9170:16:31","value":{"name":"dst","nodeType":"YulIdentifier","src":"9183:3:31"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"9174:5:31","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9202:3:31"},{"name":"_4","nodeType":"YulIdentifier","src":"9207:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9195:6:31"},"nodeType":"YulFunctionCall","src":"9195:15:31"},"nodeType":"YulExpressionStatement","src":"9195:15:31"},{"nodeType":"YulAssignment","src":"9219:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9230:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9235:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9226:3:31"},"nodeType":"YulFunctionCall","src":"9226:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9219:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"9247:42:31","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9269:2:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9277:1:31","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"9280:2:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9273:3:31"},"nodeType":"YulFunctionCall","src":"9273:10:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9265:3:31"},"nodeType":"YulFunctionCall","src":"9265:19:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9286:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9261:3:31"},"nodeType":"YulFunctionCall","src":"9261:28:31"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"9251:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9321:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9330:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9333:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9323:6:31"},"nodeType":"YulFunctionCall","src":"9323:12:31"},"nodeType":"YulExpressionStatement","src":"9323:12:31"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"9304:6:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9312:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9301:2:31"},"nodeType":"YulFunctionCall","src":"9301:19:31"},"nodeType":"YulIf","src":"9298:39:31"},{"nodeType":"YulVariableDeclaration","src":"9346:22:31","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9361:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9365:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9357:3:31"},"nodeType":"YulFunctionCall","src":"9357:11:31"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"9350:3:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9433:86:31","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9454:3:31"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9472:3:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9459:12:31"},"nodeType":"YulFunctionCall","src":"9459:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9447:6:31"},"nodeType":"YulFunctionCall","src":"9447:30:31"},"nodeType":"YulExpressionStatement","src":"9447:30:31"},{"nodeType":"YulAssignment","src":"9490:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9501:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9506:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9497:3:31"},"nodeType":"YulFunctionCall","src":"9497:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9490:3:31"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9388:3:31"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"9393:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9385:2:31"},"nodeType":"YulFunctionCall","src":"9385:15:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9401:23:31","statements":[{"nodeType":"YulAssignment","src":"9403:19:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9414:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9419:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9410:3:31"},"nodeType":"YulFunctionCall","src":"9410:12:31"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"9403:3:31"}]}]},"pre":{"nodeType":"YulBlock","src":"9381:3:31","statements":[]},"src":"9377:142:31"},{"nodeType":"YulAssignment","src":"9528:15:31","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"9538:5:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9528:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"9552:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9585:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9596:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9581:3:31"},"nodeType":"YulFunctionCall","src":"9581:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9568:12:31"},"nodeType":"YulFunctionCall","src":"9568:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9556:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9629:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9638:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9641:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9631:6:31"},"nodeType":"YulFunctionCall","src":"9631:12:31"},"nodeType":"YulExpressionStatement","src":"9631:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9615:8:31"},{"name":"_2","nodeType":"YulIdentifier","src":"9625:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9612:2:31"},"nodeType":"YulFunctionCall","src":"9612:16:31"},"nodeType":"YulIf","src":"9609:36:31"},{"nodeType":"YulAssignment","src":"9654:81:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9705:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9716:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9701:3:31"},"nodeType":"YulFunctionCall","src":"9701:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9727:7:31"}],"functionName":{"name":"abi_decode_array_array_uint8_dyn_dyn","nodeType":"YulIdentifier","src":"9664:36:31"},"nodeType":"YulFunctionCall","src":"9664:71:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9654:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"9744:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9777:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9788:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9773:3:31"},"nodeType":"YulFunctionCall","src":"9773:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9760:12:31"},"nodeType":"YulFunctionCall","src":"9760:32:31"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9748:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9821:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9830:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9833:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9823:6:31"},"nodeType":"YulFunctionCall","src":"9823:12:31"},"nodeType":"YulExpressionStatement","src":"9823:12:31"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9807:8:31"},{"name":"_2","nodeType":"YulIdentifier","src":"9817:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9804:2:31"},"nodeType":"YulFunctionCall","src":"9804:16:31"},"nodeType":"YulIf","src":"9801:36:31"},{"nodeType":"YulVariableDeclaration","src":"9846:105:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9921:9:31"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9932:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9917:3:31"},"nodeType":"YulFunctionCall","src":"9917:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9943:7:31"}],"functionName":{"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"9872:44:31"},"nodeType":"YulFunctionCall","src":"9872:79:31"},"variables":[{"name":"value3_1","nodeType":"YulTypedName","src":"9850:8:31","type":""},{"name":"value4_1","nodeType":"YulTypedName","src":"9860:8:31","type":""}]},{"nodeType":"YulAssignment","src":"9960:18:31","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"9970:8:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9960:6:31"}]},{"nodeType":"YulAssignment","src":"9987:18:31","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"9997:8:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"9987:6:31"}]}]},"name":"abi_decode_tuple_t_uint8t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8612:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8623:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8635:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8643:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8651:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8659:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8667:6:31","type":""}],"src":"8440:1571:31"},{"body":{"nodeType":"YulBlock","src":"10119:339:31","statements":[{"body":{"nodeType":"YulBlock","src":"10165:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10174:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10177:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10167:6:31"},"nodeType":"YulFunctionCall","src":"10167:12:31"},"nodeType":"YulExpressionStatement","src":"10167:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10140:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"10149:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10136:3:31"},"nodeType":"YulFunctionCall","src":"10136:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"10161:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10132:3:31"},"nodeType":"YulFunctionCall","src":"10132:32:31"},"nodeType":"YulIf","src":"10129:52:31"},{"nodeType":"YulVariableDeclaration","src":"10190:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10217:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10204:12:31"},"nodeType":"YulFunctionCall","src":"10204:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10194:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"10270:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10279:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10282:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10272:6:31"},"nodeType":"YulFunctionCall","src":"10272:12:31"},"nodeType":"YulExpressionStatement","src":"10272:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10242:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"10250:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10239:2:31"},"nodeType":"YulFunctionCall","src":"10239:30:31"},"nodeType":"YulIf","src":"10236:50:31"},{"nodeType":"YulVariableDeclaration","src":"10295:103:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10370:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"10381:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10366:3:31"},"nodeType":"YulFunctionCall","src":"10366:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10390:7:31"}],"functionName":{"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"10321:44:31"},"nodeType":"YulFunctionCall","src":"10321:77:31"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"10299:8:31","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"10309:8:31","type":""}]},{"nodeType":"YulAssignment","src":"10407:18:31","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"10417:8:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10407:6:31"}]},{"nodeType":"YulAssignment","src":"10434:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"10444:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10434:6:31"}]}]},"name":"abi_decode_tuple_t_array$_t_uint8_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10077:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10088:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10100:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10108:6:31","type":""}],"src":"10016:442:31"},{"body":{"nodeType":"YulBlock","src":"10567:352:31","statements":[{"body":{"nodeType":"YulBlock","src":"10613:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10622:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10625:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10615:6:31"},"nodeType":"YulFunctionCall","src":"10615:12:31"},"nodeType":"YulExpressionStatement","src":"10615:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10588:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"10597:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10584:3:31"},"nodeType":"YulFunctionCall","src":"10584:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"10609:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10580:3:31"},"nodeType":"YulFunctionCall","src":"10580:32:31"},"nodeType":"YulIf","src":"10577:52:31"},{"nodeType":"YulVariableDeclaration","src":"10638:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10664:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10651:12:31"},"nodeType":"YulFunctionCall","src":"10651:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10642:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10708:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10683:24:31"},"nodeType":"YulFunctionCall","src":"10683:31:31"},"nodeType":"YulExpressionStatement","src":"10683:31:31"},{"nodeType":"YulAssignment","src":"10723:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"10733:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10723:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"10747:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10779:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10790:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10775:3:31"},"nodeType":"YulFunctionCall","src":"10775:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10762:12:31"},"nodeType":"YulFunctionCall","src":"10762:32:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"10751:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"10828:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10803:24:31"},"nodeType":"YulFunctionCall","src":"10803:33:31"},"nodeType":"YulExpressionStatement","src":"10803:33:31"},{"nodeType":"YulAssignment","src":"10845:17:31","value":{"name":"value_1","nodeType":"YulIdentifier","src":"10855:7:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10845:6:31"}]},{"nodeType":"YulAssignment","src":"10871:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10898:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10909:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10894:3:31"},"nodeType":"YulFunctionCall","src":"10894:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10881:12:31"},"nodeType":"YulFunctionCall","src":"10881:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10871:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10517:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10528:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10540:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10548:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10556:6:31","type":""}],"src":"10463:456:31"},{"body":{"nodeType":"YulBlock","src":"10992:114:31","statements":[{"body":{"nodeType":"YulBlock","src":"11038:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11047:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11050:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11040:6:31"},"nodeType":"YulFunctionCall","src":"11040:12:31"},"nodeType":"YulExpressionStatement","src":"11040:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11013:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"11022:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11009:3:31"},"nodeType":"YulFunctionCall","src":"11009:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"11034:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11005:3:31"},"nodeType":"YulFunctionCall","src":"11005:32:31"},"nodeType":"YulIf","src":"11002:52:31"},{"nodeType":"YulAssignment","src":"11063:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11090:9:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"11073:16:31"},"nodeType":"YulFunctionCall","src":"11073:27:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11063:6:31"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10958:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10969:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10981:6:31","type":""}],"src":"10924:182:31"},{"body":{"nodeType":"YulBlock","src":"11240:102:31","statements":[{"nodeType":"YulAssignment","src":"11250:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11262:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11273:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11258:3:31"},"nodeType":"YulFunctionCall","src":"11258:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11250:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11292:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11307:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11323:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11328:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11319:3:31"},"nodeType":"YulFunctionCall","src":"11319:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"11332:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11315:3:31"},"nodeType":"YulFunctionCall","src":"11315:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11303:3:31"},"nodeType":"YulFunctionCall","src":"11303:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11285:6:31"},"nodeType":"YulFunctionCall","src":"11285:51:31"},"nodeType":"YulExpressionStatement","src":"11285:51:31"}]},"name":"abi_encode_tuple_t_contract$_IgammaPacksContract_$4894__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11209:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11220:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11231:4:31","type":""}],"src":"11111:231:31"},{"body":{"nodeType":"YulBlock","src":"11474:420:31","statements":[{"body":{"nodeType":"YulBlock","src":"11520:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11529:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11532:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11522:6:31"},"nodeType":"YulFunctionCall","src":"11522:12:31"},"nodeType":"YulExpressionStatement","src":"11522:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11495:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"11504:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11491:3:31"},"nodeType":"YulFunctionCall","src":"11491:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"11516:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11487:3:31"},"nodeType":"YulFunctionCall","src":"11487:32:31"},"nodeType":"YulIf","src":"11484:52:31"},{"nodeType":"YulVariableDeclaration","src":"11545:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11571:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11558:12:31"},"nodeType":"YulFunctionCall","src":"11558:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11549:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11615:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11590:24:31"},"nodeType":"YulFunctionCall","src":"11590:31:31"},"nodeType":"YulExpressionStatement","src":"11590:31:31"},{"nodeType":"YulAssignment","src":"11630:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"11640:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11630:6:31"}]},{"nodeType":"YulAssignment","src":"11654:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11681:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11692:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11677:3:31"},"nodeType":"YulFunctionCall","src":"11677:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11664:12:31"},"nodeType":"YulFunctionCall","src":"11664:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11654:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"11705:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11736:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11747:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11732:3:31"},"nodeType":"YulFunctionCall","src":"11732:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11719:12:31"},"nodeType":"YulFunctionCall","src":"11719:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11709:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"11794:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11803:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11806:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11796:6:31"},"nodeType":"YulFunctionCall","src":"11796:12:31"},"nodeType":"YulExpressionStatement","src":"11796:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11766:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"11774:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11763:2:31"},"nodeType":"YulFunctionCall","src":"11763:30:31"},"nodeType":"YulIf","src":"11760:50:31"},{"nodeType":"YulAssignment","src":"11819:69:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11860:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"11871:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11856:3:31"},"nodeType":"YulFunctionCall","src":"11856:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11880:7:31"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"11829:26:31"},"nodeType":"YulFunctionCall","src":"11829:59:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11819:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11424:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11435:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11447:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11455:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11463:6:31","type":""}],"src":"11347:547:31"},{"body":{"nodeType":"YulBlock","src":"12102:277:31","statements":[{"nodeType":"YulAssignment","src":"12112:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12124:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12135:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12120:3:31"},"nodeType":"YulFunctionCall","src":"12120:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12112:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12155:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"12166:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12148:6:31"},"nodeType":"YulFunctionCall","src":"12148:25:31"},"nodeType":"YulExpressionStatement","src":"12148:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12193:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12204:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12189:3:31"},"nodeType":"YulFunctionCall","src":"12189:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"12209:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12182:6:31"},"nodeType":"YulFunctionCall","src":"12182:34:31"},"nodeType":"YulExpressionStatement","src":"12182:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12236:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12247:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12232:3:31"},"nodeType":"YulFunctionCall","src":"12232:18:31"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12266:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12259:6:31"},"nodeType":"YulFunctionCall","src":"12259:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12252:6:31"},"nodeType":"YulFunctionCall","src":"12252:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12225:6:31"},"nodeType":"YulFunctionCall","src":"12225:50:31"},"nodeType":"YulExpressionStatement","src":"12225:50:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12295:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12306:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12291:3:31"},"nodeType":"YulFunctionCall","src":"12291:18:31"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"12315:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"12323:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12311:3:31"},"nodeType":"YulFunctionCall","src":"12311:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12284:6:31"},"nodeType":"YulFunctionCall","src":"12284:45:31"},"nodeType":"YulExpressionStatement","src":"12284:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12349:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12360:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12345:3:31"},"nodeType":"YulFunctionCall","src":"12345:19:31"},{"name":"value4","nodeType":"YulIdentifier","src":"12366:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12338:6:31"},"nodeType":"YulFunctionCall","src":"12338:35:31"},"nodeType":"YulExpressionStatement","src":"12338:35:31"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__to_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12039:9:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12050:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12058:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12066:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12074:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12082:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12093:4:31","type":""}],"src":"11899:480:31"},{"body":{"nodeType":"YulBlock","src":"12426:76:31","statements":[{"body":{"nodeType":"YulBlock","src":"12480:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12489:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12492:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12482:6:31"},"nodeType":"YulFunctionCall","src":"12482:12:31"},"nodeType":"YulExpressionStatement","src":"12482:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12449:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12470:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12463:6:31"},"nodeType":"YulFunctionCall","src":"12463:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12456:6:31"},"nodeType":"YulFunctionCall","src":"12456:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12446:2:31"},"nodeType":"YulFunctionCall","src":"12446:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12439:6:31"},"nodeType":"YulFunctionCall","src":"12439:40:31"},"nodeType":"YulIf","src":"12436:60:31"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12415:5:31","type":""}],"src":"12384:118:31"},{"body":{"nodeType":"YulBlock","src":"12574:174:31","statements":[{"body":{"nodeType":"YulBlock","src":"12620:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12629:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12632:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12622:6:31"},"nodeType":"YulFunctionCall","src":"12622:12:31"},"nodeType":"YulExpressionStatement","src":"12622:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12595:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"12604:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12591:3:31"},"nodeType":"YulFunctionCall","src":"12591:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"12616:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12587:3:31"},"nodeType":"YulFunctionCall","src":"12587:32:31"},"nodeType":"YulIf","src":"12584:52:31"},{"nodeType":"YulVariableDeclaration","src":"12645:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12671:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12658:12:31"},"nodeType":"YulFunctionCall","src":"12658:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12649:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12712:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"12690:21:31"},"nodeType":"YulFunctionCall","src":"12690:28:31"},"nodeType":"YulExpressionStatement","src":"12690:28:31"},{"nodeType":"YulAssignment","src":"12727:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"12737:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12727:6:31"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12540:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12551:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12563:6:31","type":""}],"src":"12507:241:31"},{"body":{"nodeType":"YulBlock","src":"12811:129:31","statements":[{"body":{"nodeType":"YulBlock","src":"12855:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"12857:16:31"},"nodeType":"YulFunctionCall","src":"12857:18:31"},"nodeType":"YulExpressionStatement","src":"12857:18:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12827:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"12835:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12824:2:31"},"nodeType":"YulFunctionCall","src":"12824:30:31"},"nodeType":"YulIf","src":"12821:56:31"},{"nodeType":"YulAssignment","src":"12886:48:31","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12906:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"12914:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12902:3:31"},"nodeType":"YulFunctionCall","src":"12902:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12923:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12919:3:31"},"nodeType":"YulFunctionCall","src":"12919:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12898:3:31"},"nodeType":"YulFunctionCall","src":"12898:29:31"},{"kind":"number","nodeType":"YulLiteral","src":"12929:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12894:3:31"},"nodeType":"YulFunctionCall","src":"12894:40:31"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"12886:4:31"}]}]},"name":"array_allocation_size_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"12791:6:31","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"12802:4:31","type":""}],"src":"12753:187:31"},{"body":{"nodeType":"YulBlock","src":"13020:263:31","statements":[{"nodeType":"YulAssignment","src":"13030:62:31","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"13084:6:31"}],"functionName":{"name":"array_allocation_size_string","nodeType":"YulIdentifier","src":"13055:28:31"},"nodeType":"YulFunctionCall","src":"13055:36:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"13039:15:31"},"nodeType":"YulFunctionCall","src":"13039:53:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"13030:5:31"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"13108:5:31"},{"name":"length","nodeType":"YulIdentifier","src":"13115:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13101:6:31"},"nodeType":"YulFunctionCall","src":"13101:21:31"},"nodeType":"YulExpressionStatement","src":"13101:21:31"},{"body":{"nodeType":"YulBlock","src":"13160:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13169:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13172:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13162:6:31"},"nodeType":"YulFunctionCall","src":"13162:12:31"},"nodeType":"YulExpressionStatement","src":"13162:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"13141:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"13146:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13137:3:31"},"nodeType":"YulFunctionCall","src":"13137:16:31"},{"name":"end","nodeType":"YulIdentifier","src":"13155:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13134:2:31"},"nodeType":"YulFunctionCall","src":"13134:25:31"},"nodeType":"YulIf","src":"13131:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"13202:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"13209:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13198:3:31"},"nodeType":"YulFunctionCall","src":"13198:16:31"},{"name":"src","nodeType":"YulIdentifier","src":"13216:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"13221:6:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"13185:12:31"},"nodeType":"YulFunctionCall","src":"13185:43:31"},"nodeType":"YulExpressionStatement","src":"13185:43:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"13252:5:31"},{"name":"length","nodeType":"YulIdentifier","src":"13259:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13248:3:31"},"nodeType":"YulFunctionCall","src":"13248:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"13268:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13244:3:31"},"nodeType":"YulFunctionCall","src":"13244:29:31"},{"kind":"number","nodeType":"YulLiteral","src":"13275:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13237:6:31"},"nodeType":"YulFunctionCall","src":"13237:40:31"},"nodeType":"YulExpressionStatement","src":"13237:40:31"}]},"name":"abi_decode_available_length_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"12989:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"12994:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"13002:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"13010:5:31","type":""}],"src":"12945:338:31"},{"body":{"nodeType":"YulBlock","src":"13341:169:31","statements":[{"body":{"nodeType":"YulBlock","src":"13390:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13399:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13402:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13392:6:31"},"nodeType":"YulFunctionCall","src":"13392:12:31"},"nodeType":"YulExpressionStatement","src":"13392:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13369:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"13377:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13365:3:31"},"nodeType":"YulFunctionCall","src":"13365:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"13384:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13361:3:31"},"nodeType":"YulFunctionCall","src":"13361:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13354:6:31"},"nodeType":"YulFunctionCall","src":"13354:35:31"},"nodeType":"YulIf","src":"13351:55:31"},{"nodeType":"YulAssignment","src":"13415:89:31","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13463:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"13471:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13459:3:31"},"nodeType":"YulFunctionCall","src":"13459:17:31"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13491:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13478:12:31"},"nodeType":"YulFunctionCall","src":"13478:20:31"},{"name":"end","nodeType":"YulIdentifier","src":"13500:3:31"}],"functionName":{"name":"abi_decode_available_length_string","nodeType":"YulIdentifier","src":"13424:34:31"},"nodeType":"YulFunctionCall","src":"13424:80:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"13415:5:31"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13315:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"13323:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"13331:5:31","type":""}],"src":"13288:222:31"},{"body":{"nodeType":"YulBlock","src":"13680:859:31","statements":[{"body":{"nodeType":"YulBlock","src":"13727:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13736:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13739:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13729:6:31"},"nodeType":"YulFunctionCall","src":"13729:12:31"},"nodeType":"YulExpressionStatement","src":"13729:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13701:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"13710:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13697:3:31"},"nodeType":"YulFunctionCall","src":"13697:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"13722:3:31","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13693:3:31"},"nodeType":"YulFunctionCall","src":"13693:33:31"},"nodeType":"YulIf","src":"13690:53:31"},{"nodeType":"YulVariableDeclaration","src":"13752:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13778:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13765:12:31"},"nodeType":"YulFunctionCall","src":"13765:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13756:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13822:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13797:24:31"},"nodeType":"YulFunctionCall","src":"13797:31:31"},"nodeType":"YulExpressionStatement","src":"13797:31:31"},{"nodeType":"YulAssignment","src":"13837:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"13847:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13837:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"13861:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13893:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13904:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13889:3:31"},"nodeType":"YulFunctionCall","src":"13889:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13876:12:31"},"nodeType":"YulFunctionCall","src":"13876:32:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13865:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13942:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13917:24:31"},"nodeType":"YulFunctionCall","src":"13917:33:31"},"nodeType":"YulExpressionStatement","src":"13917:33:31"},{"nodeType":"YulAssignment","src":"13959:17:31","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13969:7:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13959:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"13985:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14017:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14028:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14013:3:31"},"nodeType":"YulFunctionCall","src":"14013:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14000:12:31"},"nodeType":"YulFunctionCall","src":"14000:32:31"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"13989:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"14066:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14041:24:31"},"nodeType":"YulFunctionCall","src":"14041:33:31"},"nodeType":"YulExpressionStatement","src":"14041:33:31"},{"nodeType":"YulAssignment","src":"14083:17:31","value":{"name":"value_2","nodeType":"YulIdentifier","src":"14093:7:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14083:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"14109:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14141:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14152:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14137:3:31"},"nodeType":"YulFunctionCall","src":"14137:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14124:12:31"},"nodeType":"YulFunctionCall","src":"14124:32:31"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"14113:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"14190:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14165:24:31"},"nodeType":"YulFunctionCall","src":"14165:33:31"},"nodeType":"YulExpressionStatement","src":"14165:33:31"},{"nodeType":"YulAssignment","src":"14207:17:31","value":{"name":"value_3","nodeType":"YulIdentifier","src":"14217:7:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14207:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"14233:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14264:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14275:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14260:3:31"},"nodeType":"YulFunctionCall","src":"14260:19:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14247:12:31"},"nodeType":"YulFunctionCall","src":"14247:33:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14237:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"14323:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14332:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14335:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14325:6:31"},"nodeType":"YulFunctionCall","src":"14325:12:31"},"nodeType":"YulExpressionStatement","src":"14325:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14295:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"14303:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14292:2:31"},"nodeType":"YulFunctionCall","src":"14292:30:31"},"nodeType":"YulIf","src":"14289:50:31"},{"nodeType":"YulAssignment","src":"14348:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14380:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"14391:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14376:3:31"},"nodeType":"YulFunctionCall","src":"14376:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14400:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"14358:17:31"},"nodeType":"YulFunctionCall","src":"14358:50:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"14348:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"14417:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14449:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14460:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14445:3:31"},"nodeType":"YulFunctionCall","src":"14445:19:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14432:12:31"},"nodeType":"YulFunctionCall","src":"14432:33:31"},"variables":[{"name":"value_4","nodeType":"YulTypedName","src":"14421:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_4","nodeType":"YulIdentifier","src":"14499:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14474:24:31"},"nodeType":"YulFunctionCall","src":"14474:33:31"},"nodeType":"YulExpressionStatement","src":"14474:33:31"},{"nodeType":"YulAssignment","src":"14516:17:31","value":{"name":"value_4","nodeType":"YulIdentifier","src":"14526:7:31"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"14516:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_addresst_string_memory_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13606:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13617:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13629:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13637:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13645:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13653:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"13661:6:31","type":""},{"name":"value5","nodeType":"YulTypedName","src":"13669:6:31","type":""}],"src":"13515:1024:31"},{"body":{"nodeType":"YulBlock","src":"14651:436:31","statements":[{"body":{"nodeType":"YulBlock","src":"14697:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14706:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14709:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14699:6:31"},"nodeType":"YulFunctionCall","src":"14699:12:31"},"nodeType":"YulExpressionStatement","src":"14699:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14672:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"14681:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14668:3:31"},"nodeType":"YulFunctionCall","src":"14668:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"14693:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14664:3:31"},"nodeType":"YulFunctionCall","src":"14664:32:31"},"nodeType":"YulIf","src":"14661:52:31"},{"nodeType":"YulVariableDeclaration","src":"14722:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14749:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14736:12:31"},"nodeType":"YulFunctionCall","src":"14736:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14726:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14768:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"14778:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14772:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"14823:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14832:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14835:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14825:6:31"},"nodeType":"YulFunctionCall","src":"14825:12:31"},"nodeType":"YulExpressionStatement","src":"14825:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14811:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"14819:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14808:2:31"},"nodeType":"YulFunctionCall","src":"14808:14:31"},"nodeType":"YulIf","src":"14805:34:31"},{"nodeType":"YulAssignment","src":"14848:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14880:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"14891:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14876:3:31"},"nodeType":"YulFunctionCall","src":"14876:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14900:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"14858:17:31"},"nodeType":"YulFunctionCall","src":"14858:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14848:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"14917:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14950:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14961:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14946:3:31"},"nodeType":"YulFunctionCall","src":"14946:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14933:12:31"},"nodeType":"YulFunctionCall","src":"14933:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"14921:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"14994:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15003:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15006:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14996:6:31"},"nodeType":"YulFunctionCall","src":"14996:12:31"},"nodeType":"YulExpressionStatement","src":"14996:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"14980:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"14990:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14977:2:31"},"nodeType":"YulFunctionCall","src":"14977:16:31"},"nodeType":"YulIf","src":"14974:36:31"},{"nodeType":"YulAssignment","src":"15019:62:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15051:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"15062:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15047:3:31"},"nodeType":"YulFunctionCall","src":"15047:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15073:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"15029:17:31"},"nodeType":"YulFunctionCall","src":"15029:52:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15019:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14609:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14620:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14632:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14640:6:31","type":""}],"src":"14544:543:31"},{"body":{"nodeType":"YulBlock","src":"15212:457:31","statements":[{"body":{"nodeType":"YulBlock","src":"15258:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15267:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15270:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15260:6:31"},"nodeType":"YulFunctionCall","src":"15260:12:31"},"nodeType":"YulExpressionStatement","src":"15260:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15233:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"15242:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15229:3:31"},"nodeType":"YulFunctionCall","src":"15229:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"15254:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15225:3:31"},"nodeType":"YulFunctionCall","src":"15225:32:31"},"nodeType":"YulIf","src":"15222:52:31"},{"nodeType":"YulVariableDeclaration","src":"15283:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15309:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15296:12:31"},"nodeType":"YulFunctionCall","src":"15296:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15287:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15353:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15328:24:31"},"nodeType":"YulFunctionCall","src":"15328:31:31"},"nodeType":"YulExpressionStatement","src":"15328:31:31"},{"nodeType":"YulAssignment","src":"15368:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"15378:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15368:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"15392:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15423:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15434:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15419:3:31"},"nodeType":"YulFunctionCall","src":"15419:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15406:12:31"},"nodeType":"YulFunctionCall","src":"15406:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15396:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"15481:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15490:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15493:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15483:6:31"},"nodeType":"YulFunctionCall","src":"15483:12:31"},"nodeType":"YulExpressionStatement","src":"15483:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15453:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"15461:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15450:2:31"},"nodeType":"YulFunctionCall","src":"15450:30:31"},"nodeType":"YulIf","src":"15447:50:31"},{"nodeType":"YulVariableDeclaration","src":"15506:103:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15581:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"15592:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15577:3:31"},"nodeType":"YulFunctionCall","src":"15577:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15601:7:31"}],"functionName":{"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"15532:44:31"},"nodeType":"YulFunctionCall","src":"15532:77:31"},"variables":[{"name":"value1_1","nodeType":"YulTypedName","src":"15510:8:31","type":""},{"name":"value2_1","nodeType":"YulTypedName","src":"15520:8:31","type":""}]},{"nodeType":"YulAssignment","src":"15618:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"15628:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15618:6:31"}]},{"nodeType":"YulAssignment","src":"15645:18:31","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"15655:8:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"15645:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_uint8_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15162:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15173:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15185:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15193:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15201:6:31","type":""}],"src":"15092:577:31"},{"body":{"nodeType":"YulBlock","src":"15758:298:31","statements":[{"body":{"nodeType":"YulBlock","src":"15804:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15813:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15816:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15806:6:31"},"nodeType":"YulFunctionCall","src":"15806:12:31"},"nodeType":"YulExpressionStatement","src":"15806:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15779:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"15788:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15775:3:31"},"nodeType":"YulFunctionCall","src":"15775:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"15800:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15771:3:31"},"nodeType":"YulFunctionCall","src":"15771:32:31"},"nodeType":"YulIf","src":"15768:52:31"},{"nodeType":"YulVariableDeclaration","src":"15829:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15855:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15842:12:31"},"nodeType":"YulFunctionCall","src":"15842:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15833:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15899:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15874:24:31"},"nodeType":"YulFunctionCall","src":"15874:31:31"},"nodeType":"YulExpressionStatement","src":"15874:31:31"},{"nodeType":"YulAssignment","src":"15914:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"15924:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15914:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"15938:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15970:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15981:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15966:3:31"},"nodeType":"YulFunctionCall","src":"15966:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15953:12:31"},"nodeType":"YulFunctionCall","src":"15953:32:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15942:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"16016:7:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"15994:21:31"},"nodeType":"YulFunctionCall","src":"15994:30:31"},"nodeType":"YulExpressionStatement","src":"15994:30:31"},{"nodeType":"YulAssignment","src":"16033:17:31","value":{"name":"value_1","nodeType":"YulIdentifier","src":"16043:7:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"16033:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15716:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15727:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15739:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15747:6:31","type":""}],"src":"15674:382:31"},{"body":{"nodeType":"YulBlock","src":"16178:412:31","statements":[{"body":{"nodeType":"YulBlock","src":"16225:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16234:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16237:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16227:6:31"},"nodeType":"YulFunctionCall","src":"16227:12:31"},"nodeType":"YulExpressionStatement","src":"16227:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16199:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"16208:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16195:3:31"},"nodeType":"YulFunctionCall","src":"16195:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"16220:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16191:3:31"},"nodeType":"YulFunctionCall","src":"16191:33:31"},"nodeType":"YulIf","src":"16188:53:31"},{"nodeType":"YulVariableDeclaration","src":"16250:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16276:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16263:12:31"},"nodeType":"YulFunctionCall","src":"16263:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16254:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16320:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16295:24:31"},"nodeType":"YulFunctionCall","src":"16295:31:31"},"nodeType":"YulExpressionStatement","src":"16295:31:31"},{"nodeType":"YulAssignment","src":"16335:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"16345:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16335:6:31"}]},{"nodeType":"YulAssignment","src":"16359:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16390:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16401:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16386:3:31"},"nodeType":"YulFunctionCall","src":"16386:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"16369:16:31"},"nodeType":"YulFunctionCall","src":"16369:36:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"16359:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"16414:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16446:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16457:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16442:3:31"},"nodeType":"YulFunctionCall","src":"16442:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16429:12:31"},"nodeType":"YulFunctionCall","src":"16429:32:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"16418:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"16495:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16470:24:31"},"nodeType":"YulFunctionCall","src":"16470:33:31"},"nodeType":"YulExpressionStatement","src":"16470:33:31"},{"nodeType":"YulAssignment","src":"16512:17:31","value":{"name":"value_1","nodeType":"YulIdentifier","src":"16522:7:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"16512:6:31"}]},{"nodeType":"YulAssignment","src":"16538:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16569:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16580:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16565:3:31"},"nodeType":"YulFunctionCall","src":"16565:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"16548:16:31"},"nodeType":"YulFunctionCall","src":"16548:36:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"16538:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint8t_addresst_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16120:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16131:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16143:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16151:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16159:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16167:6:31","type":""}],"src":"16061:529:31"},{"body":{"nodeType":"YulBlock","src":"16725:665:31","statements":[{"body":{"nodeType":"YulBlock","src":"16772:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16781:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16784:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16774:6:31"},"nodeType":"YulFunctionCall","src":"16774:12:31"},"nodeType":"YulExpressionStatement","src":"16774:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16746:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"16755:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16742:3:31"},"nodeType":"YulFunctionCall","src":"16742:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"16767:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16738:3:31"},"nodeType":"YulFunctionCall","src":"16738:33:31"},"nodeType":"YulIf","src":"16735:53:31"},{"nodeType":"YulVariableDeclaration","src":"16797:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16823:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16810:12:31"},"nodeType":"YulFunctionCall","src":"16810:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16801:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16867:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16842:24:31"},"nodeType":"YulFunctionCall","src":"16842:31:31"},"nodeType":"YulExpressionStatement","src":"16842:31:31"},{"nodeType":"YulAssignment","src":"16882:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"16892:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16882:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"16906:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16938:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16949:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16934:3:31"},"nodeType":"YulFunctionCall","src":"16934:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16921:12:31"},"nodeType":"YulFunctionCall","src":"16921:32:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"16910:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"16987:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16962:24:31"},"nodeType":"YulFunctionCall","src":"16962:33:31"},"nodeType":"YulExpressionStatement","src":"16962:33:31"},{"nodeType":"YulAssignment","src":"17004:17:31","value":{"name":"value_1","nodeType":"YulIdentifier","src":"17014:7:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"17004:6:31"}]},{"nodeType":"YulAssignment","src":"17030:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17057:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17068:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17053:3:31"},"nodeType":"YulFunctionCall","src":"17053:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17040:12:31"},"nodeType":"YulFunctionCall","src":"17040:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"17030:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"17081:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17112:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17123:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17108:3:31"},"nodeType":"YulFunctionCall","src":"17108:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17095:12:31"},"nodeType":"YulFunctionCall","src":"17095:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17085:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"17170:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17179:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17182:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17172:6:31"},"nodeType":"YulFunctionCall","src":"17172:12:31"},"nodeType":"YulExpressionStatement","src":"17172:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17142:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"17150:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17139:2:31"},"nodeType":"YulFunctionCall","src":"17139:30:31"},"nodeType":"YulIf","src":"17136:50:31"},{"nodeType":"YulVariableDeclaration","src":"17195:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17209:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"17220:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17205:3:31"},"nodeType":"YulFunctionCall","src":"17205:22:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17199:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"17275:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17284:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17287:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17277:6:31"},"nodeType":"YulFunctionCall","src":"17277:12:31"},"nodeType":"YulExpressionStatement","src":"17277:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17254:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"17258:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17250:3:31"},"nodeType":"YulFunctionCall","src":"17250:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17265:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17246:3:31"},"nodeType":"YulFunctionCall","src":"17246:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17239:6:31"},"nodeType":"YulFunctionCall","src":"17239:35:31"},"nodeType":"YulIf","src":"17236:55:31"},{"nodeType":"YulAssignment","src":"17300:84:31","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17349:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"17353:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17345:3:31"},"nodeType":"YulFunctionCall","src":"17345:11:31"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17371:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17358:12:31"},"nodeType":"YulFunctionCall","src":"17358:16:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17376:7:31"}],"functionName":{"name":"abi_decode_available_length_string","nodeType":"YulIdentifier","src":"17310:34:31"},"nodeType":"YulFunctionCall","src":"17310:74:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"17300:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16667:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16678:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16690:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16698:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16706:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16714:6:31","type":""}],"src":"16595:795:31"},{"body":{"nodeType":"YulBlock","src":"17525:102:31","statements":[{"nodeType":"YulAssignment","src":"17535:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17547:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17558:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17543:3:31"},"nodeType":"YulFunctionCall","src":"17543:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17535:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17577:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17592:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17608:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17613:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17604:3:31"},"nodeType":"YulFunctionCall","src":"17604:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"17617:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17600:3:31"},"nodeType":"YulFunctionCall","src":"17600:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17588:3:31"},"nodeType":"YulFunctionCall","src":"17588:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17570:6:31"},"nodeType":"YulFunctionCall","src":"17570:51:31"},"nodeType":"YulExpressionStatement","src":"17570:51:31"}]},"name":"abi_encode_tuple_t_contract$_IgammaOffersContract_$4934__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17494:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17505:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17516:4:31","type":""}],"src":"17395:232:31"},{"body":{"nodeType":"YulBlock","src":"17719:301:31","statements":[{"body":{"nodeType":"YulBlock","src":"17765:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17774:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17777:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17767:6:31"},"nodeType":"YulFunctionCall","src":"17767:12:31"},"nodeType":"YulExpressionStatement","src":"17767:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17740:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"17749:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17736:3:31"},"nodeType":"YulFunctionCall","src":"17736:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"17761:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17732:3:31"},"nodeType":"YulFunctionCall","src":"17732:32:31"},"nodeType":"YulIf","src":"17729:52:31"},{"nodeType":"YulVariableDeclaration","src":"17790:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17816:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17803:12:31"},"nodeType":"YulFunctionCall","src":"17803:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17794:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17860:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17835:24:31"},"nodeType":"YulFunctionCall","src":"17835:31:31"},"nodeType":"YulExpressionStatement","src":"17835:31:31"},{"nodeType":"YulAssignment","src":"17875:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"17885:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17875:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"17899:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17931:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17942:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17927:3:31"},"nodeType":"YulFunctionCall","src":"17927:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17914:12:31"},"nodeType":"YulFunctionCall","src":"17914:32:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"17903:7:31","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"17980:7:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17955:24:31"},"nodeType":"YulFunctionCall","src":"17955:33:31"},"nodeType":"YulExpressionStatement","src":"17955:33:31"},{"nodeType":"YulAssignment","src":"17997:17:31","value":{"name":"value_1","nodeType":"YulIdentifier","src":"18007:7:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"17997:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17677:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17688:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17700:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17708:6:31","type":""}],"src":"17632:388:31"},{"body":{"nodeType":"YulBlock","src":"18057:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18074:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18081:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18086:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18077:3:31"},"nodeType":"YulFunctionCall","src":"18077:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18067:6:31"},"nodeType":"YulFunctionCall","src":"18067:31:31"},"nodeType":"YulExpressionStatement","src":"18067:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18114:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18117:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18107:6:31"},"nodeType":"YulFunctionCall","src":"18107:15:31"},"nodeType":"YulExpressionStatement","src":"18107:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18138:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18141:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18131:6:31"},"nodeType":"YulFunctionCall","src":"18131:15:31"},"nodeType":"YulExpressionStatement","src":"18131:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"18025:127:31"},{"body":{"nodeType":"YulBlock","src":"18282:156:31","statements":[{"nodeType":"YulAssignment","src":"18292:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18304:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18315:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18300:3:31"},"nodeType":"YulFunctionCall","src":"18300:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18292:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18334:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18349:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18365:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"18370:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18361:3:31"},"nodeType":"YulFunctionCall","src":"18361:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"18374:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18357:3:31"},"nodeType":"YulFunctionCall","src":"18357:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18345:3:31"},"nodeType":"YulFunctionCall","src":"18345:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18327:6:31"},"nodeType":"YulFunctionCall","src":"18327:51:31"},"nodeType":"YulExpressionStatement","src":"18327:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18398:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18409:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18394:3:31"},"nodeType":"YulFunctionCall","src":"18394:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18418:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"18426:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18414:3:31"},"nodeType":"YulFunctionCall","src":"18414:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18387:6:31"},"nodeType":"YulFunctionCall","src":"18387:45:31"},"nodeType":"YulExpressionStatement","src":"18387:45:31"}]},"name":"abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18243:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18254:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18262:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18273:4:31","type":""}],"src":"18157:281:31"},{"body":{"nodeType":"YulBlock","src":"18521:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"18567:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18576:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18579:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18569:6:31"},"nodeType":"YulFunctionCall","src":"18569:12:31"},"nodeType":"YulExpressionStatement","src":"18569:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18542:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"18551:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18538:3:31"},"nodeType":"YulFunctionCall","src":"18538:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"18563:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18534:3:31"},"nodeType":"YulFunctionCall","src":"18534:32:31"},"nodeType":"YulIf","src":"18531:52:31"},{"nodeType":"YulVariableDeclaration","src":"18592:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18611:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18605:5:31"},"nodeType":"YulFunctionCall","src":"18605:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18596:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18652:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"18630:21:31"},"nodeType":"YulFunctionCall","src":"18630:28:31"},"nodeType":"YulExpressionStatement","src":"18630:28:31"},{"nodeType":"YulAssignment","src":"18667:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"18677:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18667:6:31"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18487:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18498:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18510:6:31","type":""}],"src":"18443:245:31"},{"body":{"nodeType":"YulBlock","src":"18725:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18742:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18749:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18754:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18745:3:31"},"nodeType":"YulFunctionCall","src":"18745:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18735:6:31"},"nodeType":"YulFunctionCall","src":"18735:31:31"},"nodeType":"YulExpressionStatement","src":"18735:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18782:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18785:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18775:6:31"},"nodeType":"YulFunctionCall","src":"18775:15:31"},"nodeType":"YulExpressionStatement","src":"18775:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18806:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18809:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18799:6:31"},"nodeType":"YulFunctionCall","src":"18799:15:31"},"nodeType":"YulExpressionStatement","src":"18799:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"18693:127:31"},{"body":{"nodeType":"YulBlock","src":"18870:130:31","statements":[{"nodeType":"YulVariableDeclaration","src":"18880:31:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18899:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"18906:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18895:3:31"},"nodeType":"YulFunctionCall","src":"18895:16:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"18884:7:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"18941:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18943:16:31"},"nodeType":"YulFunctionCall","src":"18943:18:31"},"nodeType":"YulExpressionStatement","src":"18943:18:31"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"18926:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"18935:4:31","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18923:2:31"},"nodeType":"YulFunctionCall","src":"18923:17:31"},"nodeType":"YulIf","src":"18920:43:31"},{"nodeType":"YulAssignment","src":"18972:22:31","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"18983:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"18992:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18979:3:31"},"nodeType":"YulFunctionCall","src":"18979:15:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18972:3:31"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18852:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18862:3:31","type":""}],"src":"18825:175:31"},{"body":{"nodeType":"YulBlock","src":"19052:88:31","statements":[{"body":{"nodeType":"YulBlock","src":"19083:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19085:16:31"},"nodeType":"YulFunctionCall","src":"19085:18:31"},"nodeType":"YulExpressionStatement","src":"19085:18:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19068:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19079:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"19075:3:31"},"nodeType":"YulFunctionCall","src":"19075:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19065:2:31"},"nodeType":"YulFunctionCall","src":"19065:17:31"},"nodeType":"YulIf","src":"19062:43:31"},{"nodeType":"YulAssignment","src":"19114:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19125:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"19132:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19121:3:31"},"nodeType":"YulFunctionCall","src":"19121:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19114:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19034:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"19044:3:31","type":""}],"src":"19005:135:31"},{"body":{"nodeType":"YulBlock","src":"19200:325:31","statements":[{"nodeType":"YulAssignment","src":"19210:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19224:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"19227:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"19220:3:31"},"nodeType":"YulFunctionCall","src":"19220:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19210:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"19241:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"19271:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"19277:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19267:3:31"},"nodeType":"YulFunctionCall","src":"19267:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"19245:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"19318:31:31","statements":[{"nodeType":"YulAssignment","src":"19320:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19334:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"19342:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19330:3:31"},"nodeType":"YulFunctionCall","src":"19330:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19320:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19298:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19291:6:31"},"nodeType":"YulFunctionCall","src":"19291:26:31"},"nodeType":"YulIf","src":"19288:61:31"},{"body":{"nodeType":"YulBlock","src":"19408:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19429:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19436:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"19441:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19432:3:31"},"nodeType":"YulFunctionCall","src":"19432:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19422:6:31"},"nodeType":"YulFunctionCall","src":"19422:31:31"},"nodeType":"YulExpressionStatement","src":"19422:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19473:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19476:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19466:6:31"},"nodeType":"YulFunctionCall","src":"19466:15:31"},"nodeType":"YulExpressionStatement","src":"19466:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19501:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19504:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19494:6:31"},"nodeType":"YulFunctionCall","src":"19494:15:31"},"nodeType":"YulExpressionStatement","src":"19494:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19364:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19387:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"19395:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19384:2:31"},"nodeType":"YulFunctionCall","src":"19384:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19361:2:31"},"nodeType":"YulFunctionCall","src":"19361:38:31"},"nodeType":"YulIf","src":"19358:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"19180:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"19189:6:31","type":""}],"src":"19145:380:31"},{"body":{"nodeType":"YulBlock","src":"19704:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19721:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19732:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19714:6:31"},"nodeType":"YulFunctionCall","src":"19714:21:31"},"nodeType":"YulExpressionStatement","src":"19714:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19755:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19766:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19751:3:31"},"nodeType":"YulFunctionCall","src":"19751:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"19771:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19744:6:31"},"nodeType":"YulFunctionCall","src":"19744:30:31"},"nodeType":"YulExpressionStatement","src":"19744:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19794:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19805:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19790:3:31"},"nodeType":"YulFunctionCall","src":"19790:18:31"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"19810:34:31","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19783:6:31"},"nodeType":"YulFunctionCall","src":"19783:62:31"},"nodeType":"YulExpressionStatement","src":"19783:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19865:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19876:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19861:3:31"},"nodeType":"YulFunctionCall","src":"19861:18:31"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"19881:3:31","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19854:6:31"},"nodeType":"YulFunctionCall","src":"19854:31:31"},"nodeType":"YulExpressionStatement","src":"19854:31:31"},{"nodeType":"YulAssignment","src":"19894:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19906:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19917:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19902:3:31"},"nodeType":"YulFunctionCall","src":"19902:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19894:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19681:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19695:4:31","type":""}],"src":"19530:397:31"},{"body":{"nodeType":"YulBlock","src":"20106:251:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20123:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20134:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20116:6:31"},"nodeType":"YulFunctionCall","src":"20116:21:31"},"nodeType":"YulExpressionStatement","src":"20116:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20157:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20168:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20153:3:31"},"nodeType":"YulFunctionCall","src":"20153:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"20173:2:31","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20146:6:31"},"nodeType":"YulFunctionCall","src":"20146:30:31"},"nodeType":"YulExpressionStatement","src":"20146:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20196:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20207:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20192:3:31"},"nodeType":"YulFunctionCall","src":"20192:18:31"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"20212:34:31","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20185:6:31"},"nodeType":"YulFunctionCall","src":"20185:62:31"},"nodeType":"YulExpressionStatement","src":"20185:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20267:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20278:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20263:3:31"},"nodeType":"YulFunctionCall","src":"20263:18:31"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"20283:31:31","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20256:6:31"},"nodeType":"YulFunctionCall","src":"20256:59:31"},"nodeType":"YulExpressionStatement","src":"20256:59:31"},{"nodeType":"YulAssignment","src":"20324:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20336:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20347:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20332:3:31"},"nodeType":"YulFunctionCall","src":"20332:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20324:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20083:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20097:4:31","type":""}],"src":"19932:425:31"},{"body":{"nodeType":"YulBlock","src":"20523:145:31","statements":[{"nodeType":"YulAssignment","src":"20533:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20545:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20556:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20541:3:31"},"nodeType":"YulFunctionCall","src":"20541:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20533:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20575:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"20586:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20568:6:31"},"nodeType":"YulFunctionCall","src":"20568:25:31"},"nodeType":"YulExpressionStatement","src":"20568:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20613:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20624:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20609:3:31"},"nodeType":"YulFunctionCall","src":"20609:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20633:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20649:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20654:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20645:3:31"},"nodeType":"YulFunctionCall","src":"20645:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"20658:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20641:3:31"},"nodeType":"YulFunctionCall","src":"20641:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20629:3:31"},"nodeType":"YulFunctionCall","src":"20629:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20602:6:31"},"nodeType":"YulFunctionCall","src":"20602:60:31"},"nodeType":"YulExpressionStatement","src":"20602:60:31"}]},"name":"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20484:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20495:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20503:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20514:4:31","type":""}],"src":"20362:306:31"},{"body":{"nodeType":"YulBlock","src":"20940:832:31","statements":[{"nodeType":"YulVariableDeclaration","src":"20950:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20968:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20979:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20964:3:31"},"nodeType":"YulFunctionCall","src":"20964:19:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"20954:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20999:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21014:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21030:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21035:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21026:3:31"},"nodeType":"YulFunctionCall","src":"21026:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"21039:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21022:3:31"},"nodeType":"YulFunctionCall","src":"21022:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21010:3:31"},"nodeType":"YulFunctionCall","src":"21010:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20992:6:31"},"nodeType":"YulFunctionCall","src":"20992:51:31"},"nodeType":"YulExpressionStatement","src":"20992:51:31"},{"nodeType":"YulVariableDeclaration","src":"21052:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21062:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"21056:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21084:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21095:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21080:3:31"},"nodeType":"YulFunctionCall","src":"21080:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"21100:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21073:6:31"},"nodeType":"YulFunctionCall","src":"21073:34:31"},"nodeType":"YulExpressionStatement","src":"21073:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21127:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21138:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21123:3:31"},"nodeType":"YulFunctionCall","src":"21123:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"21143:3:31","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21116:6:31"},"nodeType":"YulFunctionCall","src":"21116:31:31"},"nodeType":"YulExpressionStatement","src":"21116:31:31"},{"nodeType":"YulVariableDeclaration","src":"21156:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"21167:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"21160:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21182:27:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"21202:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21196:5:31"},"nodeType":"YulFunctionCall","src":"21196:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"21186:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"21225:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"21233:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21218:6:31"},"nodeType":"YulFunctionCall","src":"21218:22:31"},"nodeType":"YulExpressionStatement","src":"21218:22:31"},{"nodeType":"YulAssignment","src":"21249:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21260:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21271:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21256:3:31"},"nodeType":"YulFunctionCall","src":"21256:19:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21249:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"21284:29:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"21302:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21310:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21298:3:31"},"nodeType":"YulFunctionCall","src":"21298:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"21288:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21322:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21331:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21326:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"21390:131:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21411:3:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"21426:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21420:5:31"},"nodeType":"YulFunctionCall","src":"21420:13:31"},{"kind":"number","nodeType":"YulLiteral","src":"21435:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21416:3:31"},"nodeType":"YulFunctionCall","src":"21416:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21404:6:31"},"nodeType":"YulFunctionCall","src":"21404:37:31"},"nodeType":"YulExpressionStatement","src":"21404:37:31"},{"nodeType":"YulAssignment","src":"21454:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21465:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21470:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21461:3:31"},"nodeType":"YulFunctionCall","src":"21461:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21454:3:31"}]},{"nodeType":"YulAssignment","src":"21486:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"21500:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21508:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21496:3:31"},"nodeType":"YulFunctionCall","src":"21496:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"21486:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21352:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"21355:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21349:2:31"},"nodeType":"YulFunctionCall","src":"21349:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21363:18:31","statements":[{"nodeType":"YulAssignment","src":"21365:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21374:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"21377:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21370:3:31"},"nodeType":"YulFunctionCall","src":"21370:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21365:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"21345:3:31","statements":[]},"src":"21341:180:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21541:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21552:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21537:3:31"},"nodeType":"YulFunctionCall","src":"21537:18:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21561:3:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"21566:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21557:3:31"},"nodeType":"YulFunctionCall","src":"21557:19:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21530:6:31"},"nodeType":"YulFunctionCall","src":"21530:47:31"},"nodeType":"YulExpressionStatement","src":"21530:47:31"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21593:3:31"},{"name":"value4","nodeType":"YulIdentifier","src":"21598:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21586:6:31"},"nodeType":"YulFunctionCall","src":"21586:19:31"},"nodeType":"YulExpressionStatement","src":"21586:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21631:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21636:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21627:3:31"},"nodeType":"YulFunctionCall","src":"21627:12:31"},{"name":"value3","nodeType":"YulIdentifier","src":"21641:6:31"},{"name":"value4","nodeType":"YulIdentifier","src":"21649:6:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"21614:12:31"},"nodeType":"YulFunctionCall","src":"21614:42:31"},"nodeType":"YulExpressionStatement","src":"21614:42:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21680:3:31"},{"name":"value4","nodeType":"YulIdentifier","src":"21685:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21676:3:31"},"nodeType":"YulFunctionCall","src":"21676:16:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21694:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21672:3:31"},"nodeType":"YulFunctionCall","src":"21672:25:31"},{"kind":"number","nodeType":"YulLiteral","src":"21699:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21665:6:31"},"nodeType":"YulFunctionCall","src":"21665:36:31"},"nodeType":"YulExpressionStatement","src":"21665:36:31"},{"nodeType":"YulAssignment","src":"21710:56:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21726:3:31"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"21739:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"21747:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21735:3:31"},"nodeType":"YulFunctionCall","src":"21735:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21756:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21752:3:31"},"nodeType":"YulFunctionCall","src":"21752:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21731:3:31"},"nodeType":"YulFunctionCall","src":"21731:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21722:3:31"},"nodeType":"YulFunctionCall","src":"21722:39:31"},{"name":"_1","nodeType":"YulIdentifier","src":"21763:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21718:3:31"},"nodeType":"YulFunctionCall","src":"21718:48:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21710:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_calldata_ptr__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20877:9:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20888:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20896:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20904:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20912:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20920:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20931:4:31","type":""}],"src":"20673:1099:31"},{"body":{"nodeType":"YulBlock","src":"21858:170:31","statements":[{"body":{"nodeType":"YulBlock","src":"21904:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21913:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21916:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21906:6:31"},"nodeType":"YulFunctionCall","src":"21906:12:31"},"nodeType":"YulExpressionStatement","src":"21906:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21879:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"21888:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21875:3:31"},"nodeType":"YulFunctionCall","src":"21875:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"21900:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21871:3:31"},"nodeType":"YulFunctionCall","src":"21871:32:31"},"nodeType":"YulIf","src":"21868:52:31"},{"nodeType":"YulVariableDeclaration","src":"21929:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21948:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21942:5:31"},"nodeType":"YulFunctionCall","src":"21942:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21933:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21992:5:31"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21967:24:31"},"nodeType":"YulFunctionCall","src":"21967:31:31"},"nodeType":"YulExpressionStatement","src":"21967:31:31"},{"nodeType":"YulAssignment","src":"22007:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"22017:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22007:6:31"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21824:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21835:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21847:6:31","type":""}],"src":"21777:251:31"},{"body":{"nodeType":"YulBlock","src":"22127:427:31","statements":[{"nodeType":"YulVariableDeclaration","src":"22137:51:31","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"22176:11:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22163:12:31"},"nodeType":"YulFunctionCall","src":"22163:25:31"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22141:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"22277:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22286:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22289:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22279:6:31"},"nodeType":"YulFunctionCall","src":"22279:12:31"},"nodeType":"YulExpressionStatement","src":"22279:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22211:18:31"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22239:12:31"},"nodeType":"YulFunctionCall","src":"22239:14:31"},{"name":"base_ref","nodeType":"YulIdentifier","src":"22255:8:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22235:3:31"},"nodeType":"YulFunctionCall","src":"22235:29:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22270:2:31","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"22266:3:31"},"nodeType":"YulFunctionCall","src":"22266:7:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22231:3:31"},"nodeType":"YulFunctionCall","src":"22231:43:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22207:3:31"},"nodeType":"YulFunctionCall","src":"22207:68:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22200:6:31"},"nodeType":"YulFunctionCall","src":"22200:76:31"},"nodeType":"YulIf","src":"22197:96:31"},{"nodeType":"YulVariableDeclaration","src":"22302:47:31","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"22320:8:31"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22330:18:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22316:3:31"},"nodeType":"YulFunctionCall","src":"22316:33:31"},"variables":[{"name":"addr_1","nodeType":"YulTypedName","src":"22306:6:31","type":""}]},{"nodeType":"YulAssignment","src":"22358:30:31","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"22381:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22368:12:31"},"nodeType":"YulFunctionCall","src":"22368:20:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"22358:6:31"}]},{"body":{"nodeType":"YulBlock","src":"22431:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22440:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22443:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22433:6:31"},"nodeType":"YulFunctionCall","src":"22433:12:31"},"nodeType":"YulExpressionStatement","src":"22433:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"22403:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"22411:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22400:2:31"},"nodeType":"YulFunctionCall","src":"22400:30:31"},"nodeType":"YulIf","src":"22397:50:31"},{"nodeType":"YulAssignment","src":"22456:25:31","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"22468:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"22476:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22464:3:31"},"nodeType":"YulFunctionCall","src":"22464:17:31"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"22456:4:31"}]},{"body":{"nodeType":"YulBlock","src":"22532:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22541:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22544:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22534:6:31"},"nodeType":"YulFunctionCall","src":"22534:12:31"},"nodeType":"YulExpressionStatement","src":"22534:12:31"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"22497:4:31"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22507:12:31"},"nodeType":"YulFunctionCall","src":"22507:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"22523:6:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22503:3:31"},"nodeType":"YulFunctionCall","src":"22503:27:31"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"22493:3:31"},"nodeType":"YulFunctionCall","src":"22493:38:31"},"nodeType":"YulIf","src":"22490:58:31"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22084:8:31","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"22094:11:31","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"22110:4:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"22116:6:31","type":""}],"src":"22033:521:31"},{"body":{"nodeType":"YulBlock","src":"22607:77:31","statements":[{"nodeType":"YulAssignment","src":"22617:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22628:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"22631:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22624:3:31"},"nodeType":"YulFunctionCall","src":"22624:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22617:3:31"}]},{"body":{"nodeType":"YulBlock","src":"22656:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22658:16:31"},"nodeType":"YulFunctionCall","src":"22658:18:31"},"nodeType":"YulExpressionStatement","src":"22658:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22648:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"22651:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22645:2:31"},"nodeType":"YulFunctionCall","src":"22645:10:31"},"nodeType":"YulIf","src":"22642:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22590:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"22593:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22599:3:31","type":""}],"src":"22559:125:31"},{"body":{"nodeType":"YulBlock","src":"22770:103:31","statements":[{"body":{"nodeType":"YulBlock","src":"22816:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22825:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22828:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22818:6:31"},"nodeType":"YulFunctionCall","src":"22818:12:31"},"nodeType":"YulExpressionStatement","src":"22818:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22791:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"22800:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22787:3:31"},"nodeType":"YulFunctionCall","src":"22787:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"22812:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22783:3:31"},"nodeType":"YulFunctionCall","src":"22783:32:31"},"nodeType":"YulIf","src":"22780:52:31"},{"nodeType":"YulAssignment","src":"22841:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22857:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22851:5:31"},"nodeType":"YulFunctionCall","src":"22851:16:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22841:6:31"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22736:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22747:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22759:6:31","type":""}],"src":"22689:184:31"},{"body":{"nodeType":"YulBlock","src":"22923:133:31","statements":[{"nodeType":"YulVariableDeclaration","src":"22933:31:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22952:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"22959:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22948:3:31"},"nodeType":"YulFunctionCall","src":"22948:16:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"22937:7:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"22992:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22994:16:31"},"nodeType":"YulFunctionCall","src":"22994:18:31"},"nodeType":"YulExpressionStatement","src":"22994:18:31"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"22983:7:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22976:6:31"},"nodeType":"YulFunctionCall","src":"22976:15:31"},"nodeType":"YulIf","src":"22973:41:31"},{"nodeType":"YulAssignment","src":"23023:27:31","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"23034:7:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23047:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"23043:3:31"},"nodeType":"YulFunctionCall","src":"23043:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23030:3:31"},"nodeType":"YulFunctionCall","src":"23030:20:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"23023:3:31"}]}]},"name":"decrement_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22905:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"22915:3:31","type":""}],"src":"22878:178:31"},{"body":{"nodeType":"YulBlock","src":"23236:355:31","statements":[{"nodeType":"YulVariableDeclaration","src":"23246:16:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"23259:3:31"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"23250:5:31","type":""}]},{"nodeType":"YulAssignment","src":"23271:12:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"23280:3:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23271:5:31"}]},{"nodeType":"YulVariableDeclaration","src":"23292:20:31","value":{"name":"value0","nodeType":"YulIdentifier","src":"23306:6:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"23296:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"23321:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"23330:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"23325:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"23389:175:31","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23410:5:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23438:6:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"23421:16:31"},"nodeType":"YulFunctionCall","src":"23421:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"23447:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23417:3:31"},"nodeType":"YulFunctionCall","src":"23417:35:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23403:6:31"},"nodeType":"YulFunctionCall","src":"23403:50:31"},"nodeType":"YulExpressionStatement","src":"23403:50:31"},{"nodeType":"YulVariableDeclaration","src":"23466:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"23476:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23470:2:31","type":""}]},{"nodeType":"YulAssignment","src":"23493:23:31","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23506:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"23513:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23502:3:31"},"nodeType":"YulFunctionCall","src":"23502:14:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23493:5:31"}]},{"nodeType":"YulAssignment","src":"23529:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23543:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"23551:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23539:3:31"},"nodeType":"YulFunctionCall","src":"23539:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23529:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23351:1:31"},{"name":"value1","nodeType":"YulIdentifier","src":"23354:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"23348:2:31"},"nodeType":"YulFunctionCall","src":"23348:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"23362:18:31","statements":[{"nodeType":"YulAssignment","src":"23364:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23373:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"23376:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23369:3:31"},"nodeType":"YulFunctionCall","src":"23369:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"23364:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"23344:3:31","statements":[]},"src":"23340:224:31"},{"nodeType":"YulAssignment","src":"23573:12:31","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"23580:5:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23573:3:31"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_calldata_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"23204:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23209:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23217:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"23228:3:31","type":""}],"src":"23061:530:31"},{"body":{"nodeType":"YulBlock","src":"23645:79:31","statements":[{"nodeType":"YulAssignment","src":"23655:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23667:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"23670:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23663:3:31"},"nodeType":"YulFunctionCall","src":"23663:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"23655:4:31"}]},{"body":{"nodeType":"YulBlock","src":"23696:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23698:16:31"},"nodeType":"YulFunctionCall","src":"23698:18:31"},"nodeType":"YulExpressionStatement","src":"23698:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"23687:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"23693:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23684:2:31"},"nodeType":"YulFunctionCall","src":"23684:11:31"},"nodeType":"YulIf","src":"23681:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23627:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"23630:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"23636:4:31","type":""}],"src":"23596:128:31"},{"body":{"nodeType":"YulBlock","src":"23858:145:31","statements":[{"nodeType":"YulAssignment","src":"23868:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23880:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23891:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23876:3:31"},"nodeType":"YulFunctionCall","src":"23876:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23868:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23910:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23925:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23941:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23946:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23937:3:31"},"nodeType":"YulFunctionCall","src":"23937:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"23950:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23933:3:31"},"nodeType":"YulFunctionCall","src":"23933:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23921:3:31"},"nodeType":"YulFunctionCall","src":"23921:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23903:6:31"},"nodeType":"YulFunctionCall","src":"23903:51:31"},"nodeType":"YulExpressionStatement","src":"23903:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23974:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23985:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23970:3:31"},"nodeType":"YulFunctionCall","src":"23970:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"23990:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23963:6:31"},"nodeType":"YulFunctionCall","src":"23963:34:31"},"nodeType":"YulExpressionStatement","src":"23963:34:31"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23819:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23830:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23838:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23849:4:31","type":""}],"src":"23729:274:31"},{"body":{"nodeType":"YulBlock","src":"24182:235:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24199:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24210:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24192:6:31"},"nodeType":"YulFunctionCall","src":"24192:21:31"},"nodeType":"YulExpressionStatement","src":"24192:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24233:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24244:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24229:3:31"},"nodeType":"YulFunctionCall","src":"24229:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"24249:2:31","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24222:6:31"},"nodeType":"YulFunctionCall","src":"24222:30:31"},"nodeType":"YulExpressionStatement","src":"24222:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24272:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24283:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24268:3:31"},"nodeType":"YulFunctionCall","src":"24268:18:31"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"24288:34:31","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24261:6:31"},"nodeType":"YulFunctionCall","src":"24261:62:31"},"nodeType":"YulExpressionStatement","src":"24261:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24343:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24354:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24339:3:31"},"nodeType":"YulFunctionCall","src":"24339:18:31"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"24359:15:31","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24332:6:31"},"nodeType":"YulFunctionCall","src":"24332:43:31"},"nodeType":"YulExpressionStatement","src":"24332:43:31"},{"nodeType":"YulAssignment","src":"24384:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24396:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24407:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24392:3:31"},"nodeType":"YulFunctionCall","src":"24392:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24384:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24159:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24173:4:31","type":""}],"src":"24008:409:31"},{"body":{"nodeType":"YulBlock","src":"24596:173:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24613:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24624:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24606:6:31"},"nodeType":"YulFunctionCall","src":"24606:21:31"},"nodeType":"YulExpressionStatement","src":"24606:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24647:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24658:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24643:3:31"},"nodeType":"YulFunctionCall","src":"24643:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"24663:2:31","type":"","value":"23"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24636:6:31"},"nodeType":"YulFunctionCall","src":"24636:30:31"},"nodeType":"YulExpressionStatement","src":"24636:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24686:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24697:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24682:3:31"},"nodeType":"YulFunctionCall","src":"24682:18:31"},{"hexValue":"5468697320636172642068617320616e206f666665722e","kind":"string","nodeType":"YulLiteral","src":"24702:25:31","type":"","value":"This card has an offer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24675:6:31"},"nodeType":"YulFunctionCall","src":"24675:53:31"},"nodeType":"YulExpressionStatement","src":"24675:53:31"},{"nodeType":"YulAssignment","src":"24737:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24749:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24760:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24745:3:31"},"nodeType":"YulFunctionCall","src":"24745:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24737:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24573:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24587:4:31","type":""}],"src":"24422:347:31"},{"body":{"nodeType":"YulBlock","src":"24903:145:31","statements":[{"nodeType":"YulAssignment","src":"24913:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24925:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"24936:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24921:3:31"},"nodeType":"YulFunctionCall","src":"24921:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24913:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24955:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"24966:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24948:6:31"},"nodeType":"YulFunctionCall","src":"24948:25:31"},"nodeType":"YulExpressionStatement","src":"24948:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24993:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"25004:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24989:3:31"},"nodeType":"YulFunctionCall","src":"24989:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"25013:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25029:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25034:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25025:3:31"},"nodeType":"YulFunctionCall","src":"25025:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"25038:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25021:3:31"},"nodeType":"YulFunctionCall","src":"25021:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25009:3:31"},"nodeType":"YulFunctionCall","src":"25009:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24982:6:31"},"nodeType":"YulFunctionCall","src":"24982:60:31"},"nodeType":"YulExpressionStatement","src":"24982:60:31"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24864:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24875:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24883:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24894:4:31","type":""}],"src":"24774:274:31"},{"body":{"nodeType":"YulBlock","src":"25085:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25102:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25109:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25114:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25105:3:31"},"nodeType":"YulFunctionCall","src":"25105:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25095:6:31"},"nodeType":"YulFunctionCall","src":"25095:31:31"},"nodeType":"YulExpressionStatement","src":"25095:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25142:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25145:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25135:6:31"},"nodeType":"YulFunctionCall","src":"25135:15:31"},"nodeType":"YulExpressionStatement","src":"25135:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25166:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25169:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25159:6:31"},"nodeType":"YulFunctionCall","src":"25159:15:31"},"nodeType":"YulExpressionStatement","src":"25159:15:31"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"25053:127:31"},{"body":{"nodeType":"YulBlock","src":"25231:171:31","statements":[{"body":{"nodeType":"YulBlock","src":"25262:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25283:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25290:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25295:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25286:3:31"},"nodeType":"YulFunctionCall","src":"25286:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25276:6:31"},"nodeType":"YulFunctionCall","src":"25276:31:31"},"nodeType":"YulExpressionStatement","src":"25276:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25327:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25330:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25320:6:31"},"nodeType":"YulFunctionCall","src":"25320:15:31"},"nodeType":"YulExpressionStatement","src":"25320:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25355:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25358:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25348:6:31"},"nodeType":"YulFunctionCall","src":"25348:15:31"},"nodeType":"YulExpressionStatement","src":"25348:15:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25251:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25244:6:31"},"nodeType":"YulFunctionCall","src":"25244:9:31"},"nodeType":"YulIf","src":"25241:132:31"},{"nodeType":"YulAssignment","src":"25382:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25391:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"25394:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"25387:3:31"},"nodeType":"YulFunctionCall","src":"25387:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"25382:1:31"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"25216:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"25219:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"25225:1:31","type":""}],"src":"25185:217:31"},{"body":{"nodeType":"YulBlock","src":"25581:180:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25598:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"25609:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25591:6:31"},"nodeType":"YulFunctionCall","src":"25591:21:31"},"nodeType":"YulExpressionStatement","src":"25591:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25632:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"25643:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25628:3:31"},"nodeType":"YulFunctionCall","src":"25628:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"25648:2:31","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25621:6:31"},"nodeType":"YulFunctionCall","src":"25621:30:31"},"nodeType":"YulExpressionStatement","src":"25621:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25671:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"25682:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25667:3:31"},"nodeType":"YulFunctionCall","src":"25667:18:31"},{"hexValue":"696e76616c69642063617264496e76656e746f727920706f736974696f6e","kind":"string","nodeType":"YulLiteral","src":"25687:32:31","type":"","value":"invalid cardInventory position"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25660:6:31"},"nodeType":"YulFunctionCall","src":"25660:60:31"},"nodeType":"YulExpressionStatement","src":"25660:60:31"},{"nodeType":"YulAssignment","src":"25729:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25741:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"25752:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25737:3:31"},"nodeType":"YulFunctionCall","src":"25737:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25729:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25558:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25572:4:31","type":""}],"src":"25407:354:31"},{"body":{"nodeType":"YulBlock","src":"25940:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25957:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"25968:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25950:6:31"},"nodeType":"YulFunctionCall","src":"25950:21:31"},"nodeType":"YulExpressionStatement","src":"25950:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25991:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26002:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25987:3:31"},"nodeType":"YulFunctionCall","src":"25987:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"26007:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25980:6:31"},"nodeType":"YulFunctionCall","src":"25980:30:31"},"nodeType":"YulExpressionStatement","src":"25980:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26030:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26041:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26026:3:31"},"nodeType":"YulFunctionCall","src":"26026:18:31"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"26046:26:31","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26019:6:31"},"nodeType":"YulFunctionCall","src":"26019:54:31"},"nodeType":"YulExpressionStatement","src":"26019:54:31"},{"nodeType":"YulAssignment","src":"26082:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26094:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26105:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26090:3:31"},"nodeType":"YulFunctionCall","src":"26090:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26082:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25917:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25931:4:31","type":""}],"src":"25766:348:31"},{"body":{"nodeType":"YulBlock","src":"26293:231:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26310:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26321:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26303:6:31"},"nodeType":"YulFunctionCall","src":"26303:21:31"},"nodeType":"YulExpressionStatement","src":"26303:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26344:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26355:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26340:3:31"},"nodeType":"YulFunctionCall","src":"26340:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"26360:2:31","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26333:6:31"},"nodeType":"YulFunctionCall","src":"26333:30:31"},"nodeType":"YulExpressionStatement","src":"26333:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26383:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26394:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26379:3:31"},"nodeType":"YulFunctionCall","src":"26379:18:31"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"26399:34:31","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26372:6:31"},"nodeType":"YulFunctionCall","src":"26372:62:31"},"nodeType":"YulExpressionStatement","src":"26372:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26454:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26465:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26450:3:31"},"nodeType":"YulFunctionCall","src":"26450:18:31"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"26470:11:31","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26443:6:31"},"nodeType":"YulFunctionCall","src":"26443:39:31"},"nodeType":"YulExpressionStatement","src":"26443:39:31"},{"nodeType":"YulAssignment","src":"26491:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26503:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"26514:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26499:3:31"},"nodeType":"YulFunctionCall","src":"26499:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26491:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26270:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26284:4:31","type":""}],"src":"26119:405:31"},{"body":{"nodeType":"YulBlock","src":"26585:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26602:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"26605:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26595:6:31"},"nodeType":"YulFunctionCall","src":"26595:14:31"},"nodeType":"YulExpressionStatement","src":"26595:14:31"},{"nodeType":"YulAssignment","src":"26618:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26636:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26639:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26626:9:31"},"nodeType":"YulFunctionCall","src":"26626:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"26618:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"26568:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"26576:4:31","type":""}],"src":"26529:121:31"},{"body":{"nodeType":"YulBlock","src":"26736:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"26769:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"26783:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"26793:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"26787:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"26814:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"26818:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26807:6:31"},"nodeType":"YulFunctionCall","src":"26807:17:31"},"nodeType":"YulExpressionStatement","src":"26807:17:31"},{"nodeType":"YulVariableDeclaration","src":"26837:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"26859:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"26863:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26849:9:31"},"nodeType":"YulFunctionCall","src":"26849:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"26841:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26881:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"26904:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26914:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"26921:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"26933:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26917:3:31"},"nodeType":"YulFunctionCall","src":"26917:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"26910:3:31"},"nodeType":"YulFunctionCall","src":"26910:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26900:3:31"},"nodeType":"YulFunctionCall","src":"26900:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"26885:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"26975:23:31","statements":[{"nodeType":"YulAssignment","src":"26977:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"26992:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"26977:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"26957:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"26969:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26954:2:31"},"nodeType":"YulFunctionCall","src":"26954:20:31"},"nodeType":"YulIf","src":"26951:47:31"},{"nodeType":"YulVariableDeclaration","src":"27011:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27025:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27035:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"27042:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"27047:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27038:3:31"},"nodeType":"YulFunctionCall","src":"27038:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27031:3:31"},"nodeType":"YulFunctionCall","src":"27031:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27021:3:31"},"nodeType":"YulFunctionCall","src":"27021:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"27015:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27065:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"27078:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"27069:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"27163:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27172:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"27179:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27165:6:31"},"nodeType":"YulFunctionCall","src":"27165:17:31"},"nodeType":"YulExpressionStatement","src":"27165:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27113:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"27120:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27110:2:31"},"nodeType":"YulFunctionCall","src":"27110:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27124:26:31","statements":[{"nodeType":"YulAssignment","src":"27126:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27139:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"27146:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27135:3:31"},"nodeType":"YulFunctionCall","src":"27135:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"27126:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"27106:3:31","statements":[]},"src":"27102:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"26752:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"26757:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26749:2:31"},"nodeType":"YulFunctionCall","src":"26749:11:31"},"nodeType":"YulIf","src":"26746:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"26708:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"26715:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"26720:10:31","type":""}],"src":"26655:545:31"},{"body":{"nodeType":"YulBlock","src":"27290:81:31","statements":[{"nodeType":"YulAssignment","src":"27300:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27315:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27333:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"27336:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27329:3:31"},"nodeType":"YulFunctionCall","src":"27329:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27346:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27342:3:31"},"nodeType":"YulFunctionCall","src":"27342:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27325:3:31"},"nodeType":"YulFunctionCall","src":"27325:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27321:3:31"},"nodeType":"YulFunctionCall","src":"27321:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27311:3:31"},"nodeType":"YulFunctionCall","src":"27311:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27357:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"27360:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27353:3:31"},"nodeType":"YulFunctionCall","src":"27353:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27308:2:31"},"nodeType":"YulFunctionCall","src":"27308:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"27300:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"27267:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"27273:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"27281:4:31","type":""}],"src":"27205:166:31"},{"body":{"nodeType":"YulBlock","src":"27472:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"27482:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"27502:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27496:5:31"},"nodeType":"YulFunctionCall","src":"27496:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"27486:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"27549:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"27551:16:31"},"nodeType":"YulFunctionCall","src":"27551:18:31"},"nodeType":"YulExpressionStatement","src":"27551:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27521:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"27529:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27518:2:31"},"nodeType":"YulFunctionCall","src":"27518:30:31"},"nodeType":"YulIf","src":"27515:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27624:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27662:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"27656:5:31"},"nodeType":"YulFunctionCall","src":"27656:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"27630:25:31"},"nodeType":"YulFunctionCall","src":"27630:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"27670:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"27580:43:31"},"nodeType":"YulFunctionCall","src":"27580:97:31"},"nodeType":"YulExpressionStatement","src":"27580:97:31"},{"nodeType":"YulVariableDeclaration","src":"27686:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"27703:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"27690:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27713:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"27732:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"27717:11:31","type":""}]},{"nodeType":"YulAssignment","src":"27745:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"27758:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"27745:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"27815:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"27829:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27848:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27860:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27856:3:31"},"nodeType":"YulFunctionCall","src":"27856:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27844:3:31"},"nodeType":"YulFunctionCall","src":"27844:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"27833:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27877:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27921:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"27891:29:31"},"nodeType":"YulFunctionCall","src":"27891:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"27881:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27939:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"27948:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"27943:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"28026:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28051:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28069:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28074:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28065:3:31"},"nodeType":"YulFunctionCall","src":"28065:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28059:5:31"},"nodeType":"YulFunctionCall","src":"28059:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28044:6:31"},"nodeType":"YulFunctionCall","src":"28044:42:31"},"nodeType":"YulExpressionStatement","src":"28044:42:31"},{"nodeType":"YulAssignment","src":"28103:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28117:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"28125:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28113:3:31"},"nodeType":"YulFunctionCall","src":"28113:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28103:6:31"}]},{"nodeType":"YulAssignment","src":"28144:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28161:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28172:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28157:3:31"},"nodeType":"YulFunctionCall","src":"28157:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28144:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27973:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"27976:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27970:2:31"},"nodeType":"YulFunctionCall","src":"27970:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27985:28:31","statements":[{"nodeType":"YulAssignment","src":"27987:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27996:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"27999:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27992:3:31"},"nodeType":"YulFunctionCall","src":"27992:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"27987:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"27966:3:31","statements":[]},"src":"27962:236:31"},{"body":{"nodeType":"YulBlock","src":"28246:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"28264:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28291:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28296:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28287:3:31"},"nodeType":"YulFunctionCall","src":"28287:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28281:5:31"},"nodeType":"YulFunctionCall","src":"28281:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"28268:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28331:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"28343:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28370:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"28373:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28366:3:31"},"nodeType":"YulFunctionCall","src":"28366:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"28382:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28362:3:31"},"nodeType":"YulFunctionCall","src":"28362:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28392:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28388:3:31"},"nodeType":"YulFunctionCall","src":"28388:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28358:3:31"},"nodeType":"YulFunctionCall","src":"28358:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28354:3:31"},"nodeType":"YulFunctionCall","src":"28354:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28339:3:31"},"nodeType":"YulFunctionCall","src":"28339:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28324:6:31"},"nodeType":"YulFunctionCall","src":"28324:74:31"},"nodeType":"YulExpressionStatement","src":"28324:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"28217:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"28226:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28214:2:31"},"nodeType":"YulFunctionCall","src":"28214:19:31"},"nodeType":"YulIf","src":"28211:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28432:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28446:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"28449:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28442:3:31"},"nodeType":"YulFunctionCall","src":"28442:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"28458:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28438:3:31"},"nodeType":"YulFunctionCall","src":"28438:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28425:6:31"},"nodeType":"YulFunctionCall","src":"28425:36:31"},"nodeType":"YulExpressionStatement","src":"28425:36:31"}]},"nodeType":"YulCase","src":"27808:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"27813:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"28488:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"28502:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"28515:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"28506:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"28551:67:31","statements":[{"nodeType":"YulAssignment","src":"28569:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28588:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28593:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28584:3:31"},"nodeType":"YulFunctionCall","src":"28584:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28578:5:31"},"nodeType":"YulFunctionCall","src":"28578:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"28569:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"28532:6:31"},"nodeType":"YulIf","src":"28529:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28638:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28697:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"28704:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"28644:52:31"},"nodeType":"YulFunctionCall","src":"28644:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28631:6:31"},"nodeType":"YulFunctionCall","src":"28631:81:31"},"nodeType":"YulExpressionStatement","src":"28631:81:31"}]},"nodeType":"YulCase","src":"28480:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27788:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"27796:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27785:2:31"},"nodeType":"YulFunctionCall","src":"27785:14:31"},"nodeType":"YulSwitch","src":"27778:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"27457:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"27463:3:31","type":""}],"src":"27376:1352:31"},{"body":{"nodeType":"YulBlock","src":"29009:1145:31","statements":[{"nodeType":"YulVariableDeclaration","src":"29019:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"29030:1:31","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"29023:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29040:30:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29063:6:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"29057:5:31"},"nodeType":"YulFunctionCall","src":"29057:13:31"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"29044:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29079:50:31","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"29119:9:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"29093:25:31"},"nodeType":"YulFunctionCall","src":"29093:36:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"29083:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29138:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"29148:1:31","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29142:2:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"29199:126:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29220:3:31"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"29229:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29244:3:31","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29240:3:31"},"nodeType":"YulFunctionCall","src":"29240:8:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29225:3:31"},"nodeType":"YulFunctionCall","src":"29225:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29213:6:31"},"nodeType":"YulFunctionCall","src":"29213:37:31"},"nodeType":"YulExpressionStatement","src":"29213:37:31"},{"nodeType":"YulAssignment","src":"29263:52:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29274:3:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"29283:6:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"29305:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29298:6:31"},"nodeType":"YulFunctionCall","src":"29298:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29291:6:31"},"nodeType":"YulFunctionCall","src":"29291:22:31"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"29279:3:31"},"nodeType":"YulFunctionCall","src":"29279:35:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29270:3:31"},"nodeType":"YulFunctionCall","src":"29270:45:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"29263:3:31"}]}]},"nodeType":"YulCase","src":"29192:133:31","value":{"kind":"number","nodeType":"YulLiteral","src":"29197:1:31","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"29341:349:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29362:1:31","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"29365:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29355:6:31"},"nodeType":"YulFunctionCall","src":"29355:17:31"},"nodeType":"YulExpressionStatement","src":"29355:17:31"},{"nodeType":"YulVariableDeclaration","src":"29385:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"29395:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"29389:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29412:31:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29437:1:31","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"29440:2:31"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"29427:9:31"},"nodeType":"YulFunctionCall","src":"29427:16:31"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"29416:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29456:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"29465:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"29460:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"29533:111:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29562:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"29567:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29558:3:31"},"nodeType":"YulFunctionCall","src":"29558:11:31"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"29577:7:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"29571:5:31"},"nodeType":"YulFunctionCall","src":"29571:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29551:6:31"},"nodeType":"YulFunctionCall","src":"29551:35:31"},"nodeType":"YulExpressionStatement","src":"29551:35:31"},{"nodeType":"YulAssignment","src":"29603:27:31","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"29618:7:31"},{"name":"_1","nodeType":"YulIdentifier","src":"29627:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29614:3:31"},"nodeType":"YulFunctionCall","src":"29614:16:31"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"29603:7:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29490:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"29493:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"29487:2:31"},"nodeType":"YulFunctionCall","src":"29487:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"29501:19:31","statements":[{"nodeType":"YulAssignment","src":"29503:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29512:1:31"},{"name":"_2","nodeType":"YulIdentifier","src":"29515:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29508:3:31"},"nodeType":"YulFunctionCall","src":"29508:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"29503:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"29483:3:31","statements":[]},"src":"29479:165:31"},{"nodeType":"YulAssignment","src":"29657:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29668:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"29673:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29664:3:31"},"nodeType":"YulFunctionCall","src":"29664:16:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"29657:3:31"}]}]},"nodeType":"YulCase","src":"29334:356:31","value":{"kind":"number","nodeType":"YulLiteral","src":"29339:1:31","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"29169:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"29180:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29165:3:31"},"nodeType":"YulFunctionCall","src":"29165:18:31"},"nodeType":"YulSwitch","src":"29158:532:31"},{"nodeType":"YulVariableDeclaration","src":"29699:29:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29721:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29715:5:31"},"nodeType":"YulFunctionCall","src":"29715:13:31"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"29703:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29776:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"29784:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29772:3:31"},"nodeType":"YulFunctionCall","src":"29772:17:31"},{"name":"ret","nodeType":"YulIdentifier","src":"29791:3:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"29796:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"29737:34:31"},"nodeType":"YulFunctionCall","src":"29737:68:31"},"nodeType":"YulExpressionStatement","src":"29737:68:31"},{"nodeType":"YulVariableDeclaration","src":"29814:31:31","value":{"arguments":[{"name":"ret","nodeType":"YulIdentifier","src":"29831:3:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"29836:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29827:3:31"},"nodeType":"YulFunctionCall","src":"29827:18:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"29818:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29854:29:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"29876:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29870:5:31"},"nodeType":"YulFunctionCall","src":"29870:13:31"},"variables":[{"name":"length_2","nodeType":"YulTypedName","src":"29858:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"29931:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"29939:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29927:3:31"},"nodeType":"YulFunctionCall","src":"29927:17:31"},{"name":"end_1","nodeType":"YulIdentifier","src":"29946:5:31"},{"name":"length_2","nodeType":"YulIdentifier","src":"29953:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"29892:34:31"},"nodeType":"YulFunctionCall","src":"29892:70:31"},"nodeType":"YulExpressionStatement","src":"29892:70:31"},{"nodeType":"YulVariableDeclaration","src":"29971:30:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"29985:5:31"},{"name":"length_2","nodeType":"YulIdentifier","src":"29992:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29981:3:31"},"nodeType":"YulFunctionCall","src":"29981:20:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"29975:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"30010:29:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"30032:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30026:5:31"},"nodeType":"YulFunctionCall","src":"30026:13:31"},"variables":[{"name":"length_3","nodeType":"YulTypedName","src":"30014:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"30087:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"30095:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30083:3:31"},"nodeType":"YulFunctionCall","src":"30083:17:31"},{"name":"_3","nodeType":"YulIdentifier","src":"30102:2:31"},{"name":"length_3","nodeType":"YulIdentifier","src":"30106:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"30048:34:31"},"nodeType":"YulFunctionCall","src":"30048:67:31"},"nodeType":"YulExpressionStatement","src":"30048:67:31"},{"nodeType":"YulAssignment","src":"30124:24:31","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"30135:2:31"},{"name":"length_3","nodeType":"YulIdentifier","src":"30139:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30131:3:31"},"nodeType":"YulFunctionCall","src":"30131:17:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"30124:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"28961:3:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"28966:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"28974:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28982:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28990:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"29001:3:31","type":""}],"src":"28733:1421:31"},{"body":{"nodeType":"YulBlock","src":"30298:150:31","statements":[{"nodeType":"YulVariableDeclaration","src":"30308:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30328:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30322:5:31"},"nodeType":"YulFunctionCall","src":"30322:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"30312:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30383:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"30391:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30379:3:31"},"nodeType":"YulFunctionCall","src":"30379:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"30398:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"30403:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"30344:34:31"},"nodeType":"YulFunctionCall","src":"30344:66:31"},"nodeType":"YulExpressionStatement","src":"30344:66:31"},{"nodeType":"YulAssignment","src":"30419:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30430:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"30435:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30426:3:31"},"nodeType":"YulFunctionCall","src":"30426:16:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"30419:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"30274:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30279:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30290:3:31","type":""}],"src":"30159:289:31"},{"body":{"nodeType":"YulBlock","src":"30574:141:31","statements":[{"nodeType":"YulAssignment","src":"30584:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30596:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30607:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30592:3:31"},"nodeType":"YulFunctionCall","src":"30592:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30584:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30626:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30641:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"30649:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30637:3:31"},"nodeType":"YulFunctionCall","src":"30637:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30619:6:31"},"nodeType":"YulFunctionCall","src":"30619:36:31"},"nodeType":"YulExpressionStatement","src":"30619:36:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30675:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30686:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30671:3:31"},"nodeType":"YulFunctionCall","src":"30671:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"30695:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"30703:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30691:3:31"},"nodeType":"YulFunctionCall","src":"30691:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30664:6:31"},"nodeType":"YulFunctionCall","src":"30664:45:31"},"nodeType":"YulExpressionStatement","src":"30664:45:31"}]},"name":"abi_encode_tuple_t_uint8_t_uint8__to_t_uint8_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30535:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30546:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30554:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30565:4:31","type":""}],"src":"30453:262:31"},{"body":{"nodeType":"YulBlock","src":"30829:76:31","statements":[{"nodeType":"YulAssignment","src":"30839:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30851:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"30862:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30847:3:31"},"nodeType":"YulFunctionCall","src":"30847:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30839:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30881:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"30892:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30874:6:31"},"nodeType":"YulFunctionCall","src":"30874:25:31"},"nodeType":"YulExpressionStatement","src":"30874:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30798:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30809:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30820:4:31","type":""}],"src":"30720:185:31"},{"body":{"nodeType":"YulBlock","src":"31001:558:31","statements":[{"body":{"nodeType":"YulBlock","src":"31047:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31056:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31059:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31049:6:31"},"nodeType":"YulFunctionCall","src":"31049:12:31"},"nodeType":"YulExpressionStatement","src":"31049:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"31022:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"31031:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31018:3:31"},"nodeType":"YulFunctionCall","src":"31018:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"31043:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31014:3:31"},"nodeType":"YulFunctionCall","src":"31014:32:31"},"nodeType":"YulIf","src":"31011:52:31"},{"nodeType":"YulVariableDeclaration","src":"31072:30:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31092:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31086:5:31"},"nodeType":"YulFunctionCall","src":"31086:16:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"31076:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"31145:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31154:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31157:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31147:6:31"},"nodeType":"YulFunctionCall","src":"31147:12:31"},"nodeType":"YulExpressionStatement","src":"31147:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"31117:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"31125:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31114:2:31"},"nodeType":"YulFunctionCall","src":"31114:30:31"},"nodeType":"YulIf","src":"31111:50:31"},{"nodeType":"YulVariableDeclaration","src":"31170:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31184:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"31195:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31180:3:31"},"nodeType":"YulFunctionCall","src":"31180:22:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"31174:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"31250:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31259:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31262:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31252:6:31"},"nodeType":"YulFunctionCall","src":"31252:12:31"},"nodeType":"YulExpressionStatement","src":"31252:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31229:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"31233:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31225:3:31"},"nodeType":"YulFunctionCall","src":"31225:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31240:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31221:3:31"},"nodeType":"YulFunctionCall","src":"31221:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31214:6:31"},"nodeType":"YulFunctionCall","src":"31214:35:31"},"nodeType":"YulIf","src":"31211:55:31"},{"nodeType":"YulVariableDeclaration","src":"31275:19:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31291:2:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31285:5:31"},"nodeType":"YulFunctionCall","src":"31285:9:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"31279:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31303:62:31","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"31361:2:31"}],"functionName":{"name":"array_allocation_size_string","nodeType":"YulIdentifier","src":"31332:28:31"},"nodeType":"YulFunctionCall","src":"31332:32:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"31316:15:31"},"nodeType":"YulFunctionCall","src":"31316:49:31"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"31307:5:31","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"31381:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"31388:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31374:6:31"},"nodeType":"YulFunctionCall","src":"31374:17:31"},"nodeType":"YulExpressionStatement","src":"31374:17:31"},{"body":{"nodeType":"YulBlock","src":"31437:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31446:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31449:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31439:6:31"},"nodeType":"YulFunctionCall","src":"31439:12:31"},"nodeType":"YulExpressionStatement","src":"31439:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31414:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"31418:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31410:3:31"},"nodeType":"YulFunctionCall","src":"31410:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"31423:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31406:3:31"},"nodeType":"YulFunctionCall","src":"31406:20:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31428:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31403:2:31"},"nodeType":"YulFunctionCall","src":"31403:33:31"},"nodeType":"YulIf","src":"31400:53:31"},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31501:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"31505:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31497:3:31"},"nodeType":"YulFunctionCall","src":"31497:11:31"},{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"31514:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"31521:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31510:3:31"},"nodeType":"YulFunctionCall","src":"31510:14:31"},{"name":"_2","nodeType":"YulIdentifier","src":"31526:2:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"31462:34:31"},"nodeType":"YulFunctionCall","src":"31462:67:31"},"nodeType":"YulExpressionStatement","src":"31462:67:31"},{"nodeType":"YulAssignment","src":"31538:15:31","value":{"name":"array","nodeType":"YulIdentifier","src":"31548:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"31538:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30967:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"30978:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"30990:6:31","type":""}],"src":"30910:649:31"},{"body":{"nodeType":"YulBlock","src":"31616:116:31","statements":[{"nodeType":"YulAssignment","src":"31626:20:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31641:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"31644:1:31"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"31637:3:31"},"nodeType":"YulFunctionCall","src":"31637:9:31"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"31626:7:31"}]},{"body":{"nodeType":"YulBlock","src":"31704:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"31706:16:31"},"nodeType":"YulFunctionCall","src":"31706:18:31"},"nodeType":"YulExpressionStatement","src":"31706:18:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31675:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31668:6:31"},"nodeType":"YulFunctionCall","src":"31668:9:31"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"31682:1:31"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"31689:7:31"},{"name":"x","nodeType":"YulIdentifier","src":"31698:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"31685:3:31"},"nodeType":"YulFunctionCall","src":"31685:15:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31679:2:31"},"nodeType":"YulFunctionCall","src":"31679:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"31665:2:31"},"nodeType":"YulFunctionCall","src":"31665:37:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31658:6:31"},"nodeType":"YulFunctionCall","src":"31658:45:31"},"nodeType":"YulIf","src":"31655:71:31"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"31595:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"31598:1:31","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"31604:7:31","type":""}],"src":"31564:168:31"},{"body":{"nodeType":"YulBlock","src":"31911:228:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31928:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31939:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31921:6:31"},"nodeType":"YulFunctionCall","src":"31921:21:31"},"nodeType":"YulExpressionStatement","src":"31921:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31962:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"31973:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31958:3:31"},"nodeType":"YulFunctionCall","src":"31958:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"31978:2:31","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31951:6:31"},"nodeType":"YulFunctionCall","src":"31951:30:31"},"nodeType":"YulExpressionStatement","src":"31951:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32001:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32012:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31997:3:31"},"nodeType":"YulFunctionCall","src":"31997:18:31"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"32017:34:31","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31990:6:31"},"nodeType":"YulFunctionCall","src":"31990:62:31"},"nodeType":"YulExpressionStatement","src":"31990:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32072:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32083:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32068:3:31"},"nodeType":"YulFunctionCall","src":"32068:18:31"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"32088:8:31","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32061:6:31"},"nodeType":"YulFunctionCall","src":"32061:36:31"},"nodeType":"YulExpressionStatement","src":"32061:36:31"},{"nodeType":"YulAssignment","src":"32106:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32118:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32129:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32114:3:31"},"nodeType":"YulFunctionCall","src":"32114:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32106:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31888:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31902:4:31","type":""}],"src":"31737:402:31"},{"body":{"nodeType":"YulBlock","src":"32309:385:31","statements":[{"nodeType":"YulVariableDeclaration","src":"32319:16:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"32332:3:31"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"32323:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32344:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32364:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"32358:5:31"},"nodeType":"YulFunctionCall","src":"32358:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"32348:6:31","type":""}]},{"nodeType":"YulAssignment","src":"32380:12:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"32389:3:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32380:5:31"}]},{"nodeType":"YulVariableDeclaration","src":"32401:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"32411:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"32405:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32424:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32442:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"32450:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32438:3:31"},"nodeType":"YulFunctionCall","src":"32438:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"32428:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32462:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"32471:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"32466:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"32530:137:31","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32551:5:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"32568:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"32562:5:31"},"nodeType":"YulFunctionCall","src":"32562:13:31"},{"kind":"number","nodeType":"YulLiteral","src":"32577:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32558:3:31"},"nodeType":"YulFunctionCall","src":"32558:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32544:6:31"},"nodeType":"YulFunctionCall","src":"32544:39:31"},"nodeType":"YulExpressionStatement","src":"32544:39:31"},{"nodeType":"YulAssignment","src":"32596:23:31","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32609:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"32616:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32605:3:31"},"nodeType":"YulFunctionCall","src":"32605:14:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32596:5:31"}]},{"nodeType":"YulAssignment","src":"32632:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"32646:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"32654:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32642:3:31"},"nodeType":"YulFunctionCall","src":"32642:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"32632:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"32492:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"32495:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"32489:2:31"},"nodeType":"YulFunctionCall","src":"32489:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"32503:18:31","statements":[{"nodeType":"YulAssignment","src":"32505:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"32514:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"32517:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32510:3:31"},"nodeType":"YulFunctionCall","src":"32510:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"32505:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"32485:3:31","statements":[]},"src":"32481:186:31"},{"nodeType":"YulAssignment","src":"32676:12:31","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"32683:5:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"32676:3:31"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"32285:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32290:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"32301:3:31","type":""}],"src":"32144:550:31"},{"body":{"nodeType":"YulBlock","src":"32873:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32890:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32901:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32883:6:31"},"nodeType":"YulFunctionCall","src":"32883:21:31"},"nodeType":"YulExpressionStatement","src":"32883:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32924:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32935:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32920:3:31"},"nodeType":"YulFunctionCall","src":"32920:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"32940:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32913:6:31"},"nodeType":"YulFunctionCall","src":"32913:30:31"},"nodeType":"YulExpressionStatement","src":"32913:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32963:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"32974:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32959:3:31"},"nodeType":"YulFunctionCall","src":"32959:18:31"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"32979:34:31","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32952:6:31"},"nodeType":"YulFunctionCall","src":"32952:62:31"},"nodeType":"YulExpressionStatement","src":"32952:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33034:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33045:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33030:3:31"},"nodeType":"YulFunctionCall","src":"33030:18:31"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"33050:7:31","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33023:6:31"},"nodeType":"YulFunctionCall","src":"33023:35:31"},"nodeType":"YulExpressionStatement","src":"33023:35:31"},{"nodeType":"YulAssignment","src":"33067:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33079:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33090:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33075:3:31"},"nodeType":"YulFunctionCall","src":"33075:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33067:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32850:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32864:4:31","type":""}],"src":"32699:401:31"},{"body":{"nodeType":"YulBlock","src":"33279:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33296:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33307:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33289:6:31"},"nodeType":"YulFunctionCall","src":"33289:21:31"},"nodeType":"YulExpressionStatement","src":"33289:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33330:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33341:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33326:3:31"},"nodeType":"YulFunctionCall","src":"33326:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"33346:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33319:6:31"},"nodeType":"YulFunctionCall","src":"33319:30:31"},"nodeType":"YulExpressionStatement","src":"33319:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33369:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33380:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33365:3:31"},"nodeType":"YulFunctionCall","src":"33365:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"33385:34:31","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33358:6:31"},"nodeType":"YulFunctionCall","src":"33358:62:31"},"nodeType":"YulExpressionStatement","src":"33358:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33440:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33451:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33436:3:31"},"nodeType":"YulFunctionCall","src":"33436:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"33456:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33429:6:31"},"nodeType":"YulFunctionCall","src":"33429:34:31"},"nodeType":"YulExpressionStatement","src":"33429:34:31"},{"nodeType":"YulAssignment","src":"33472:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33484:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33495:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33480:3:31"},"nodeType":"YulFunctionCall","src":"33480:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33472:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33256:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33270:4:31","type":""}],"src":"33105:400:31"},{"body":{"nodeType":"YulBlock","src":"33684:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33701:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33712:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33694:6:31"},"nodeType":"YulFunctionCall","src":"33694:21:31"},"nodeType":"YulExpressionStatement","src":"33694:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33735:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33746:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33731:3:31"},"nodeType":"YulFunctionCall","src":"33731:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"33751:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33724:6:31"},"nodeType":"YulFunctionCall","src":"33724:30:31"},"nodeType":"YulExpressionStatement","src":"33724:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33774:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33785:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33770:3:31"},"nodeType":"YulFunctionCall","src":"33770:18:31"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"33790:34:31","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33763:6:31"},"nodeType":"YulFunctionCall","src":"33763:62:31"},"nodeType":"YulExpressionStatement","src":"33763:62:31"},{"nodeType":"YulAssignment","src":"33834:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33846:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"33857:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33842:3:31"},"nodeType":"YulFunctionCall","src":"33842:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33834:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33661:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33675:4:31","type":""}],"src":"33510:356:31"},{"body":{"nodeType":"YulBlock","src":"34045:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34062:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34073:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34055:6:31"},"nodeType":"YulFunctionCall","src":"34055:21:31"},"nodeType":"YulExpressionStatement","src":"34055:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34096:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34107:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34092:3:31"},"nodeType":"YulFunctionCall","src":"34092:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"34112:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34085:6:31"},"nodeType":"YulFunctionCall","src":"34085:30:31"},"nodeType":"YulExpressionStatement","src":"34085:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34135:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34146:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34131:3:31"},"nodeType":"YulFunctionCall","src":"34131:18:31"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"34151:27:31","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34124:6:31"},"nodeType":"YulFunctionCall","src":"34124:55:31"},"nodeType":"YulExpressionStatement","src":"34124:55:31"},{"nodeType":"YulAssignment","src":"34188:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34200:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34211:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34196:3:31"},"nodeType":"YulFunctionCall","src":"34196:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34188:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34022:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34036:4:31","type":""}],"src":"33871:349:31"},{"body":{"nodeType":"YulBlock","src":"34399:240:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34416:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34427:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34409:6:31"},"nodeType":"YulFunctionCall","src":"34409:21:31"},"nodeType":"YulExpressionStatement","src":"34409:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34450:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34461:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34446:3:31"},"nodeType":"YulFunctionCall","src":"34446:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"34466:2:31","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34439:6:31"},"nodeType":"YulFunctionCall","src":"34439:30:31"},"nodeType":"YulExpressionStatement","src":"34439:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34489:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34500:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34485:3:31"},"nodeType":"YulFunctionCall","src":"34485:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"34505:34:31","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34478:6:31"},"nodeType":"YulFunctionCall","src":"34478:62:31"},"nodeType":"YulExpressionStatement","src":"34478:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34560:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34571:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34556:3:31"},"nodeType":"YulFunctionCall","src":"34556:18:31"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"34576:20:31","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34549:6:31"},"nodeType":"YulFunctionCall","src":"34549:48:31"},"nodeType":"YulExpressionStatement","src":"34549:48:31"},{"nodeType":"YulAssignment","src":"34606:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34618:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"34629:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34614:3:31"},"nodeType":"YulFunctionCall","src":"34614:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34606:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34376:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34390:4:31","type":""}],"src":"34225:414:31"},{"body":{"nodeType":"YulBlock","src":"34831:309:31","statements":[{"nodeType":"YulVariableDeclaration","src":"34841:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34861:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34855:5:31"},"nodeType":"YulFunctionCall","src":"34855:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"34845:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34916:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"34924:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34912:3:31"},"nodeType":"YulFunctionCall","src":"34912:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"34931:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"34936:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"34877:34:31"},"nodeType":"YulFunctionCall","src":"34877:66:31"},"nodeType":"YulExpressionStatement","src":"34877:66:31"},{"nodeType":"YulVariableDeclaration","src":"34952:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34969:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"34974:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34965:3:31"},"nodeType":"YulFunctionCall","src":"34965:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"34956:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34990:29:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35012:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35006:5:31"},"nodeType":"YulFunctionCall","src":"35006:13:31"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"34994:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35067:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"35075:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35063:3:31"},"nodeType":"YulFunctionCall","src":"35063:17:31"},{"name":"end_1","nodeType":"YulIdentifier","src":"35082:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"35089:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"35028:34:31"},"nodeType":"YulFunctionCall","src":"35028:70:31"},"nodeType":"YulExpressionStatement","src":"35028:70:31"},{"nodeType":"YulAssignment","src":"35107:27:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"35118:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"35125:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35114:3:31"},"nodeType":"YulFunctionCall","src":"35114:20:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35107:3:31"}]}]},"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":"34799:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"34804:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34812:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34823:3:31","type":""}],"src":"34644:496:31"},{"body":{"nodeType":"YulBlock","src":"35319:236:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35336:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35347:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35329:6:31"},"nodeType":"YulFunctionCall","src":"35329:21:31"},"nodeType":"YulExpressionStatement","src":"35329:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35370:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35381:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35366:3:31"},"nodeType":"YulFunctionCall","src":"35366:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"35386:2:31","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35359:6:31"},"nodeType":"YulFunctionCall","src":"35359:30:31"},"nodeType":"YulExpressionStatement","src":"35359:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35409:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35420:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35405:3:31"},"nodeType":"YulFunctionCall","src":"35405:18:31"},{"hexValue":"45524337323155524953746f726167653a2055524920736574206f66206e6f6e","kind":"string","nodeType":"YulLiteral","src":"35425:34:31","type":"","value":"ERC721URIStorage: URI set of non"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35398:6:31"},"nodeType":"YulFunctionCall","src":"35398:62:31"},"nodeType":"YulExpressionStatement","src":"35398:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35480:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35491:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35476:3:31"},"nodeType":"YulFunctionCall","src":"35476:18:31"},{"hexValue":"6578697374656e7420746f6b656e","kind":"string","nodeType":"YulLiteral","src":"35496:16:31","type":"","value":"existent token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35469:6:31"},"nodeType":"YulFunctionCall","src":"35469:44:31"},"nodeType":"YulExpressionStatement","src":"35469:44:31"},{"nodeType":"YulAssignment","src":"35522:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35534:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35545:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35530:3:31"},"nodeType":"YulFunctionCall","src":"35530:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35522:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35296:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35310:4:31","type":""}],"src":"35145:410:31"},{"body":{"nodeType":"YulBlock","src":"35763:286:31","statements":[{"nodeType":"YulVariableDeclaration","src":"35773:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35791:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35796:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35787:3:31"},"nodeType":"YulFunctionCall","src":"35787:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"35800:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35783:3:31"},"nodeType":"YulFunctionCall","src":"35783:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35777:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35818:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35833:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"35841:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35829:3:31"},"nodeType":"YulFunctionCall","src":"35829:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35811:6:31"},"nodeType":"YulFunctionCall","src":"35811:34:31"},"nodeType":"YulExpressionStatement","src":"35811:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35865:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35876:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35861:3:31"},"nodeType":"YulFunctionCall","src":"35861:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35885:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"35893:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35881:3:31"},"nodeType":"YulFunctionCall","src":"35881:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35854:6:31"},"nodeType":"YulFunctionCall","src":"35854:43:31"},"nodeType":"YulExpressionStatement","src":"35854:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35917:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35928:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35913:3:31"},"nodeType":"YulFunctionCall","src":"35913:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"35933:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35906:6:31"},"nodeType":"YulFunctionCall","src":"35906:34:31"},"nodeType":"YulExpressionStatement","src":"35906:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35960:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"35971:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35956:3:31"},"nodeType":"YulFunctionCall","src":"35956:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"35976:3:31","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35949:6:31"},"nodeType":"YulFunctionCall","src":"35949:31:31"},"nodeType":"YulExpressionStatement","src":"35949:31:31"},{"nodeType":"YulAssignment","src":"35989:54:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"36015:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36027:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36038:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36023:3:31"},"nodeType":"YulFunctionCall","src":"36023:19:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"35997:17:31"},"nodeType":"YulFunctionCall","src":"35997:46:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35989:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35708:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35719:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35727:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35735:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35743:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35754:4:31","type":""}],"src":"35560:489:31"},{"body":{"nodeType":"YulBlock","src":"36134:169:31","statements":[{"body":{"nodeType":"YulBlock","src":"36180:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36189:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36192:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36182:6:31"},"nodeType":"YulFunctionCall","src":"36182:12:31"},"nodeType":"YulExpressionStatement","src":"36182:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"36155:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"36164:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36151:3:31"},"nodeType":"YulFunctionCall","src":"36151:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"36176:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"36147:3:31"},"nodeType":"YulFunctionCall","src":"36147:32:31"},"nodeType":"YulIf","src":"36144:52:31"},{"nodeType":"YulVariableDeclaration","src":"36205:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36224:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36218:5:31"},"nodeType":"YulFunctionCall","src":"36218:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"36209:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36267:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"36243:23:31"},"nodeType":"YulFunctionCall","src":"36243:30:31"},"nodeType":"YulExpressionStatement","src":"36243:30:31"},{"nodeType":"YulAssignment","src":"36282:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"36292:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"36282:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36100:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"36111:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"36123:6:31","type":""}],"src":"36054:249:31"},{"body":{"nodeType":"YulBlock","src":"36482:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36499:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36510:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36492:6:31"},"nodeType":"YulFunctionCall","src":"36492:21:31"},"nodeType":"YulExpressionStatement","src":"36492:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36533:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36544:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36529:3:31"},"nodeType":"YulFunctionCall","src":"36529:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"36549:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36522:6:31"},"nodeType":"YulFunctionCall","src":"36522:30:31"},"nodeType":"YulExpressionStatement","src":"36522:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36572:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36583:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36568:3:31"},"nodeType":"YulFunctionCall","src":"36568:18:31"},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"36588:34:31","type":"","value":"ERC721: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36561:6:31"},"nodeType":"YulFunctionCall","src":"36561:62:31"},"nodeType":"YulExpressionStatement","src":"36561:62:31"},{"nodeType":"YulAssignment","src":"36632:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36644:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36655:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36640:3:31"},"nodeType":"YulFunctionCall","src":"36640:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36632:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36459:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36473:4:31","type":""}],"src":"36308:356:31"},{"body":{"nodeType":"YulBlock","src":"36843:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36860:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36871:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36853:6:31"},"nodeType":"YulFunctionCall","src":"36853:21:31"},"nodeType":"YulExpressionStatement","src":"36853:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36894:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36905:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36890:3:31"},"nodeType":"YulFunctionCall","src":"36890:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"36910:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36883:6:31"},"nodeType":"YulFunctionCall","src":"36883:30:31"},"nodeType":"YulExpressionStatement","src":"36883:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36933:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"36944:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36929:3:31"},"nodeType":"YulFunctionCall","src":"36929:18:31"},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","kind":"string","nodeType":"YulLiteral","src":"36949:30:31","type":"","value":"ERC721: token already minted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36922:6:31"},"nodeType":"YulFunctionCall","src":"36922:58:31"},"nodeType":"YulExpressionStatement","src":"36922:58:31"},{"nodeType":"YulAssignment","src":"36989:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37001:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"37012:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36997:3:31"},"nodeType":"YulFunctionCall","src":"36997:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36989:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36820:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36834:4:31","type":""}],"src":"36669:352:31"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_array_uint8_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_tuple_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_array_uint8_dyn(value0, add(headStart, 96))\n let _1 := 32\n mstore(add(headStart, _1), sub(tail_1, headStart))\n let tail_2 := abi_encode_array_uint8_dyn(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let pos := tail_2\n let length := mload(value2)\n mstore(tail_2, length)\n pos := add(tail_2, _1)\n let srcPtr := add(value2, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, iszero(iszero(mload(srcPtr))))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_uint8_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_array_uint8_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_uint8_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, abi_decode_uint8(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint8_dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let _2 := add(headStart, offset_1)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value2 := add(_2, 32)\n value3 := length\n }\n function abi_encode_tuple_t_contract$_IgammaTicketsContract_$4940__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint8(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := abi_decode_uint8(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_array_array_uint8_dyn_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_uint8_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff)\n {\n let _3 := 0\n revert(_3, _3)\n }\n mstore(dst, abi_decode_array_uint8_dyn(add(add(offset, innerOffset), _2), end))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_array_bytes_calldata_dyn_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint8t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n let _1 := 32\n let offset := calldataload(add(headStart, _1))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n let dst := allocate_memory(array_allocation_size_array_uint8_dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _4)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value1 := dst_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _2) { revert(0, 0) }\n value2 := abi_decode_array_array_uint8_dyn_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _2) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_array_bytes_calldata_dyn_calldata(add(headStart, offset_2), dataEnd)\n value3 := value3_1\n value4 := value4_1\n }\n function abi_decode_tuple_t_array$_t_uint8_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_array_bytes_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n }\n function abi_encode_tuple_t_contract$_IgammaPacksContract_$4894__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value2 := abi_decode_array_uint8_dyn(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__to_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n mstore(add(headStart, 96), and(value3, 0xff))\n mstore(add(headStart, 128), value4)\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function array_allocation_size_string(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(and(add(length, 31), not(31)), 0x20)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_addresst_string_memory_ptrt_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n let value_2 := calldataload(add(headStart, 64))\n validator_revert_address(value_2)\n value2 := value_2\n let value_3 := calldataload(add(headStart, 96))\n validator_revert_address(value_3)\n value3 := value_3\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_string(add(headStart, offset), dataEnd)\n let value_4 := calldataload(add(headStart, 160))\n validator_revert_address(value_4)\n value5 := value_4\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_array$_t_uint8_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_array_bytes_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_bool(value_1)\n value1 := value_1\n }\n function abi_decode_tuple_t_addresst_uint8t_addresst_uint8(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := abi_decode_uint8(add(headStart, 32))\n let value_1 := calldataload(add(headStart, 64))\n validator_revert_address(value_1)\n value2 := value_1\n value3 := abi_decode_uint8(add(headStart, 96))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value3 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_contract$_IgammaOffersContract_$4934__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_calldata_ptr__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 128)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n let _1 := 32\n mstore(add(headStart, _1), value1)\n mstore(add(headStart, 64), 128)\n let pos := tail_1\n let length := mload(value2)\n mstore(tail_1, length)\n pos := add(headStart, 160)\n let srcPtr := add(value2, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n mstore(add(headStart, 96), sub(pos, headStart))\n mstore(pos, value4)\n calldatacopy(add(pos, _1), value3, value4)\n mstore(add(add(pos, value4), _1), 0)\n tail := add(add(pos, and(add(value4, 31), not(31))), _1)\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function decrement_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if iszero(value_1) { panic_error_0x11() }\n ret := add(value_1, not(0))\n }\n function abi_encode_tuple_packed_t_array$_t_uint8_$dyn_calldata_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let pos_1 := pos\n pos_1 := pos\n let srcPtr := value0\n let i := 0\n for { } lt(i, value1) { i := add(i, 1) }\n {\n mstore(pos_1, and(abi_decode_uint8(srcPtr), 0xff))\n let _1 := 0x20\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos_1\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"This card has an offer.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"invalid cardInventory position\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value0)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), ret, length_1)\n let end_1 := add(ret, length_1)\n let length_2 := mload(value2)\n copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_1, length_2)\n let _3 := add(end_1, length_2)\n let length_3 := mload(value3)\n copy_memory_to_memory_with_cleanup(add(value3, 0x20), _3, length_3)\n end := add(_3, length_3)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_uint8_t_uint8__to_t_uint8_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xff))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n let _2 := mload(_1)\n let array := allocate_memory(array_allocation_size_string(_2))\n mstore(array, _2)\n if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_1, 32), add(array, 32), _2)\n value0 := array\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_array$_t_uint8_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let pos_1 := pos\n let length := mload(value0)\n pos_1 := pos\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos_1, and(mload(srcPtr), 0xff))\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos_1\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"ERC721URIStorage: URI set of non\")\n mstore(add(headStart, 96), \"existent token\")\n tail := add(headStart, 128)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC721: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"ERC721: token already minted\")\n tail := add(headStart, 96)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":4328},{"length":20,"start":5014},{"length":20,"start":9012},{"length":20,"start":14393}]},"contracts/gamma/libs/LibPackVerifier.sol":{"LibPackVerifier":[{"length":20,"start":4590},{"length":20,"start":15074}]},"contracts/gamma/libs/LibStringUtils.sol":{"LibStringUtils":[{"length":20,"start":13591}]}},"object":"608060405234801561001057600080fd5b506004361061046a5760003560e01c806379e8dadc1161024c578063ad1684fa11610146578063dbfc05cf116100c3578063e8a7e31d11610087578063e8a7e31d14610a82578063e985e9c514610a8a578063eb12d61e14610ac6578063f2fde38b14610ad9578063f98fd28314610aec57600080fd5b8063dbfc05cf14610a23578063ddb975e814610a36578063e1883c6e14610a49578063e4ae0b9b14610a5c578063e606df8714610a6957600080fd5b8063c87b56dd1161010a578063c87b56dd146109d9578063cafaa473146109ec578063d322b563146109ff578063d7093f4014610a12578063d780c47714610a1b57600080fd5b8063ad1684fa14610984578063b352618514610997578063b88d4fde146109a0578063ba6c0fbc146109b3578063bf400a6a146109c657600080fd5b80638da5cb5b116101d45780639ff26efd116101985780639ff26efd14610910578063a1af8ad41461093e578063a22cb46514610951578063a419811d14610964578063ab5351601461097757600080fd5b80638da5cb5b146108c95780639038f414146108da57806395d89b41146108e25780639a5613ad146108ea5780639c7f707f146108fd57600080fd5b80637df73e271161021b5780637df73e271461084e57806382d8a1181461087a578063886eb60f1461088357806388e0ef80146108965780638bf670c8146108b657600080fd5b806379e8dadc1461080d5780637ce65f7b146108155780637cf86b72146108285780637de99bd91461083b57600080fd5b8063267b841d116103685780635e31ce48116102e55780637065cb48116102a95780637065cb48146107b957806370a08231146107cc578063715018a6146107df5780637155a3ac146107e75780637232d7d4146107fa57600080fd5b80635e31ce48146107655780636352211e14610778578063656bd0ad1461078b57806368cc5bc1146107945780636d0af178146107a757600080fd5b80634039327e1161032c5780634039327e146106b257806342842e0e146106ba57806342966c68146106cd5780634c03cd0b146106e05780635312ea8e1461075257600080fd5b8063267b841d1461063a5780632ca699e71461064d5780632f54bf6e146106605780632f9e026a1461068c57806330f5cc581461069f57600080fd5b8063147baac7116103f6578063203335f6116103ba578063203335f6146105e557806320965a5f146105f857806321a7c6b01461060b57806323b872dd14610614578063241a08fe1461062757600080fd5b8063147baac71461057557806314cca36a14610587578063155e2f921461059a5780631585cc4e146105ad578063173825d9146105d257600080fd5b8063081812fc1161043d578063081812fc146104fc578063095ea7b3146105275780630e316ab71461053c578063128916dc1461054f5780631306952c1461056257600080fd5b806301ffc9a71461046f5780630435dcaf1461049757806306fdde03146104b957806307b2e246146104ce575b600080fd5b61048261047d366004614a27565b610aff565b60405190151581526020015b60405180910390f35b6104aa6104a5366004614a59565b610b10565b60405161048e93929190614ab4565b6104c1610ec0565b60405161048e9190614b6f565b6104ee6104dc366004614a59565b601b6020526000908152604090205481565b60405190815260200161048e565b61050f61050a366004614b82565b610f52565b6040516001600160a01b03909116815260200161048e565b61053a610535366004614b9b565b610f79565b005b61053a61054a366004614a59565b611093565b61053a61055d366004614a59565b611139565b61050f610570366004614cb8565b6111dc565b60185461048290610100900460ff1681565b600a5461050f906001600160a01b031681565b61053a6105a8366004614d52565b61126a565b6105c06105bb366004614d52565b6112e7565b60405160ff909116815260200161048e565b61053a6105e0366004614a59565b611341565b61053a6105f3366004614e51565b6113b8565b61053a610606366004614f47565b611477565b6104ee60135481565b61053a610622366004614f88565b611a93565b61053a610635366004614fc9565b611ac5565b61053a610648366004614cb8565b611b0b565b61053a61065b366004614d52565b611b1e565b61048261066e366004614a59565b6001600160a01b03166000908152600b602052604090205460ff1690565b60085461050f906001600160a01b031681565b61053a6106ad366004614fe4565b611d71565b6104c1611ff9565b61053a6106c8366004614f88565b612087565b61053a6106db366004614b82565b6120a2565b6107226106ee366004614b82565b60196020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a00161048e565b61053a610760366004614b82565b6120d3565b61053a610773366004614b82565b6121ee565b61050f610786366004614b82565b612233565b6104ee60115481565b61053a6107a236600461504a565b612293565b600f546105c090610100900460ff1681565b61053a6107c7366004614a59565b6122df565b6104ee6107da366004614a59565b612356565b61053a6123dc565b61053a6107f5366004614d52565b6123f0565b61053a610808366004614b82565b612450565b6104c16124a6565b61053a610823366004614fc9565b6124b3565b6104ee610836366004614a59565b612524565b61053a6108493660046150e7565b612570565b61048261085c366004614a59565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104ee60105481565b610482610891366004614d52565b61274b565b6104ee6108a4366004614b82565b601a6020526000908152604090205481565b6104826108c4366004614d52565b6127a7565b6007546001600160a01b031661050f565b610482612806565b6104c1612ba6565b6018546104829062010000900460ff1681565b61053a61090b366004615181565b612bb5565b6105c061091e366004614d52565b601c60209081526000928352604080842090915290825290205460ff1681565b61053a61094c3660046151e4565b612c57565b61053a61095f366004615238565b612fd1565b61053a610972366004614a59565b612fe0565b600f546105c09060ff1681565b61053a610992366004615271565b61307f565b6104ee60145481565b61053a6109ae3660046152c9565b613312565b61053a6109c1366004614b82565b613344565b61053a6109d4366004614fc9565b61339a565b6104c16109e7366004614b82565b6135e6565b61053a6109fa366004614a59565b6135f1565b60095461050f906001600160a01b031681565b6104ee60125481565b6104ee613694565b61053a610a3136600461504a565b6136c1565b61053a610a44366004614a59565b613704565b61053a610a57366004614b82565b6137a7565b6018546104829060ff1681565b600f5461050f906201000090046001600160a01b031681565b6104c16137d7565b610482610a98366004615348565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61053a610ad4366004614a59565b6137e4565b61053a610ae7366004614a59565b61385b565b61053a610afa36600461504a565b6138d1565b6000610b0a8261391b565b92915050565b60408051607a808252610f608201909252606091829182916000919060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f40803683370190505090506000805b60798160ff1611610cf6576001600160a01b0389166000908152601c6020908152604080832060ff80861685529252909120541615610ce45780858360ff1681518110610bdc57610bdc615376565b60ff9283166020918202929092018101919091526001600160a01b038b166000908152601c82526040808220858516835290925220548551908216918691908516908110610c2c57610c2c615376565b60ff9283166020918202929092010152600954604051632edb5fcf60e01b81526001600160a01b038c811660048301529284166024820152911690632edb5fcf90604401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061538c565b838360ff1681518110610cc657610cc6615376565b9115156020928302919091019091015281610ce0816153bf565b9250505b80610cee816153bf565b915050610b8d565b5060008160ff166001600160401b03811115610d1457610d14614bc7565b604051908082528060200260200182016040528015610d3d578160200160208202803683370190505b50905060008260ff166001600160401b03811115610d5d57610d5d614bc7565b604051908082528060200260200182016040528015610d86578160200160208202803683370190505b50905060008360ff166001600160401b03811115610da657610da6614bc7565b604051908082528060200260200182016040528015610dcf578160200160208202803683370190505b50905060005b8460ff16811015610eae57878181518110610df257610df2615376565b6020026020010151848281518110610e0c57610e0c615376565b602002602001019060ff16908160ff1681525050868181518110610e3257610e32615376565b6020026020010151838281518110610e4c57610e4c615376565b602002602001019060ff16908160ff1681525050858181518110610e7257610e72615376565b6020026020010151828281518110610e8c57610e8c615376565b9115156020928302919091019091015280610ea6816153de565b915050610dd5565b50919a90995090975095505050505050565b606060008054610ecf906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610efb906153f7565b8015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050505050905090565b6000610f5d82613940565b506000908152600460205260409020546001600160a01b031690565b6000610f8482612233565b9050806001600160a01b0316836001600160a01b031603610ff65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101257506110128133610a98565b6110845760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fed565b61108e838361399f565b505050565b336000908152600b602052604090205460ff166110c357604051634289c49360e01b815260040160405180910390fd5b604051630982088f60e41b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063982088f0906044015b60006040518083038186803b15801561111e57600080fd5b505af4158015611132573d6000803e3d6000fd5b5050505050565b336000908152600b602052604090205460ff1661116957604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166111915760405163e6c4247b60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0384169081179091556040517f538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead090600090a25050565b6040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b9061121e903390899089908990899060040161542b565b602060405180830381865af415801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906154b2565b90505b949350505050565b6009546001600160a01b0316331461129557604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca836153bf565b91906101000a81548160ff021916908360ff160217905550505050565b6000826001600160a01b0381166113115760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff94851684529091529020541690565b336000908152600b602052604090205460ff1661137157604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a490604401611106565b60ff851615806113d05750600f5460ff908116908616115b156113ee57604051630b154b3b60e41b815260040160405180910390fd5b60005b8560ff1681101561146f5761145d3386838151811061141257611412615376565b602002602001015186848151811061142c5761142c615376565b602002602001015186868681811061144657611446615376565b905060200281019061145891906154cf565b613a0d565b80611467816153de565b9150506113f1565b505050505050565b336000908152601c602090815260408083206079845290915281205460ff1690036114b55760405163210f01d160e21b815260040160405180910390fd5b336000908152601b60205260408120546114d0908390615515565b90506000603c821061158857600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f9190615528565b90506014548110806115645750601454601254105b156115825760405163356680b760e01b815260040160405180910390fd5b60019150505b600954604051630cdb311760e01b815233600482015260009182916001600160a01b0390911690630cdb311790602401602060405180830381865afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190615528565b1190508360005b8181101561182057336000908152601c602052604081209088888481811061162a5761162a615376565b905060200201602081019061163f9190614fc9565b60ff9081168252602082019290925260400160009081205490911690036116795760405163210f01d160e21b815260040160405180910390fd5b821561179c576009546001600160a01b0316632edb5fcf338989858181106116a3576116a3615376565b90506020020160208101906116b89190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611728919061538c565b1561179c57336000908152601c6020526040812060029189898581811061175157611751615376565b90506020020160208101906117669190614fc9565b60ff908116825260208201929092526040016000205416101561179c5760405163483e9b8d60e11b815260040160405180910390fd5b336000908152601c60205260408120908888848181106117be576117be615376565b90506020020160208101906117d39190614fc9565b60ff908116825260208201929092526040016000908120805490921691906117fa83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050611600565b50336000908152601b602052604081208054839290611840908490615515565b9091555050604051611855908790879061555e565b6040519081900381209033907fdbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b190600090a3821561146f57336000908152601c60209081526040808320607984529091528120805460ff16916118b783615541565b91906101000a81548160ff021916908360ff1602179055505061196833601680546118e1906153f7565b80601f016020809104026020016040519081016040528092919081815260200182805461190d906153f7565b801561195a5780601f1061192f5761010080835404028352916020019161195a565b820191906000526020600020905b81548152906001019060200180831161193d57829003601f168201915b505050505060796002613e24565b6014546012600082825461197c9190615598565b9091555050600f5460145460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff919061538c565b50600a5460405163fa8213d360e01b81523360048201526001600160a01b039091169063fa8213d390602401600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b5050604051600292503391507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a3505050505050565b611a9e335b82613e87565b611aba5760405162461bcd60e51b8152600401610fed906155ab565b61108e838383613f05565b336000908152600b602052604090205460ff16611af557604051634289c49360e01b815260040160405180910390fd5b600f805460ff191660ff92909216919091179055565b611b183385858585613a0d565b50505050565b816001600160a01b038116611b465760405163e6c4247b60e01b815260040160405180910390fd5b336000908152601c6020908152604080832060ff80871685529252822054169003611b845760405163210f01d160e21b815260040160405180910390fd5b336001600160a01b03841603611bad57604051632f35253160e01b815260040160405180910390fd5b60185462010000900460ff1615611c8457600954604051632edb5fcf60e01b815233600482015260ff841660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa158015611c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c34919061538c565b336000908152601c6020908152604080832060ff80891685529252909120549192506001911611811580611c655750805b611c815760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff808716855292528220805490911691611cb083615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0385166000908152601c602090815260408083208785168452909152812080549092169250611cff836153bf565b91906101000a81548160ff021916908360ff16021790555050826001600160a01b0316336001600160a01b03167f1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da84604051611d64919060ff91909116815260200190565b60405180910390a3505050565b336000908152600b602052604090205460ff16611da157604051634289c49360e01b815260040160405180910390fd5b6008546040516380f2540b60e01b8152600481018490526001600160a01b038581166024830152909116906380f2540b90604401600060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506006601154611e16919061562f565b601154611e239190615598565b60126000828254611e349190615515565b90915550600090505b8151811015611b1857818181518110611e5857611e58615376565b602002602001015160ff16607814611ea357611389601a6000848481518110611e8357611e83615376565b602002602001015160ff1681526020019081526020016000205410611ed4565b6078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb9115b611f205760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610fed565b601a6000838381518110611f3657611f36615376565b602002602001015160ff1681526020019081526020016000206000815480929190611f60906153de565b90915550506001600160a01b0384166000908152601c602052604081208351909190849084908110611f9457611f94615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611fcd906153bf565b91906101000a81548160ff021916908360ff160217905550508080611ff1906153de565b915050611e3d565b60168054612006906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054612032906153f7565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b505050505081565b61108e83838360405180602001604052806000815250613312565b6120ab33611a98565b6120c75760405162461bcd60e51b8152600401610fed906155ab565b6120d081614069565b50565b336000908152600b602052604090205460ff1661210357604051634289c49360e01b815260040160405180910390fd5b8061210d30612356565b101561212c5760405163356680b760e01b815260040160405180910390fd5b806012600082825461213e9190615598565b9091555050600f5460405163a9059cbb60e01b815233600482015260248101839052620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061538c565b50604051819033907f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2090600090a350565b6008546001600160a01b03163314612219576040516307473cc760e41b815260040160405180910390fd5b806012600082825461222b9190615515565b909155505050565b6000818152600260205260408120546001600160a01b031680610b0a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b336000908152600b602052604090205460ff166122c357604051634289c49360e01b815260040160405180910390fd5b60188054911515620100000262ff000019909216919091179055565b336000908152600b602052604090205460ff1661230f57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae490604401611106565b60006001600160a01b0382166123c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fed565b506001600160a01b031660009081526003602052604090205490565b6123e4614072565b6123ee60006140cc565b565b6009546001600160a01b0316331461241b57604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca83615541565b336000908152600b602052604090205460ff1661248057604051634289c49360e01b815260040160405180910390fd5b806000036124a157604051634b1c6ca160e01b815260040160405180910390fd5b601355565b60158054612006906153f7565b336000908152600b602052604090205460ff166124e357604051634289c49360e01b815260040160405180910390fd5b60648160ff16111561250857604051634b1c6ca160e01b815260040160405180910390fd5b600f805460ff9092166101000261ff0019909216919091179055565b6000816001600160a01b03811661254e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152601b602052604090205491505b50919050565b612578614072565b336000908152600b60205260409020805460ff19166001179055600f80546001600160a01b03888116620100000262010000600160b01b031990921691909117909155600880548783166001600160a01b031991821617909155600a8054868416908316179055600980549287169290911691909117905560176125fc8382615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516126599460179493909101615756565b604051602081830303815290604052601590816126769190615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b8184015293516126d39460179493909101615756565b604051602081830303815290604052601690816126f09190615697565b506001600160a01b0381166000908152600e60205260408120805460ff191660011790555b607a811015612742576000818152601a60205260409020600190558061273a816153de565b915050612715565b50505050505050565b6000826001600160a01b0381166127755760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b6009546000906001600160a01b031633146127d557604051638eea824160e01b815260040160405180910390fd5b506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b336000908152601c602090815260408083206078845290915281205460ff1681036128445760405163210f01d160e21b815260040160405180910390fd5b601354601254101561286957604051634b1c6ca160e01b815260040160405180910390fd5b600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156128b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128dc9190615528565b90506013548110156129015760405163356680b760e01b815260040160405180910390fd5b6000805b60788160ff161161299057336000908152601c6020908152604080832060ff8086168552925282205416900361293e5760019150612990565b336000908152601c6020908152604080832060ff80861685529252822080549091169161296a83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050612905565b5080156129af57604051623de82960e51b815260040160405180910390fd5b612a4733601580546129c0906153f7565b80601f01602080910402602001604051908101604052809291908181526020018280546129ec906153f7565b8015612a395780601f10612a0e57610100808354040283529160200191612a39565b820191906000526020600020905b815481529060010190602001808311612a1c57829003601f168201915b505050505060786002613e24565b600f5460135460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac5919061538c565b5060135460126000828254612ada9190615598565b9091555050600954604051633f27a03f60e21b81523360048201526000916001600160a01b03169063fc9e80fc906024016020604051808303816000875af1158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e919061538c565b905080612b6e5760405163e07c7c8d60e01b815260040160405180910390fd5b60405160019033907f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a36001935050505090565b606060018054610ecf906153f7565b336000908152600b602052604090205460ff16612be557604051634289c49360e01b815260040160405180910390fd5b6015612bf18382615697565b506016612bfe8282615697565b5080604051612c0d9190615805565b604051809103902082604051612c239190615805565b604051908190038120907fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec690600090a35050565b826001600160a01b038116612c7f5760405163e6c4247b60e01b815260040160405180910390fd5b336001600160a01b03851603612ca857604051632f35253160e01b815260040160405180910390fd5b60005b82811015612f7d57336000908152601c6020526040812090858584818110612cd557612cd5615376565b9050602002016020810190612cea9190614fc9565b60ff908116825260208201929092526040016000908120549091169003612d245760405163210f01d160e21b815260040160405180910390fd5b336000908152601c6020526040812090858584818110612d4657612d46615376565b9050602002016020810190612d5b9190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612d8283615541565b91906101000a81548160ff021916908360ff16021790555050601c6000866001600160a01b03166001600160a01b031681526020019081526020016000206000858584818110612dd457612dd4615376565b9050602002016020810190612de99190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612e10836153bf565b91906101000a81548160ff021916908360ff16021790555050601860029054906101000a900460ff1615612f6b576009546000906001600160a01b0316632edb5fcf33878786818110612e6557612e65615376565b9050602002016020810190612e7a9190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eea919061538c565b336000908152601c602052604081209192509060019082888887818110612f1357612f13615376565b9050602002016020810190612f289190614fc9565b60ff908116825260208201929092526040016000205416119050811580612f4c5750805b612f685760405162461bcd60e51b8152600401610fed906155f8565b50505b80612f75816153de565b915050612cab565b508282604051612f8e92919061555e565b604051908190038120906001600160a01b0386169033907f368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b90600090a450505050565b612fdc33838361411e565b5050565b336000908152600b602052604090205460ff1661301057604051634289c49360e01b815260040160405180910390fd5b60005b60798160ff1611612fdc576001600160a01b0382166000908152601c6020908152604080832060ff808616855292528220805490911691613053836153bf565b91906101000a81548160ff021916908360ff160217905550508080613077906153bf565b915050613013565b6009546001600160a01b031633146130aa57604051638eea824160e01b815260040160405180910390fd5b836001600160a01b0381166130d25760405163e6c4247b60e01b815260040160405180910390fd5b826001600160a01b0381166130fa5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a16855292529091205416158061315557506001600160a01b0384166000908152601c6020908152604080832060ff808816855292529091205416155b156131735760405163210f01d160e21b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a168552925282208054909116916131a883615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c602090815260408083208a851684529091528120805490921692506131f7836153bf565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c60209081526040808320888516845290915281208054909216925061324683615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0388166000908152601c602090815260408083208885168452909152812080549092169250613295836153bf565b91906101000a81548160ff021916908360ff16021790555050836001600160a01b0316866001600160a01b03167f52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524878660405161330292919060ff92831681529116602082015260400190565b60405180910390a3505050505050565b61331c3383613e87565b6133385760405162461bcd60e51b8152600401610fed906155ab565b611b18848484846141e4565b336000908152600b602052604090205460ff1661337457604051634289c49360e01b815260040160405180910390fd5b8060000361339557604051634b1c6ca160e01b815260040160405180910390fd5b601455565b336000908152601c6020908152604080832060ff808616855292528220541690036133d85760405163210f01d160e21b815260040160405180910390fd5b601854610100900460ff16156134ae57600954604051632edb5fcf60e01b815233600482015260ff831660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa15801561343a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345e919061538c565b336000908152601c6020908152604080832060ff8088168552925290912054919250600191161181158061348f5750805b6134ab5760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff8086168552925282208054909116916134da83615541565b91906101000a81548160ff021916908360ff1602179055505060006017604051806040016040528060018152602001602f60f81b8152508360ff1673__$7e24fea74dbc7efffb723a34f6ecd87681$__636900a3ae90916040518263ffffffff1660e01b815260040161354f91815260200190565b600060405180830381865af415801561356c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135949190810190615821565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016135c59493929190615756565b6040516020818303038152906040529050612fdc33828460ff166001613e24565b6060610b0a82614217565b336000908152600b602052604090205460ff1661362157604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166136495760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f90600090a25050565b601254600f546000916064916136b29190610100900460ff16615897565b6136bc919061562f565b905090565b336000908152600b602052604090205460ff166136f157604051634289c49360e01b815260040160405180910390fd5b6018805460ff1916911515919091179055565b336000908152600b602052604090205460ff1661373457604051634289c49360e01b815260040160405180910390fd5b806001600160a01b03811661375c5760405163e6c4247b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0384169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a25050565b6008546001600160a01b031633146137d2576040516307473cc760e41b815260040160405180910390fd5b601155565b60178054612006906153f7565b336000908152600b602052604090205460ff1661381457604051634289c49360e01b815260040160405180910390fd5b604051633b9db68960e11b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063773b6d1290604401611106565b613863614072565b6001600160a01b0381166138c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fed565b6120d0816140cc565b336000908152600b602052604090205460ff1661390157604051634289c49360e01b815260040160405180910390fd5b601880549115156101000261ff0019909216919091179055565b60006001600160e01b03198216632483248360e11b1480610b0a5750610b0a8261431f565b6000818152600260205260409020546001600160a01b03166120d05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139d482612233565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60085460405163d3e6a7ad60e01b8152600481018690526001600160a01b0387811692169063d3e6a7ad90602401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906154b2565b6001600160a01b031614613aa357604051637f6ecdf560e01b815260040160405180910390fd5b600f835110613ac557604051639dcca73360e01b815260040160405180910390fd5b60185460ff1615613b91576040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b90613b12903390899089908990899060040161542b565b602060405180830381865af4158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5391906154b2565b6001600160a01b0381166000908152600e602052604090205490915060ff16613b8f57604051638baa579f60e01b815260040160405180910390fd5b505b6008546040516380f2540b60e01b8152600481018690526001600160a01b038781166024830152909116906380f2540b90604401600060405180830381600087803b158015613bdf57600080fd5b505af1158015613bf3573d6000803e3d6000fd5b505050506006601154613c06919061562f565b601154613c139190615598565b60126000828254613c249190615515565b90915550600090505b8351811015613dd257838181518110613c4857613c48615376565b602002602001015160ff16607803613cad576078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb81015613ca857604051630d1ecf1760e11b815260040160405180910390fd5b613cff565b611388601a6000868481518110613cc657613cc6615376565b602002602001015160ff168152602001908152602001600020541115613cff57604051630d1ecf1760e11b815260040160405180910390fd5b601a6000858381518110613d1557613d15615376565b602002602001015160ff1681526020019081526020016000206000815480929190613d3f906153de565b90915550506001600160a01b0386166000908152601c602052604081208551909190869084908110613d7357613d73615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190613dac906153bf565b91906101000a81548160ff021916908360ff160217905550508080600101915050613c2d565b508383604051613de291906158ae565b604051908190038120906001600160a01b038816907fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e390600090a45050505050565b601054600081815260196020526040902081815560018101849055600201805461ff00191661010060ff851602179055613e5e858261436f565b613e688185614389565b600160106000828254613e7b9190615515565b90915550505050505050565b600080613e9383612233565b9050806001600160a01b0316846001600160a01b03161480613eda57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806112625750836001600160a01b0316613ef384610f52565b6001600160a01b031614949350505050565b826001600160a01b0316613f1882612233565b6001600160a01b031614613f3e5760405162461bcd60e51b8152600401610fed906158e7565b6001600160a01b038216613fa05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fed565b826001600160a01b0316613fb382612233565b6001600160a01b031614613fd95760405162461bcd60e51b8152600401610fed906158e7565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6120d081614454565b6007546001600160a01b031633146123ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fed565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361417f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fed565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d64565b6141ef848484613f05565b6141fb84848484614494565b611b185760405162461bcd60e51b8152600401610fed9061592c565b606061422282613940565b6000828152600660205260408120805461423b906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054614267906153f7565b80156142b45780601f10614289576101008083540402835291602001916142b4565b820191906000526020600020905b81548152906001019060200180831161429757829003601f168201915b5050505050905060006142d260408051602081019091526000815290565b905080516000036142e4575092915050565b8151156143165780826040516020016142fe92919061597e565b60405160208183030381529060405292505050919050565b61126284614592565b60006001600160e01b031982166380ac58cd60e01b148061435057506001600160e01b03198216635b5e139f60e01b145b80610b0a57506301ffc9a760e01b6001600160e01b0319831614610b0a565b612fdc828260405180602001604052806000815250614606565b6000828152600260205260409020546001600160a01b03166144045760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610fed565b600082815260066020526040902061441c8282615697565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b61445d81614639565b60008181526006602052604090208054614476906153f7565b1590506120d05760008181526006602052604081206120d0916149c3565b60006001600160a01b0384163b1561458a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144d89033908990889088906004016159ad565b6020604051808303816000875af1925050508015614513575060408051601f3d908101601f19168201909252614510918101906159ea565b60015b614570573d808015614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b5080516000036145685760405162461bcd60e51b8152600401610fed9061592c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001611262565b606061459d82613940565b60006145b460408051602081019091526000815290565b905060008151116145d457604051806020016040528060008152506145ff565b806145de846146ce565b6040516020016145ef92919061597e565b6040516020818303038152906040525b9392505050565b6146108383614760565b61461d6000848484614494565b61108e5760405162461bcd60e51b8152600401610fed9061592c565b600061464482612233565b905061464f82612233565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006146db836148eb565b60010190506000816001600160401b038111156146fa576146fa614bc7565b6040519080825280601f01601f191660200182016040528015614724576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461472e57509392505050565b6001600160a01b0382166147b65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fed565b6000818152600260205260409020546001600160a01b03161561481b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6000818152600260205260409020546001600160a01b0316156148805760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061492a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614956576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061497457662386f26fc10000830492506010015b6305f5e100831061498c576305f5e100830492506008015b61271083106149a057612710830492506004015b606483106149b2576064830492506002015b600a8310610b0a5760010192915050565b5080546149cf906153f7565b6000825580601f106149df575050565b601f0160209004906000526020600020908101906120d091905b80821115614a0d57600081556001016149f9565b5090565b6001600160e01b0319811681146120d057600080fd5b600060208284031215614a3957600080fd5b81356145ff81614a11565b6001600160a01b03811681146120d057600080fd5b600060208284031215614a6b57600080fd5b81356145ff81614a44565b600081518084526020808501945080840160005b83811015614aa957815160ff1687529582019590820190600101614a8a565b509495945050505050565b606081526000614ac76060830186614a76565b602083820381850152614ada8287614a76565b8481036040860152855180825282870193509082019060005b81811015614b11578451151583529383019391830191600101614af3565b509098975050505050505050565b60005b83811015614b3a578181015183820152602001614b22565b50506000910152565b60008151808452614b5b816020860160208601614b1f565b601f01601f19169290920160200192915050565b6020815260006145ff6020830184614b43565b600060208284031215614b9457600080fd5b5035919050565b60008060408385031215614bae57600080fd5b8235614bb981614a44565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614c0557614c05614bc7565b604052919050565b60006001600160401b03821115614c2657614c26614bc7565b5060051b60200190565b803560ff81168114614c4157600080fd5b919050565b600082601f830112614c5757600080fd5b81356020614c6c614c6783614c0d565b614bdd565b82815260059290921b84018101918181019086841115614c8b57600080fd5b8286015b84811015614cad57614ca081614c30565b8352918301918301614c8f565b509695505050505050565b60008060008060608587031215614cce57600080fd5b8435935060208501356001600160401b0380821115614cec57600080fd5b614cf888838901614c46565b94506040870135915080821115614d0e57600080fd5b818701915087601f830112614d2257600080fd5b813581811115614d3157600080fd5b886020828501011115614d4357600080fd5b95989497505060200194505050565b60008060408385031215614d6557600080fd5b8235614d7081614a44565b9150614d7e60208401614c30565b90509250929050565b600082601f830112614d9857600080fd5b81356020614da8614c6783614c0d565b82815260059290921b84018101918181019086841115614dc757600080fd5b8286015b84811015614cad5780356001600160401b03811115614dea5760008081fd5b614df88986838b0101614c46565b845250918301918301614dcb565b60008083601f840112614e1857600080fd5b5081356001600160401b03811115614e2f57600080fd5b6020830191508360208260051b8501011115614e4a57600080fd5b9250929050565b600080600080600060808688031215614e6957600080fd5b614e7286614c30565b94506020808701356001600160401b0380821115614e8f57600080fd5b818901915089601f830112614ea357600080fd5b8135614eb1614c6782614c0d565b81815260059190911b8301840190848101908c831115614ed057600080fd5b938501935b82851015614eee57843582529385019390850190614ed5565b985050506040890135925080831115614f0657600080fd5b614f128a848b01614d87565b95506060890135925080831115614f2857600080fd5b5050614f3688828901614e06565b969995985093965092949392505050565b60008060208385031215614f5a57600080fd5b82356001600160401b03811115614f7057600080fd5b614f7c85828601614e06565b90969095509350505050565b600080600060608486031215614f9d57600080fd5b8335614fa881614a44565b92506020840135614fb881614a44565b929592945050506040919091013590565b600060208284031215614fdb57600080fd5b6145ff82614c30565b600080600060608486031215614ff957600080fd5b833561500481614a44565b92506020840135915060408401356001600160401b0381111561502657600080fd5b61503286828701614c46565b9150509250925092565b80151581146120d057600080fd5b60006020828403121561505c57600080fd5b81356145ff8161503c565b60006001600160401b0382111561508057615080614bc7565b50601f01601f191660200190565b600061509c614c6784615067565b90508281528383830111156150b057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150d857600080fd5b6145ff8383356020850161508e565b60008060008060008060c0878903121561510057600080fd5b863561510b81614a44565b9550602087013561511b81614a44565b9450604087013561512b81614a44565b9350606087013561513b81614a44565b925060808701356001600160401b0381111561515657600080fd5b61516289828a016150c7565b92505060a087013561517381614a44565b809150509295509295509295565b6000806040838503121561519457600080fd5b82356001600160401b03808211156151ab57600080fd5b6151b7868387016150c7565b935060208501359150808211156151cd57600080fd5b506151da858286016150c7565b9150509250929050565b6000806000604084860312156151f957600080fd5b833561520481614a44565b925060208401356001600160401b0381111561521f57600080fd5b61522b86828701614e06565b9497909650939450505050565b6000806040838503121561524b57600080fd5b823561525681614a44565b915060208301356152668161503c565b809150509250929050565b6000806000806080858703121561528757600080fd5b843561529281614a44565b93506152a060208601614c30565b925060408501356152b081614a44565b91506152be60608601614c30565b905092959194509250565b600080600080608085870312156152df57600080fd5b84356152ea81614a44565b935060208501356152fa81614a44565b92506040850135915060608501356001600160401b0381111561531c57600080fd5b8501601f8101871361532d57600080fd5b61533c8782356020840161508e565b91505092959194509250565b6000806040838503121561535b57600080fd5b823561536681614a44565b9150602083013561526681614a44565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561539e57600080fd5b81516145ff8161503c565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036153d5576153d56153a9565b60010192915050565b6000600182016153f0576153f06153a9565b5060010190565b600181811c9082168061540b57607f821691505b60208210810361256a57634e487b7160e01b600052602260045260246000fd5b6001600160a01b0386168152602080820186905260806040830181905285519083018190526000918681019160a0850190845b8181101561547d57845160ff168352938301939183019160010161545e565b505084810360608601528581528587838301376000818701830152601f909501601f1916909401909301979650505050505050565b6000602082840312156154c457600080fd5b81516145ff81614a44565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b602001915036819003821315614e4a57600080fd5b80820180821115610b0a57610b0a6153a9565b60006020828403121561553a57600080fd5b5051919050565b600060ff821680615554576155546153a9565b6000190192915050565b60008184825b8581101561558d5760ff61557783614c30565b1683526020928301929190910190600101615564565b509095945050505050565b81810381811115610b0a57610b0a6153a9565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526017908201527f5468697320636172642068617320616e206f666665722e000000000000000000604082015260600190565b60008261564c57634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561108e57600081815260208120601f850160051c810160208610156156785750805b601f850160051c820191505b8181101561146f57828155600101615684565b81516001600160401b038111156156b0576156b0614bc7565b6156c4816156be84546153f7565b84615651565b602080601f8311600181146156f957600084156156e15750858301515b600019600386901b1c1916600185901b17855561146f565b600085815260208120601f198616915b8281101561572857888601518255948401946001909101908401615709565b50858210156157465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654615764816153f7565b6001828116801561577c5760018114615791576157c0565b60ff19841687528215158302870194506157c0565b8a60005260208060002060005b858110156157b75781548a82015290840190820161579e565b50505082870194505b5050505085516157d4818360208a01614b1f565b85519101906157e7818360208901614b1f565b84519101906157fa818360208801614b1f565b019695505050505050565b60008251615817818460208701614b1f565b9190910192915050565b60006020828403121561583357600080fd5b81516001600160401b0381111561584957600080fd5b8201601f8101841361585a57600080fd5b8051615868614c6782615067565b81815285602083850101111561587d57600080fd5b61588e826020830160208601614b1f565b95945050505050565b8082028115828204841417610b0a57610b0a6153a9565b815160009082906020808601845b838110156158db57815160ff16855293820193908201906001016158bc565b50929695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351615990818460208801614b1f565b8351908301906159a4818360208801614b1f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159e090830184614b43565b9695505050505050565b6000602082840312156159fc57600080fd5b81516145ff81614a1156fea264697066735822122037e4870fe1827025a5878dbedd00e617ea8ebf7de08517dc09f16363951ab41464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x46A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x79E8DADC GT PUSH2 0x24C JUMPI DUP1 PUSH4 0xAD1684FA GT PUSH2 0x146 JUMPI DUP1 PUSH4 0xDBFC05CF GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xE8A7E31D GT PUSH2 0x87 JUMPI DUP1 PUSH4 0xE8A7E31D EQ PUSH2 0xA82 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xA8A JUMPI DUP1 PUSH4 0xEB12D61E EQ PUSH2 0xAC6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xAD9 JUMPI DUP1 PUSH4 0xF98FD283 EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDBFC05CF EQ PUSH2 0xA23 JUMPI DUP1 PUSH4 0xDDB975E8 EQ PUSH2 0xA36 JUMPI DUP1 PUSH4 0xE1883C6E EQ PUSH2 0xA49 JUMPI DUP1 PUSH4 0xE4AE0B9B EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC87B56DD GT PUSH2 0x10A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x9D9 JUMPI DUP1 PUSH4 0xCAFAA473 EQ PUSH2 0x9EC JUMPI DUP1 PUSH4 0xD322B563 EQ PUSH2 0x9FF JUMPI DUP1 PUSH4 0xD7093F40 EQ PUSH2 0xA12 JUMPI DUP1 PUSH4 0xD780C477 EQ PUSH2 0xA1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAD1684FA EQ PUSH2 0x984 JUMPI DUP1 PUSH4 0xB3526185 EQ PUSH2 0x997 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x9A0 JUMPI DUP1 PUSH4 0xBA6C0FBC EQ PUSH2 0x9B3 JUMPI DUP1 PUSH4 0xBF400A6A EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x9FF26EFD GT PUSH2 0x198 JUMPI DUP1 PUSH4 0x9FF26EFD EQ PUSH2 0x910 JUMPI DUP1 PUSH4 0xA1AF8AD4 EQ PUSH2 0x93E JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0xA419811D EQ PUSH2 0x964 JUMPI DUP1 PUSH4 0xAB535160 EQ PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8C9 JUMPI DUP1 PUSH4 0x9038F414 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x8E2 JUMPI DUP1 PUSH4 0x9A5613AD EQ PUSH2 0x8EA JUMPI DUP1 PUSH4 0x9C7F707F EQ PUSH2 0x8FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7DF73E27 GT PUSH2 0x21B JUMPI DUP1 PUSH4 0x7DF73E27 EQ PUSH2 0x84E JUMPI DUP1 PUSH4 0x82D8A118 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x886EB60F EQ PUSH2 0x883 JUMPI DUP1 PUSH4 0x88E0EF80 EQ PUSH2 0x896 JUMPI DUP1 PUSH4 0x8BF670C8 EQ PUSH2 0x8B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79E8DADC EQ PUSH2 0x80D JUMPI DUP1 PUSH4 0x7CE65F7B EQ PUSH2 0x815 JUMPI DUP1 PUSH4 0x7CF86B72 EQ PUSH2 0x828 JUMPI DUP1 PUSH4 0x7DE99BD9 EQ PUSH2 0x83B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D GT PUSH2 0x368 JUMPI DUP1 PUSH4 0x5E31CE48 GT PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7065CB48 GT PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x7B9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x7CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x7DF JUMPI DUP1 PUSH4 0x7155A3AC EQ PUSH2 0x7E7 JUMPI DUP1 PUSH4 0x7232D7D4 EQ PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5E31CE48 EQ PUSH2 0x765 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x778 JUMPI DUP1 PUSH4 0x656BD0AD EQ PUSH2 0x78B JUMPI DUP1 PUSH4 0x68CC5BC1 EQ PUSH2 0x794 JUMPI DUP1 PUSH4 0x6D0AF178 EQ PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4039327E GT PUSH2 0x32C JUMPI DUP1 PUSH4 0x4039327E EQ PUSH2 0x6B2 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x6BA JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x6CD JUMPI DUP1 PUSH4 0x4C03CD0B EQ PUSH2 0x6E0 JUMPI DUP1 PUSH4 0x5312EA8E EQ PUSH2 0x752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D EQ PUSH2 0x63A JUMPI DUP1 PUSH4 0x2CA699E7 EQ PUSH2 0x64D JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x660 JUMPI DUP1 PUSH4 0x2F9E026A EQ PUSH2 0x68C JUMPI DUP1 PUSH4 0x30F5CC58 EQ PUSH2 0x69F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 GT PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x203335F6 GT PUSH2 0x3BA JUMPI DUP1 PUSH4 0x203335F6 EQ PUSH2 0x5E5 JUMPI DUP1 PUSH4 0x20965A5F EQ PUSH2 0x5F8 JUMPI DUP1 PUSH4 0x21A7C6B0 EQ PUSH2 0x60B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x614 JUMPI DUP1 PUSH4 0x241A08FE EQ PUSH2 0x627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 EQ PUSH2 0x575 JUMPI DUP1 PUSH4 0x14CCA36A EQ PUSH2 0x587 JUMPI DUP1 PUSH4 0x155E2F92 EQ PUSH2 0x59A JUMPI DUP1 PUSH4 0x1585CC4E EQ PUSH2 0x5AD JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x81812FC GT PUSH2 0x43D JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x527 JUMPI DUP1 PUSH4 0xE316AB7 EQ PUSH2 0x53C JUMPI DUP1 PUSH4 0x128916DC EQ PUSH2 0x54F JUMPI DUP1 PUSH4 0x1306952C EQ PUSH2 0x562 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0x435DCAF EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x7B2E246 EQ PUSH2 0x4CE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x482 PUSH2 0x47D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A27 JUMP JUMPDEST PUSH2 0xAFF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4AA PUSH2 0x4A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4AB4 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP2 SWAP1 PUSH2 0x4B6F JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x4DC CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x50F PUSH2 0x50A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x535 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B9B JUMP JUMPDEST PUSH2 0xF79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x53A PUSH2 0x54A CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1093 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x55D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1139 JUMP JUMPDEST PUSH2 0x50F PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x11DC JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x126A JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x5BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x12E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1341 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E51 JUMP JUMPDEST PUSH2 0x13B8 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x606 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F47 JUMP JUMPDEST PUSH2 0x1477 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x13 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x622 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x1A93 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x635 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x1AC5 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x648 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x1B0B JUMP JUMPDEST PUSH2 0x53A PUSH2 0x65B CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x1B1E JUMP JUMPDEST PUSH2 0x482 PUSH2 0x66E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6AD CALLDATASIZE PUSH1 0x4 PUSH2 0x4FE4 JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x1FF9 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x2087 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6DB CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x722 PUSH2 0x6EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF DUP1 DUP4 AND SWAP3 PUSH2 0x100 SWAP1 DIV AND SWAP1 DUP6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE SWAP2 ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x760 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20D3 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x773 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x21EE JUMP JUMPDEST PUSH2 0x50F PUSH2 0x786 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2233 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x11 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x2293 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x22DF JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x7DA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2356 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x23DC JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x23F0 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x808 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2450 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x24A6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x823 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x24B3 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x836 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2524 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x849 CALLDATASIZE PUSH1 0x4 PUSH2 0x50E7 JUMP JUMPDEST PUSH2 0x2570 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x85C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x10 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x891 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x274B JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x8A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x8C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x27A7 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x50F JUMP JUMPDEST PUSH2 0x482 PUSH2 0x2806 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x2BA6 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x90B CALLDATASIZE PUSH1 0x4 PUSH2 0x5181 JUMP JUMPDEST PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x91E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x51E4 JUMP JUMPDEST PUSH2 0x2C57 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x95F CALLDATASIZE PUSH1 0x4 PUSH2 0x5238 JUMP JUMPDEST PUSH2 0x2FD1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x972 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2FE0 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x992 CALLDATASIZE PUSH1 0x4 PUSH2 0x5271 JUMP JUMPDEST PUSH2 0x307F JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x14 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9AE CALLDATASIZE PUSH1 0x4 PUSH2 0x52C9 JUMP JUMPDEST PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x3344 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x339A JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x9E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x35E6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9FA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x35F1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x12 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x3694 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA31 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x36C1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA44 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x3704 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x37A7 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x50F SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x37D7 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xA98 CALLDATASIZE PUSH1 0x4 PUSH2 0x5348 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAD4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x37E4 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAE7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x385B JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAFA CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x38D1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0A DUP3 PUSH2 0x391B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0xCF6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO PUSH2 0xCE4 JUMPI DUP1 DUP6 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP6 AND DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD DUP6 MLOAD SWAP1 DUP3 AND SWAP2 DUP7 SWAP2 SWAP1 DUP6 AND SWAP1 DUP2 LT PUSH2 0xC2C JUMPI PUSH2 0xC2C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP3 DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP2 AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB1 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST DUP4 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xCC6 JUMPI PUSH2 0xCC6 PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP2 PUSH2 0xCE0 DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP3 POP POP JUMPDEST DUP1 PUSH2 0xCEE DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0xB8D JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD14 JUMPI PUSH2 0xD14 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD3D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD5D JUMPI PUSH2 0xD5D PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD86 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xDA6 JUMPI PUSH2 0xDA6 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDCF JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0xEAE JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xDF2 JUMPI PUSH2 0xDF2 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE0C JUMPI PUSH2 0xE0C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE32 JUMPI PUSH2 0xE32 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE4C JUMPI PUSH2 0xE4C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP6 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE72 JUMPI PUSH2 0xE72 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE8C JUMPI PUSH2 0xE8C PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP1 PUSH2 0xEA6 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0xDD5 JUMP JUMPDEST POP SWAP2 SWAP11 SWAP1 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xEFB SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF48 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF1D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF48 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF2B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF5D DUP3 PUSH2 0x3940 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF84 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xFF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x1012 JUMPI POP PUSH2 0x1012 DUP2 CALLER PUSH2 0xA98 JUMP JUMPDEST PUSH2 0x1084 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 PUSH2 0x399F JUMP JUMPDEST POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x10C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x982088F PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x982088F0 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x111E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1132 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1169 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1191 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x538B3425A321783393AD250DB10356B8B3523EF29A40DE015C5218213DE0EAD0 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x121E SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x123B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x125F SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1311 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1371 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0xFF DUP6 AND ISZERO DUP1 PUSH2 0x13D0 JUMPI POP PUSH1 0xF SLOAD PUSH1 0xFF SWAP1 DUP2 AND SWAP1 DUP7 AND GT JUMPDEST ISZERO PUSH2 0x13EE JUMPI PUSH1 0x40 MLOAD PUSH4 0xB154B3B PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x146F JUMPI PUSH2 0x145D CALLER DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1412 JUMPI PUSH2 0x1412 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x142C JUMPI PUSH2 0x142C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP7 DUP7 DUP2 DUP2 LT PUSH2 0x1446 JUMPI PUSH2 0x1446 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x1458 SWAP2 SWAP1 PUSH2 0x54CF JUMP JUMPDEST PUSH2 0x3A0D JUMP JUMPDEST DUP1 PUSH2 0x1467 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x13F1 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 SUB PUSH2 0x14B5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x14D0 SWAP1 DUP4 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x3C DUP3 LT PUSH2 0x1588 JUMPI PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x152B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x154F SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x14 SLOAD DUP2 LT DUP1 PUSH2 0x1564 JUMPI POP PUSH1 0x14 SLOAD PUSH1 0x12 SLOAD LT JUMPDEST ISZERO PUSH2 0x1582 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0xCDB3117 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xCDB3117 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15F9 SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST GT SWAP1 POP DUP4 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1820 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x162A JUMPI PUSH2 0x162A PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x163F SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x1679 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 ISZERO PUSH2 0x179C JUMPI PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x16A3 JUMPI PUSH2 0x16A3 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x16B8 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1704 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1728 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST ISZERO PUSH2 0x179C JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP2 DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x1751 JUMPI PUSH2 0x1751 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x1766 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND LT ISZERO PUSH2 0x179C JUMPI PUSH1 0x40 MLOAD PUSH4 0x483E9B8D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x17BE JUMPI PUSH2 0x17BE PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x17D3 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x17FA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x1600 JUMP JUMPDEST POP CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1840 SWAP1 DUP5 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH2 0x1855 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 CALLER SWAP1 PUSH32 0xDBCDA3B6D52A6F69C85189CA3F35E5BE8A2E3D052FEA47F656FF00384B0C47B1 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP3 ISZERO PUSH2 0x146F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF AND SWAP2 PUSH2 0x18B7 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x1968 CALLER PUSH1 0x16 DUP1 SLOAD PUSH2 0x18E1 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x190D SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x195A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x192F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x195A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x193D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x79 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x14 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x197C SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x14 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19FF SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH4 0xFA8213D3 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFA8213D3 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1A59 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x2 SWAP3 POP CALLER SWAP2 POP PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1A9E CALLER JUMPDEST DUP3 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x1ABA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH2 0x3F05 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1AF5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1B18 CALLER DUP6 DUP6 DUP6 DUP6 PUSH2 0x3A0D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1B46 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x1B84 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SUB PUSH2 0x1BAD JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1C84 JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C10 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C34 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP10 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x1C65 JUMPI POP DUP1 JUMPDEST PUSH2 0x1C81 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x1CB0 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x1CFF DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x1B6E5F928A38F442936BBDF4696F128A543B8E43730594344A66C028D0B9C3DA DUP5 PUSH1 0x40 MLOAD PUSH2 0x1D64 SWAP2 SWAP1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DA1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E03 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x1E16 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x1E23 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1E34 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B18 JUMPI DUP2 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1E58 JUMPI PUSH2 0x1E58 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 EQ PUSH2 0x1EA3 JUMPI PUSH2 0x1389 PUSH1 0x1A PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x1E83 JUMPI PUSH2 0x1E83 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT PUSH2 0x1ED4 JUMP JUMPDEST PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB9 GT JUMPDEST PUSH2 0x1F20 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x696E76616C69642063617264496E76656E746F727920706F736974696F6E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1F36 JUMPI PUSH2 0x1F36 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1F60 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP4 MLOAD SWAP1 SWAP2 SWAP1 DUP5 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x1F94 JUMPI PUSH2 0x1F94 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1FCD SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x1FF1 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1E3D JUMP JUMPDEST PUSH1 0x16 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2032 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x207F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2054 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x207F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2062 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x20AB CALLER PUSH2 0x1A98 JUMP JUMPDEST PUSH2 0x20C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4069 JUMP JUMPDEST POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2103 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x210D ADDRESS PUSH2 0x2356 JUMP JUMPDEST LT ISZERO PUSH2 0x212C JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x213E SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2199 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21BD SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 CALLER SWAP1 PUSH32 0x23D6711A1D031134A36921253C75AA59E967D38E369AC625992824315E204F20 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2219 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x222B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x22C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x230F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x23C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x23E4 PUSH2 0x4072 JUMP JUMPDEST PUSH2 0x23EE PUSH1 0x0 PUSH2 0x40CC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x241B JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x5541 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2480 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x24A1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SSTORE JUMP JUMPDEST PUSH1 0x15 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x24E3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x64 DUP2 PUSH1 0xFF AND GT ISZERO PUSH2 0x2508 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x254E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 POP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2578 PUSH2 0x4072 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0xF DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH3 0x10000 MUL PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD DUP8 DUP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x9 DUP1 SLOAD SWAP3 DUP8 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x17 PUSH2 0x25FC DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x31323 PUSH1 0xEC SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x2659 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x15 SWAP1 DUP2 PUSH2 0x2676 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x313231 PUSH1 0xE8 SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x26D3 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x16 SWAP1 DUP2 PUSH2 0x26F0 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x7A DUP2 LT ISZERO PUSH2 0x2742 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 SSTORE DUP1 PUSH2 0x273A DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2715 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2775 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x27D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x78 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 SUB PUSH2 0x2844 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SLOAD PUSH1 0x12 SLOAD LT ISZERO PUSH2 0x2869 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28DC SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x13 SLOAD DUP2 LT ISZERO PUSH2 0x2901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x78 DUP2 PUSH1 0xFF AND GT PUSH2 0x2990 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x293E JUMPI PUSH1 0x1 SWAP2 POP PUSH2 0x2990 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x296A DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x2905 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x29AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x3DE829 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2A47 CALLER PUSH1 0x15 DUP1 SLOAD PUSH2 0x29C0 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x29EC SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2A39 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A0E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2A39 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2A1C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x78 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2AA1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2AC5 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x13 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2ADA SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x3F27A03F PUSH1 0xE2 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xFC9E80FC SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2B2A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B4E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2B6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE07C7C8D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 SWAP1 CALLER SWAP1 PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 SWAP4 POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2BE5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x15 PUSH2 0x2BF1 DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x16 PUSH2 0x2BFE DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP DUP1 PUSH1 0x40 MLOAD PUSH2 0x2C0D SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2C23 SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xABFD337AC5625B7DC2DDD3D3BD465FB1DEC15322EEEED81032268B337880BEC6 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2C7F JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SUB PUSH2 0x2CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F7D JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2CD5 JUMPI PUSH2 0x2CD5 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2CEA SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x2D24 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2D46 JUMPI PUSH2 0x2D46 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2D5B SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2D82 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x1C PUSH1 0x0 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2DD4 JUMPI PUSH2 0x2DD4 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2DE9 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2E10 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x18 PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x2F6B JUMPI PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP8 DUP8 DUP7 DUP2 DUP2 LT PUSH2 0x2E65 JUMPI PUSH2 0x2E65 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2E7A SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2EC6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EEA SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 DUP3 DUP9 DUP9 DUP8 DUP2 DUP2 LT PUSH2 0x2F13 JUMPI PUSH2 0x2F13 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2F28 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND GT SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x2F4C JUMPI POP DUP1 JUMPDEST PUSH2 0x2F68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST DUP1 PUSH2 0x2F75 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CAB JUMP JUMPDEST POP DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2F8E SWAP3 SWAP2 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 CALLER SWAP1 PUSH32 0x368EB521419FE880268B0D75C05EAA2DA7AE9CCF468BE86A848F7054366D2B9B SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP JUMP JUMPDEST PUSH2 0x2FDC CALLER DUP4 DUP4 PUSH2 0x411E JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3010 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0x2FDC JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x3053 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x3077 SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3013 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x30AA JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30FA JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO DUP1 PUSH2 0x3155 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO JUMPDEST ISZERO PUSH2 0x3173 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x31A8 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x31F7 DUP4 PUSH2 0x53BF JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3246 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3295 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x52819375A02768CB5083D7B729260C6DB2309FCB5C9161201ADA89D30D00D524 DUP8 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3302 SWAP3 SWAP2 SWAP1 PUSH1 0xFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x331C CALLER DUP4 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x3338 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x1B18 DUP5 DUP5 DUP5 DUP5 PUSH2 0x41E4 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3374 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x3395 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x14 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x33D8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x34AE JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x343A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x345E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x348F JUMPI POP DUP1 JUMPDEST PUSH2 0x34AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x34DA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 PUSH1 0x17 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP DUP4 PUSH1 0xFF AND PUSH20 0x0 PUSH4 0x6900A3AE SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x354F SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x356C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3594 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x35C5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x2FDC CALLER DUP3 DUP5 PUSH1 0xFF AND PUSH1 0x1 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB0A DUP3 PUSH2 0x4217 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3621 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3649 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x5A78287A942B8EA0DA8734A4EB919DF11E564CC48301FFCB582DC8612D98208F SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x12 SLOAD PUSH1 0xF SLOAD PUSH1 0x0 SWAP2 PUSH1 0x64 SWAP2 PUSH2 0x36B2 SWAP2 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x5897 JUMP JUMPDEST PUSH2 0x36BC SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x36F1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3734 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x375C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x563F24D71E856F79BEC30E1AA96082A296CD13F0A71CEC730A72B719FA0FA202 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x37D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x11 SSTORE JUMP JUMPDEST PUSH1 0x17 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3814 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3B9DB689 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x773B6D12 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH2 0x3863 PUSH2 0x4072 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x40CC JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xB0A JUMPI POP PUSH2 0xB0A DUP3 PUSH2 0x431F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x20D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x39D4 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3E6A7AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP3 AND SWAP1 PUSH4 0xD3E6A7AD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A7C SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3AA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7F6ECDF5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP4 MLOAD LT PUSH2 0x3AC5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9DCCA733 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B91 JUMPI PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x3B12 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3B2F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B53 SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x3B8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x8BAA579F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BF3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x3C06 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x3C13 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C24 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x3DD2 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3C48 JUMPI PUSH2 0x3C48 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 SUB PUSH2 0x3CAD JUMPI PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB8 LT ISZERO PUSH2 0x3CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3CFF JUMP JUMPDEST PUSH2 0x1388 PUSH1 0x1A PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3CC6 JUMPI PUSH2 0x3CC6 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT ISZERO PUSH2 0x3CFF JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3D15 JUMPI PUSH2 0x3D15 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3D3F SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP6 MLOAD SWAP1 SWAP2 SWAP1 DUP7 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x3D73 JUMPI PUSH2 0x3D73 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3DAC SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3C2D JUMP JUMPDEST POP DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DE2 SWAP2 SWAP1 PUSH2 0x58AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xBABE8F5E83E93AB103DDF917B4292A19335A5128B3530BEDD896A681CDD945E3 SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x10 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF DUP6 AND MUL OR SWAP1 SSTORE PUSH2 0x3E5E DUP6 DUP3 PUSH2 0x436F JUMP JUMPDEST PUSH2 0x3E68 DUP2 DUP6 PUSH2 0x4389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x10 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3E7B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E93 DUP4 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x3EDA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x1262 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3EF3 DUP5 PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3F18 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3F3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3FA0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3FB3 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3FD9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4454 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x23EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x417F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x41EF DUP5 DUP5 DUP5 PUSH2 0x3F05 JUMP JUMPDEST PUSH2 0x41FB DUP5 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x1B18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4222 DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x423B SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4267 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x42B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4289 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x42B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4297 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x42D2 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x42E4 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x4316 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x42FE SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1262 DUP5 PUSH2 0x4592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4350 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xB0A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x2FDC DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x4606 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4404 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x441C DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8E1A15ABA9398E019F0B49DF1A4FDE98EE17AE345CB5F6B5E2C27F5033E8CE7 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH2 0x445D DUP2 PUSH2 0x4639 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x4476 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x20D0 SWAP2 PUSH2 0x49C3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x458A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x44D8 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x59AD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x4513 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x4510 SWAP2 DUP2 ADD SWAP1 PUSH2 0x59EA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4570 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x4541 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4546 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x4568 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x1262 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x1262 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x459D DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x45D4 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x45FF JUMP JUMPDEST DUP1 PUSH2 0x45DE DUP5 PUSH2 0x46CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x45EF SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x4610 DUP4 DUP4 PUSH2 0x4760 JUMP JUMPDEST PUSH2 0x461D PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x108E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4644 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP PUSH2 0x464F DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x46DB DUP4 PUSH2 0x48EB JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x46FA JUMPI PUSH2 0x46FA PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x4724 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x472E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x47B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x481B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x4880 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x492A JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x4956 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x4974 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x498C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x49A0 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x49B2 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xB0A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x49CF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x49DF JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x20D0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4A0D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x49F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4AA9 JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4A8A JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4AC7 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x4A76 JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x4ADA DUP3 DUP8 PUSH2 0x4A76 JUMP JUMPDEST DUP5 DUP2 SUB PUSH1 0x40 DUP7 ADD MSTORE DUP6 MLOAD DUP1 DUP3 MSTORE DUP3 DUP8 ADD SWAP4 POP SWAP1 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B11 JUMPI DUP5 MLOAD ISZERO ISZERO DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4AF3 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4B3A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4B22 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B5B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x45FF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4BB9 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4C05 JUMPI PUSH2 0x4C05 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4C26 JUMPI PUSH2 0x4C26 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4C41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4C57 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4C6C PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST PUSH2 0x4BDD JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4C8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI PUSH2 0x4CA0 DUP2 PUSH2 0x4C30 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4C8F JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4CCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4CEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CF8 DUP9 DUP4 DUP10 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4D0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4D31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x4D43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP POP PUSH1 0x20 ADD SWAP5 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4D70 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x4D7E PUSH1 0x20 DUP5 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4DA8 PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DEA JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4DF8 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4C46 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4DCB JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4E18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E72 DUP7 PUSH2 0x4C30 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP1 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4E8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4EA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4EB1 PUSH2 0x4C67 DUP3 PUSH2 0x4C0D JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP13 DUP4 GT ISZERO PUSH2 0x4ED0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x4EEE JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4ED5 JUMP JUMPDEST SWAP9 POP POP POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F12 DUP11 DUP5 DUP12 ADD PUSH2 0x4D87 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x4F36 DUP9 DUP3 DUP10 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F7C DUP6 DUP3 DUP7 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4F9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4FA8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4FB8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP3 PUSH2 0x4C30 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4FF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5004 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5026 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5032 DUP7 DUP3 DUP8 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x505C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5080 JUMPI PUSH2 0x5080 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x509C PUSH2 0x4C67 DUP5 PUSH2 0x5067 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x50B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x50D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x508E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x5100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x510B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH2 0x511B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0x512B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x513B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5162 DUP10 DUP3 DUP11 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x5173 DUP2 PUSH2 0x4A44 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x51AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x51B7 DUP7 DUP4 DUP8 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x51CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51DA DUP6 DUP3 DUP7 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x51F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5204 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x521F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x522B DUP7 DUP3 DUP8 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x524B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5256 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x503C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x5292 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH2 0x52A0 PUSH1 0x20 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x52B0 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x52BE PUSH1 0x60 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x52DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x52EA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x52FA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x531C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x532D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x533C DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x508E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x535B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5366 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x539E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x53D5 JUMPI PUSH2 0x53D5 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x53F0 JUMPI PUSH2 0x53F0 PUSH2 0x53A9 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x540B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x256A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE DUP6 MLOAD SWAP1 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP7 DUP2 ADD SWAP2 PUSH1 0xA0 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x547D JUMPI DUP5 MLOAD PUSH1 0xFF AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x545E JUMP JUMPDEST POP POP DUP5 DUP2 SUB PUSH1 0x60 DUP7 ADD MSTORE DUP6 DUP2 MSTORE DUP6 DUP8 DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP8 ADD DUP4 ADD MSTORE PUSH1 0x1F SWAP1 SWAP6 ADD PUSH1 0x1F NOT AND SWAP1 SWAP5 ADD SWAP1 SWAP4 ADD SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x54E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x553A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND DUP1 PUSH2 0x5554 JUMPI PUSH2 0x5554 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 NOT ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP3 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x558D JUMPI PUSH1 0xFF PUSH2 0x5577 DUP4 PUSH2 0x4C30 JUMP JUMPDEST AND DUP4 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5564 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x5468697320636172642068617320616E206F666665722E000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x564C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x108E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5678 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x146F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5684 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56B0 JUMPI PUSH2 0x56B0 PUSH2 0x4BC7 JUMP JUMPDEST PUSH2 0x56C4 DUP2 PUSH2 0x56BE DUP5 SLOAD PUSH2 0x53F7 JUMP JUMPDEST DUP5 PUSH2 0x5651 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x56F9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x56E1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x146F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5728 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5709 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5746 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 SLOAD PUSH2 0x5764 DUP2 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x577C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5791 JUMPI PUSH2 0x57C0 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x57C0 JUMP JUMPDEST DUP11 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x57B7 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x579E JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP POP POP POP DUP6 MLOAD PUSH2 0x57D4 DUP2 DUP4 PUSH1 0x20 DUP11 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP6 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57E7 DUP2 DUP4 PUSH1 0x20 DUP10 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP5 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57FA DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5817 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5849 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x585A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x5868 PUSH2 0x4C67 DUP3 PUSH2 0x5067 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x587D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x588E DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x58DB JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x58BC JUMP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5990 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x59A4 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x59E0 SWAP1 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x59FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xE4 DUP8 0xF 0xE1 DUP3 PUSH17 0x25A5878DBEDD00E617EA8EBF7DE08517DC MULMOD CALL PUSH4 0x63951AB4 EQ PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1668:18731:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;755:181:22;;;;;;:::i;:::-;;:::i;:::-;;;565:14:31;;558:22;540:41;;528:2;513:18;755:181:22;;;;;;;;9625:936:21;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;2471:98:5:-;;;:::i;:::-;;;;;;;:::i;3080:60:21:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3342:25:31;;;3330:2;3315:18;3080:60:21;3196:177:31;3935:167:5;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3727:32:31;;;3709:51;;3697:2;3682:18;3935:167:5;3563:203:31;3468:406:5;;;;;;:::i;:::-;;:::i;:::-;;5976:119:21;;;;;;:::i;:::-;;:::i;6099:251::-;;;;;;:::i;:::-;;:::i;10565:245::-;;;;;;:::i;:::-;;:::i;2598:49::-;;;;;;;;;;;;1911;;;;;-1:-1:-1;;;;;1911:49:21;;;8504:137;;;;;;:::i;:::-;;:::i;9323:157::-;;;;;;:::i;:::-;;:::i;:::-;;;7135:4:31;7123:17;;;7105:36;;7093:2;7078:18;9323:157:21;6963:184:31;5751:114:21;;;;;;:::i;:::-;;:::i;10997:386::-;;;;;;:::i;:::-;;:::i;16417:1564::-;;;;;;:::i;:::-;;:::i;2291:39::-;;;;;;4612:296:5;;;;;;:::i;:::-;;:::i;8218:142:21:-;;;;;;:::i;:::-;;:::i;10814:179::-;;;;;;:::i;:::-;;:::i;13088:897::-;;;;;;:::i;:::-;;:::i;8981:101::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9054:23:21;9035:4;9054:23;;;:10;:23;;;;;;;;;8981:101;1811:45;;;;;-1:-1:-1;;;;;1811:45:21;;;19770:573;;;;;;:::i;:::-;;:::i;2490:28::-;;;:::i;4974:149:5:-;;;;;;:::i;:::-;;:::i;531:238:8:-;;;;;;:::i;:::-;;:::i;2932:47:21:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12148:25:31;;;12204:2;12189:18;;12182:34;;;;12259:14;;12252:22;12232:18;;;12225:50;;;;12323:4;12311:17;;;12306:2;12291:18;;12284:45;12360:3;12345:19;;12338:35;12135:3;12120:19;2932:47:21;11899:480:31;19253:269:21;;;;;;:::i;:::-;;:::i;6862:110::-;;;;;;:::i;:::-;;:::i;2190:219:5:-;;;;;;:::i;:::-;;:::i;2204:34:21:-;;;;;;7955:139;;;;;;:::i;:::-;;:::i;2095:42::-;;;;;;;;;;;;5649:98;;;;;;:::i;:::-;;:::i;1929:204:5:-;;;;;;:::i;:::-;;:::i;1824:101:0:-;;;:::i;8364:136:21:-;;;;;;:::i;:::-;;:::i;6976:150::-;;;;;;:::i;:::-;;:::i;2463:23::-;;;:::i;7294:165::-;;;;;;:::i;:::-;;:::i;9484:137::-;;;;;;:::i;:::-;;:::i;4770:875::-;;;;;;:::i;:::-;;:::i;9086:104::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9160:25:21;9141:4;9160:25;;;:19;:25;;;;;;;;;9086:104;2169:31;;;;;;8827:150;;;;;;:::i;:::-;;:::i;2983:69::-;;;;;;:::i;:::-;;;;;;;;;;;;;;8645:178;;;;;;:::i;:::-;;:::i;1201:85:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;1201:85;;15130:1165:21;;;:::i;2633:102:5:-;;;:::i;2651:53:21:-;;;;;;;;;;;;7463:212;;;;;;:::i;:::-;;:::i;3144:87::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13989:1021;;;;;;:::i;:::-;;:::i;4169:153:5:-;;;;;;:::i;:::-;;:::i;19583:183:21:-;;;;;;:::i;:::-;;:::i;2051:40::-;;;;;;;;;12524:560;;;;;;:::i;:::-;;:::i;2375:43::-;;;;;;5189:276:5;;;;;;:::i;:::-;;:::i;7130:160:21:-;;;;;;:::i;:::-;;:::i;17985:878::-;;;;;;:::i;:::-;;:::i;584:165:22:-;;;;;;:::i;:::-;;:::i;6354:242:21:-;;;;;;:::i;:::-;;:::i;1860:47::-;;;;;-1:-1:-1;;;;;1860:47:21;;;2253:34;;;;;;9194:125;;;:::i;7679:137::-;;;;;;:::i;:::-;;:::i;6600:258::-;;;;;;:::i;:::-;;:::i;8098:116::-;;;;;;:::i;:::-;;:::i;2549:45::-;;;;;;;;;2141:24;;;;;;;;-1:-1:-1;;;;;2141:24:21;;;2522:23;;;:::i;4388:162:5:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;5869:103:21;;;;;;:::i;:::-;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;7820:131:21:-;;;;;;:::i;:::-;;:::i;755:181:22:-;866:4;893:36;917:11;893:23;:36::i;:::-;886:43;755:181;-1:-1:-1;;755:181:22:o;9625:936:21:-;9774:16;;;9786:3;9774:16;;;;;;;;;9692:14;;;;;;9745:26;;9774:16;;;;;;;;;-1:-1:-1;;9824:16:21;;;9836:3;9824:16;;;;;;;;;9745:45;;-1:-1:-1;9796:25:21;;9824:16;-1:-1:-1;9824:16:21;;;;;;;;-1:-1:-1;;9869:15:21;;;9880:3;9869:15;;;;;;;;;9796:44;;-1:-1:-1;9846:20:21;;9869:15;-1:-1:-1;9869:15:21;;;;;;;;;;-1:-1:-1;9869:15:21;9846:38;;9890:11;9917:7;9912:248;9931:3;9926:1;:8;;;9912:248;;-1:-1:-1;;;;;9953:19:21;;9978:1;9953:19;;;:13;:19;;;;;;;;:22;;;;;;;;;;;;;:26;9949:205;;10012:1;9991:11;10003:5;9991:18;;;;;;;;;;:::i;:::-;:22;;;;:18;;;;;;;;;;:22;;;;-1:-1:-1;;;;;10043:19:21;;;;;;:13;:19;;;;;;:22;;;;;;;;;;10023:17;;10043:22;;;;10023:10;;:17;;;;;;;;;;:::i;:::-;:42;;;;:17;;;;;;;;;:42;10091:19;;:37;;-1:-1:-1;;;10091:37:21;;-1:-1:-1;;;;;18345:32:31;;;10091:37:21;;;18327:51:31;18414:17;;;18394:18;;;18387:45;10091:19:21;;;:28;;18300:18:31;;10091:37:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10075:6;10082:5;10075:13;;;;;;;;;;:::i;:::-;:53;;;:13;;;;;;;;;;;:53;10138:7;;;;:::i;:::-;;;;9949:205;9936:3;;;;:::i;:::-;;;;9912:248;;;;10166:30;10211:5;10199:18;;-1:-1:-1;;;;;10199:18:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10199:18:21;;10166:51;;10223:28;10266:5;10254:18;;-1:-1:-1;;;;;10254:18:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10254:18:21;;10223:49;;10278:29;10321:5;10310:17;;-1:-1:-1;;;;;10310:17:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10310:17:21;;10278:49;;10339:9;10334:160;10354:5;10350:9;;:1;:9;10334:160;;;10395:11;10407:1;10395:14;;;;;;;;:::i;:::-;;;;;;;10374:15;10390:1;10374:18;;;;;;;;:::i;:::-;;;;;;:35;;;;;;;;;;;10436:10;10447:1;10436:13;;;;;;;;:::i;:::-;;;;;;;10417;10431:1;10417:16;;;;;;;;:::i;:::-;;;;;;:32;;;;;;;;;;;10478:6;10485:1;10478:9;;;;;;;;:::i;:::-;;;;;;;10457:15;10473:1;10457:18;;;;;;;;:::i;:::-;:30;;;:18;;;;;;;;;;;:30;10361:3;;;;:::i;:::-;;;;10334:160;;;-1:-1:-1;10508:15:21;;10525:13;;-1:-1:-1;10508:15:21;;-1:-1:-1;9625:936:21;-1:-1:-1;;;;;;9625:936:21:o;2471:98:5:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;19732:2:31;3597:57:5;;;19714:21:31;19771:2;19751:18;;;19744:30;19810:34;19790:18;;;19783:62;-1:-1:-1;;;19861:18:31;;;19854:31;19902:19;;3597:57:5;;;;;;;;;734:10:12;-1:-1:-1;;;;;3686:21:5;;;;:62;;-1:-1:-1;3711:37:5;3728:5;734:10:12;4388:162:5;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;20134:2:31;3665:170:5;;;20116:21:31;20173:2;20153:18;;;20146:30;20212:34;20192:18;;;20185:62;20283:31;20263:18;;;20256:59;20332:19;;3665:170:5;19932:425:31;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;5976:119:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;6049:41:::1;::::0;-1:-1:-1;;;6049:41:21;;:11:::1;:41;::::0;::::1;20568:25:31::0;-1:-1:-1;;;;;20629:32:31;;20609:18;;;20602:60;6049:24:21::1;::::0;::::1;::::0;20541:18:31;;6049:41:21::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5976:119:::0;:::o;6099:251::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;6198:20;-1:-1:-1;;;;;4707:22:21;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:21::1;;;;;;;;;;;4704:50;6226:19:::2;:64:::0;;-1:-1:-1;;;;;;6226:64:21::2;-1:-1:-1::0;;;;;6226:64:21;::::2;::::0;;::::2;::::0;;;6301:44:::2;::::0;::::2;::::0;-1:-1:-1;;6301:44:21::2;4644:1:::1;6099:251:::0;:::o;10565:245::-;10728:77;;-1:-1:-1;;;10728:77:21;;10699:14;;10728:15;;:32;;:77;;10761:10;;10773;;10785:8;;10795:9;;;;10728:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10721:84;;10565:245;;;;;;;:::o;8504:137::-;4491:19;;-1:-1:-1;;;;;4491:19:21;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:21;;;;;;;;;;;4466:74;-1:-1:-1;;;;;8603:19:21;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:31:::1;::::0;;::::1;::::0;;;;;;:33;;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;8504:137:::0;;:::o;9323:157::-;9427:5;9412:4;-1:-1:-1;;;;;4707:22:21;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:21;;;;;;;;;;;4704:50;-1:-1:-1;;;;;;;9447:19:21;;;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:28:::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;9323:157::o;5751:114::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;5822:38:::1;::::0;-1:-1:-1;;;5822:38:21;;:10:::1;:38;::::0;::::1;20568:25:31::0;-1:-1:-1;;;;;20629:32:31;;20609:18;;;20602:60;5822:22:21::1;::::0;::::1;::::0;20541:18:31;;5822:38:21::1;20362:306:31::0;10997:386:21;11162:18;;;;;:60;;-1:-1:-1;11200:22:21;;;;;;11184:38;;;;11162:60;11159:92;;;11231:20;;-1:-1:-1;;;11231:20:21;;;;;;;;;;;11159:92;11263:9;11258:121;11278:13;11274:17;;:1;:17;11258:121;;;11306:66;11316:10;11328:11;11340:1;11328:14;;;;;;;;:::i;:::-;;;;;;;11344:9;11354:1;11344:12;;;;;;;;:::i;:::-;;;;;;;11358:10;;11369:1;11358:13;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11306:9;:66::i;:::-;11293:3;;;;:::i;:::-;;;;11258:121;;;;10997:386;;;;;:::o;16417:1564::-;16496:10;16482:25;;;;:13;:25;;;;;;;;16508:3;16482:30;;;;;;;;;;:35;;16479:75;;16526:28;;-1:-1:-1;;;16526:28:21;;;;;;;;;;;16479:75;16605:10;16560:28;16591:25;;;:13;:25;;;;;;:46;;16619:11;;16591:46;:::i;:::-;16560:77;;16643:17;16695:2;16671:20;:26;16667:263;;16740:9;;16733:42;;-1:-1:-1;;;16733:42:21;;16769:4;16733:42;;;3709:51:31;16707:23:21;;16740:9;;;-1:-1:-1;;;;;16740:9:21;;16733:27;;3682:18:31;;16733:42:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16707:68;;16804:21;;16786:15;:39;:82;;;;16847:21;;16829:15;;:39;16786:82;16783:113;;;16877:19;;-1:-1:-1;;;16877:19:21;;;;;;;;;;;16783:113;16919:4;16904:19;;16699:231;16667:263;16958:19;;:54;;-1:-1:-1;;;16958:54:21;;17001:10;16958:54;;;3709:51:31;16936:18:21;;;;-1:-1:-1;;;;;16958:19:21;;;;:42;;3682:18:31;;16958:54:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;-1:-1:-1;17051:11:21;17023:25;17075:436;17095:17;17091:1;:21;17075:436;;;17140:10;17126:25;;;;:13;:25;;;;;;17152:11;;17164:1;17152:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17126:41;;;;;;;;;;;;;;;-1:-1:-1;17126:41:21;;;;;;;:46;;17123:86;;17181:28;;-1:-1:-1;;;17181:28:21;;;;;;;;;;;17123:86;17221:13;17217:198;;;17250:19;;-1:-1:-1;;;;;17250:19:21;:28;17279:10;17291:11;;17303:1;17291:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17250:56;;-1:-1:-1;;;;;;17250:56:21;;;;;;;-1:-1:-1;;;;;18345:32:31;;;17250:56:21;;;18327:51:31;18426:4;18414:17;18394:18;;;18387:45;18300:18;;17250:56:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17246:161;;;17337:10;17323:25;;;;:13;:25;;;;;17367:1;;17349:11;;17361:1;17349:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17323:41;;;;;;;;;;;;;;;-1:-1:-1;17323:41:21;;;:45;17320:76;;;17377:19;;-1:-1:-1;;;17377:19:21;;;;;;;;;;;17320:76;17436:10;17422:25;;;;:13;:25;;;;;;17448:11;;17460:1;17448:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17422:41;;;;;;;;;;;;;;;-1:-1:-1;17422:41:21;;;:43;;;;;;:41;:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;17493:3;;;;;;;17075:436;;;-1:-1:-1;17531:10:21;17517:25;;;;:13;:25;;;;;:46;;17546:17;;17517:25;:46;;17546:17;;17517:46;:::i;:::-;;;;-1:-1:-1;;17574:36:21;;;;17598:11;;;;17574:36;:::i;:::-;;;;;;;;;;17586:10;;17574:36;;;;;17621:12;17617:360;;;17657:10;17643:25;;;;:13;:25;;;;;;;;17669:3;17643:30;;;;;;;:32;;:30;:32;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;17683:44;17692:10;17704:14;17683:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17720:3;17725:1;17683:8;:44::i;:::-;17782:21;;17763:15;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;17818:9:21;;17850:21;;17811:61;;-1:-1:-1;;;17811:61:21;;17838:10;17811:61;;;23903:51:31;23970:18;;;23963:34;;;;17818:9:21;;;;-1:-1:-1;;;;;17818:9:21;;17811:26;;23876:18:31;;17811:61:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;17881:20:21;;:47;;-1:-1:-1;;;17881:47:21;;17917:10;17881:47;;;3709:51:31;-1:-1:-1;;;;;17881:20:21;;;;:35;;3682:18:31;;17881:47:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17941:29:21;;17968:1;;-1:-1:-1;17956:10:21;;-1:-1:-1;17941:29:21;;;;;16473:1508;;;;16417:1564;;:::o;4612:296:5:-;4771:41;734:10:12;4790:12:5;4804:7;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:5;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;8218:142:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;8309:22:::1;:46:::0;;-1:-1:-1;;8309:46:21::1;;::::0;;;::::1;::::0;;;::::1;::::0;;8218:142::o;10814:179::-;10934:54;10944:10;10956;10968:8;10978:9;;10934;:54::i;:::-;10814:179;;;;:::o;13088:897::-;13166:2;-1:-1:-1;;;;;4707:22:21;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:21;;;;;;;;;;;4704:50;13193:10:::1;13179:25;::::0;;;:13:::1;:25;::::0;;;;;;;:37:::1;::::0;;::::1;::::0;;;;;;;::::1;:42:::0;;13176:82:::1;;13230:28;;-1:-1:-1::0;;;13230:28:21::1;;;;;;;;;;;13176:82;13273:10;-1:-1:-1::0;;;;;13267:16:21;::::1;::::0;13264:45:::1;;13292:17;;-1:-1:-1::0;;;13292:17:21::1;;;;;;;;;;;13264:45;13320:34;::::0;;;::::1;;;13316:529;;;13380:19;::::0;:52:::1;::::0;-1:-1:-1;;;13380:52:21;;13409:10:::1;13380:52;::::0;::::1;18327:51:31::0;18426:4;18414:17;;18394:18;;;18387:45;13364:13:21::1;::::0;-1:-1:-1;;;;;13380:19:21::1;::::0;:28:::1;::::0;18300:18:31;;13380:52:21::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13476:10;13440:19;13462:25:::0;;;:13:::1;:25;::::0;;;;;;;:37:::1;::::0;;::::1;::::0;;;;;;;;13364:68;;-1:-1:-1;13502:1:21::1;13462:37:::0;::::1;:41;13783:9:::0;::::1;::::0;:27:::1;;;13796:14;13783:27;13775:63;;;;-1:-1:-1::0;;;13775:63:21::1;;;;;;;:::i;:::-;13356:489;;13316:529;13865:10;13851:25;::::0;;;:13:::1;:25;::::0;;;;;;;:37:::1;::::0;;::::1;::::0;;;;;;:39;;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;-1:-1:-1;;;;;13896:17:21;::::1;-1:-1:-1::0;13896:17:21;;;:13:::1;:17;::::0;;;;;;;:29;;::::1;::::0;;;;;;;:31;;;;::::1;::::0;-1:-1:-1;13896:31:21::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;13965:2;-1:-1:-1::0;;;;;13938:42:21::1;13953:10;-1:-1:-1::0;;;;;13938:42:21::1;;13969:10;13938:42;;;;;7135:4:31::0;7123:17;;;;7105:36;;7093:2;7078:18;;6963:184;13938:42:21::1;;;;;;;;13088:897:::0;;;:::o;19770:573::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;19881:18:::1;::::0;:45:::1;::::0;-1:-1:-1;;;19881:45:21;;::::1;::::0;::::1;20568:25:31::0;;;-1:-1:-1;;;;;20629:32:31;;;20609:18;;;20602:60;19881:18:21;;::::1;::::0;:27:::1;::::0;20541:18:31;;19881:45:21::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19983:1;19969:11;;:15;;;;:::i;:::-;19955:11;;:29;;;;:::i;:::-;19936:15;;:48;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;19999:9:21::1;::::0;-1:-1:-1;19995:342:21::1;20012:8;:15;20010:1;:17;19995:342;;;20055:8;20064:1;20055:11;;;;;;;;:::i;:::-;;;;;;;:18;;20070:3;20055:18;:88;;20139:4;20107:16;:29;20124:8;20133:1;20124:11;;;;;;;;:::i;:::-;;;;;;;20107:29;;;;;;;;;;;;;;:36;20055:88;;;20093:3;20076:21;::::0;:16:::1;:21;::::0;;;20100:4:::1;-1:-1:-1::0;20055:88:21::1;20047:148;;;::::0;-1:-1:-1;;;20047:148:21;;25609:2:31;20047:148:21::1;::::0;::::1;25591:21:31::0;25648:2;25628:18;;;25621:30;25687:32;25667:18;;;25660:60;25737:18;;20047:148:21::1;25407:354:31::0;20047:148:21::1;20209:16;:29;20226:8;20235:1;20226:11;;;;;;;;:::i;:::-;;;;;;;20209:29;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;20273:19:21;::::1;;::::0;;;:13:::1;:19;::::0;;;;20293:11;;20273:19;;;20293:8;;20302:1;;20293:11;::::1;;;;;:::i;:::-;;;;;;;20273:32;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20029:3;;;;;:::i;:::-;;;;19995:342;;2490:28:::0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4974:149:5:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;531:238:8:-;647:41;734:10:12;666:12:8;655:96:12;647:41:8;639:99;;;;-1:-1:-1;;;639:99:8;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;19253:269:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;19350:6:::1;19323:24;19341:4;19323:9;:24::i;:::-;:33;19320:64;;;19365:19;;-1:-1:-1::0;;;19365:19:21::1;;;;;;;;;;;19320:64;19409:6;19390:15;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19428:9:21::1;::::0;19421:46:::1;::::0;-1:-1:-1;;;19421:46:21;;19448:10:::1;19421:46;::::0;::::1;23903:51:31::0;23970:18;;;23963:34;;;19428:9:21;;;::::1;-1:-1:-1::0;;;;;19428:9:21::1;::::0;19421:26:::1;::::0;23876:18:31;;19421:46:21::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;19478:39:21::1;::::0;19510:6;;19498:10:::1;::::0;19478:39:::1;::::0;;;::::1;19253:269:::0;:::o;6862:110::-;4357:18;;-1:-1:-1;;;;;4357:18:21;4335:10;:41;4332:77;;4385:24;;-1:-1:-1;;;4385:24:21;;;;;;;;;;;4332:77;6961:6:::1;6942:15;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;6862:110:21:o;2190:219:5:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;25968:2:31;2324:56:5;;;25950:21:31;26007:2;25987:18;;;25980:30;-1:-1:-1;;;26026:18:31;;;26019:54;26090:18;;2324:56:5;25766:348:31;7955:139:21;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;8044:34:::1;:45:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;8044:45:21;;::::1;::::0;;;::::1;::::0;;7955:139::o;5649:98::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;5712:30:::1;::::0;-1:-1:-1;;;5712:30:21;;:10:::1;:30;::::0;::::1;20568:25:31::0;-1:-1:-1;;;;;20629:32:31;;20609:18;;;20602:60;5712:19:21::1;::::0;::::1;::::0;20541:18:31;;5712:30:21::1;20362:306:31::0;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;26321:2:31;2020:73:5;;;26303:21:31;26360:2;26340:18;;;26333:30;26399:34;26379:18;;;26372:62;-1:-1:-1;;;26450:18:31;;;26443:39;26499:19;;2020:73:5;26119:405:31;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;8364:136:21:-;4491:19;;-1:-1:-1;;;;;4491:19:21;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:21;;;;;;;;;;;4466:74;-1:-1:-1;;;;;8462:19:21;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:31:::1;::::0;;::::1;::::0;;;;;;:33;;;;::::1;::::0;::::1;::::0;::::1;:::i;6976:150::-:0;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;7048:6:::1;7058:1;7048:11:::0;7045:45:::1;;7068:22;;-1:-1:-1::0;;;7068:22:21::1;;;;;;;;;;;7045:45;7096:16;:25:::0;6976:150::o;2463:23::-;;;;;;;:::i;7294:165::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;7381:3:::1;7372:6;:12;;;7369:46;;;7393:22;;-1:-1:-1::0;;;7393:22:21::1;;;;;;;;;;;7369:46;7421:24;:33:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;7421:33:21;;::::1;::::0;;;::::1;::::0;;7294:165::o;9484:137::-;9575:7;9560:4;-1:-1:-1;;;;;4707:22:21;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:21;;;;;;;;;;;4704:50;-1:-1:-1;;;;;9597:19:21;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;-1:-1:-1;4760:1:21::1;9484:137:::0;;;;:::o;4770:875::-;1094:13:0;:11;:13::i;:::-;5012:10:21::1;4994:17;:29:::0;;;:10:::1;:29;::::0;;;;:36;;-1:-1:-1;;4994:36:21::1;5026:4;4994:36;::::0;;5037:9:::1;:28:::0;;-1:-1:-1;;;;;5037:28:21;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;5037:28:21;;::::1;::::0;;;::::1;::::0;;;5071:18:::1;:61:::0;;;;::::1;-1:-1:-1::0;;;;;;5071:61:21;;::::1;;::::0;;;5138:20:::1;:67:::0;;;;::::1;::::0;;::::1;;::::0;;5211:19:::1;:64:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;5282:9:::1;:20;5294:8:::0;5282:9;:20:::1;:::i;:::-;-1:-1:-1::0;5362:10:21::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5362:10:21::1;::::0;;::::1;::::0;;;;5374:12;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5374:12:21;;::::1;::::0;5388:15;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5388:15:21;;::::1;::::0;5327:77;;::::1;::::0;5350:9:::1;::::0;5362:10;5388:15;;5327:77:::1;;:::i;:::-;;;;;;;;;;;;;5308:9;:97;;;;;;:::i;:::-;-1:-1:-1::0;5477:10:21::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5477:10:21::1;::::0;;::::1;::::0;;;;5489:12;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5489:12:21;;::::1;::::0;5503:15;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5503:15:21;;::::1;::::0;5442:77;;::::1;::::0;5465:9:::1;::::0;5477:10;5503:15;;5442:77:::1;;:::i;:::-;;;;;;;;;;;;;5411:14;:114;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;5531:28:21;::::1;;::::0;;;:19;:28:::1;::::0;;;;:35;;-1:-1:-1;;5531:35:21::1;5562:4;5531:35;::::0;;5573:68:::1;5593:3;5589:1;:7;5573:68;;;5611:19;::::0;;;:16:::1;:19;::::0;;;;5633:1:::1;5611:23:::0;;5628:1;5598:3:::1;5628:1:::0;5598:3:::1;:::i;:::-;;;;5573:68;;;;4770:875:::0;;;;;;:::o;8827:150::-;8917:8;8902:4;-1:-1:-1;;;;;4707:22:21;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:21;;;;;;;;;;;4704:50;-1:-1:-1;;;;;;;8940:19:21;;;::::1;8971:1;8940:19:::0;;;:13:::1;:19;::::0;;;;;;;:28:::1;::::0;;::::1;::::0;;;;;;;;::::1;:32:::0;;;8827:150::o;8645:178::-;4491:19;;8760:8;;-1:-1:-1;;;;;4491:19:21;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:21;;;;;;;;;;;4466:74;-1:-1:-1;;;;;;8783:19:21;;;::::1;8817:1;8783:19:::0;;;:13:::1;:19;::::0;;;;;;;:31:::1;::::0;;::::1;::::0;;;;;;;;::::1;:35:::0;;;8645:178::o;15130:1165::-;15254:10;15169:4;15240:25;;;:13;:25;;;;;;;;15266:3;15240:30;;;;;;;;;;:35;;15237:75;;15284:28;;-1:-1:-1;;;15284:28:21;;;;;;;;;;;15237:75;15339:16;;15321:15;;:34;15318:68;;;15364:22;;-1:-1:-1;;;15364:22:21;;;;;;;;;;;15318:68;15426:9;;15419:42;;-1:-1:-1;;;15419:42:21;;15455:4;15419:42;;;3709:51:31;15393:23:21;;15426:9;;;-1:-1:-1;;;;;15426:9:21;;15419:27;;3682:18:31;;15419:42:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15393:68;;15488:16;;15470:15;:34;15467:65;;;15513:19;;-1:-1:-1;;;15513:19:21;;;;;;;;;;;15467:65;15599:15;15630:7;15625:206;15644:3;15639:1;:8;;;15625:206;;15676:10;15662:25;;;;:13;:25;;;;;;;;:28;;;;;;;;;;;;:33;;15658:90;;15720:4;15707:17;;15734:5;;15658:90;15769:10;15755:25;;;;:13;:25;;;;;;;;:28;;;;;;;;;;:30;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;15813:3;;;;;;;15625:206;;;;15839:10;15836:41;;;15858:19;;-1:-1:-1;;;15858:19:21;;;;;;;;;;;15836:41;15917:39;15926:10;15938:9;15917:39;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15949:3;15954:1;15917:8;:39::i;:::-;16000:9;;16032:16;;15993:56;;-1:-1:-1;;;15993:56:21;;16020:10;15993:56;;;23903:51:31;23970:18;;;23963:34;;;;16000:9:21;;;;-1:-1:-1;;;;;16000:9:21;;15993:26;;23876:18:31;;15993:56:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16074:16;;16055:15;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;16122:19:21;;:50;;-1:-1:-1;;;16122:50:21;;16161:10;16122:50;;;3709:51:31;16097:22:21;;-1:-1:-1;;;;;16122:19:21;;:38;;3682:18:31;;16122:50:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16097:75;;16182:17;16178:54;;16208:24;;-1:-1:-1;;;16208:24:21;;;;;;;;;;;16178:54;16244:29;;16271:1;;16259:10;;16244:29;;;;;16286:4;16279:11;;;;;15130:1165;:::o;2633:102:5:-;2689:13;2721:7;2714:14;;;;;:::i;7463:212:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;7563:9:::1;:22;7575:10:::0;7563:9;:22:::1;:::i;:::-;-1:-1:-1::0;7591:14:21::1;:32;7608:15:::0;7591:14;:32:::1;:::i;:::-;;7654:15;7634:36;;;;;;:::i;:::-;;;;;;;;7642:10;7634:36;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;7463:212:::0;;:::o;13989:1021::-;14078:2;-1:-1:-1;;;;;4707:22:21;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:21;;;;;;;;;;;4704:50;14097:10:::1;-1:-1:-1::0;;;;;14091:16:21;::::1;::::0;14088:45:::1;;14116:17;;-1:-1:-1::0;;;14116:17:21::1;;;;;;;;;;;14088:45;14145:9;14140:811;14156:22:::0;;::::1;14140:811;;;14210:10;14196:25;::::0;;;:13:::1;:25;::::0;;;;;14222:11;;14234:1;14222:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14196:41;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14196:41:21;;;;;;::::1;:46:::0;;14193:86:::1;;14251:28;;-1:-1:-1::0;;;14251:28:21::1;;;;;;;;;;;14193:86;14301:10;14287:25;::::0;;;:13:::1;:25;::::0;;;;;14313:11;;14325:1;14313:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14287:41;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14287:41:21;;;:43;;;;::::1;::::0;:41;:43:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;14338:13;:17;14352:2;-1:-1:-1::0;;;;;14338:17:21::1;-1:-1:-1::0;;;;;14338:17:21::1;;;;;;;;;;;;:33;14356:11;;14368:1;14356:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14338:33;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14338:33:21;;;:35;;;;::::1;::::0;:33;:35:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;14386:34;;;;;;;;;;;14382:563;;;14448:19;::::0;14432:13:::1;::::0;-1:-1:-1;;;;;14448:19:21::1;:28;14477:10;14489:11:::0;;14501:1;14489:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14448:56;::::0;-1:-1:-1;;;;;;14448:56:21::1;::::0;;;;;;-1:-1:-1;;;;;18345:32:31;;;14448:56:21::1;::::0;::::1;18327:51:31::0;18426:4;18414:17;18394:18;;;18387:45;18300:18;;14448:56:21::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14550:10;14514:19;14536:25:::0;;;:13:::1;:25;::::0;;;;14432:72;;-1:-1:-1;14514:19:21;14580:1:::1;::::0;14514:19;14562:11;;14574:1;14562:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14536:41;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14536:41:21;;::::1;:45;::::0;-1:-1:-1;14881:9:21;::::1;::::0;:27:::1;;;14894:14;14881:27;14873:63;;;;-1:-1:-1::0;;;14873:63:21::1;;;;;;;:::i;:::-;14422:523;;14382:563;14180:3:::0;::::1;::::0;::::1;:::i;:::-;;;;14140:811;;;;14993:11;;14961:44;;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;14961:44:21;::::1;::::0;14977:10:::1;::::0;14961:44:::1;::::0;;;::::1;13989:1021:::0;;;;:::o;4169:153:5:-;4263:52;734:10:12;4296:8:5;4306;4263:18;:52::i;:::-;4169:153;;:::o;19583:183:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;19649:7:::1;19645:117;19661:3;19658:1;:6;;;19645:117;;-1:-1:-1::0;;;;;19729:19:21;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:22:::1;::::0;;::::1;::::0;;;;;;:24;;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;19666:3;;;;;:::i;:::-;;;;19645:117;;12524:560:::0;4491:19;;-1:-1:-1;;;;;4491:19:21;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:21;;;;;;;;;;;4466:74;12690:4;-1:-1:-1;;;;;4707:22:21;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:21::1;;;;;;;;;;;4704:50;12713:2:::0;-1:-1:-1;;;;;4707:22:21;::::2;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:21::2;;;;;;;;;;;4704:50;-1:-1:-1::0;;;;;12726:19:21;::::3;;::::0;;;:13:::3;:19;::::0;;;;;;;:35:::3;::::0;;::::3;::::0;;;;;;;;::::3;:40:::0;;:80:::3;;-1:-1:-1::0;;;;;;12770:17:21;::::3;;::::0;;;:13:::3;:17;::::0;;;;;;;:31:::3;::::0;;::::3;::::0;;;;;;;;::::3;:36:::0;12726:80:::3;12723:120;;;12815:28;;-1:-1:-1::0;;;12815:28:21::3;;;;;;;;;;;12723:120;-1:-1:-1::0;;;;;12850:19:21;::::3;;::::0;;;:13:::3;:19;::::0;;;;;;;:35:::3;::::0;;::::3;::::0;;;;;;:37;;;;::::3;::::0;::::3;::::0;::::3;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;-1:-1:-1;;;;;12893:17:21;::::3;-1:-1:-1::0;12893:17:21;;;:13:::3;:17;::::0;;;;;;;:33;;::::3;::::0;;;;;;;:35;;;;::::3;::::0;-1:-1:-1;12893:35:21::3;::::0;::::3;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;-1:-1:-1;;;;;12934:17:21;::::3;-1:-1:-1::0;12934:17:21;;;:13:::3;:17;::::0;;;;;;;:31;;::::3;::::0;;;;;;;:33;;;;::::3;::::0;-1:-1:-1;12934:33:21::3;::::0;::::3;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;-1:-1:-1;;;;;12973:19:21;::::3;-1:-1:-1::0;12973:19:21;;;:13:::3;:19;::::0;;;;;;;:33;;::::3;::::0;;;;;;;:35;;;;::::3;::::0;-1:-1:-1;12973:35:21::3;::::0;::::3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;13046:2;-1:-1:-1::0;;;;;13020:59:21::3;13040:4;-1:-1:-1::0;;;;;13020:59:21::3;;13050:14;13066:12;13020:59;;;;;;30649:4:31::0;30637:17;;;30619:36;;30691:17;;30686:2;30671:18;;30664:45;30607:2;30592:18;;30453:262;13020:59:21::3;;;;;;;;4760:1:::2;4546::::1;12524:560:::0;;;;:::o;5189:276:5:-;5319:41;734:10:12;5352:7:5;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;7130:160:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;7207:6:::1;7217:1;7207:11:::0;7204:45:::1;;7227:22;;-1:-1:-1::0;;;7227:22:21::1;;;;;;;;;;;7204:45;7255:21;:30:::0;7130:160::o;17985:878::-;18048:10;18034:25;;;;:13;:25;;;;;;;;:34;;;;;;;;;;;;:39;;18031:79;;18082:28;;-1:-1:-1;;;18082:28:21;;;;;;;;;;;18031:79;18121:30;;;;;;;18117:519;;;18177:19;;:49;;-1:-1:-1;;;18177:49:21;;18206:10;18177:49;;;18327:51:31;18426:4;18414:17;;18394:18;;;18387:45;18161:13:21;;-1:-1:-1;;;;;18177:19:21;;:28;;18300:18:31;;18177:49:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18270:10;18234:19;18256:25;;;:13;:25;;;;;;;;:34;;;;;;;;;;;;18161:65;;-1:-1:-1;18293:1:21;18256:34;;:38;18574:9;;;:27;;;18587:14;18574:27;18566:63;;;;-1:-1:-1;;;18566:63:21;;;;;;;:::i;:::-;18153:483;;18117:519;18656:10;18642:25;;;;:13;:25;;;;;;;;:34;;;;;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;18685:17;18742:9;18754:10;;;;;;;;;;;;;-1:-1:-1;;;18754:10:21;;;18772:7;:16;;;;;;:18;;;;;;;;;;;;;3342:25:31;;3330:2;3315:18;;3196:177;18772:18:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18772:18:21;;;;;;;;;;;;:::i;:::-;18793:14;;;;;;;;;;;;;-1:-1:-1;;;18793:14:21;;;18719:89;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18685:129;;18821:37;18830:10;18842:3;18847:7;18821:37;;18856:1;18821:8;:37::i;584:165:22:-;683:13;719:23;734:7;719:14;:23::i;6354:242:21:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;6451:19;-1:-1:-1;;;;;4707:22:21;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:21::1;;;;;;;;;;;4704:50;6477:18:::2;:61:::0;;-1:-1:-1;;;;;;6477:61:21::2;-1:-1:-1::0;;;;;6477:61:21;::::2;::::0;;::::2;::::0;;;6549:42:::2;::::0;::::2;::::0;-1:-1:-1;;6549:42:21::2;4644:1:::1;6354:242:::0;:::o;9194:125::-;9292:15;;9265:24;;9242:7;;9311:3;;9265:42;;9292:15;9265:24;;;;;:42;:::i;:::-;9264:50;;;;:::i;:::-;9257:57;;9194:125;:::o;7679:137::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;7767:33:::1;:44:::0;;-1:-1:-1;;7767:44:21::1;::::0;::::1;;::::0;;;::::1;::::0;;7679:137::o;6600:258::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;6701:21;-1:-1:-1;;;;;4707:22:21;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:21::1;;;;;;;;;;;4704:50;6729:20:::2;:67:::0;;-1:-1:-1;;;;;;6729:67:21::2;-1:-1:-1::0;;;;;6729:67:21;::::2;::::0;;::::2;::::0;;;6807:46:::2;::::0;::::2;::::0;-1:-1:-1;;6807:46:21::2;4644:1:::1;6600:258:::0;:::o;8098:116::-;4357:18;;-1:-1:-1;;;;;4357:18:21;4335:10;:41;4332:77;;4385:24;;-1:-1:-1;;;4385:24:21;;;;;;;;;;;4332:77;8183:11:::1;:26:::0;8098:116::o;2522:23::-;;;;;;;:::i;5869:103::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;5934:33:::1;::::0;-1:-1:-1;;;5934:33:21;;:11:::1;:33;::::0;::::1;20568:25:31::0;-1:-1:-1;;;;;20629:32:31;;20609:18;;;20602:60;5934:21:21::1;::::0;::::1;::::0;20541:18:31;;5934:33:21::1;20362:306:31::0;2074:198:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;31939:2:31;2154:73:0::1;::::0;::::1;31921:21:31::0;31978:2;31958:18;;;31951:30;32017:34;31997:18;;;31990:62;-1:-1:-1;;;32068:18:31;;;32061:36;32114:19;;2154:73:0::1;31737:402:31::0;2154:73:0::1;2237:28;2256:8;2237:18;:28::i;7820:131:21:-:0;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:21;;;;;;;;;;;4584:54;7905:30:::1;:41:::0;;;::::1;;;;-1:-1:-1::0;;7905:41:21;;::::1;::::0;;;::::1;::::0;;7820:131::o;535:205:9:-;637:4;-1:-1:-1;;;;;;660:33:9;;-1:-1:-1;;;660:33:9;;:73;;;697:36;721:11;697:23;:36::i;13240:133:5:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;25968:2:31;13313:53:5;;;25950:21:31;26007:2;25987:18;;;25980:30;-1:-1:-1;;;26026:18:31;;;26019:54;26090:18;;13313:53:5;25766:348:31;12572:171:5;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;11387:1133:21:-;11528:18;;:43;;-1:-1:-1;;;11528:43:21;;;;;3342:25:31;;;-1:-1:-1;;;;;11528:51:21;;;;:18;;:31;;3315:18:31;;11528:43:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11528:51:21;;11525:76;;11588:13;;-1:-1:-1;;;11588:13:21;;;;;;;;;;;11525:76;11629:2;11610:8;:15;:21;11607:52;;11640:19;;-1:-1:-1;;;11640:19:21;;;;;;;;;;;11607:52;11670:33;;;;11666:319;;;11788:117;;-1:-1:-1;;;11788:117:21;;11771:14;;11788:15;;:32;;:117;;11830:10;;11850;;11870:8;;11888:9;;;;11788:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11924:27:21;;;;;;:19;:27;;;;;;11771:134;;-1:-1:-1;11924:27:21;;11920:58;;11960:18;;-1:-1:-1;;;11960:18:21;;;;;;;;;;;11920:58;11705:280;11666:319;11991:18;;:45;;-1:-1:-1;;;11991:45:21;;;;;20568:25:31;;;-1:-1:-1;;;;;20629:32:31;;;20609:18;;;20602:60;11991:18:21;;;;:27;;20541:18:31;;11991:45:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12089:1;12075:11;;:15;;;;:::i;:::-;12061:11;;:29;;;;:::i;:::-;12042:15;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;12107:9:21;;-1:-1:-1;12102:364:21;12122:8;:15;12118:1;:19;12102:364;;;12151:8;12160:1;12151:11;;;;;;;;:::i;:::-;;;;;;;:18;;12166:3;12151:18;12148:192;;12200:3;12183:21;;:16;:21;;;;12207:4;-1:-1:-1;12180:59:21;;;12220:19;;-1:-1:-1;;;12220:19:21;;;;;;;;;;;12180:59;12148:192;;;12299:4;12267:16;:29;12284:8;12293:1;12284:11;;;;;;;;:::i;:::-;;;;;;;12267:29;;;;;;;;;;;;;;:36;12264:67;;;12312:19;;-1:-1:-1;;;12312:19:21;;;;;;;;;;;12264:67;12347:16;:29;12364:8;12373:1;12364:11;;;;;;;;:::i;:::-;;;;;;;12347:29;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;12386:19:21;;;;;;:13;:19;;;;;12406:11;;12386:19;;;12406:8;;12415:1;;12406:11;;;;;;:::i;:::-;;;;;;;12386:32;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12448:3;;;;;;;12102:364;;;;12504:10;12494:8;12477:38;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;12477:38:21;;;;;;;;11387:1133;;;;;:::o;18867:341::-;18982:16;;18964:15;19004:16;;;:7;:16;;;;;:34;;;19044:23;;;:33;;;19083:22;;:31;;-1:-1:-1;;19083:31:21;;;;;;;;;19120:23;19130:3;18982:16;19120:9;:23::i;:::-;19149:27;19162:7;19171:4;19149:12;:27::i;:::-;19202:1;19182:16;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;18867:341:21:o;7404:261:5:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;-1:-1:-1;;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;33307:2:31;11437:65:5;;;33289:21:31;33346:2;33326:18;;;33319:30;33385:34;33365:18;;;33358:62;-1:-1:-1;;;33436:18:31;;;33429:34;33480:19;;11437:65:5;33105:400:31;11437:65:5;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;465:113:22:-;551:20;563:7;551:11;:20::i;1359:130:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;734:10:12;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;33712:2:31;1414:68:0;;;33694:21:31;;;33731:18;;;33724:30;33790:34;33770:18;;;33763:62;33842:18;;1414:68:0;33510:356:31;2426:187:0;2518:6;;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;12879:277:5:-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;34073:2:31;12982:55:5;;;34055:21:31;34112:2;34092:18;;;34085:30;34151:27;34131:18;;;34124:55;34196:18;;12982:55:5;33871:349:31;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;540::31;;;13108::5;;513:18:31;13108:41:5;400:187:31;6326:267:5;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;806:608:9:-;879:13;904:23;919:7;904:14;:23::i;:::-;938;964:19;;;:10;:19;;;;;938:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:18;1014:10;3395:9:5;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;1014:10:9;993:31;;1103:4;1097:18;1119:1;1097:23;1093:70;;-1:-1:-1;1143:9:9;806:608;-1:-1:-1;;806:608:9:o;1093:70::-;1265:23;;:27;1261:106;;1339:4;1345:9;1322:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1308:48;;;;806:608;;;:::o;1261:106::-;1384:23;1399:7;1384:14;:23::i;1570:300:5:-;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;829:155:15;7995:108:5;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;1599:253:9:-;7185:4:5;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;1690:75:9;;;;-1:-1:-1;;;1690:75:9;;35347:2:31;1690:75:9;;;35329:21:31;35386:2;35366:18;;;35359:30;35425:34;35405:18;;;35398:62;-1:-1:-1;;;35476:18:31;;;35469:44;35530:19;;1690:75:9;35145:410:31;1690:75:9;1775:19;;;;:10;:19;;;;;:31;1797:9;1775:19;:31;:::i;:::-;-1:-1:-1;1822:23:9;;3342:25:31;;;1822:23:9;;3330:2:31;3315:18;1822:23:9;;;;;;;1599:253;;:::o;2070:200::-;2138:20;2150:7;2138:11;:20::i;:::-;2179:19;;;;:10;:19;;;;;2173:33;;;;;:::i;:::-;:38;;-1:-1:-1;2169:95:9;;2234:19;;;;:10;:19;;;;;2227:26;;;:::i;13925:831:5:-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14129:71;;-1:-1:-1;;;14129:71:5;;-1:-1:-1;;;;;14129:36:5;;;;;:71;;734:10:12;;14180:4:5;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;14728:11;;2801:276;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;8324:279::-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:5;;;;;;;:::i;10171:762::-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10441:23;10456:7;10441:14;:23::i;:::-;10509:24;;;;:15;:24;;;;;;;;10502:31;;-1:-1:-1;;;;;;10502:31:5;;;;;;-1:-1:-1;;;;;10749:16:5;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10749:21:5;;;10797:16;;;:7;:16;;;;;;10790:23;;;;;;;10829:36;10433:31;;-1:-1:-1;10525:7:5;;10829:36;;10509:24;;10829:36;4169:153;;:::o;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;-1:-1:-1;;;;;627:18:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;8925:920:5:-;-1:-1:-1;;;;;9004:16:5;;8996:61;;;;-1:-1:-1;;;8996:61:5;;36510:2:31;8996:61:5;;;36492:21:31;;;36529:18;;;36522:30;36588:34;36568:18;;;36561:62;36640:18;;8996:61:5;36308:356:31;8996:61:5;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:5;;36871:2:31;9067:58:5;;;36853:21:31;36910:2;36890:18;;;36883:30;36949;36929:18;;;36922:58;36997:18;;9067:58:5;36669:352:31;9067:58:5;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:5;;36871:2:31;9271:58:5;;;36853:21:31;36910:2;36890:18;;;36883:30;36949;36929:18;;;36922:58;36997:18;;9271:58:5;36669:352:31;9271:58:5;-1:-1:-1;;;;;9671:13:5;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:5;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:31:-;-1:-1:-1;;;;;;88:32:31;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:131::-;-1:-1:-1;;;;;667:31:31;;657:42;;647:70;;713:1;710;703:12;728:247;787:6;840:2;828:9;819:7;815:23;811:32;808:52;;;856:1;853;846:12;808:52;895:9;882:23;914:31;939:5;914:31;:::i;980:444::-;1031:3;1069:5;1063:12;1096:6;1091:3;1084:19;1122:4;1151:2;1146:3;1142:12;1135:19;;1188:2;1181:5;1177:14;1209:1;1219:180;1233:6;1230:1;1227:13;1219:180;;;1298:13;;1313:4;1294:24;1282:37;;1339:12;;;;1374:15;;;;1255:1;1248:9;1219:180;;;-1:-1:-1;1415:3:31;;980:444;-1:-1:-1;;;;;980:444:31:o;1429:1006::-;1750:2;1739:9;1732:21;1713:4;1776:54;1826:2;1815:9;1811:18;1803:6;1776:54;:::i;:::-;1849:2;1899:9;1891:6;1887:22;1882:2;1871:9;1867:18;1860:50;1933:42;1968:6;1960;1933:42;:::i;:::-;2011:22;;;2006:2;1991:18;;1984:50;2083:13;;2105:22;;;2181:15;;;;-1:-1:-1;2143:15:31;;;;2214:1;2224:185;2238:6;2235:1;2232:13;2224:185;;;2313:13;;2306:21;2299:29;2287:42;;2384:15;;;;2349:12;;;;2260:1;2253:9;2224:185;;;-1:-1:-1;2426:3:31;;1429:1006;-1:-1:-1;;;;;;;;1429:1006:31:o;2440:250::-;2525:1;2535:113;2549:6;2546:1;2543:13;2535:113;;;2625:11;;;2619:18;2606:11;;;2599:39;2571:2;2564:10;2535:113;;;-1:-1:-1;;2682:1:31;2664:16;;2657:27;2440:250::o;2695:271::-;2737:3;2775:5;2769:12;2802:6;2797:3;2790:19;2818:76;2887:6;2880:4;2875:3;2871:14;2864:4;2857:5;2853:16;2818:76;:::i;:::-;2948:2;2927:15;-1:-1:-1;;2923:29:31;2914:39;;;;2955:4;2910:50;;2695:271;-1:-1:-1;;2695:271:31:o;2971:220::-;3120:2;3109:9;3102:21;3083:4;3140:45;3181:2;3170:9;3166:18;3158:6;3140:45;:::i;3378:180::-;3437:6;3490:2;3478:9;3469:7;3465:23;3461:32;3458:52;;;3506:1;3503;3496:12;3458:52;-1:-1:-1;3529:23:31;;3378:180;-1:-1:-1;3378:180:31:o;3771:315::-;3839:6;3847;3900:2;3888:9;3879:7;3875:23;3871:32;3868:52;;;3916:1;3913;3906:12;3868:52;3955:9;3942:23;3974:31;3999:5;3974:31;:::i;:::-;4024:5;4076:2;4061:18;;;;4048:32;;-1:-1:-1;;;3771:315:31:o;4091:127::-;4152:10;4147:3;4143:20;4140:1;4133:31;4183:4;4180:1;4173:15;4207:4;4204:1;4197:15;4223:275;4294:2;4288:9;4359:2;4340:13;;-1:-1:-1;;4336:27:31;4324:40;;-1:-1:-1;;;;;4379:34:31;;4415:22;;;4376:62;4373:88;;;4441:18;;:::i;:::-;4477:2;4470:22;4223:275;;-1:-1:-1;4223:275:31:o;4503:181::-;4561:4;-1:-1:-1;;;;;4586:6:31;4583:30;4580:56;;;4616:18;;:::i;:::-;-1:-1:-1;4661:1:31;4657:14;4673:4;4653:25;;4503:181::o;4689:156::-;4755:20;;4815:4;4804:16;;4794:27;;4784:55;;4835:1;4832;4825:12;4784:55;4689:156;;;:::o;4850:662::-;4902:5;4955:3;4948:4;4940:6;4936:17;4932:27;4922:55;;4973:1;4970;4963:12;4922:55;5009:6;4996:20;5035:4;5059:58;5075:41;5113:2;5075:41;:::i;:::-;5059:58;:::i;:::-;5151:15;;;5237:1;5233:10;;;;5221:23;;5217:32;;;5182:12;;;;5261:15;;;5258:35;;;5289:1;5286;5279:12;5258:35;5325:2;5317:6;5313:15;5337:146;5353:6;5348:3;5345:15;5337:146;;;5419:21;5436:3;5419:21;:::i;:::-;5407:34;;5461:12;;;;5370;;5337:146;;;-1:-1:-1;5501:5:31;4850:662;-1:-1:-1;;;;;;4850:662:31:o;5517:881::-;5628:6;5636;5644;5652;5705:2;5693:9;5684:7;5680:23;5676:32;5673:52;;;5721:1;5718;5711:12;5673:52;5757:9;5744:23;5734:33;;5818:2;5807:9;5803:18;5790:32;-1:-1:-1;;;;;5882:2:31;5874:6;5871:14;5868:34;;;5898:1;5895;5888:12;5868:34;5921:59;5972:7;5963:6;5952:9;5948:22;5921:59;:::i;:::-;5911:69;;6033:2;6022:9;6018:18;6005:32;5989:48;;6062:2;6052:8;6049:16;6046:36;;;6078:1;6075;6068:12;6046:36;6116:8;6105:9;6101:24;6091:34;;6163:7;6156:4;6152:2;6148:13;6144:27;6134:55;;6185:1;6182;6175:12;6134:55;6225:2;6212:16;6251:2;6243:6;6240:14;6237:34;;;6267:1;6264;6257:12;6237:34;6312:7;6307:2;6298:6;6294:2;6290:15;6286:24;6283:37;6280:57;;;6333:1;6330;6323:12;6280:57;5517:881;;;;-1:-1:-1;;6364:2:31;6356:11;;-1:-1:-1;;;5517:881:31:o;6641:317::-;6707:6;6715;6768:2;6756:9;6747:7;6743:23;6739:32;6736:52;;;6784:1;6781;6774:12;6736:52;6823:9;6810:23;6842:31;6867:5;6842:31;:::i;:::-;6892:5;-1:-1:-1;6916:36:31;6948:2;6933:18;;6916:36;:::i;:::-;6906:46;;6641:317;;;;;:::o;7152:904::-;7214:5;7267:3;7260:4;7252:6;7248:17;7244:27;7234:55;;7285:1;7282;7275:12;7234:55;7321:6;7308:20;7347:4;7371:58;7387:41;7425:2;7387:41;:::i;7371:58::-;7463:15;;;7549:1;7545:10;;;;7533:23;;7529:32;;;7494:12;;;;7573:15;;;7570:35;;;7601:1;7598;7591:12;7570:35;7637:2;7629:6;7625:15;7649:378;7665:6;7660:3;7657:15;7649:378;;;7751:3;7738:17;-1:-1:-1;;;;;7774:11:31;7771:35;7768:125;;;7847:1;7876:2;7872;7865:14;7768:125;7918:66;7980:3;7975:2;7961:11;7953:6;7949:24;7945:33;7918:66;:::i;:::-;7906:79;;-1:-1:-1;8005:12:31;;;;7682;;7649:378;;8061:374;8131:8;8141:6;8195:3;8188:4;8180:6;8176:17;8172:27;8162:55;;8213:1;8210;8203:12;8162:55;-1:-1:-1;8236:20:31;;-1:-1:-1;;;;;8268:30:31;;8265:50;;;8311:1;8308;8301:12;8265:50;8348:4;8340:6;8336:17;8324:29;;8408:3;8401:4;8391:6;8388:1;8384:14;8376:6;8372:27;8368:38;8365:47;8362:67;;;8425:1;8422;8415:12;8362:67;8061:374;;;;;:::o;8440:1571::-;8635:6;8643;8651;8659;8667;8720:3;8708:9;8699:7;8695:23;8691:33;8688:53;;;8737:1;8734;8727:12;8688:53;8760:27;8777:9;8760:27;:::i;:::-;8750:37;;8806:2;8859;8848:9;8844:18;8831:32;-1:-1:-1;;;;;8923:2:31;8915:6;8912:14;8909:34;;;8939:1;8936;8929:12;8909:34;8977:6;8966:9;8962:22;8952:32;;9022:7;9015:4;9011:2;9007:13;9003:27;8993:55;;9044:1;9041;9034:12;8993:55;9080:2;9067:16;9103:58;9119:41;9157:2;9119:41;:::i;9103:58::-;9195:15;;;9277:1;9273:10;;;;9265:19;;9261:28;;;9226:12;;;;9301:19;;;9298:39;;;9333:1;9330;9323:12;9298:39;9357:11;;;;9377:142;9393:6;9388:3;9385:15;9377:142;;;9459:17;;9447:30;;9410:12;;;;9497;;;;9377:142;;;9538:5;-1:-1:-1;;;9596:2:31;9581:18;;9568:32;;-1:-1:-1;9612:16:31;;;9609:36;;;9641:1;9638;9631:12;9609:36;9664:71;9727:7;9716:8;9705:9;9701:24;9664:71;:::i;:::-;9654:81;;9788:2;9777:9;9773:18;9760:32;9744:48;;9817:2;9807:8;9804:16;9801:36;;;9833:1;9830;9823:12;9801:36;;;9872:79;9943:7;9932:8;9921:9;9917:24;9872:79;:::i;:::-;8440:1571;;;;-1:-1:-1;8440:1571:31;;-1:-1:-1;9970:8:31;;9846:105;8440:1571;-1:-1:-1;;;8440:1571:31:o;10016:442::-;10100:6;10108;10161:2;10149:9;10140:7;10136:23;10132:32;10129:52;;;10177:1;10174;10167:12;10129:52;10217:9;10204:23;-1:-1:-1;;;;;10242:6:31;10239:30;10236:50;;;10282:1;10279;10272:12;10236:50;10321:77;10390:7;10381:6;10370:9;10366:22;10321:77;:::i;:::-;10417:8;;10295:103;;-1:-1:-1;10016:442:31;-1:-1:-1;;;;10016:442:31:o;10463:456::-;10540:6;10548;10556;10609:2;10597:9;10588:7;10584:23;10580:32;10577:52;;;10625:1;10622;10615:12;10577:52;10664:9;10651:23;10683:31;10708:5;10683:31;:::i;:::-;10733:5;-1:-1:-1;10790:2:31;10775:18;;10762:32;10803:33;10762:32;10803:33;:::i;:::-;10463:456;;10855:7;;-1:-1:-1;;;10909:2:31;10894:18;;;;10881:32;;10463:456::o;10924:182::-;10981:6;11034:2;11022:9;11013:7;11009:23;11005:32;11002:52;;;11050:1;11047;11040:12;11002:52;11073:27;11090:9;11073:27;:::i;11347:547::-;11447:6;11455;11463;11516:2;11504:9;11495:7;11491:23;11487:32;11484:52;;;11532:1;11529;11522:12;11484:52;11571:9;11558:23;11590:31;11615:5;11590:31;:::i;:::-;11640:5;-1:-1:-1;11692:2:31;11677:18;;11664:32;;-1:-1:-1;11747:2:31;11732:18;;11719:32;-1:-1:-1;;;;;11763:30:31;;11760:50;;;11806:1;11803;11796:12;11760:50;11829:59;11880:7;11871:6;11860:9;11856:22;11829:59;:::i;:::-;11819:69;;;11347:547;;;;;:::o;12384:118::-;12470:5;12463:13;12456:21;12449:5;12446:32;12436:60;;12492:1;12489;12482:12;12507:241;12563:6;12616:2;12604:9;12595:7;12591:23;12587:32;12584:52;;;12632:1;12629;12622:12;12584:52;12671:9;12658:23;12690:28;12712:5;12690:28;:::i;12753:187::-;12802:4;-1:-1:-1;;;;;12827:6:31;12824:30;12821:56;;;12857:18;;:::i;:::-;-1:-1:-1;12923:2:31;12902:15;-1:-1:-1;;12898:29:31;12929:4;12894:40;;12753:187::o;12945:338::-;13010:5;13039:53;13055:36;13084:6;13055:36;:::i;13039:53::-;13030:62;;13115:6;13108:5;13101:21;13155:3;13146:6;13141:3;13137:16;13134:25;13131:45;;;13172:1;13169;13162:12;13131:45;13221:6;13216:3;13209:4;13202:5;13198:16;13185:43;13275:1;13268:4;13259:6;13252:5;13248:18;13244:29;13237:40;12945:338;;;;;:::o;13288:222::-;13331:5;13384:3;13377:4;13369:6;13365:17;13361:27;13351:55;;13402:1;13399;13392:12;13351:55;13424:80;13500:3;13491:6;13478:20;13471:4;13463:6;13459:17;13424:80;:::i;13515:1024::-;13629:6;13637;13645;13653;13661;13669;13722:3;13710:9;13701:7;13697:23;13693:33;13690:53;;;13739:1;13736;13729:12;13690:53;13778:9;13765:23;13797:31;13822:5;13797:31;:::i;:::-;13847:5;-1:-1:-1;13904:2:31;13889:18;;13876:32;13917:33;13876:32;13917:33;:::i;:::-;13969:7;-1:-1:-1;14028:2:31;14013:18;;14000:32;14041:33;14000:32;14041:33;:::i;:::-;14093:7;-1:-1:-1;14152:2:31;14137:18;;14124:32;14165:33;14124:32;14165:33;:::i;:::-;14217:7;-1:-1:-1;14275:3:31;14260:19;;14247:33;-1:-1:-1;;;;;14292:30:31;;14289:50;;;14335:1;14332;14325:12;14289:50;14358;14400:7;14391:6;14380:9;14376:22;14358:50;:::i;:::-;14348:60;;;14460:3;14449:9;14445:19;14432:33;14474;14499:7;14474:33;:::i;:::-;14526:7;14516:17;;;13515:1024;;;;;;;;:::o;14544:543::-;14632:6;14640;14693:2;14681:9;14672:7;14668:23;14664:32;14661:52;;;14709:1;14706;14699:12;14661:52;14749:9;14736:23;-1:-1:-1;;;;;14819:2:31;14811:6;14808:14;14805:34;;;14835:1;14832;14825:12;14805:34;14858:50;14900:7;14891:6;14880:9;14876:22;14858:50;:::i;:::-;14848:60;;14961:2;14950:9;14946:18;14933:32;14917:48;;14990:2;14980:8;14977:16;14974:36;;;15006:1;15003;14996:12;14974:36;;15029:52;15073:7;15062:8;15051:9;15047:24;15029:52;:::i;:::-;15019:62;;;14544:543;;;;;:::o;15092:577::-;15185:6;15193;15201;15254:2;15242:9;15233:7;15229:23;15225:32;15222:52;;;15270:1;15267;15260:12;15222:52;15309:9;15296:23;15328:31;15353:5;15328:31;:::i;:::-;15378:5;-1:-1:-1;15434:2:31;15419:18;;15406:32;-1:-1:-1;;;;;15450:30:31;;15447:50;;;15493:1;15490;15483:12;15447:50;15532:77;15601:7;15592:6;15581:9;15577:22;15532:77;:::i;:::-;15092:577;;15628:8;;-1:-1:-1;15506:103:31;;-1:-1:-1;;;;15092:577:31:o;15674:382::-;15739:6;15747;15800:2;15788:9;15779:7;15775:23;15771:32;15768:52;;;15816:1;15813;15806:12;15768:52;15855:9;15842:23;15874:31;15899:5;15874:31;:::i;:::-;15924:5;-1:-1:-1;15981:2:31;15966:18;;15953:32;15994:30;15953:32;15994:30;:::i;:::-;16043:7;16033:17;;;15674:382;;;;;:::o;16061:529::-;16143:6;16151;16159;16167;16220:3;16208:9;16199:7;16195:23;16191:33;16188:53;;;16237:1;16234;16227:12;16188:53;16276:9;16263:23;16295:31;16320:5;16295:31;:::i;:::-;16345:5;-1:-1:-1;16369:36:31;16401:2;16386:18;;16369:36;:::i;:::-;16359:46;;16457:2;16446:9;16442:18;16429:32;16470:33;16495:7;16470:33;:::i;:::-;16522:7;-1:-1:-1;16548:36:31;16580:2;16565:18;;16548:36;:::i;:::-;16538:46;;16061:529;;;;;;;:::o;16595:795::-;16690:6;16698;16706;16714;16767:3;16755:9;16746:7;16742:23;16738:33;16735:53;;;16784:1;16781;16774:12;16735:53;16823:9;16810:23;16842:31;16867:5;16842:31;:::i;:::-;16892:5;-1:-1:-1;16949:2:31;16934:18;;16921:32;16962:33;16921:32;16962:33;:::i;:::-;17014:7;-1:-1:-1;17068:2:31;17053:18;;17040:32;;-1:-1:-1;17123:2:31;17108:18;;17095:32;-1:-1:-1;;;;;17139:30:31;;17136:50;;;17182:1;17179;17172:12;17136:50;17205:22;;17258:4;17250:13;;17246:27;-1:-1:-1;17236:55:31;;17287:1;17284;17277:12;17236:55;17310:74;17376:7;17371:2;17358:16;17353:2;17349;17345:11;17310:74;:::i;:::-;17300:84;;;16595:795;;;;;;;:::o;17632:388::-;17700:6;17708;17761:2;17749:9;17740:7;17736:23;17732:32;17729:52;;;17777:1;17774;17767:12;17729:52;17816:9;17803:23;17835:31;17860:5;17835:31;:::i;:::-;17885:5;-1:-1:-1;17942:2:31;17927:18;;17914:32;17955:33;17914:32;17955:33;:::i;18025:127::-;18086:10;18081:3;18077:20;18074:1;18067:31;18117:4;18114:1;18107:15;18141:4;18138:1;18131:15;18443:245;18510:6;18563:2;18551:9;18542:7;18538:23;18534:32;18531:52;;;18579:1;18576;18569:12;18531:52;18611:9;18605:16;18630:28;18652:5;18630:28;:::i;18693:127::-;18754:10;18749:3;18745:20;18742:1;18735:31;18785:4;18782:1;18775:15;18809:4;18806:1;18799:15;18825:175;18862:3;18906:4;18899:5;18895:16;18935:4;18926:7;18923:17;18920:43;;18943:18;;:::i;:::-;18992:1;18979:15;;18825:175;-1:-1:-1;;18825:175:31:o;19005:135::-;19044:3;19065:17;;;19062:43;;19085:18;;:::i;:::-;-1:-1:-1;19132:1:31;19121:13;;19005:135::o;19145:380::-;19224:1;19220:12;;;;19267;;;19288:61;;19342:4;19334:6;19330:17;19320:27;;19288:61;19395:2;19387:6;19384:14;19364:18;19361:38;19358:161;;19441:10;19436:3;19432:20;19429:1;19422:31;19476:4;19473:1;19466:15;19504:4;19501:1;19494:15;20673:1099;-1:-1:-1;;;;;21010:32:31;;20992:51;;21062:2;21080:18;;;21073:34;;;20979:3;21138:2;21123:18;;21116:31;;;21196:13;;20964:19;;;21218:22;;;20931:4;;21298:15;;;;21030:3;21256:19;;;20931:4;21341:180;21355:6;21352:1;21349:13;21341:180;;;21420:13;;21435:4;21416:24;21404:37;;21496:15;;;;21461:12;;;;21377:1;21370:9;21341:180;;;21345:3;;21566:9;21561:3;21557:19;21552:2;21541:9;21537:18;21530:47;21598:6;21593:3;21586:19;21649:6;21641;21636:2;21631:3;21627:12;21614:42;21699:1;21676:16;;;21672:25;;21665:36;21756:2;21735:15;;;-1:-1:-1;;21731:29:31;21722:39;;;21718:48;;;;20673:1099;-1:-1:-1;;;;;;;20673:1099:31:o;21777:251::-;21847:6;21900:2;21888:9;21879:7;21875:23;21871:32;21868:52;;;21916:1;21913;21906:12;21868:52;21948:9;21942:16;21967:31;21992:5;21967:31;:::i;22033:521::-;22110:4;22116:6;22176:11;22163:25;22270:2;22266:7;22255:8;22239:14;22235:29;22231:43;22211:18;22207:68;22197:96;;22289:1;22286;22279:12;22197:96;22316:33;;22368:20;;;-1:-1:-1;;;;;;22400:30:31;;22397:50;;;22443:1;22440;22433:12;22397:50;22476:4;22464:17;;-1:-1:-1;22507:14:31;22503:27;;;22493:38;;22490:58;;;22544:1;22541;22534:12;22559:125;22624:9;;;22645:10;;;22642:36;;;22658:18;;:::i;22689:184::-;22759:6;22812:2;22800:9;22791:7;22787:23;22783:32;22780:52;;;22828:1;22825;22818:12;22780:52;-1:-1:-1;22851:16:31;;22689:184;-1:-1:-1;22689:184:31:o;22878:178::-;22915:3;22959:4;22952:5;22948:16;22983:7;22973:41;;22994:18;;:::i;:::-;-1:-1:-1;;23030:20:31;;22878:178;-1:-1:-1;;22878:178:31:o;23061:530::-;23228:3;23259;23306:6;23228:3;23340:224;23354:6;23351:1;23348:13;23340:224;;;23447:4;23421:24;23438:6;23421:24;:::i;:::-;23417:35;23403:50;;23476:4;23502:14;;;;23539:15;;;;;23376:1;23369:9;23340:224;;;-1:-1:-1;23580:5:31;;23061:530;-1:-1:-1;;;;;23061:530:31:o;23596:128::-;23663:9;;;23684:11;;;23681:37;;;23698:18;;:::i;24008:409::-;24210:2;24192:21;;;24249:2;24229:18;;;24222:30;24288:34;24283:2;24268:18;;24261:62;-1:-1:-1;;;24354:2:31;24339:18;;24332:43;24407:3;24392:19;;24008:409::o;24422:347::-;24624:2;24606:21;;;24663:2;24643:18;;;24636:30;24702:25;24697:2;24682:18;;24675:53;24760:2;24745:18;;24422:347::o;25185:217::-;25225:1;25251;25241:132;;25295:10;25290:3;25286:20;25283:1;25276:31;25330:4;25327:1;25320:15;25358:4;25355:1;25348:15;25241:132;-1:-1:-1;25387:9:31;;25185:217::o;26655:545::-;26757:2;26752:3;26749:11;26746:448;;;26793:1;26818:5;26814:2;26807:17;26863:4;26859:2;26849:19;26933:2;26921:10;26917:19;26914:1;26910:27;26904:4;26900:38;26969:4;26957:10;26954:20;26951:47;;;-1:-1:-1;26992:4:31;26951:47;27047:2;27042:3;27038:12;27035:1;27031:20;27025:4;27021:31;27011:41;;27102:82;27120:2;27113:5;27110:13;27102:82;;;27165:17;;;27146:1;27135:13;27102:82;;27376:1352;27502:3;27496:10;-1:-1:-1;;;;;27521:6:31;27518:30;27515:56;;;27551:18;;:::i;:::-;27580:97;27670:6;27630:38;27662:4;27656:11;27630:38;:::i;:::-;27624:4;27580:97;:::i;:::-;27732:4;;27796:2;27785:14;;27813:1;27808:663;;;;28515:1;28532:6;28529:89;;;-1:-1:-1;28584:19:31;;;28578:26;28529:89;-1:-1:-1;;27333:1:31;27329:11;;;27325:24;27321:29;27311:40;27357:1;27353:11;;;27308:57;28631:81;;27778:944;;27808:663;26602:1;26595:14;;;26639:4;26626:18;;-1:-1:-1;;27844:20:31;;;27962:236;27976:7;27973:1;27970:14;27962:236;;;28065:19;;;28059:26;28044:42;;28157:27;;;;28125:1;28113:14;;;;27992:19;;27962:236;;;27966:3;28226:6;28217:7;28214:19;28211:201;;;28287:19;;;28281:26;-1:-1:-1;;28370:1:31;28366:14;;;28382:3;28362:24;28358:37;28354:42;28339:58;28324:74;;28211:201;-1:-1:-1;;;;;28458:1:31;28442:14;;;28438:22;28425:36;;-1:-1:-1;27376:1352:31:o;28733:1421::-;29001:3;29030:1;29063:6;29057:13;29093:36;29119:9;29093:36;:::i;:::-;29148:1;29165:18;;;29192:133;;;;29339:1;29334:356;;;;29158:532;;29192:133;-1:-1:-1;;29225:24:31;;29213:37;;29298:14;;29291:22;29279:35;;29270:45;;;-1:-1:-1;29192:133:31;;29334:356;29365:6;29362:1;29355:17;29395:4;29440:2;29437:1;29427:16;29465:1;29479:165;29493:6;29490:1;29487:13;29479:165;;;29571:14;;29558:11;;;29551:35;29614:16;;;;29508:10;;29479:165;;;29483:3;;;29673:6;29668:3;29664:16;29657:23;;29158:532;;;;;29721:6;29715:13;29737:68;29796:8;29791:3;29784:4;29776:6;29772:17;29737:68;:::i;:::-;29870:13;;29827:18;;;29892:70;29870:13;29827:18;29939:4;29927:17;;29892:70;:::i;:::-;30026:13;;29981:20;;;30048:67;30026:13;29981:20;30095:4;30083:17;;30048:67;:::i;:::-;30131:17;;28733:1421;-1:-1:-1;;;;;;28733:1421:31:o;30159:289::-;30290:3;30328:6;30322:13;30344:66;30403:6;30398:3;30391:4;30383:6;30379:17;30344:66;:::i;:::-;30426:16;;;;;30159:289;-1:-1:-1;;30159:289:31:o;30910:649::-;30990:6;31043:2;31031:9;31022:7;31018:23;31014:32;31011:52;;;31059:1;31056;31049:12;31011:52;31092:9;31086:16;-1:-1:-1;;;;;31117:6:31;31114:30;31111:50;;;31157:1;31154;31147:12;31111:50;31180:22;;31233:4;31225:13;;31221:27;-1:-1:-1;31211:55:31;;31262:1;31259;31252:12;31211:55;31291:2;31285:9;31316:49;31332:32;31361:2;31332:32;:::i;31316:49::-;31388:2;31381:5;31374:17;31428:7;31423:2;31418;31414;31410:11;31406:20;31403:33;31400:53;;;31449:1;31446;31439:12;31400:53;31462:67;31526:2;31521;31514:5;31510:14;31505:2;31501;31497:11;31462:67;:::i;:::-;31548:5;30910:649;-1:-1:-1;;;;;30910:649:31:o;31564:168::-;31637:9;;;31668;;31685:15;;;31679:22;;31665:37;31655:71;;31706:18;;:::i;32144:550::-;32358:13;;32301:3;;32332;;32411:4;32438:15;;;32301:3;32481:186;32495:6;32492:1;32489:13;32481:186;;;32562:13;;32577:4;32558:24;32544:39;;32605:14;;;;32642:15;;;;32517:1;32510:9;32481:186;;;-1:-1:-1;32683:5:31;;32144:550;-1:-1:-1;;;;;;32144:550:31:o;32699:401::-;32901:2;32883:21;;;32940:2;32920:18;;;32913:30;32979:34;32974:2;32959:18;;32952:62;-1:-1:-1;;;33045:2:31;33030:18;;33023:35;33090:3;33075:19;;32699:401::o;34225:414::-;34427:2;34409:21;;;34466:2;34446:18;;;34439:30;34505:34;34500:2;34485:18;;34478:62;-1:-1:-1;;;34571:2:31;34556:18;;34549:48;34629:3;34614:19;;34225:414::o;34644:496::-;34823:3;34861:6;34855:13;34877:66;34936:6;34931:3;34924:4;34916:6;34912:17;34877:66;:::i;:::-;35006:13;;34965:16;;;;35028:70;35006:13;34965:16;35075:4;35063:17;;35028:70;:::i;:::-;35114:20;;34644:496;-1:-1:-1;;;;34644:496:31:o;35560:489::-;-1:-1:-1;;;;;35829:15:31;;;35811:34;;35881:15;;35876:2;35861:18;;35854:43;35928:2;35913:18;;35906:34;;;35976:3;35971:2;35956:18;;35949:31;;;35754:4;;35997:46;;36023:19;;36015:6;35997:46;:::i;:::-;35989:54;35560:489;-1:-1:-1;;;;;;35560:489:31:o;36054:249::-;36123:6;36176:2;36164:9;36155:7;36151:23;36147:32;36144:52;;;36192:1;36189;36182:12;36144:52;36224:9;36218:16;36243:30;36267:5;36243:30;:::i"},"methodIdentifiers":{"DAI_TOKEN()":"e606df87","addOwner(address)":"7065cb48","addSigner(address)":"eb12d61e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","burnCards(uint8[])":"20965a5f","changeMaxPacksToOpenAtOnce(uint8)":"241a08fe","changePackPrice(uint256)":"e1883c6e","changeRequireOfferValidationInMint(bool)":"f98fd283","changeRequireOfferValidationInTransfer(bool)":"68cc5bc1","changeRequireOpenPackSignerValidation(bool)":"dbfc05cf","emergencyWithdraw(uint256)":"5312ea8e","exchangeCardsOffer(address,uint8,address,uint8)":"ad1684fa","finishAlbum()":"9038f414","gammaOffersContract()":"d322b563","gammaPacksContract()":"2f9e026a","gammaTicketsContract()":"14cca36a","getApproved(uint256)":"081812fc","getBurnedCardQttyByUser(address)":"7cf86b72","getCardQuantityByUser(address,uint8)":"1585cc4e","getCardsByUser(address)":"0435dcaf","getLotteryPrize()":"d780c477","hasCard(address,uint8)":"886eb60f","hasCardByOffer(address,uint8)":"8bf670c8","init(address,address,address,address,string,address)":"7de99bd9","isApprovedForAll(address,address)":"e985e9c5","isOwner(address)":"2f54bf6e","isSigner(address)":"7df73e27","mintCard(uint8)":"bf400a6a","name()":"06fdde03","openPack(uint256,uint8[],bytes)":"267b841d","openPacks(uint8,uint256[],uint8[][],bytes[])":"203335f6","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","removeCardByOffer(address,uint8)":"7155a3ac","removeOwner(address)":"173825d9","removeSigner(address)":"0e316ab7","renounceOwnership()":"715018a6","restoreCardByOffer(address,uint8)":"155e2f92","s_baseUri()":"e8a7e31d","s_burnedCards(address)":"07b2e246","s_cards(uint256)":"4c03cd0b","s_cardsByUser(address,uint8)":"9ff26efd","s_cardsInventory(uint256)":"88e0ef80","s_lotteryPrizePercentage()":"6d0af178","s_mainAlbumPrize()":"21a7c6b0","s_mainUri()":"79e8dadc","s_maxPacksToOpenAtOnce()":"ab535160","s_packPrice()":"656bd0ad","s_prizesBalance()":"d7093f40","s_requireOfferValidationInMint()":"147baac7","s_requireOfferValidationInTransfer()":"9a5613ad","s_requireOpenPackSignerValidation()":"e4ae0b9b","s_secondaryAlbumPrize()":"b3526185","s_secondaryUri()":"4039327e","s_tokenIdCounter()":"82d8a118","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setGammaOffersContract(address)":"128916dc","setGammaPacksContract(address)":"cafaa473","setGammaTicketsContract(address)":"ddb975e8","setLotteryPrizePercentage(uint8)":"7ce65f7b","setMainAlbumPrize(uint256)":"7232d7d4","setPrizesBalance(uint256)":"5e31ce48","setSecondaryAlbumPrize(uint256)":"ba6c0fbc","setUris(string,string)":"9c7f707f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","testAddCards(address)":"a419811d","testOpenPack(address,uint256,uint8[])":"30f5cc58","tokenURI(uint256)":"c87b56dd","transferCard(address,uint8)":"2ca699e7","transferCards(address,uint8[])":"a1af8ad4","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","verifyPackSigner(uint256,uint8[],bytes)":"1306952c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotRemoveUserOffers\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CardLimitExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IncorrectPrizeAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientCards\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCardNumber\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTransfer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustCompleteAlbum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotYourPack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyGammaPacksContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOffersContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOwners\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserDoesNotHaveCardOrAlbum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WrongPacksQuantity\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"albumClass\",\"type\":\"uint8\"}],\"name\":\"AlbumCompleted\",\"type\":\"event\"},{\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cardTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"albumTokenId\",\"type\":\"uint256\"}],\"name\":\"CardPasted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"CardTransfered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8[]\",\"name\":\"cardsNumber\",\"type\":\"uint8[]\"}],\"name\":\"CardsBurned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8[]\",\"name\":\"cardNumber\",\"type\":\"uint8[]\"}],\"name\":\"CardsTransfered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EmergencyWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaOffersContract\",\"type\":\"address\"}],\"name\":\"NewGammaOffersContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaPacksContract\",\"type\":\"address\"}],\"name\":\"NewGammaPacksContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaTicketContract\",\"type\":\"address\"}],\"name\":\"NewGammaTicketsContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSigner\",\"type\":\"address\"}],\"name\":\"NewSigner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newMainUri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newSecondaryUri\",\"type\":\"string\"}],\"name\":\"NewUris\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumberFrom\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumberTo\",\"type\":\"uint8\"}],\"name\":\"OfferCardsExchanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"}],\"name\":\"PackOpened\",\"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\":\"DAI_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newSigner\",\"type\":\"address\"}],\"name\":\"addSigner\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8[]\",\"name\":\"cardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"burnCards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_maxPacksToOpenAtOnce\",\"type\":\"uint8\"}],\"name\":\"changeMaxPacksToOpenAtOnce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPackPrice\",\"type\":\"uint256\"}],\"name\":\"changePackPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"required\",\"type\":\"bool\"}],\"name\":\"changeRequireOfferValidationInMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"required\",\"type\":\"bool\"}],\"name\":\"changeRequireOfferValidationInTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"required\",\"type\":\"bool\"}],\"name\":\"changeRequireOpenPackSignerValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"emergencyWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberFrom\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberTo\",\"type\":\"uint8\"}],\"name\":\"exchangeCardsOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finishAlbum\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaOffersContract\",\"outputs\":[{\"internalType\":\"contract IgammaOffersContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaPacksContract\",\"outputs\":[{\"internalType\":\"contract IgammaPacksContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaTicketsContract\",\"outputs\":[{\"internalType\":\"contract IgammaTicketsContract\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getBurnedCardQttyByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNum\",\"type\":\"uint8\"}],\"name\":\"getCardQuantityByUser\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getCardsByUser\",\"outputs\":[{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"},{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLotteryPrize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNum\",\"type\":\"uint8\"}],\"name\":\"hasCard\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"has\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"hasCardByOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"has\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_daiTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaPacksContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaOffersContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaTicketsContract\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_baseUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"user\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isSigner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"cardNum\",\"type\":\"uint8\"}],\"name\":\"mintCard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"packsQuantity\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"packsNumber\",\"type\":\"uint256[]\"},{\"internalType\":\"uint8[][]\",\"name\":\"packsData\",\"type\":\"uint8[][]\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"openPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"removeCardByOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownerToRemove\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signerToRemove\",\"type\":\"address\"}],\"name\":\"removeSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"restoreCardByOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_baseUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"s_burnedCards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"s_cards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pasted\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"completion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"s_cardsByUser\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"amount\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cardNumber\",\"type\":\"uint256\"}],\"name\":\"s_cardsInventory\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_lotteryPrizePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_mainAlbumPrize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_mainUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_maxPacksToOpenAtOnce\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_packPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_prizesBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requireOfferValidationInMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requireOfferValidationInTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requireOpenPackSignerValidation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_secondaryAlbumPrize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_secondaryUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_tokenIdCounter\",\"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\":\"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\":\"_gammaOffersContract\",\"type\":\"address\"}],\"name\":\"setGammaOffersContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaPacksContract\",\"type\":\"address\"}],\"name\":\"setGammaPacksContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaTicketsContract\",\"type\":\"address\"}],\"name\":\"setGammaTicketsContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"amount\",\"type\":\"uint8\"}],\"name\":\"setLotteryPrizePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMainAlbumPrize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setPrizesBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setSecondaryAlbumPrize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newMainUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"newSecondaryUri\",\"type\":\"string\"}],\"name\":\"setUris\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"testAddCards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"}],\"name\":\"testOpenPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"transferCard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8[]\",\"name\":\"cardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"transferCards\",\"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\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyPackSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"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}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"NofGammaCardsV5\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x433cd3be36fe8df2243334d9c80b2b4c6f561fd265a561fb2340a773aea8f5ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4e30eb7023c5a17befec86fcb2cdb54aa30d7d41d38716ab297c3aad1b3b3c\",\"dweb:/ipfs/QmTohDpjVWgCNCFSfBez82zdeFRQpHpa1LQ4JWdgS6TCE3\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":7,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_owner","offset":0,"slot":"7","type":"t_address"},{"astId":4954,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"gammaPacksContract","offset":0,"slot":"8","type":"t_contract(IgammaPacksContract)4894"},{"astId":4957,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"gammaOffersContract","offset":0,"slot":"9","type":"t_contract(IgammaOffersContract)4934"},{"astId":4960,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"gammaTicketsContract","offset":0,"slot":"10","type":"t_contract(IgammaTicketsContract)4940"},{"astId":4963,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"ownersData","offset":0,"slot":"11","type":"t_struct(Data)10343_storage"},{"astId":4966,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"signersData","offset":0,"slot":"13","type":"t_struct(Data)10343_storage"},{"astId":4969,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_maxPacksToOpenAtOnce","offset":0,"slot":"15","type":"t_uint8"},{"astId":4972,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_lotteryPrizePercentage","offset":1,"slot":"15","type":"t_uint8"},{"astId":4974,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"DAI_TOKEN","offset":2,"slot":"15","type":"t_address"},{"astId":4976,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_tokenIdCounter","offset":0,"slot":"16","type":"t_uint256"},{"astId":4979,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_packPrice","offset":0,"slot":"17","type":"t_uint256"},{"astId":4982,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_prizesBalance","offset":0,"slot":"18","type":"t_uint256"},{"astId":4985,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_mainAlbumPrize","offset":0,"slot":"19","type":"t_uint256"},{"astId":4988,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_secondaryAlbumPrize","offset":0,"slot":"20","type":"t_uint256"},{"astId":4990,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_mainUri","offset":0,"slot":"21","type":"t_string_storage"},{"astId":4992,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_secondaryUri","offset":0,"slot":"22","type":"t_string_storage"},{"astId":4994,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_baseUri","offset":0,"slot":"23","type":"t_string_storage"},{"astId":4996,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_requireOpenPackSignerValidation","offset":0,"slot":"24","type":"t_bool"},{"astId":4999,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_requireOfferValidationInMint","offset":1,"slot":"24","type":"t_bool"},{"astId":5002,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_requireOfferValidationInTransfer","offset":2,"slot":"24","type":"t_bool"},{"astId":5018,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_cards","offset":0,"slot":"25","type":"t_mapping(t_uint256,t_struct(Card)5013_storage)"},{"astId":5022,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_cardsInventory","offset":0,"slot":"26","type":"t_mapping(t_uint256,t_uint256)"},{"astId":5026,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_burnedCards","offset":0,"slot":"27","type":"t_mapping(t_address,t_uint256)"},{"astId":5032,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_cardsByUser","offset":0,"slot":"28","type":"t_mapping(t_address,t_mapping(t_uint8,t_uint8))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_contract(IgammaOffersContract)4934":{"encoding":"inplace","label":"contract IgammaOffersContract","numberOfBytes":"20"},"t_contract(IgammaPacksContract)4894":{"encoding":"inplace","label":"contract IgammaPacksContract","numberOfBytes":"20"},"t_contract(IgammaTicketsContract)4940":{"encoding":"inplace","label":"contract IgammaTicketsContract","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_uint8,t_uint8))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(uint8 => uint8))","numberOfBytes":"32","value":"t_mapping(t_uint8,t_uint8)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_uint256,t_struct(Card)5013_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct NofGammaCardsV5.Card)","numberOfBytes":"32","value":"t_struct(Card)5013_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint8,t_uint8)":{"encoding":"mapping","key":"t_uint8","label":"mapping(uint8 => uint8)","numberOfBytes":"32","value":"t_uint8"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Card)5013_storage":{"encoding":"inplace","label":"struct NofGammaCardsV5.Card","members":[{"astId":5004,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"tokenId","offset":0,"slot":"0","type":"t_uint256"},{"astId":5006,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"number","offset":0,"slot":"1","type":"t_uint256"},{"astId":5008,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"pasted","offset":0,"slot":"2","type":"t_bool"},{"astId":5010,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"class","offset":1,"slot":"2","type":"t_uint8"},{"astId":5012,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"completion","offset":0,"slot":"3","type":"t_uint256"}],"numberOfBytes":"128"},"t_struct(Data)10343_storage":{"encoding":"inplace","label":"struct LibControlMgmt.Data","members":[{"astId":10338,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"owners","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":10342,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"signers","offset":0,"slot":"1","type":"t_mapping(t_address,t_bool)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}}},"contracts/gamma/GammaCardsNFT.v1.sol":{"NofGammaCardsNFTV1":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"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":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"@_7028":{"entryPoint":null,"id":7028,"parameterSlots":0,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":207,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":290,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":147,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":125,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"201:325:31","statements":[{"nodeType":"YulAssignment","src":"211:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:31"},"nodeType":"YulFunctionCall","src":"221:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:31"},"nodeType":"YulFunctionCall","src":"268:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:31","statements":[{"nodeType":"YulAssignment","src":"321:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:31"},"nodeType":"YulFunctionCall","src":"331:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:31"},"nodeType":"YulFunctionCall","src":"292:26:31"},"nodeType":"YulIf","src":"289:61:31"},{"body":{"nodeType":"YulBlock","src":"409:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:31"},"nodeType":"YulFunctionCall","src":"433:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:31"},"nodeType":"YulFunctionCall","src":"423:31:31"},"nodeType":"YulExpressionStatement","src":"423:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:31"},"nodeType":"YulFunctionCall","src":"467:15:31"},"nodeType":"YulExpressionStatement","src":"467:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:31"},"nodeType":"YulFunctionCall","src":"495:15:31"},"nodeType":"YulExpressionStatement","src":"495:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:31"},"nodeType":"YulFunctionCall","src":"385:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:31"},"nodeType":"YulFunctionCall","src":"362:38:31"},"nodeType":"YulIf","src":"359:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:31","type":""}],"src":"146:380:31"},{"body":{"nodeType":"YulBlock","src":"587:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:31"},"nodeType":"YulFunctionCall","src":"597:14:31"},"nodeType":"YulExpressionStatement","src":"597:14:31"},{"nodeType":"YulAssignment","src":"620:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:31"},"nodeType":"YulFunctionCall","src":"628:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:31","type":""}],"src":"531:121:31"},{"body":{"nodeType":"YulBlock","src":"738:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:17:31"},"nodeType":"YulExpressionStatement","src":"809:17:31"},{"nodeType":"YulVariableDeclaration","src":"839:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:31"},"nodeType":"YulFunctionCall","src":"851:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:31"},"nodeType":"YulFunctionCall","src":"919:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:31"},"nodeType":"YulFunctionCall","src":"912:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:31","statements":[{"nodeType":"YulAssignment","src":"979:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:31"},"nodeType":"YulFunctionCall","src":"956:20:31"},"nodeType":"YulIf","src":"953:47:31"},{"nodeType":"YulVariableDeclaration","src":"1013:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:31"},"nodeType":"YulFunctionCall","src":"1040:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:31"},"nodeType":"YulFunctionCall","src":"1033:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:31"},"nodeType":"YulFunctionCall","src":"1167:17:31"},"nodeType":"YulExpressionStatement","src":"1167:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:31"},"nodeType":"YulFunctionCall","src":"1112:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:31","statements":[{"nodeType":"YulAssignment","src":"1128:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:31"},"nodeType":"YulFunctionCall","src":"1137:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:31","statements":[]},"src":"1104:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:31"},"nodeType":"YulFunctionCall","src":"751:11:31"},"nodeType":"YulIf","src":"748:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:31","type":""}],"src":"657:545:31"},{"body":{"nodeType":"YulBlock","src":"1292:81:31","statements":[{"nodeType":"YulAssignment","src":"1302:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:31"},"nodeType":"YulFunctionCall","src":"1331:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:31"},"nodeType":"YulFunctionCall","src":"1344:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:31"},"nodeType":"YulFunctionCall","src":"1327:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:31"},"nodeType":"YulFunctionCall","src":"1323:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:31"},"nodeType":"YulFunctionCall","src":"1313:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:31"},"nodeType":"YulFunctionCall","src":"1355:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:31"},"nodeType":"YulFunctionCall","src":"1310:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:31","type":""}],"src":"1207:166:31"},{"body":{"nodeType":"YulBlock","src":"1474:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:31"},"nodeType":"YulFunctionCall","src":"1498:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:31"},"nodeType":"YulFunctionCall","src":"1553:18:31"},"nodeType":"YulExpressionStatement","src":"1553:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:31"},"nodeType":"YulFunctionCall","src":"1535:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:31"},"nodeType":"YulFunctionCall","src":"1531:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:31"},"nodeType":"YulFunctionCall","src":"1520:30:31"},"nodeType":"YulIf","src":"1517:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:31"},"nodeType":"YulFunctionCall","src":"1658:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:31"},"nodeType":"YulFunctionCall","src":"1632:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:31"},"nodeType":"YulFunctionCall","src":"1582:97:31"},"nodeType":"YulExpressionStatement","src":"1582:97:31"},{"nodeType":"YulVariableDeclaration","src":"1688:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:31","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:31"},"nodeType":"YulFunctionCall","src":"1846:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:31"},"nodeType":"YulFunctionCall","src":"1893:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:31"},"nodeType":"YulFunctionCall","src":"2067:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:31"},"nodeType":"YulFunctionCall","src":"2061:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:31"},"nodeType":"YulFunctionCall","src":"2046:42:31"},"nodeType":"YulExpressionStatement","src":"2046:42:31"},{"nodeType":"YulAssignment","src":"2105:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:31"},"nodeType":"YulFunctionCall","src":"2115:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:31"}]},{"nodeType":"YulAssignment","src":"2146:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:31"},"nodeType":"YulFunctionCall","src":"2159:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:31"},"nodeType":"YulFunctionCall","src":"1972:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:31","statements":[{"nodeType":"YulAssignment","src":"1989:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:31"},"nodeType":"YulFunctionCall","src":"1994:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:31","statements":[]},"src":"1964:236:31"},{"body":{"nodeType":"YulBlock","src":"2248:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:31"},"nodeType":"YulFunctionCall","src":"2289:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:31"},"nodeType":"YulFunctionCall","src":"2283:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:31"},"nodeType":"YulFunctionCall","src":"2368:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:31"},"nodeType":"YulFunctionCall","src":"2364:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:31"},"nodeType":"YulFunctionCall","src":"2390:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:31"},"nodeType":"YulFunctionCall","src":"2360:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:31"},"nodeType":"YulFunctionCall","src":"2356:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:31"},"nodeType":"YulFunctionCall","src":"2341:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:31"},"nodeType":"YulFunctionCall","src":"2326:74:31"},"nodeType":"YulExpressionStatement","src":"2326:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:31"},"nodeType":"YulFunctionCall","src":"2216:19:31"},"nodeType":"YulIf","src":"2213:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:31"},"nodeType":"YulFunctionCall","src":"2444:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:31"},"nodeType":"YulFunctionCall","src":"2440:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:31"},"nodeType":"YulFunctionCall","src":"2427:36:31"},"nodeType":"YulExpressionStatement","src":"2427:36:31"}]},"nodeType":"YulCase","src":"1810:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:31","statements":[{"nodeType":"YulAssignment","src":"2571:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:31"},"nodeType":"YulFunctionCall","src":"2586:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:31"},"nodeType":"YulFunctionCall","src":"2580:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:31"},"nodeType":"YulIf","src":"2531:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:31"},"nodeType":"YulFunctionCall","src":"2646:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:31"},"nodeType":"YulFunctionCall","src":"2633:81:31"},"nodeType":"YulExpressionStatement","src":"2633:81:31"}]},"nodeType":"YulCase","src":"2482:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:31"},"nodeType":"YulFunctionCall","src":"1787:14:31"},"nodeType":"YulSwitch","src":"1780:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:31","type":""}],"src":"1378:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b506040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b815250816000908162000065919062000122565b50600162000074828262000122565b505050620001ee565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a857607f821691505b602082108103620000c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011d57600081815260208120601f850160051c81016020861015620000f85750805b601f850160051c820191505b81811015620001195782815560010162000104565b5050505b505050565b81516001600160401b038111156200013e576200013e6200007d565b62000156816200014f845462000093565b84620000cf565b602080601f8311600181146200018e5760008415620001755750858301515b600019600386901b1c1916600185901b17855562000119565b600085815260208120601f198616915b82811015620001bf578886015182559484019460019091019084016200019e565b5085821015620001de5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6113c380620001fe6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101e1578063b88d4fde146101f4578063c87b56dd14610207578063e985e9c51461021a57600080fd5b80636352211e146101a557806370a08231146101b857806395d89b41146101d957600080fd5b8063095ea7b3116100c8578063095ea7b31461015757806323b872dd1461016c57806342842e0e1461017f57806342966c681461019257600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610f4f565b610256565b60405190151581526020015b60405180910390f35b61011f610267565b60405161010e9190610fbc565b61013f61013a366004610fcf565b6102f9565b6040516001600160a01b03909116815260200161010e565b61016a610165366004611004565b610320565b005b61016a61017a36600461102e565b61043a565b61016a61018d36600461102e565b61046c565b61016a6101a0366004610fcf565b610487565b61013f6101b3366004610fcf565b6104b8565b6101cb6101c636600461106a565b610518565b60405190815260200161010e565b61011f61059e565b61016a6101ef366004611085565b6105ad565b61016a6102023660046110d7565b6105bc565b61011f610215366004610fcf565b6105f4565b6101026102283660046111b3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610261826105ff565b92915050565b606060008054610276906111e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906111e6565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050905090565b600061030482610624565b506000908152600460205260409020546001600160a01b031690565b600061032b826104b8565b9050806001600160a01b0316836001600160a01b03160361039d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103b957506103b98133610228565b61042b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610394565b6104358383610683565b505050565b610445335b826106f1565b6104615760405162461bcd60e51b815260040161039490611220565b610435838383610770565b610435838383604051806020016040528060008152506105bc565b6104903361043f565b6104ac5760405162461bcd60e51b815260040161039490611220565b6104b5816108d4565b50565b6000818152600260205260408120546001600160a01b0316806102615760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b60006001600160a01b0382166105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610394565b506001600160a01b031660009081526003602052604090205490565b606060018054610276906111e6565b6105b83383836108dd565b5050565b6105c633836106f1565b6105e25760405162461bcd60e51b815260040161039490611220565b6105ee848484846109ab565b50505050565b6060610261826109de565b60006001600160e01b03198216632483248360e11b1480610261575061026182610ae6565b6000818152600260205260409020546001600160a01b03166104b55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106b8826104b8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806106fd836104b8565b9050806001600160a01b0316846001600160a01b0316148061074457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107685750836001600160a01b031661075d846102f9565b6001600160a01b0316145b949350505050565b826001600160a01b0316610783826104b8565b6001600160a01b0316146107a95760405162461bcd60e51b81526004016103949061126d565b6001600160a01b03821661080b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610394565b826001600160a01b031661081e826104b8565b6001600160a01b0316146108445760405162461bcd60e51b81526004016103949061126d565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104b581610b36565b816001600160a01b0316836001600160a01b03160361093e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610394565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109b6848484610770565b6109c284848484610b76565b6105ee5760405162461bcd60e51b8152600401610394906112b2565b60606109e982610624565b60008281526006602052604081208054610a02906111e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e906111e6565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b505050505090506000610a9960408051602081019091526000815290565b90508051600003610aab575092915050565b815115610add578082604051602001610ac5929190611304565b60405160208183030381529060405292505050919050565b61076884610c77565b60006001600160e01b031982166380ac58cd60e01b1480610b1757506001600160e01b03198216635b5e139f60e01b145b8061026157506301ffc9a760e01b6001600160e01b0319831614610261565b610b3f81610ceb565b60008181526006602052604090208054610b58906111e6565b1590506104b55760008181526006602052604081206104b591610eeb565b60006001600160a01b0384163b15610c6c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610bba903390899088908890600401611333565b6020604051808303816000875af1925050508015610bf5575060408051601f3d908101601f19168201909252610bf291810190611370565b60015b610c52573d808015610c23576040519150601f19603f3d011682016040523d82523d6000602084013e610c28565b606091505b508051600003610c4a5760405162461bcd60e51b8152600401610394906112b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610768565b506001949350505050565b6060610c8282610624565b6000610c9960408051602081019091526000815290565b90506000815111610cb95760405180602001604052806000815250610ce4565b80610cc384610d80565b604051602001610cd4929190611304565b6040516020818303038152906040525b9392505050565b6000610cf6826104b8565b9050610d01826104b8565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60606000610d8d83610e13565b600101905060008167ffffffffffffffff811115610dad57610dad6110c1565b6040519080825280601f01601f191660200182016040528015610dd7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610de157509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e525772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e7e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e9c57662386f26fc10000830492506010015b6305f5e1008310610eb4576305f5e100830492506008015b6127108310610ec857612710830492506004015b60648310610eda576064830492506002015b600a83106102615760010192915050565b508054610ef7906111e6565b6000825580601f10610f07575050565b601f0160209004906000526020600020908101906104b591905b80821115610f355760008155600101610f21565b5090565b6001600160e01b0319811681146104b557600080fd5b600060208284031215610f6157600080fd5b8135610ce481610f39565b60005b83811015610f87578181015183820152602001610f6f565b50506000910152565b60008151808452610fa8816020860160208601610f6c565b601f01601f19169290920160200192915050565b602081526000610ce46020830184610f90565b600060208284031215610fe157600080fd5b5035919050565b80356001600160a01b0381168114610fff57600080fd5b919050565b6000806040838503121561101757600080fd5b61102083610fe8565b946020939093013593505050565b60008060006060848603121561104357600080fd5b61104c84610fe8565b925061105a60208501610fe8565b9150604084013590509250925092565b60006020828403121561107c57600080fd5b610ce482610fe8565b6000806040838503121561109857600080fd5b6110a183610fe8565b9150602083013580151581146110b657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156110ed57600080fd5b6110f685610fe8565b935061110460208601610fe8565b925060408501359150606085013567ffffffffffffffff8082111561112857600080fd5b818701915087601f83011261113c57600080fd5b81358181111561114e5761114e6110c1565b604051601f8201601f19908116603f01168101908382118183101715611176576111766110c1565b816040528281528a602084870101111561118f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156111c657600080fd5b6111cf83610fe8565b91506111dd60208401610fe8565b90509250929050565b600181811c908216806111fa57607f821691505b60208210810361121a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611316818460208801610f6c565b83519083019061132a818360208801610f6c565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061136690830184610f90565b9695505050505050565b60006020828403121561138257600080fd5b8151610ce481610f3956fea2646970667358221220f2ee410a99715667683fa224eb5be2c0b6c98edb2b01b26a54d1a13e0e3f5ce164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH10 0x47616D6D614361726473 PUSH1 0xB0 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x4E4F465F4743 PUSH1 0xD0 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0x65 SWAP2 SWAP1 PUSH3 0x122 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x74 DUP3 DUP3 PUSH3 0x122 JUMP JUMPDEST POP POP POP PUSH3 0x1EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0xA8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0xC9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x11D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0xF8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x119 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x104 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x13E JUMPI PUSH3 0x13E PUSH3 0x7D JUMP JUMPDEST PUSH3 0x156 DUP2 PUSH3 0x14F DUP5 SLOAD PUSH3 0x93 JUMP JUMPDEST DUP5 PUSH3 0xCF JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x18E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x175 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x119 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x1BF JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x19E JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x1DE JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x13C3 DUP1 PUSH3 0x1FE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1E1 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0xFD CALLDATASIZE PUSH1 0x4 PUSH2 0xF4F JUMP JUMPDEST PUSH2 0x256 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11F PUSH2 0x267 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xFBC JUMP JUMPDEST PUSH2 0x13F PUSH2 0x13A CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x165 CALLDATASIZE PUSH1 0x4 PUSH2 0x1004 JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16A PUSH2 0x17A CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH2 0x16A PUSH2 0x18D CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x46C JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST PUSH2 0x13F PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x1CB PUSH2 0x1C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x106A JUMP JUMPDEST PUSH2 0x518 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x11F PUSH2 0x59E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1EF CALLDATASIZE PUSH1 0x4 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x16A PUSH2 0x202 CALLDATASIZE PUSH1 0x4 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x11F PUSH2 0x215 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x5F4 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x228 CALLDATASIZE PUSH1 0x4 PUSH2 0x11B3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261 DUP3 PUSH2 0x5FF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2A2 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x304 DUP3 PUSH2 0x624 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32B DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x39D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3B9 JUMPI POP PUSH2 0x3B9 DUP2 CALLER PUSH2 0x228 JUMP JUMPDEST PUSH2 0x42B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 PUSH2 0x683 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x445 CALLER JUMPDEST DUP3 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x461 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x490 CALLER PUSH2 0x43F JUMP JUMPDEST PUSH2 0x4AC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0x8D4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH2 0x5B8 CALLER DUP4 DUP4 PUSH2 0x8DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5C6 CALLER DUP4 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x5E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x5EE DUP5 DUP5 DUP5 DUP5 PUSH2 0x9AB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x261 DUP3 PUSH2 0x9DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0x261 JUMPI POP PUSH2 0x261 DUP3 PUSH2 0xAE6 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6B8 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6FD DUP4 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x744 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x768 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x75D DUP5 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x783 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x80B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x81E DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x844 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0xB36 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x93E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9B6 DUP5 DUP5 DUP5 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x9C2 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB76 JUMP JUMPDEST PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x9E9 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0xA02 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA2E SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA7B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA50 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA7B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xA5E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0xA99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xAAB JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xADD JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAC5 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x768 DUP5 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xB17 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x261 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x261 JUMP JUMPDEST PUSH2 0xB3F DUP2 PUSH2 0xCEB JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0xB58 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x4B5 SWAP2 PUSH2 0xEEB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC6C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xBBA SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1333 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xBF5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xBF2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xC52 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xC23 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xC4A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x768 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC82 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0xCB9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xCE4 JUMP JUMPDEST DUP1 PUSH2 0xCC3 DUP5 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCD4 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF6 DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP PUSH2 0xD01 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD8D DUP4 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xDAD JUMPI PUSH2 0xDAD PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDD7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xDE1 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xE52 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xE7E JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xE9C JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xEB4 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xEC8 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xEDA JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x261 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0xEF7 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0xF07 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B5 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xF35 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xF21 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF87 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF6F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xFA8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xCE4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1017 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1020 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1043 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x104C DUP5 PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH2 0x105A PUSH1 0x20 DUP6 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x107C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCE4 DUP3 PUSH2 0xFE8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10A1 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x10B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x10ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10F6 DUP6 PUSH2 0xFE8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1104 PUSH1 0x20 DUP7 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x114E JUMPI PUSH2 0x114E PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1176 JUMPI PUSH2 0x1176 PUSH2 0x10C1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x118F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11CF DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH2 0x11DD PUSH1 0x20 DUP5 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11FA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x121A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1316 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x132A DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1366 SWAP1 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1382 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE 0xEE COINBASE EXP SWAP10 PUSH18 0x5667683FA224EB5BE2C0B6C98EDB2B01B26A SLOAD 0xD1 LOG1 RETURNDATACOPY 0xE EXTCODEHASH 0x5C 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"333:606:22:-:0;;;412:47;;;;;;;;;;1390:113:5;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;333:606:22;;14:127:31;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:31;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:31;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:31;;;2580:26;2531:89;-1:-1:-1;;1335:1:31;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:31;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:31;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:31;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:31:o;:::-;333:606:22;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":1667,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_432":{"entryPoint":null,"id":432,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_burn_1464":{"entryPoint":2870,"id":1464,"parameterSlots":1,"returnSlots":0},"@_burn_7043":{"entryPoint":2260,"id":7043,"parameterSlots":1,"returnSlots":0},"@_burn_886":{"entryPoint":3307,"id":886,"parameterSlots":1,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":2934,"id":1103,"parameterSlots":4,"returnSlots":1},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":1777,"id":698,"parameterSlots":2,"returnSlots":1},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":1572,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":2475,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":2269,"id":1027,"parameterSlots":3,"returnSlots":0},"@_transfer_971":{"entryPoint":1904,"id":971,"parameterSlots":3,"returnSlots":0},"@approve_475":{"entryPoint":800,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":1304,"id":336,"parameterSlots":1,"returnSlots":1},"@burn_1308":{"entryPoint":1159,"id":1308,"parameterSlots":1,"returnSlots":0},"@getApproved_493":{"entryPoint":761,"id":493,"parameterSlots":1,"returnSlots":1},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":3603,"id":3186,"parameterSlots":1,"returnSlots":1},"@name_374":{"entryPoint":615,"id":374,"parameterSlots":0,"returnSlots":1},"@ownerOf_364":{"entryPoint":1208,"id":364,"parameterSlots":1,"returnSlots":1},"@safeTransferFrom_574":{"entryPoint":1132,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":1468,"id":604,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":1453,"id":510,"parameterSlots":2,"returnSlots":0},"@supportsInterface_1349":{"entryPoint":1535,"id":1349,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":2790,"id":312,"parameterSlots":1,"returnSlots":1},"@supportsInterface_7075":{"entryPoint":598,"id":7075,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":1438,"id":384,"parameterSlots":0,"returnSlots":1},"@toString_1911":{"entryPoint":3456,"id":1911,"parameterSlots":1,"returnSlots":1},"@tokenURI_1408":{"entryPoint":2526,"id":1408,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":3191,"id":423,"parameterSlots":1,"returnSlots":1},"@tokenURI_7059":{"entryPoint":1524,"id":7059,"parameterSlots":1,"returnSlots":1},"@transferFrom_555":{"entryPoint":1082,"id":555,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":4072,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":4202,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":4531,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":4142,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":4311,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":4229,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":4100,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":3919,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":4976,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":4047,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":3984,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":4868,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":4915,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4028,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4640,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4786,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4717,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":3948,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":4582,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4289,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":3897,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:10132:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:31","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:31"},"nodeType":"YulFunctionCall","src":"125:12:31"},"nodeType":"YulExpressionStatement","src":"125:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:31","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:31"},"nodeType":"YulFunctionCall","src":"99:20:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:31"},"nodeType":"YulFunctionCall","src":"88:32:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:31"},"nodeType":"YulFunctionCall","src":"78:43:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:31"},"nodeType":"YulFunctionCall","src":"71:51:31"},"nodeType":"YulIf","src":"68:71:31"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:31","type":""}],"src":"14:131:31"},{"body":{"nodeType":"YulBlock","src":"219:176:31","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:31"},"nodeType":"YulFunctionCall","src":"267:12:31"},"nodeType":"YulExpressionStatement","src":"267:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:31"},"nodeType":"YulFunctionCall","src":"236:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:31"},"nodeType":"YulFunctionCall","src":"232:32:31"},"nodeType":"YulIf","src":"229:52:31"},{"nodeType":"YulVariableDeclaration","src":"290:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:31"},"nodeType":"YulFunctionCall","src":"303:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:31"},"nodeType":"YulFunctionCall","src":"335:30:31"},"nodeType":"YulExpressionStatement","src":"335:30:31"},{"nodeType":"YulAssignment","src":"374:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:31","type":""}],"src":"150:245:31"},{"body":{"nodeType":"YulBlock","src":"495:92:31","statements":[{"nodeType":"YulAssignment","src":"505:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:31"},"nodeType":"YulFunctionCall","src":"513:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:31"},"nodeType":"YulFunctionCall","src":"565:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:31"},"nodeType":"YulFunctionCall","src":"558:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:31"},"nodeType":"YulFunctionCall","src":"540:41:31"},"nodeType":"YulExpressionStatement","src":"540:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:31","type":""}],"src":"400:187:31"},{"body":{"nodeType":"YulBlock","src":"658:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"668:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"677:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"672:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"737:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"762:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"767:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"758:3:31"},"nodeType":"YulFunctionCall","src":"758:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"781:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"786:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:31"},"nodeType":"YulFunctionCall","src":"777:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"771:5:31"},"nodeType":"YulFunctionCall","src":"771:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"751:6:31"},"nodeType":"YulFunctionCall","src":"751:39:31"},"nodeType":"YulExpressionStatement","src":"751:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"698:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"701:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"695:2:31"},"nodeType":"YulFunctionCall","src":"695:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"709:19:31","statements":[{"nodeType":"YulAssignment","src":"711:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"720:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"723:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:31"},"nodeType":"YulFunctionCall","src":"716:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"711:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"691:3:31","statements":[]},"src":"687:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"820:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"825:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"816:3:31"},"nodeType":"YulFunctionCall","src":"816:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"834:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:27:31"},"nodeType":"YulExpressionStatement","src":"809:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"636:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"641:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"646:6:31","type":""}],"src":"592:250:31"},{"body":{"nodeType":"YulBlock","src":"897:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"907:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"927:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"921:5:31"},"nodeType":"YulFunctionCall","src":"921:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"911:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"949:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"954:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"942:6:31"},"nodeType":"YulFunctionCall","src":"942:19:31"},"nodeType":"YulExpressionStatement","src":"942:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1009:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1016:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1005:3:31"},"nodeType":"YulFunctionCall","src":"1005:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1027:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1032:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"1039:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"970:34:31"},"nodeType":"YulFunctionCall","src":"970:76:31"},"nodeType":"YulExpressionStatement","src":"970:76:31"},{"nodeType":"YulAssignment","src":"1055:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1070:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1083:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1091:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1079:3:31"},"nodeType":"YulFunctionCall","src":"1079:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1100:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1096:3:31"},"nodeType":"YulFunctionCall","src":"1096:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1075:3:31"},"nodeType":"YulFunctionCall","src":"1075:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1066:3:31"},"nodeType":"YulFunctionCall","src":"1066:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"1107:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1062:3:31"},"nodeType":"YulFunctionCall","src":"1062:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1055:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"874:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"881:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"889:3:31","type":""}],"src":"847:271:31"},{"body":{"nodeType":"YulBlock","src":"1244:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1261:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1272:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1254:6:31"},"nodeType":"YulFunctionCall","src":"1254:21:31"},"nodeType":"YulExpressionStatement","src":"1254:21:31"},{"nodeType":"YulAssignment","src":"1284:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1310:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1322:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1333:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1318:3:31"},"nodeType":"YulFunctionCall","src":"1318:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1292:17:31"},"nodeType":"YulFunctionCall","src":"1292:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1284:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1213:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1224:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1235:4:31","type":""}],"src":"1123:220:31"},{"body":{"nodeType":"YulBlock","src":"1418:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"1464:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1473:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1476:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1466:6:31"},"nodeType":"YulFunctionCall","src":"1466:12:31"},"nodeType":"YulExpressionStatement","src":"1466:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1439:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1448:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1435:3:31"},"nodeType":"YulFunctionCall","src":"1435:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1460:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1431:3:31"},"nodeType":"YulFunctionCall","src":"1431:32:31"},"nodeType":"YulIf","src":"1428:52:31"},{"nodeType":"YulAssignment","src":"1489:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1499:12:31"},"nodeType":"YulFunctionCall","src":"1499:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1489:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1384:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1395:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1407:6:31","type":""}],"src":"1348:180:31"},{"body":{"nodeType":"YulBlock","src":"1634:102:31","statements":[{"nodeType":"YulAssignment","src":"1644:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1656:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1667:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1652:3:31"},"nodeType":"YulFunctionCall","src":"1652:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1644:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1686:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1701:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1717:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1722:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1713:3:31"},"nodeType":"YulFunctionCall","src":"1713:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1726:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1709:3:31"},"nodeType":"YulFunctionCall","src":"1709:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1697:3:31"},"nodeType":"YulFunctionCall","src":"1697:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1679:6:31"},"nodeType":"YulFunctionCall","src":"1679:51:31"},"nodeType":"YulExpressionStatement","src":"1679:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1603:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1614:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1625:4:31","type":""}],"src":"1533:203:31"},{"body":{"nodeType":"YulBlock","src":"1790:124:31","statements":[{"nodeType":"YulAssignment","src":"1800:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1822:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1809:12:31"},"nodeType":"YulFunctionCall","src":"1809:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1800:5:31"}]},{"body":{"nodeType":"YulBlock","src":"1892:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1901:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1904:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1894:6:31"},"nodeType":"YulFunctionCall","src":"1894:12:31"},"nodeType":"YulExpressionStatement","src":"1894:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1851:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1862:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1877:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1882:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1873:3:31"},"nodeType":"YulFunctionCall","src":"1873:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1886:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1869:3:31"},"nodeType":"YulFunctionCall","src":"1869:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1848:2:31"},"nodeType":"YulFunctionCall","src":"1848:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1841:6:31"},"nodeType":"YulFunctionCall","src":"1841:50:31"},"nodeType":"YulIf","src":"1838:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1769:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1780:5:31","type":""}],"src":"1741:173:31"},{"body":{"nodeType":"YulBlock","src":"2006:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"2052:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2061:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2064:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2054:6:31"},"nodeType":"YulFunctionCall","src":"2054:12:31"},"nodeType":"YulExpressionStatement","src":"2054:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2027:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2036:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2023:3:31"},"nodeType":"YulFunctionCall","src":"2023:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2048:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2019:3:31"},"nodeType":"YulFunctionCall","src":"2019:32:31"},"nodeType":"YulIf","src":"2016:52:31"},{"nodeType":"YulAssignment","src":"2077:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2106:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2087:18:31"},"nodeType":"YulFunctionCall","src":"2087:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2077:6:31"}]},{"nodeType":"YulAssignment","src":"2125:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2152:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2163:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2148:3:31"},"nodeType":"YulFunctionCall","src":"2148:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2135:12:31"},"nodeType":"YulFunctionCall","src":"2135:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2125:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1964:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1975:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1987:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1995:6:31","type":""}],"src":"1919:254:31"},{"body":{"nodeType":"YulBlock","src":"2282:224:31","statements":[{"body":{"nodeType":"YulBlock","src":"2328:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2337:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2340:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2330:6:31"},"nodeType":"YulFunctionCall","src":"2330:12:31"},"nodeType":"YulExpressionStatement","src":"2330:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2303:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2312:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2299:3:31"},"nodeType":"YulFunctionCall","src":"2299:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2324:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2295:3:31"},"nodeType":"YulFunctionCall","src":"2295:32:31"},"nodeType":"YulIf","src":"2292:52:31"},{"nodeType":"YulAssignment","src":"2353:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2382:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2363:18:31"},"nodeType":"YulFunctionCall","src":"2363:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2353:6:31"}]},{"nodeType":"YulAssignment","src":"2401:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2434:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2445:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2430:3:31"},"nodeType":"YulFunctionCall","src":"2430:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2411:18:31"},"nodeType":"YulFunctionCall","src":"2411:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2401:6:31"}]},{"nodeType":"YulAssignment","src":"2458:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2485:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2496:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2481:3:31"},"nodeType":"YulFunctionCall","src":"2481:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2468:12:31"},"nodeType":"YulFunctionCall","src":"2468:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2458:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2232:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2243:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2255:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2263:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2271:6:31","type":""}],"src":"2178:328:31"},{"body":{"nodeType":"YulBlock","src":"2581:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"2627:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2636:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2639:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2629:6:31"},"nodeType":"YulFunctionCall","src":"2629:12:31"},"nodeType":"YulExpressionStatement","src":"2629:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2602:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2611:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2598:3:31"},"nodeType":"YulFunctionCall","src":"2598:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2623:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2594:3:31"},"nodeType":"YulFunctionCall","src":"2594:32:31"},"nodeType":"YulIf","src":"2591:52:31"},{"nodeType":"YulAssignment","src":"2652:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2681:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2662:18:31"},"nodeType":"YulFunctionCall","src":"2662:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2652:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2547:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2558:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2570:6:31","type":""}],"src":"2511:186:31"},{"body":{"nodeType":"YulBlock","src":"2803:76:31","statements":[{"nodeType":"YulAssignment","src":"2813:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2825:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2836:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2821:3:31"},"nodeType":"YulFunctionCall","src":"2821:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2813:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2855:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"2866:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2848:6:31"},"nodeType":"YulFunctionCall","src":"2848:25:31"},"nodeType":"YulExpressionStatement","src":"2848:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2772:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2783:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2794:4:31","type":""}],"src":"2702:177:31"},{"body":{"nodeType":"YulBlock","src":"2968:263:31","statements":[{"body":{"nodeType":"YulBlock","src":"3014:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3023:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3026:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3016:6:31"},"nodeType":"YulFunctionCall","src":"3016:12:31"},"nodeType":"YulExpressionStatement","src":"3016:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2989:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2998:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2985:3:31"},"nodeType":"YulFunctionCall","src":"2985:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3010:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2981:3:31"},"nodeType":"YulFunctionCall","src":"2981:32:31"},"nodeType":"YulIf","src":"2978:52:31"},{"nodeType":"YulAssignment","src":"3039:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3068:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3049:18:31"},"nodeType":"YulFunctionCall","src":"3049:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3039:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"3087:45:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3117:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3128:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3113:3:31"},"nodeType":"YulFunctionCall","src":"3113:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3100:12:31"},"nodeType":"YulFunctionCall","src":"3100:32:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3091:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3185:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3194:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3197:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3187:6:31"},"nodeType":"YulFunctionCall","src":"3187:12:31"},"nodeType":"YulExpressionStatement","src":"3187:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3154:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3175:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3168:6:31"},"nodeType":"YulFunctionCall","src":"3168:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3161:6:31"},"nodeType":"YulFunctionCall","src":"3161:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3151:2:31"},"nodeType":"YulFunctionCall","src":"3151:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3144:6:31"},"nodeType":"YulFunctionCall","src":"3144:40:31"},"nodeType":"YulIf","src":"3141:60:31"},{"nodeType":"YulAssignment","src":"3210:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"3220:5:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3210:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2926:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2937:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2949:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2957:6:31","type":""}],"src":"2884:347:31"},{"body":{"nodeType":"YulBlock","src":"3268:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3285:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3292:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3297:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3288:3:31"},"nodeType":"YulFunctionCall","src":"3288:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3278:6:31"},"nodeType":"YulFunctionCall","src":"3278:31:31"},"nodeType":"YulExpressionStatement","src":"3278:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3325:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3328:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3318:6:31"},"nodeType":"YulFunctionCall","src":"3318:15:31"},"nodeType":"YulExpressionStatement","src":"3318:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3349:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3352:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3342:6:31"},"nodeType":"YulFunctionCall","src":"3342:15:31"},"nodeType":"YulExpressionStatement","src":"3342:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3236:127:31"},{"body":{"nodeType":"YulBlock","src":"3498:1008:31","statements":[{"body":{"nodeType":"YulBlock","src":"3545:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3554:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3557:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3547:6:31"},"nodeType":"YulFunctionCall","src":"3547:12:31"},"nodeType":"YulExpressionStatement","src":"3547:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3519:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3528:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3515:3:31"},"nodeType":"YulFunctionCall","src":"3515:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3540:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3511:3:31"},"nodeType":"YulFunctionCall","src":"3511:33:31"},"nodeType":"YulIf","src":"3508:53:31"},{"nodeType":"YulAssignment","src":"3570:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3599:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3580:18:31"},"nodeType":"YulFunctionCall","src":"3580:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3570:6:31"}]},{"nodeType":"YulAssignment","src":"3618:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:31"},"nodeType":"YulFunctionCall","src":"3647:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3628:18:31"},"nodeType":"YulFunctionCall","src":"3628:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3618:6:31"}]},{"nodeType":"YulAssignment","src":"3675:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3702:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3713:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3698:3:31"},"nodeType":"YulFunctionCall","src":"3698:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3685:12:31"},"nodeType":"YulFunctionCall","src":"3685:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3675:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"3726:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3757:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3768:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3753:3:31"},"nodeType":"YulFunctionCall","src":"3753:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3740:12:31"},"nodeType":"YulFunctionCall","src":"3740:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3730:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3781:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3791:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3785:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3836:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3845:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3848:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3838:6:31"},"nodeType":"YulFunctionCall","src":"3838:12:31"},"nodeType":"YulExpressionStatement","src":"3838:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3824:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3832:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3821:2:31"},"nodeType":"YulFunctionCall","src":"3821:14:31"},"nodeType":"YulIf","src":"3818:34:31"},{"nodeType":"YulVariableDeclaration","src":"3861:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3875:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"3886:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3871:3:31"},"nodeType":"YulFunctionCall","src":"3871:22:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3865:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3941:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3950:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3953:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3943:6:31"},"nodeType":"YulFunctionCall","src":"3943:12:31"},"nodeType":"YulExpressionStatement","src":"3943:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3920:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"3924:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3916:3:31"},"nodeType":"YulFunctionCall","src":"3916:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3931:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3912:3:31"},"nodeType":"YulFunctionCall","src":"3912:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3905:6:31"},"nodeType":"YulFunctionCall","src":"3905:35:31"},"nodeType":"YulIf","src":"3902:55:31"},{"nodeType":"YulVariableDeclaration","src":"3966:26:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3989:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3976:12:31"},"nodeType":"YulFunctionCall","src":"3976:16:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3970:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4015:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4017:16:31"},"nodeType":"YulFunctionCall","src":"4017:18:31"},"nodeType":"YulExpressionStatement","src":"4017:18:31"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4007:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4011:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4004:2:31"},"nodeType":"YulFunctionCall","src":"4004:10:31"},"nodeType":"YulIf","src":"4001:36:31"},{"nodeType":"YulVariableDeclaration","src":"4046:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4060:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4056:3:31"},"nodeType":"YulFunctionCall","src":"4056:7:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"4050:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4072:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4092:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4086:5:31"},"nodeType":"YulFunctionCall","src":"4086:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4076:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4104:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4126:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4150:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"4154:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4146:3:31"},"nodeType":"YulFunctionCall","src":"4146:13:31"},{"name":"_4","nodeType":"YulIdentifier","src":"4161:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4142:3:31"},"nodeType":"YulFunctionCall","src":"4142:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"4166:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4138:3:31"},"nodeType":"YulFunctionCall","src":"4138:31:31"},{"name":"_4","nodeType":"YulIdentifier","src":"4171:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4134:3:31"},"nodeType":"YulFunctionCall","src":"4134:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4122:3:31"},"nodeType":"YulFunctionCall","src":"4122:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4108:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4234:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4236:16:31"},"nodeType":"YulFunctionCall","src":"4236:18:31"},"nodeType":"YulExpressionStatement","src":"4236:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4193:10:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4205:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4190:2:31"},"nodeType":"YulFunctionCall","src":"4190:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4213:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4225:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4210:2:31"},"nodeType":"YulFunctionCall","src":"4210:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4187:2:31"},"nodeType":"YulFunctionCall","src":"4187:46:31"},"nodeType":"YulIf","src":"4184:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4272:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4276:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4265:6:31"},"nodeType":"YulFunctionCall","src":"4265:22:31"},"nodeType":"YulExpressionStatement","src":"4265:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4303:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4311:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4296:6:31"},"nodeType":"YulFunctionCall","src":"4296:18:31"},"nodeType":"YulExpressionStatement","src":"4296:18:31"},{"body":{"nodeType":"YulBlock","src":"4360:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4369:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4372:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4362:6:31"},"nodeType":"YulFunctionCall","src":"4362:12:31"},"nodeType":"YulExpressionStatement","src":"4362:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4337:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4341:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4333:3:31"},"nodeType":"YulFunctionCall","src":"4333:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"4346:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4329:3:31"},"nodeType":"YulFunctionCall","src":"4329:20:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4351:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4326:2:31"},"nodeType":"YulFunctionCall","src":"4326:33:31"},"nodeType":"YulIf","src":"4323:53:31"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4402:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4410:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4398:3:31"},"nodeType":"YulFunctionCall","src":"4398:15:31"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4419:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"4423:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4415:3:31"},"nodeType":"YulFunctionCall","src":"4415:11:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4428:2:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4385:12:31"},"nodeType":"YulFunctionCall","src":"4385:46:31"},"nodeType":"YulExpressionStatement","src":"4385:46:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4455:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"4463:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4451:3:31"},"nodeType":"YulFunctionCall","src":"4451:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"4468:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4447:3:31"},"nodeType":"YulFunctionCall","src":"4447:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"4473:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4440:6:31"},"nodeType":"YulFunctionCall","src":"4440:35:31"},"nodeType":"YulExpressionStatement","src":"4440:35:31"},{"nodeType":"YulAssignment","src":"4484:16:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"4494:6:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4484:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3440:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3451:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3463:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3471:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3479:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3487:6:31","type":""}],"src":"3368:1138:31"},{"body":{"nodeType":"YulBlock","src":"4598:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"4644:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4653:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4656:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4646:6:31"},"nodeType":"YulFunctionCall","src":"4646:12:31"},"nodeType":"YulExpressionStatement","src":"4646:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4619:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4628:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4615:3:31"},"nodeType":"YulFunctionCall","src":"4615:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4640:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4611:3:31"},"nodeType":"YulFunctionCall","src":"4611:32:31"},"nodeType":"YulIf","src":"4608:52:31"},{"nodeType":"YulAssignment","src":"4669:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4698:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4679:18:31"},"nodeType":"YulFunctionCall","src":"4679:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4669:6:31"}]},{"nodeType":"YulAssignment","src":"4717:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4750:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4761:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4746:3:31"},"nodeType":"YulFunctionCall","src":"4746:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4727:18:31"},"nodeType":"YulFunctionCall","src":"4727:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4717:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4556:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4567:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4579:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4587:6:31","type":""}],"src":"4511:260:31"},{"body":{"nodeType":"YulBlock","src":"4831:325:31","statements":[{"nodeType":"YulAssignment","src":"4841:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4855:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4858:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4851:3:31"},"nodeType":"YulFunctionCall","src":"4851:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4841:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"4872:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4902:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"4908:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4898:3:31"},"nodeType":"YulFunctionCall","src":"4898:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4876:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4949:31:31","statements":[{"nodeType":"YulAssignment","src":"4951:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4965:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4973:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4961:3:31"},"nodeType":"YulFunctionCall","src":"4961:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4951:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4929:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4922:6:31"},"nodeType":"YulFunctionCall","src":"4922:26:31"},"nodeType":"YulIf","src":"4919:61:31"},{"body":{"nodeType":"YulBlock","src":"5039:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5060:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5067:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5072:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5063:3:31"},"nodeType":"YulFunctionCall","src":"5063:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5053:6:31"},"nodeType":"YulFunctionCall","src":"5053:31:31"},"nodeType":"YulExpressionStatement","src":"5053:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5104:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5107:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5097:6:31"},"nodeType":"YulFunctionCall","src":"5097:15:31"},"nodeType":"YulExpressionStatement","src":"5097:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5132:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5135:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5125:6:31"},"nodeType":"YulFunctionCall","src":"5125:15:31"},"nodeType":"YulExpressionStatement","src":"5125:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4995:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5018:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5026:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5015:2:31"},"nodeType":"YulFunctionCall","src":"5015:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4992:2:31"},"nodeType":"YulFunctionCall","src":"4992:38:31"},"nodeType":"YulIf","src":"4989:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4811:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4820:6:31","type":""}],"src":"4776:380:31"},{"body":{"nodeType":"YulBlock","src":"5335:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5352:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5363:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5345:6:31"},"nodeType":"YulFunctionCall","src":"5345:21:31"},"nodeType":"YulExpressionStatement","src":"5345:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5397:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5382:3:31"},"nodeType":"YulFunctionCall","src":"5382:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"5402:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5375:6:31"},"nodeType":"YulFunctionCall","src":"5375:30:31"},"nodeType":"YulExpressionStatement","src":"5375:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5425:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5436:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5421:3:31"},"nodeType":"YulFunctionCall","src":"5421:18:31"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"5441:34:31","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5414:6:31"},"nodeType":"YulFunctionCall","src":"5414:62:31"},"nodeType":"YulExpressionStatement","src":"5414:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5496:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5507:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5492:3:31"},"nodeType":"YulFunctionCall","src":"5492:18:31"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"5512:3:31","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5485:6:31"},"nodeType":"YulFunctionCall","src":"5485:31:31"},"nodeType":"YulExpressionStatement","src":"5485:31:31"},{"nodeType":"YulAssignment","src":"5525:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5537:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5548:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5533:3:31"},"nodeType":"YulFunctionCall","src":"5533:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5525:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5312:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5326:4:31","type":""}],"src":"5161:397:31"},{"body":{"nodeType":"YulBlock","src":"5737:251:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5754:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5765:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5747:6:31"},"nodeType":"YulFunctionCall","src":"5747:21:31"},"nodeType":"YulExpressionStatement","src":"5747:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5788:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5799:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5784:3:31"},"nodeType":"YulFunctionCall","src":"5784:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"5804:2:31","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5777:6:31"},"nodeType":"YulFunctionCall","src":"5777:30:31"},"nodeType":"YulExpressionStatement","src":"5777:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5827:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5838:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5823:3:31"},"nodeType":"YulFunctionCall","src":"5823:18:31"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"5843:34:31","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5816:6:31"},"nodeType":"YulFunctionCall","src":"5816:62:31"},"nodeType":"YulExpressionStatement","src":"5816:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5898:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5909:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5894:3:31"},"nodeType":"YulFunctionCall","src":"5894:18:31"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"5914:31:31","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5887:6:31"},"nodeType":"YulFunctionCall","src":"5887:59:31"},"nodeType":"YulExpressionStatement","src":"5887:59:31"},{"nodeType":"YulAssignment","src":"5955:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5967:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5978:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5963:3:31"},"nodeType":"YulFunctionCall","src":"5963:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5955:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5714:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5728:4:31","type":""}],"src":"5563:425:31"},{"body":{"nodeType":"YulBlock","src":"6167:235:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6184:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6195:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6177:6:31"},"nodeType":"YulFunctionCall","src":"6177:21:31"},"nodeType":"YulExpressionStatement","src":"6177:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6218:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6229:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6214:3:31"},"nodeType":"YulFunctionCall","src":"6214:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6234:2:31","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6207:6:31"},"nodeType":"YulFunctionCall","src":"6207:30:31"},"nodeType":"YulExpressionStatement","src":"6207:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6257:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6268:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6253:3:31"},"nodeType":"YulFunctionCall","src":"6253:18:31"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"6273:34:31","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6246:6:31"},"nodeType":"YulFunctionCall","src":"6246:62:31"},"nodeType":"YulExpressionStatement","src":"6246:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6328:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6339:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6324:3:31"},"nodeType":"YulFunctionCall","src":"6324:18:31"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"6344:15:31","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6317:6:31"},"nodeType":"YulFunctionCall","src":"6317:43:31"},"nodeType":"YulExpressionStatement","src":"6317:43:31"},{"nodeType":"YulAssignment","src":"6369:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6381:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6392:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6377:3:31"},"nodeType":"YulFunctionCall","src":"6377:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6369:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6144:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6158:4:31","type":""}],"src":"5993:409:31"},{"body":{"nodeType":"YulBlock","src":"6581:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6598:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6609:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6591:6:31"},"nodeType":"YulFunctionCall","src":"6591:21:31"},"nodeType":"YulExpressionStatement","src":"6591:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6632:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6643:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6628:3:31"},"nodeType":"YulFunctionCall","src":"6628:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6648:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6621:6:31"},"nodeType":"YulFunctionCall","src":"6621:30:31"},"nodeType":"YulExpressionStatement","src":"6621:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6671:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6682:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6667:3:31"},"nodeType":"YulFunctionCall","src":"6667:18:31"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"6687:26:31","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6660:6:31"},"nodeType":"YulFunctionCall","src":"6660:54:31"},"nodeType":"YulExpressionStatement","src":"6660:54:31"},{"nodeType":"YulAssignment","src":"6723:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6735:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6746:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6731:3:31"},"nodeType":"YulFunctionCall","src":"6731:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6723:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6558:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6572:4:31","type":""}],"src":"6407:348:31"},{"body":{"nodeType":"YulBlock","src":"6934:231:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6951:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6962:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6944:6:31"},"nodeType":"YulFunctionCall","src":"6944:21:31"},"nodeType":"YulExpressionStatement","src":"6944:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6985:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6996:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6981:3:31"},"nodeType":"YulFunctionCall","src":"6981:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"7001:2:31","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6974:6:31"},"nodeType":"YulFunctionCall","src":"6974:30:31"},"nodeType":"YulExpressionStatement","src":"6974:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7024:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7035:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7020:3:31"},"nodeType":"YulFunctionCall","src":"7020:18:31"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"7040:34:31","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7013:6:31"},"nodeType":"YulFunctionCall","src":"7013:62:31"},"nodeType":"YulExpressionStatement","src":"7013:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7095:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7106:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7091:3:31"},"nodeType":"YulFunctionCall","src":"7091:18:31"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"7111:11:31","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7084:6:31"},"nodeType":"YulFunctionCall","src":"7084:39:31"},"nodeType":"YulExpressionStatement","src":"7084:39:31"},{"nodeType":"YulAssignment","src":"7132:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7144:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7155:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7140:3:31"},"nodeType":"YulFunctionCall","src":"7140:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7132:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6911:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6925:4:31","type":""}],"src":"6760:405:31"},{"body":{"nodeType":"YulBlock","src":"7344:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7361:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7372:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7354:6:31"},"nodeType":"YulFunctionCall","src":"7354:21:31"},"nodeType":"YulExpressionStatement","src":"7354:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7395:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7406:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7391:3:31"},"nodeType":"YulFunctionCall","src":"7391:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"7411:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7384:6:31"},"nodeType":"YulFunctionCall","src":"7384:30:31"},"nodeType":"YulExpressionStatement","src":"7384:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7434:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7445:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7430:3:31"},"nodeType":"YulFunctionCall","src":"7430:18:31"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"7450:34:31","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7423:6:31"},"nodeType":"YulFunctionCall","src":"7423:62:31"},"nodeType":"YulExpressionStatement","src":"7423:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7505:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7516:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7501:3:31"},"nodeType":"YulFunctionCall","src":"7501:18:31"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"7521:7:31","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7494:6:31"},"nodeType":"YulFunctionCall","src":"7494:35:31"},"nodeType":"YulExpressionStatement","src":"7494:35:31"},{"nodeType":"YulAssignment","src":"7538:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7550:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7561:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7546:3:31"},"nodeType":"YulFunctionCall","src":"7546:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7538:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7321:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7335:4:31","type":""}],"src":"7170:401:31"},{"body":{"nodeType":"YulBlock","src":"7750:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7767:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7778:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7760:6:31"},"nodeType":"YulFunctionCall","src":"7760:21:31"},"nodeType":"YulExpressionStatement","src":"7760:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7801:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7812:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7797:3:31"},"nodeType":"YulFunctionCall","src":"7797:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"7817:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7790:6:31"},"nodeType":"YulFunctionCall","src":"7790:30:31"},"nodeType":"YulExpressionStatement","src":"7790:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7840:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7851:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7836:3:31"},"nodeType":"YulFunctionCall","src":"7836:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"7856:34:31","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7829:6:31"},"nodeType":"YulFunctionCall","src":"7829:62:31"},"nodeType":"YulExpressionStatement","src":"7829:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7911:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7922:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7907:3:31"},"nodeType":"YulFunctionCall","src":"7907:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"7927:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7900:6:31"},"nodeType":"YulFunctionCall","src":"7900:34:31"},"nodeType":"YulExpressionStatement","src":"7900:34:31"},{"nodeType":"YulAssignment","src":"7943:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7955:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7966:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7951:3:31"},"nodeType":"YulFunctionCall","src":"7951:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7943:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7727:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7741:4:31","type":""}],"src":"7576:400:31"},{"body":{"nodeType":"YulBlock","src":"8155:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8172:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8183:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8165:6:31"},"nodeType":"YulFunctionCall","src":"8165:21:31"},"nodeType":"YulExpressionStatement","src":"8165:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8206:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8217:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8202:3:31"},"nodeType":"YulFunctionCall","src":"8202:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8222:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8195:6:31"},"nodeType":"YulFunctionCall","src":"8195:30:31"},"nodeType":"YulExpressionStatement","src":"8195:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8245:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8256:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8241:3:31"},"nodeType":"YulFunctionCall","src":"8241:18:31"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"8261:27:31","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8234:6:31"},"nodeType":"YulFunctionCall","src":"8234:55:31"},"nodeType":"YulExpressionStatement","src":"8234:55:31"},{"nodeType":"YulAssignment","src":"8298:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8310:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8321:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8306:3:31"},"nodeType":"YulFunctionCall","src":"8306:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8298:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8132:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8146:4:31","type":""}],"src":"7981:349:31"},{"body":{"nodeType":"YulBlock","src":"8509:240:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8526:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8537:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8519:6:31"},"nodeType":"YulFunctionCall","src":"8519:21:31"},"nodeType":"YulExpressionStatement","src":"8519:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8560:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8571:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8556:3:31"},"nodeType":"YulFunctionCall","src":"8556:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8576:2:31","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8549:6:31"},"nodeType":"YulFunctionCall","src":"8549:30:31"},"nodeType":"YulExpressionStatement","src":"8549:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8599:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8610:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8595:3:31"},"nodeType":"YulFunctionCall","src":"8595:18:31"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"8615:34:31","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8588:6:31"},"nodeType":"YulFunctionCall","src":"8588:62:31"},"nodeType":"YulExpressionStatement","src":"8588:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8670:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8681:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8666:3:31"},"nodeType":"YulFunctionCall","src":"8666:18:31"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"8686:20:31","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8659:6:31"},"nodeType":"YulFunctionCall","src":"8659:48:31"},"nodeType":"YulExpressionStatement","src":"8659:48:31"},{"nodeType":"YulAssignment","src":"8716:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8728:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8739:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8724:3:31"},"nodeType":"YulFunctionCall","src":"8724:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8716:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8486:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8500:4:31","type":""}],"src":"8335:414:31"},{"body":{"nodeType":"YulBlock","src":"8941:309:31","statements":[{"nodeType":"YulVariableDeclaration","src":"8951:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8971:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8965:5:31"},"nodeType":"YulFunctionCall","src":"8965:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8955:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9026:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"9034:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9022:3:31"},"nodeType":"YulFunctionCall","src":"9022:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"9041:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9046:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8987:34:31"},"nodeType":"YulFunctionCall","src":"8987:66:31"},"nodeType":"YulExpressionStatement","src":"8987:66:31"},{"nodeType":"YulVariableDeclaration","src":"9062:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9079:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9084:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9075:3:31"},"nodeType":"YulFunctionCall","src":"9075:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"9066:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9100:29:31","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9122:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9116:5:31"},"nodeType":"YulFunctionCall","src":"9116:13:31"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"9104:8:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9177:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"9185:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9173:3:31"},"nodeType":"YulFunctionCall","src":"9173:17:31"},{"name":"end_1","nodeType":"YulIdentifier","src":"9192:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"9199:8:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"9138:34:31"},"nodeType":"YulFunctionCall","src":"9138:70:31"},"nodeType":"YulExpressionStatement","src":"9138:70:31"},{"nodeType":"YulAssignment","src":"9217:27:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"9228:5:31"},{"name":"length_1","nodeType":"YulIdentifier","src":"9235:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9224:3:31"},"nodeType":"YulFunctionCall","src":"9224:20:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9217:3:31"}]}]},"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":"8909:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8914:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8922:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8933:3:31","type":""}],"src":"8754:496:31"},{"body":{"nodeType":"YulBlock","src":"9458:286:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9468:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9486:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9491:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9482:3:31"},"nodeType":"YulFunctionCall","src":"9482:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"9495:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9478:3:31"},"nodeType":"YulFunctionCall","src":"9478:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9472:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9513:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9528:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9536:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9524:3:31"},"nodeType":"YulFunctionCall","src":"9524:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9506:6:31"},"nodeType":"YulFunctionCall","src":"9506:34:31"},"nodeType":"YulExpressionStatement","src":"9506:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9560:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9571:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9556:3:31"},"nodeType":"YulFunctionCall","src":"9556:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9580:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9588:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9576:3:31"},"nodeType":"YulFunctionCall","src":"9576:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9549:6:31"},"nodeType":"YulFunctionCall","src":"9549:43:31"},"nodeType":"YulExpressionStatement","src":"9549:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9612:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9623:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9608:3:31"},"nodeType":"YulFunctionCall","src":"9608:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"9628:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9601:6:31"},"nodeType":"YulFunctionCall","src":"9601:34:31"},"nodeType":"YulExpressionStatement","src":"9601:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9655:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9666:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9651:3:31"},"nodeType":"YulFunctionCall","src":"9651:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"9671:3:31","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9644:6:31"},"nodeType":"YulFunctionCall","src":"9644:31:31"},"nodeType":"YulExpressionStatement","src":"9644:31:31"},{"nodeType":"YulAssignment","src":"9684:54:31","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"9710:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9722:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9733:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9718:3:31"},"nodeType":"YulFunctionCall","src":"9718:19:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9692:17:31"},"nodeType":"YulFunctionCall","src":"9692:46:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9684:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9403:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9414:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9422:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9430:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9438:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9449:4:31","type":""}],"src":"9255:489:31"},{"body":{"nodeType":"YulBlock","src":"9829:169:31","statements":[{"body":{"nodeType":"YulBlock","src":"9875:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9884:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9887:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9877:6:31"},"nodeType":"YulFunctionCall","src":"9877:12:31"},"nodeType":"YulExpressionStatement","src":"9877:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9850:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"9859:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9846:3:31"},"nodeType":"YulFunctionCall","src":"9846:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"9871:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9842:3:31"},"nodeType":"YulFunctionCall","src":"9842:32:31"},"nodeType":"YulIf","src":"9839:52:31"},{"nodeType":"YulVariableDeclaration","src":"9900:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9919:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9913:5:31"},"nodeType":"YulFunctionCall","src":"9913:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9904:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9962:5:31"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"9938:23:31"},"nodeType":"YulFunctionCall","src":"9938:30:31"},"nodeType":"YulExpressionStatement","src":"9938:30:31"},{"nodeType":"YulAssignment","src":"9977:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"9987:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9977:6:31"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9795:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9806:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9818:6:31","type":""}],"src":"9749:249:31"},{"body":{"nodeType":"YulBlock","src":"10035:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10052:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10059:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10064:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10055:3:31"},"nodeType":"YulFunctionCall","src":"10055:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:31"},"nodeType":"YulFunctionCall","src":"10045:31:31"},"nodeType":"YulExpressionStatement","src":"10045:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10092:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10095:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10085:6:31"},"nodeType":"YulFunctionCall","src":"10085:15:31"},"nodeType":"YulExpressionStatement","src":"10085:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10116:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10119:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10109:6:31"},"nodeType":"YulFunctionCall","src":"10109:15:31"},"nodeType":"YulExpressionStatement","src":"10109:15:31"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"10003:127:31"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101e1578063b88d4fde146101f4578063c87b56dd14610207578063e985e9c51461021a57600080fd5b80636352211e146101a557806370a08231146101b857806395d89b41146101d957600080fd5b8063095ea7b3116100c8578063095ea7b31461015757806323b872dd1461016c57806342842e0e1461017f57806342966c681461019257600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610f4f565b610256565b60405190151581526020015b60405180910390f35b61011f610267565b60405161010e9190610fbc565b61013f61013a366004610fcf565b6102f9565b6040516001600160a01b03909116815260200161010e565b61016a610165366004611004565b610320565b005b61016a61017a36600461102e565b61043a565b61016a61018d36600461102e565b61046c565b61016a6101a0366004610fcf565b610487565b61013f6101b3366004610fcf565b6104b8565b6101cb6101c636600461106a565b610518565b60405190815260200161010e565b61011f61059e565b61016a6101ef366004611085565b6105ad565b61016a6102023660046110d7565b6105bc565b61011f610215366004610fcf565b6105f4565b6101026102283660046111b3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610261826105ff565b92915050565b606060008054610276906111e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906111e6565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050905090565b600061030482610624565b506000908152600460205260409020546001600160a01b031690565b600061032b826104b8565b9050806001600160a01b0316836001600160a01b03160361039d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103b957506103b98133610228565b61042b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610394565b6104358383610683565b505050565b610445335b826106f1565b6104615760405162461bcd60e51b815260040161039490611220565b610435838383610770565b610435838383604051806020016040528060008152506105bc565b6104903361043f565b6104ac5760405162461bcd60e51b815260040161039490611220565b6104b5816108d4565b50565b6000818152600260205260408120546001600160a01b0316806102615760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b60006001600160a01b0382166105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610394565b506001600160a01b031660009081526003602052604090205490565b606060018054610276906111e6565b6105b83383836108dd565b5050565b6105c633836106f1565b6105e25760405162461bcd60e51b815260040161039490611220565b6105ee848484846109ab565b50505050565b6060610261826109de565b60006001600160e01b03198216632483248360e11b1480610261575061026182610ae6565b6000818152600260205260409020546001600160a01b03166104b55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106b8826104b8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806106fd836104b8565b9050806001600160a01b0316846001600160a01b0316148061074457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107685750836001600160a01b031661075d846102f9565b6001600160a01b0316145b949350505050565b826001600160a01b0316610783826104b8565b6001600160a01b0316146107a95760405162461bcd60e51b81526004016103949061126d565b6001600160a01b03821661080b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610394565b826001600160a01b031661081e826104b8565b6001600160a01b0316146108445760405162461bcd60e51b81526004016103949061126d565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104b581610b36565b816001600160a01b0316836001600160a01b03160361093e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610394565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109b6848484610770565b6109c284848484610b76565b6105ee5760405162461bcd60e51b8152600401610394906112b2565b60606109e982610624565b60008281526006602052604081208054610a02906111e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e906111e6565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b505050505090506000610a9960408051602081019091526000815290565b90508051600003610aab575092915050565b815115610add578082604051602001610ac5929190611304565b60405160208183030381529060405292505050919050565b61076884610c77565b60006001600160e01b031982166380ac58cd60e01b1480610b1757506001600160e01b03198216635b5e139f60e01b145b8061026157506301ffc9a760e01b6001600160e01b0319831614610261565b610b3f81610ceb565b60008181526006602052604090208054610b58906111e6565b1590506104b55760008181526006602052604081206104b591610eeb565b60006001600160a01b0384163b15610c6c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610bba903390899088908890600401611333565b6020604051808303816000875af1925050508015610bf5575060408051601f3d908101601f19168201909252610bf291810190611370565b60015b610c52573d808015610c23576040519150601f19603f3d011682016040523d82523d6000602084013e610c28565b606091505b508051600003610c4a5760405162461bcd60e51b8152600401610394906112b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610768565b506001949350505050565b6060610c8282610624565b6000610c9960408051602081019091526000815290565b90506000815111610cb95760405180602001604052806000815250610ce4565b80610cc384610d80565b604051602001610cd4929190611304565b6040516020818303038152906040525b9392505050565b6000610cf6826104b8565b9050610d01826104b8565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60606000610d8d83610e13565b600101905060008167ffffffffffffffff811115610dad57610dad6110c1565b6040519080825280601f01601f191660200182016040528015610dd7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610de157509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e525772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e7e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e9c57662386f26fc10000830492506010015b6305f5e1008310610eb4576305f5e100830492506008015b6127108310610ec857612710830492506004015b60648310610eda576064830492506002015b600a83106102615760010192915050565b508054610ef7906111e6565b6000825580601f10610f07575050565b601f0160209004906000526020600020908101906104b591905b80821115610f355760008155600101610f21565b5090565b6001600160e01b0319811681146104b557600080fd5b600060208284031215610f6157600080fd5b8135610ce481610f39565b60005b83811015610f87578181015183820152602001610f6f565b50506000910152565b60008151808452610fa8816020860160208601610f6c565b601f01601f19169290920160200192915050565b602081526000610ce46020830184610f90565b600060208284031215610fe157600080fd5b5035919050565b80356001600160a01b0381168114610fff57600080fd5b919050565b6000806040838503121561101757600080fd5b61102083610fe8565b946020939093013593505050565b60008060006060848603121561104357600080fd5b61104c84610fe8565b925061105a60208501610fe8565b9150604084013590509250925092565b60006020828403121561107c57600080fd5b610ce482610fe8565b6000806040838503121561109857600080fd5b6110a183610fe8565b9150602083013580151581146110b657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156110ed57600080fd5b6110f685610fe8565b935061110460208601610fe8565b925060408501359150606085013567ffffffffffffffff8082111561112857600080fd5b818701915087601f83011261113c57600080fd5b81358181111561114e5761114e6110c1565b604051601f8201601f19908116603f01168101908382118183101715611176576111766110c1565b816040528281528a602084870101111561118f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156111c657600080fd5b6111cf83610fe8565b91506111dd60208401610fe8565b90509250929050565b600181811c908216806111fa57607f821691505b60208210810361121a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611316818460208801610f6c565b83519083019061132a818360208801610f6c565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061136690830184610f90565b9695505050505050565b60006020828403121561138257600080fd5b8151610ce481610f3956fea2646970667358221220f2ee410a99715667683fa224eb5be2c0b6c98edb2b01b26a54d1a13e0e3f5ce164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1E1 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0xFD CALLDATASIZE PUSH1 0x4 PUSH2 0xF4F JUMP JUMPDEST PUSH2 0x256 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11F PUSH2 0x267 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xFBC JUMP JUMPDEST PUSH2 0x13F PUSH2 0x13A CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x165 CALLDATASIZE PUSH1 0x4 PUSH2 0x1004 JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16A PUSH2 0x17A CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH2 0x16A PUSH2 0x18D CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x46C JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST PUSH2 0x13F PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x1CB PUSH2 0x1C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x106A JUMP JUMPDEST PUSH2 0x518 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x11F PUSH2 0x59E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1EF CALLDATASIZE PUSH1 0x4 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x16A PUSH2 0x202 CALLDATASIZE PUSH1 0x4 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x11F PUSH2 0x215 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x5F4 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x228 CALLDATASIZE PUSH1 0x4 PUSH2 0x11B3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261 DUP3 PUSH2 0x5FF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2A2 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x304 DUP3 PUSH2 0x624 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32B DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x39D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3B9 JUMPI POP PUSH2 0x3B9 DUP2 CALLER PUSH2 0x228 JUMP JUMPDEST PUSH2 0x42B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 PUSH2 0x683 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x445 CALLER JUMPDEST DUP3 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x461 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x490 CALLER PUSH2 0x43F JUMP JUMPDEST PUSH2 0x4AC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0x8D4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH2 0x5B8 CALLER DUP4 DUP4 PUSH2 0x8DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5C6 CALLER DUP4 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x5E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x5EE DUP5 DUP5 DUP5 DUP5 PUSH2 0x9AB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x261 DUP3 PUSH2 0x9DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0x261 JUMPI POP PUSH2 0x261 DUP3 PUSH2 0xAE6 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6B8 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6FD DUP4 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x744 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x768 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x75D DUP5 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x783 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x80B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x81E DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x844 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0xB36 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x93E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9B6 DUP5 DUP5 DUP5 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x9C2 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB76 JUMP JUMPDEST PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x9E9 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0xA02 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA2E SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA7B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA50 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA7B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xA5E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0xA99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xAAB JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xADD JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAC5 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x768 DUP5 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xB17 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x261 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x261 JUMP JUMPDEST PUSH2 0xB3F DUP2 PUSH2 0xCEB JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0xB58 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x4B5 SWAP2 PUSH2 0xEEB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC6C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xBBA SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1333 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xBF5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xBF2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xC52 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xC23 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xC4A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x768 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC82 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0xCB9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xCE4 JUMP JUMPDEST DUP1 PUSH2 0xCC3 DUP5 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCD4 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF6 DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP PUSH2 0xD01 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD8D DUP4 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xDAD JUMPI PUSH2 0xDAD PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDD7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xDE1 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xE52 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xE7E JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xE9C JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xEB4 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xEC8 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xEDA JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x261 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0xEF7 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0xF07 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B5 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xF35 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xF21 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF87 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF6F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xFA8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xCE4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1017 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1020 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1043 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x104C DUP5 PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH2 0x105A PUSH1 0x20 DUP6 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x107C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCE4 DUP3 PUSH2 0xFE8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10A1 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x10B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x10ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10F6 DUP6 PUSH2 0xFE8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1104 PUSH1 0x20 DUP7 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x114E JUMPI PUSH2 0x114E PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1176 JUMPI PUSH2 0x1176 PUSH2 0x10C1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x118F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11CF DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH2 0x11DD PUSH1 0x20 DUP5 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11FA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x121A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1316 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x132A DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1366 SWAP1 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1382 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE 0xEE COINBASE EXP SWAP10 PUSH18 0x5667683FA224EB5BE2C0B6C98EDB2B01B26A SLOAD 0xD1 LOG1 RETURNDATACOPY 0xE EXTCODEHASH 0x5C 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"333:606:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;755:181;;;;;;:::i;:::-;;:::i;:::-;;;565:14:31;;558:22;540:41;;528:2;513:18;755:181:22;;;;;;;;2471:98:5;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:31;;;1679:51;;1667:2;1652:18;3935:167:5;1533:203:31;3468:406:5;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;531:238:8:-;;;;;;:::i;:::-;;:::i;2190:219:5:-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:31;;;2836:2;2821:18;1929:204:5;2702:177:31;2633:102:5;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;584:165:22:-;;;;;;:::i;:::-;;:::i;4388:162:5:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;755:181:22;866:4;893:36;917:11;893:23;:36::i;:::-;886:43;755:181;-1:-1:-1;;755:181:22:o;2471:98:5:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;5363:2:31;3597:57:5;;;5345:21:31;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:31;;;5485:31;5533:19;;3597:57:5;;;;;;;;;734:10:12;-1:-1:-1;;;;;3686:21:5;;;;:62;;-1:-1:-1;3711:37:5;3728:5;734:10:12;4388:162:5;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;5765:2:31;3665:170:5;;;5747:21:31;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:5;5563:425:31;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;734:10:12;4790:12:5;4804:7;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:5;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;531:238:8:-;647:41;734:10:12;666:12:8;655:96:12;647:41:8;639:99;;;;-1:-1:-1;;;639:99:8;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;2190:219:5:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;6609:2:31;2324:56:5;;;6591:21:31;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:31;;;6660:54;6731:18;;2324:56:5;6407:348:31;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;6962:2:31;2020:73:5;;;6944:21:31;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:31;;;7084:39;7140:19;;2020:73:5;6760:405:31;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;734:10:12;4296:8:5;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;734:10:12;5352:7:5;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;584:165:22:-;683:13;719:23;734:7;719:14;:23::i;535:205:9:-;637:4;-1:-1:-1;;;;;;660:33:9;;-1:-1:-1;;;660:33:9;;:73;;;697:36;721:11;697:23;:36::i;13240:133:5:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;6609:2:31;13313:53:5;;;6591:21:31;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:31;;;6660:54;6731:18;;13313:53:5;6407:348:31;12572:171:5;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;-1:-1:-1;;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;7778:2:31;11437:65:5;;;7760:21:31;7817:2;7797:18;;;7790:30;7856:34;7836:18;;;7829:62;-1:-1:-1;;;7907:18:31;;;7900:34;7951:19;;11437:65:5;7576:400:31;11437:65:5;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;465:113:22:-;551:20;563:7;551:11;:20::i;12879:277:5:-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;8183:2:31;12982:55:5;;;8165:21:31;8222:2;8202:18;;;8195:30;8261:27;8241:18;;;8234:55;8306:18;;12982:55:5;7981:349:31;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;540::31;;;13108::5;;513:18:31;13108:41:5;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;806:608:9:-;879:13;904:23;919:7;904:14;:23::i;:::-;938;964:19;;;:10;:19;;;;;938:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:18;1014:10;3395:9:5;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;1014:10:9;993:31;;1103:4;1097:18;1119:1;1097:23;1093:70;;-1:-1:-1;1143:9:9;806:608;-1:-1:-1;;806:608:9:o;1093:70::-;1265:23;;:27;1261:106;;1339:4;1345:9;1322:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1308:48;;;;806:608;;;:::o;1261:106::-;1384:23;1399:7;1384:14;:23::i;1570:300:5:-;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;829:155:15;2070:200:9;2138:20;2150:7;2138:11;:20::i;:::-;2179:19;;;;:10;:19;;;;;2173:33;;;;;:::i;:::-;:38;;-1:-1:-1;2169:95:9;;2234:19;;;;:10;:19;;;;;2227:26;;;:::i;13925:831:5:-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14129:71;;-1:-1:-1;;;14129:71:5;;-1:-1:-1;;;;;14129:36:5;;;;;:71;;734:10:12;;14180:4:5;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;13925:831;;;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;10171:762::-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10441:23;10456:7;10441:14;:23::i;:::-;10509:24;;;;:15;:24;;;;;;;;10502:31;;-1:-1:-1;;;;;;10502:31:5;;;;;;-1:-1:-1;;;;;10749:16:5;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10749:21:5;;;10797:16;;;:7;:16;;;;;;10790:23;;;;;;;10829:36;10433:31;;-1:-1:-1;10525:7:5;;10829:36;;10509:24;;10829:36;4169:153;;:::o;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:31:-;-1:-1:-1;;;;;;88:32:31;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:31;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:31;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:31:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:31;;1348:180;-1:-1:-1;1348:180:31:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:31;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:31:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:31;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:31;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:401::-;7372:2;7354:21;;;7411:2;7391:18;;;7384:30;7450:34;7445:2;7430:18;;7423:62;-1:-1:-1;;;7516:2:31;7501:18;;7494:35;7561:3;7546:19;;7170:401::o;8335:414::-;8537:2;8519:21;;;8576:2;8556:18;;;8549:30;8615:34;8610:2;8595:18;;8588:62;-1:-1:-1;;;8681:2:31;8666:18;;8659:48;8739:3;8724:19;;8335:414::o;8754:496::-;8933:3;8971:6;8965:13;8987:66;9046:6;9041:3;9034:4;9026:6;9022:17;8987:66;:::i;:::-;9116:13;;9075:16;;;;9138:70;9116:13;9075:16;9185:4;9173:17;;9138:70;:::i;:::-;9224:20;;8754:496;-1:-1:-1;;;;8754:496:31:o;9255:489::-;-1:-1:-1;;;;;9524:15:31;;;9506:34;;9576:15;;9571:2;9556:18;;9549:43;9623:2;9608:18;;9601:34;;;9671:3;9666:2;9651:18;;9644:31;;;9449:4;;9692:46;;9718:19;;9710:6;9692:46;:::i;:::-;9684:54;9255:489;-1:-1:-1;;;;;;9255:489:31:o;9749:249::-;9818:6;9871:2;9859:9;9850:7;9846:23;9842:32;9839:52;;;9887:1;9884;9877:12;9839:52;9919:9;9913:16;9938:30;9962:5;9938:30;:::i"},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"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}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCardsNFT.v1.sol\":\"NofGammaCardsNFTV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"contracts/gamma/GammaOffers.v4.sol":{"IGammaCardsContract":{"abi":[{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint8","name":"cardNumberFrom","type":"uint8"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8","name":"cardNumberTo","type":"uint8"}],"name":"exchangeCardsOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"hasCardByOffer","outputs":[{"internalType":"bool","name":"has","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"removeCardByOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"restoreCardByOffer","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"exchangeCardsOffer(address,uint8,address,uint8)":"ad1684fa","hasCardByOffer(address,uint8)":"8bf670c8","removeCardByOffer(address,uint8)":"7155a3ac","restoreCardByOffer(address,uint8)":"155e2f92"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberFrom\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberTo\",\"type\":\"uint8\"}],\"name\":\"exchangeCardsOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"hasCardByOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"has\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"removeCardByOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"restoreCardByOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaOffers.v4.sol\":\"IGammaCardsContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaOffers.v4.sol\":{\"keccak256\":\"0xf6d774169b447f6bf21ec9e430f64e8a02477cd7e5be766ddeef642d5b925c17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed9649e0c1568fbe4b0befe4d9492b93140aa9dc708422299f8792a695bc99f2\",\"dweb:/ipfs/QmREWczT9rqy2g6Cf5yQWpV8WnHsWjLAHK71LwxxrcWpe8\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"NofGammaOffersV4":{"abi":[{"inputs":[],"name":"ExchangeError","type":"error"},{"inputs":[],"name":"GammaCardsContractNotSet","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidCard","type":"error"},{"inputs":[],"name":"InvalidCardNumber","type":"error"},{"inputs":[],"name":"InvalidOfferId","type":"error"},{"inputs":[],"name":"OfferAlreadyExists","type":"error"},{"inputs":[],"name":"OfferDoesNotExists","type":"error"},{"inputs":[],"name":"OfferNotDeleted","type":"error"},{"inputs":[],"name":"OffersMaximumAllowed","type":"error"},{"inputs":[],"name":"OnlyCardsContract","type":"error"},{"inputs":[],"name":"OnlyOwners","type":"error"},{"inputs":[],"name":"RemoveOfferFromCardNumberMapping_DoNotMatch","type":"error"},{"inputs":[],"name":"RemoveOfferFromUserMapping_DoNotMatch","type":"error"},{"inputs":[],"name":"UserAlreadyHasCard","type":"error"},{"inputs":[],"name":"UserDoesNotHaveCard","type":"error"},{"anonymous":false,"inputs":[],"name":"AllOffersRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newGammaCardsContract","type":"address"}],"name":"NewGammaCardsContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"cardNumber","type":"uint8"},{"indexed":false,"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"}],"name":"OfferCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"OfferRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"UserOffersRemoved","type":"event"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"canAnyUserPublishOffer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"canUserPublishOffer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_value","type":"bool"}],"name":"changeRemoveCardinInventoryWhenOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint8","name":"cardNumberWanted","type":"uint8"},{"internalType":"address","name":"offerWallet","type":"address"},{"internalType":"uint8","name":"offerCardNumber","type":"uint8"}],"name":"confirmOfferExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"}],"name":"createOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"}],"name":"createOfferWithoUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deleteAllOffers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gammaCardsContract","outputs":[{"internalType":"contract IGammaCardsContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxOffersAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMaxOffersByUserAllowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getOfferByIndex","outputs":[{"components":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct NofGammaOffersV4.Offer","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"offerId","type":"string"}],"name":"getOfferByOfferId","outputs":[{"components":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct NofGammaOffersV4.Offer","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"getOfferByUserAndCardNumber","outputs":[{"components":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct NofGammaOffersV4.Offer","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOffers","outputs":[{"components":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct NofGammaOffersV4.Offer[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"getOffersByCardNumber","outputs":[{"components":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct NofGammaOffersV4.Offer[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"getOffersByCardNumberCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getOffersByUser","outputs":[{"components":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"uint8[]","name":"wantedCardNumbers","type":"uint8[]"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct NofGammaOffersV4.Offer[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getOffersByUserCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOffersCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"hasOffer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_cardsContract","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"offers","outputs":[{"internalType":"string","name":"offerId","type":"string"},{"internalType":"uint8","name":"cardNumber","type":"uint8"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"offersByCardNumberCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"offersByUserCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"offersTotalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"removeOfferByCardNumber","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"removeOfferByUserAndCardNumber","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeOffersByUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ownerToRemove","type":"address"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaCardsContract","type":"address"}],"name":"setGammaCardsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxCardNumbersAllowed","type":"uint256"}],"name":"setMaxCardNumbersAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxOffersAllowed","type":"uint256"}],"name":"setMaxOffersAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxOffersByUserAllowed","type":"uint256"}],"name":"setMaxOffersByUserAllowed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23":{"entryPoint":null,"id":23,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":60,"id":111,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":1706},{"length":20,"start":3581}]}},"object":"60806040526113886004556005805560786006556007805460ff191690553480156200002a57600080fd5b5062000036336200003c565b6200008c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613712806200009c6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637594a6ed11610130578063ce7483d5116100b8578063e2b365961161007c578063e2b3659614610515578063e359a0a114610528578063e5e5f7321461053b578063f2fde38b1461054e578063fc9e80fc1461056157600080fd5b8063ce7483d5146104a4578063cf86f8e5146104c7578063d250f03a146104cf578063d827a8f4146104e2578063e02f97231461050257600080fd5b806390222aa1116100ff57806390222aa11461044e5780639618b333146104565780639f91506914610469578063ba79b77b14610489578063c08029e71461049157600080fd5b80637594a6ed146103d35780638400a189146103f35780638a72ea6a146104065780638da5cb5b1461042957600080fd5b80633a027073116101be5780635a919aeb116101825780635a919aeb146103905780635bbfbfd614610399578063619980dc146103ac5780637065cb48146103b8578063715018a6146103cb57600080fd5b80633a0270731461032f5780633e293e16146103425780633ee992ee146103555780634c7a7ad31461036a57806358e57ebb1461037d57600080fd5b806329d3f60b1161020557806329d3f60b146102985780632edb5fcf146102d55780632f54bf6e146102e8578063322fba27146103145780633808dfe71461031c57600080fd5b80630cdb311714610237578063173825d91461025d57806317a1fed91461027257806319ab453c14610285575b600080fd5b61024a610245366004612e02565b610574565b6040519081526020015b60405180910390f35b61027061026b366004612e02565b6105b9565b005b610270610280366004612f73565b61065f565b610270610293366004612e02565b6106a1565b6102c56102a6366004612e02565b6001600160a01b03166000908152600b60205260409020546005541190565b6040519015158152602001610254565b6102c56102e3366004612ff8565b61070c565b6102c56102f6366004612e02565b6001600160a01b031660009081526002602052604090205460ff1690565b6102706107cc565b61027061032a36600461302b565b61097b565b6102c561033d366004613044565b6109b0565b61027061035036600461305f565b6109f8565b61035d610a09565b60405161025491906131c5565b610270610378366004612e02565b610b9d565b61027061038b366004613235565b610c48565b61024a600d5481565b6102c56103a7366004612ff8565b610c8b565b600d54600454116102c5565b6102706103c6366004612e02565b610d0c565b610270610d83565b61024a6103e1366004612e02565b600b6020526000908152604090205481565b61035d610401366004613044565b610d97565b61041961041436600461302b565b610f3b565b6040516102549493929190613252565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610254565b60045461024a565b61035d610464366004612e02565b611013565b61047c610477366004612ff8565b6111d6565b604051610254919061328d565b60055461024a565b61027061049f3660046132a0565b6113e6565b61024a6104b2366004613044565b60ff166000908152600c602052604090205490565b600d5461024a565b600154610436906001600160a01b031681565b61024a6104f0366004613044565b600c6020526000908152604090205481565b61027061051036600461302b565b61170a565b61047c6105233660046132f4565b61173f565b61047c61053636600461302b565b611948565b61027061054936600461302b565b611ad4565b61027061055c366004612e02565b611b09565b6102c561056f366004612e02565b611b87565b60006001600160a01b03821661059d5760405163e6c4247b60e01b815260040160405180910390fd5b506001600160a01b03166000908152600b602052604090205490565b3360009081526002602052604090205460ff166105e957604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561064457600080fd5b505af4158015610658573d6000803e3d6000fd5b5050505050565b3360009081526002602052604090205460ff1661068f57604051634289c49360e01b815260040160405180910390fd5b61069b84848484611dd2565b50505050565b6106a9612305565b6001600160a01b0381166106d05760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091178155336000908152600260205260409020805460ff19169091179055565b60006001600160a01b0383166107355760405163e6c4247b60e01b815260040160405180910390fd5b60005b6001600160a01b0384166000908152600b60205260409020548110156107c0576001600160a01b0384166000908152600960205260409020805460ff851691908390811061078857610788613329565b600091825260209091206001600590920201015460ff16036107ae5760019150506107c6565b806107b881613355565b915050610738565b50600090505b92915050565b3360009081526002602052604090205460ff166107fc57604051634289c49360e01b815260040160405180910390fd5b60005b60085481101561093c57600960006008838154811061082057610820613329565b60009182526020808320600360059093020191909101546001600160a01b03168352820192909252604001812061085691612bd7565b6000600b60006008848154811061086f5761086f613329565b60009182526020808320600360059093020191909101546001600160a01b0316835282019290925260400181209190915560088054600a929190849081106108b9576108b9613329565b600091825260208083206001600590930201919091015460ff16835282019290925260400181206108e991612bd7565b6000600c60006008848154811061090257610902613329565b600091825260208083206001600590930201919091015460ff1683528201929092526040019020558061093481613355565b9150506107ff565b506000600d81905561095090600890612bd7565b6040517f47e81efc038e27bb296dec5d44262943d2c2bbec28f461787a9cc53885694cb090600090a1565b3360009081526002602052604090205460ff166109ab57604051634289c49360e01b815260040160405180910390fd5b600555565b6000806109bd33846111d6565b60608101519091506001600160a01b031633146109dd5750600092915050565b60006109f033858460000151600061235f565b949350505050565b610a0483338484611dd2565b505050565b60606008805480602002602001604051908101604052809291908181526020016000905b82821015610b9457838290600052602060002090600502016040518060a0016040529081600082018054610a609061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8c9061336e565b8015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610b5957602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610b2a5790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610a2d565b50505050905090565b3360009081526002602052604090205460ff16610bcd57604051634289c49360e01b815260040160405180910390fd5b6001600160a01b038116610bf45760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa9060200160405180910390a150565b3360009081526002602052604090205460ff16610c7857604051634289c49360e01b815260040160405180910390fd5b6007805460ff1916911515919091179055565b3360009081526002602052604081205460ff16610cbb57604051634289c49360e01b815260040160405180910390fd5b6000610cc784846111d6565b9050836001600160a01b031681606001516001600160a01b031614610cf05760009150506107c6565b6000610d0385858460000151600061235f565b95945050505050565b3360009081526002602052604090205460ff16610d3c57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161062c565b610d8b612305565b610d9560006124d6565b565b60ff81166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610f3057838290600052602060002090600502016040518060a0016040529081600082018054610dfc9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610e289061336e565b8015610e755780601f10610e4a57610100808354040283529160200191610e75565b820191906000526020600020905b815481529060010190602001808311610e5857829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610ef557602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610ec65790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610dc9565b505050509050919050565b60088181548110610f4b57600080fd5b9060005260206000209060050201600091509050806000018054610f6e9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9a9061336e565b8015610fe75780601f10610fbc57610100808354040283529160200191610fe7565b820191906000526020600020905b815481529060010190602001808311610fca57829003601f168201915b5050505060018301546003840154600490940154929360ff909116926001600160a01b03909116915084565b60606001600160a01b03821661103c5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260096020908152604080832080548251818502810185019093528083529193909284015b82821015610f3057838290600052602060002090600502016040518060a00160405290816000820180546110a29061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546110ce9061336e565b801561111b5780601f106110f05761010080835404028352916020019161111b565b820191906000526020600020905b8154815290600101906020018083116110fe57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561119b57602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161116c5790505b505050918352505060038201546001600160a01b0316602080830191909152600490920154604090910152908252600192909201910161106f565b6111de612bf8565b6001600160a01b0383166112055760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152600960209081526040808320600b90925282205490915b818110156113dd578460ff1683828154811061124957611249613329565b600091825260209091206001600590920201015460ff16036113cb5782818154811061127757611277613329565b90600052602060002090600502016040518060a00160405290816000820180546112a09061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc9061336e565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561139957602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161136a5790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015293506107c692505050565b806113d581613355565b91505061122b565b50610d03612526565b60006113f283836111d6565b9050826001600160a01b031681606001516001600160a01b03161461142a57604051631ded229360e11b815260040160405180910390fd5b604081015180516000036114d05760015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061146a90879089906004016133a8565b6020604051808303816000875af1158015611489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ad91906133c4565b156114cb57604051631177b29560e11b815260040160405180910390fd5b611545565b6000805b82518160ff161015611524578660ff16838260ff16815181106114f9576114f9613329565b602002602001015160ff16036115125760019150611524565b8061151c816133e1565b9150506114d4565b508061154357604051630eefa23760e11b815260040160405180910390fd5b505b600061155885858560000151600161235f565b90508061157857604051631b44035160e01b815260040160405180910390fd5b60015460405163568b427d60e11b81526001600160a01b03898116600483015260ff808a1660248401528882166044840152871660648301529091169063ad1684fa90608401600060405180830381600087803b1580156115d857600080fd5b505af11580156115ec573d6000803e3d6000fd5b505060015460405163117ece1960e31b81526001600160a01b039091169250638bf670c89150611622908a9088906004016133a8565b6020604051808303816000875af1158015611641573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166591906133c4565b15806116e3575060015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061169e9088908a906004016133a8565b6020604051808303816000875af11580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e191906133c4565b155b156117015760405163fc9716b960e01b815260040160405180910390fd5b50505050505050565b3360009081526002602052604090205460ff1661173a57604051634289c49360e01b815260040160405180910390fd5b600655565b611747612bf8565b60005b60085481101561193f57826040516020016117659190613400565b604051602081830303815290604052805190602001206008828154811061178e5761178e613329565b90600052602060002090600502016000016040516020016117af919061341c565b604051602081830303815290604052805190602001200361192d57600881815481106117dd576117dd613329565b90600052602060002090600502016040518060a00160405290816000820180546118069061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546118329061336e565b801561187f5780601f106118545761010080835404028352916020019161187f565b820191906000526020600020905b81548152906001019060200180831161186257829003601f168201915b5050509183525050600182015460ff1660208083019190915260028301805460408051828502810185018252828152940193928301828280156118ff57602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116118d05790505b505050918352505060038201546001600160a01b031660208201526004909101546040909101529392505050565b8061193781613355565b91505061174a565b506107c6612526565b611950612bf8565b600854821061197257604051635129cab160e11b815260040160405180910390fd5b6008828154811061198557611985613329565b90600052602060002090600502016040518060a00160405290816000820180546119ae9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546119da9061336e565b8015611a275780601f106119fc57610100808354040283529160200191611a27565b820191906000526020600020905b815481529060010190602001808311611a0a57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015611aa757602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411611a785790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015292915050565b3360009081526002602052604090205460ff16611b0457604051634289c49360e01b815260040160405180910390fd5b600455565b611b11612305565b6001600160a01b038116611b7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b611b84816124d6565b50565b6001546000906001600160a01b03163314611bb55760405163a71ed6c760e01b815260040160405180910390fd5b6001600160a01b038216611bdc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0382166000908152600960209081526040808320600b90925282205490915b81811015611d55576000838281548110611c1e57611c1e613329565b90600052602060002090600502016000018054611c3a9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054611c669061336e565b8015611cb35780601f10611c8857610100808354040283529160200191611cb3565b820191906000526020600020905b815481529060010190602001808311611c9657829003601f168201915b505050505090506000848381548110611cce57611cce613329565b600091825260209091206001600590920201015460ff169050611cf287828461256f565b611cfb82612823565b5060ff81166000908152600c60205260408120805460019290611d1f908490613492565b925050819055506001600d6000828254611d399190613492565b9250508190555050508080611d4d90613355565b915050611c02565b506001600160a01b0384166000908152600960205260408120611d7791612bd7565b6001600160a01b0384166000818152600b602090815260408083209290925590519182527f65419c67e554142d50c59abd004485123ca498611a223f842e75dd96225ba4c8910160405180910390a16001925050505b919050565b6001546001600160a01b0316611dfb5760405163cfdf350560e01b815260040160405180910390fd5b6005546001600160a01b0384166000908152600b602052604090205410611e355760405163182a7d7760e01b815260040160405180910390fd5b600454600d5410611e595760405163182a7d7760e01b815260040160405180910390fd5b60015460405163117ece1960e31b81526000916001600160a01b031690638bf670c890611e8c90879087906004016133a8565b6020604051808303816000875af1158015611eab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecf91906133c4565b905080611eef5760405163142d47a160e11b815260040160405180910390fd5b60005b82518160ff161015611f52578360ff16838260ff1681518110611f1757611f17613329565b602002602001015160ff1603611f4057604051630d1ecf1760e11b815260040160405180910390fd5b80611f4a816133e1565b915050611ef2565b506000611f5f85856111d6565b60608101519091506001600160a01b031615611f8e5760405163eeee5c8b60e01b815260040160405180910390fd5b6001600160a01b0385166000908152600b60205260408120805460019290611fb79084906134a5565b909155505060ff84166000908152600c60205260408120805460019290611fdf9084906134a5565b925050819055506001600d6000828254611ff991906134a5565b90915550506040805160a08101825287815260ff861660208201529081018490526001600160a01b038616606082015242608082015260088054600181018255600091909152815160059091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3019081906120759082613506565b5060208281015160018301805460ff191660ff909216919091179055604083015180516120a89260028501920190612c33565b5060608201516003820180546001600160a01b0319166001600160a01b0392831617905560809092015160049091015585166000908152600960205260409020600880546120f890600190613492565b8154811061210857612108613329565b600091825260208083208454600181018655948452922060059182029092019202018061213583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546121649284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560ff84166000908152600a60205260409020600880546121b690600190613492565b815481106121c6576121c6613329565b60009182526020808320845460018101865594845292206005918202909201920201806121f383826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546122229284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560075460ff16156122c257600154604051631c5568eb60e21b81526001600160a01b0390911690637155a3ac9061228f90889088906004016133a8565b600060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050505b7fed750964f1f81f105e56dfd1121427e0898e7bc23d6c10e92d851a2d35e0cfc58585856040516122f593929190613699565b60405180910390a1505050505050565b6000546001600160a01b03163314610d955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611b72565b60006001600160a01b0385166123885760405163e6c4247b60e01b815260040160405180910390fd5b612393858585612aa0565b61239e85858561256f565b6123a783612823565b506001600160a01b0385166000908152600b602052604081208054600192906123d1908490613492565b909155505060ff84166000908152600c602052604081208054600192906123f9908490613492565b925050819055506001600d60008282546124139190613492565b909155505060075460ff168015612428575081155b1561249257600154604051630aaf17c960e11b81526001600160a01b039091169063155e2f929061245f90889088906004016133a8565b600060405180830381600087803b15801561247957600080fd5b505af115801561248d573d6000803e3d6000fd5b505050505b7f7911e34642eae38762395a3dd0fa3308d0f8908b92fe36c41543d635ab7cb8f585856040516124c39291906133a8565b60405180910390a1506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61252e612bf8565b506040805160c081018252600060a0820181815282526020808301829052835182815290810184529282019290925260608101829052608081019190915290565b60ff82166000908152600a60205260408120905b8154811015610658576126418282815481106125a1576125a1613329565b906000526020600020906005020160000180546125bd9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546125e99061336e565b80156126365780601f1061260b57610100808354040283529160200191612636565b820191906000526020600020905b81548152906001019060200180831161261957829003601f168201915b505050505084612b7e565b1561281157846001600160a01b031682828154811061266257612662613329565b60009182526020909120600360059092020101546001600160a01b03161415806126b757508360ff1682828154811061269d5761269d613329565b600091825260209091206001600590920201015460ff1614155b156126d5576040516357aeb86360e11b815260040160405180910390fd5b81546126e390600190613492565b8110156127a557815482906126fa90600190613492565b8154811061270a5761270a613329565b906000526020600020906005020182828154811061272a5761272a613329565b600091825260209091206005909102018061274583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546127749284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101555b818054806127b5576127b56136c6565b600082815260208120600019909201916005830201906127d58282612d27565b60018201805460ff191690556127ef600283016000612d61565b506003810180546001600160a01b031916905560006004909101559055610658565b8061281b81613355565b915050612583565b600080805b600854811015612a9957600854811080156128f457506128f46008828154811061285457612854613329565b906000526020600020906005020160000180546128709061336e565b80601f016020809104026020016040519081016040528092919081815260200182805461289c9061336e565b80156128e95780601f106128be576101008083540402835291602001916128e9565b820191906000526020600020905b8154815290600101906020018083116128cc57829003601f168201915b505050505085612b7e565b15612a87576008818154811061290c5761290c613329565b600091825260208220600590910201906129268282612d27565b60018201805460ff19169055612940600283016000612d61565b506003810180546001600160a01b031916905560006004909101556008805461296b90600190613492565b8154811061297b5761297b613329565b90600052602060002090600502016008828154811061299c5761299c613329565b60009182526020909120600590910201806129b783826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546129e69284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101556008805480612a2757612a276136c6565b60008281526020812060001990920191600583020190612a478282612d27565b60018201805460ff19169055612a61600283016000612d61565b506003810180546001600160a01b03191690556000600490910155905560019150612a99565b80612a9181613355565b915050612828565b5092915050565b6001600160a01b0383166000908152600960205260408120905b815481101561065857612ad88282815481106125a1576125a1613329565b15612b6c57846001600160a01b0316828281548110612af957612af9613329565b60009182526020909120600360059092020101546001600160a01b0316141580612b4e57508360ff16828281548110612b3457612b34613329565b600091825260209091206001600590920201015460ff1614155b156126d55760405163b7f2d83360e01b815260040160405180910390fd5b80612b7681613355565b915050612aba565b600081604051602001612b919190613400565b6040516020818303038152906040528051906020012083604051602001612bb89190613400565b6040516020818303038152906040528051906020012014905092915050565b5080546000825560050290600052602060002090810190611b849190612d86565b6040518060a0016040528060608152602001600060ff1681526020016060815260200160006001600160a01b03168152602001600081525090565b82805482825590600052602060002090601f01602090048101928215612cc95791602002820160005b83821115612c9a57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612c5c565b8015612cc75782816101000a81549060ff0219169055600101602081600001049283019260010302612c9a565b505b50612cd5929150612dd6565b5090565b82805482825590600052602060002090601f01602090048101928215612cc957600052602060002091601f016020900482015b82811115612cc9578254825591600101919060010190612d0c565b508054612d339061336e565b6000825580601f10612d43575050565b601f016020900490600052602060002090810190611b849190612dd6565b50805460008255601f016020900490600052602060002090810190611b849190612dd6565b80821115612cd5576000612d9a8282612d27565b60018201805460ff19169055612db4600283016000612d61565b506003810180546001600160a01b031916905560006004820155600501612d86565b5b80821115612cd55760008155600101612dd7565b80356001600160a01b0381168114611dcd57600080fd5b600060208284031215612e1457600080fd5b612e1d82612deb565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612e6357612e63612e24565b604052919050565b600082601f830112612e7c57600080fd5b813567ffffffffffffffff811115612e9657612e96612e24565b612ea9601f8201601f1916602001612e3a565b818152846020838601011115612ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b803560ff81168114611dcd57600080fd5b600082601f830112612efd57600080fd5b8135602067ffffffffffffffff821115612f1957612f19612e24565b8160051b612f28828201612e3a565b9283528481018201928281019087851115612f4257600080fd5b83870192505b84831015612f6857612f5983612edb565b82529183019190830190612f48565b979650505050505050565b60008060008060808587031215612f8957600080fd5b843567ffffffffffffffff80821115612fa157600080fd5b612fad88838901612e6b565b9550612fbb60208801612deb565b9450612fc960408801612edb565b93506060870135915080821115612fdf57600080fd5b50612fec87828801612eec565b91505092959194509250565b6000806040838503121561300b57600080fd5b61301483612deb565b915061302260208401612edb565b90509250929050565b60006020828403121561303d57600080fd5b5035919050565b60006020828403121561305657600080fd5b612e1d82612edb565b60008060006060848603121561307457600080fd5b833567ffffffffffffffff8082111561308c57600080fd5b61309887838801612e6b565b94506130a660208701612edb565b935060408601359150808211156130bc57600080fd5b506130c986828701612eec565b9150509250925092565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b8381101561315657815160ff1687529582019590820190600101613137565b509495945050505050565b6000815160a0845261317660a08501826130f7565b905060ff60208401511660208501526040830151848203604086015261319c8282613123565b6060858101516001600160a01b0316908701526080948501519490950193909352509192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561321a57603f19888603018452613208858351613161565b945092850192908501906001016131ec565b5092979650505050505050565b8015158114611b8457600080fd5b60006020828403121561324757600080fd5b8135612e1d81613227565b60808152600061326560808301876130f7565b60ff959095166020830152506001600160a01b03929092166040830152606090910152919050565b602081526000612e1d6020830184613161565b600080600080608085870312156132b657600080fd5b6132bf85612deb565b93506132cd60208601612edb565b92506132db60408601612deb565b91506132e960608601612edb565b905092959194509250565b60006020828403121561330657600080fd5b813567ffffffffffffffff81111561331d57600080fd5b6109f084828501612e6b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016133675761336761333f565b5060010190565b600181811c9082168061338257607f821691505b6020821081036133a257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0392909216825260ff16602082015260400190565b6000602082840312156133d657600080fd5b8151612e1d81613227565b600060ff821660ff81036133f7576133f761333f565b60010192915050565b600082516134128184602087016130d3565b9190910192915050565b600080835461342a8161336e565b60018281168015613442576001811461345757613486565b60ff1984168752821515830287019450613486565b8760005260208060002060005b8581101561347d5781548a820152908401908201613464565b50505082870194505b50929695505050505050565b818103818111156107c6576107c661333f565b808201808211156107c6576107c661333f565b601f821115610a0457600081815260208120601f850160051c810160208610156134df5750805b601f850160051c820191505b818110156134fe578281556001016134eb565b505050505050565b815167ffffffffffffffff81111561352057613520612e24565b6135348161352e845461336e565b846134b8565b602080601f83116001811461356957600084156135515750858301515b600019600386901b1c1916600185901b1785556134fe565b600085815260208120601f198616915b8281101561359857888601518255948401946001909101908401613579565b50858210156135b65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181036135d1575050565b6135db825461336e565b67ffffffffffffffff8111156135f3576135f3612e24565b6136018161352e845461336e565b6000601f821160018114613635576000831561361d5750848201545b600019600385901b1c1916600184901b178455610658565b600085815260209020601f19841690600086815260209020845b8381101561366f578286015482556001958601959091019060200161364f565b50858310156135b65793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160a01b038416815260ff83166020820152606060408201819052600090610d0390830184613123565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220c9307e3504111af512d0584b2cbf5f5a632cbc4d88ead7fd05bc3a6458988ba764736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0x1388 PUSH1 0x4 SSTORE PUSH1 0x5 DUP1 SSTORE PUSH1 0x78 PUSH1 0x6 SSTORE PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x2A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x36 CALLER PUSH3 0x3C JUMP JUMPDEST PUSH3 0x8C JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x3712 DUP1 PUSH3 0x9C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x232 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7594A6ED GT PUSH2 0x130 JUMPI DUP1 PUSH4 0xCE7483D5 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xE2B36596 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xE2B36596 EQ PUSH2 0x515 JUMPI DUP1 PUSH4 0xE359A0A1 EQ PUSH2 0x528 JUMPI DUP1 PUSH4 0xE5E5F732 EQ PUSH2 0x53B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x54E JUMPI DUP1 PUSH4 0xFC9E80FC EQ PUSH2 0x561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xCE7483D5 EQ PUSH2 0x4A4 JUMPI DUP1 PUSH4 0xCF86F8E5 EQ PUSH2 0x4C7 JUMPI DUP1 PUSH4 0xD250F03A EQ PUSH2 0x4CF JUMPI DUP1 PUSH4 0xD827A8F4 EQ PUSH2 0x4E2 JUMPI DUP1 PUSH4 0xE02F9723 EQ PUSH2 0x502 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x90222AA1 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x90222AA1 EQ PUSH2 0x44E JUMPI DUP1 PUSH4 0x9618B333 EQ PUSH2 0x456 JUMPI DUP1 PUSH4 0x9F915069 EQ PUSH2 0x469 JUMPI DUP1 PUSH4 0xBA79B77B EQ PUSH2 0x489 JUMPI DUP1 PUSH4 0xC08029E7 EQ PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7594A6ED EQ PUSH2 0x3D3 JUMPI DUP1 PUSH4 0x8400A189 EQ PUSH2 0x3F3 JUMPI DUP1 PUSH4 0x8A72EA6A EQ PUSH2 0x406 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x429 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3A027073 GT PUSH2 0x1BE JUMPI DUP1 PUSH4 0x5A919AEB GT PUSH2 0x182 JUMPI DUP1 PUSH4 0x5A919AEB EQ PUSH2 0x390 JUMPI DUP1 PUSH4 0x5BBFBFD6 EQ PUSH2 0x399 JUMPI DUP1 PUSH4 0x619980DC EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x3CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3A027073 EQ PUSH2 0x32F JUMPI DUP1 PUSH4 0x3E293E16 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0x3EE992EE EQ PUSH2 0x355 JUMPI DUP1 PUSH4 0x4C7A7AD3 EQ PUSH2 0x36A JUMPI DUP1 PUSH4 0x58E57EBB EQ PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x29D3F60B GT PUSH2 0x205 JUMPI DUP1 PUSH4 0x29D3F60B EQ PUSH2 0x298 JUMPI DUP1 PUSH4 0x2EDB5FCF EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x2E8 JUMPI DUP1 PUSH4 0x322FBA27 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x3808DFE7 EQ PUSH2 0x31C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xCDB3117 EQ PUSH2 0x237 JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x25D JUMPI DUP1 PUSH4 0x17A1FED9 EQ PUSH2 0x272 JUMPI DUP1 PUSH4 0x19AB453C EQ PUSH2 0x285 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24A PUSH2 0x245 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x574 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x26B CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x5B9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x270 PUSH2 0x280 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F73 JUMP JUMPDEST PUSH2 0x65F JUMP JUMPDEST PUSH2 0x270 PUSH2 0x293 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x6A1 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x5 SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x254 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FF8 JUMP JUMPDEST PUSH2 0x70C JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2F6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x7CC JUMP JUMPDEST PUSH2 0x270 PUSH2 0x32A CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x97B JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x33D CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH2 0x9B0 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x305F JUMP JUMPDEST PUSH2 0x9F8 JUMP JUMPDEST PUSH2 0x35D PUSH2 0xA09 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x254 SWAP2 SWAP1 PUSH2 0x31C5 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x378 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0xB9D JUMP JUMPDEST PUSH2 0x270 PUSH2 0x38B CALLDATASIZE PUSH1 0x4 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0xC48 JUMP JUMPDEST PUSH2 0x24A PUSH1 0xD SLOAD DUP2 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x3A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FF8 JUMP JUMPDEST PUSH2 0xC8B JUMP JUMPDEST PUSH1 0xD SLOAD PUSH1 0x4 SLOAD GT PUSH2 0x2C5 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x3C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0xD0C JUMP JUMPDEST PUSH2 0x270 PUSH2 0xD83 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x3E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x35D PUSH2 0x401 CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH2 0xD97 JUMP JUMPDEST PUSH2 0x419 PUSH2 0x414 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0xF3B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x254 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3252 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x254 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x24A JUMP JUMPDEST PUSH2 0x35D PUSH2 0x464 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x47C PUSH2 0x477 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FF8 JUMP JUMPDEST PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x254 SWAP2 SWAP1 PUSH2 0x328D JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x24A JUMP JUMPDEST PUSH2 0x270 PUSH2 0x49F CALLDATASIZE PUSH1 0x4 PUSH2 0x32A0 JUMP JUMPDEST PUSH2 0x13E6 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x4B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0xD SLOAD PUSH2 0x24A JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x436 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x4F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x510 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x170A JUMP JUMPDEST PUSH2 0x47C PUSH2 0x523 CALLDATASIZE PUSH1 0x4 PUSH2 0x32F4 JUMP JUMPDEST PUSH2 0x173F JUMP JUMPDEST PUSH2 0x47C PUSH2 0x536 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x1948 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x549 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x1AD4 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x55C CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x1B09 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x56F CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x1B87 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x59D JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x5E9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x2 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x658 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x68F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x69B DUP5 DUP5 DUP5 DUP5 PUSH2 0x1DD2 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x6A9 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x6D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x735 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 LT ISZERO PUSH2 0x7C0 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF DUP6 AND SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x788 JUMPI PUSH2 0x788 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND SUB PUSH2 0x7AE JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x7C6 JUMP JUMPDEST DUP1 PUSH2 0x7B8 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x738 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x7FC JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x8 SLOAD DUP2 LT ISZERO PUSH2 0x93C JUMPI PUSH1 0x9 PUSH1 0x0 PUSH1 0x8 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x820 JUMPI PUSH2 0x820 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 PUSH2 0x856 SWAP2 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xB PUSH1 0x0 PUSH1 0x8 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x86F JUMPI PUSH2 0x86F PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD PUSH1 0xA SWAP3 SWAP2 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x8B9 JUMPI PUSH2 0x8B9 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 PUSH2 0x8E9 SWAP2 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC PUSH1 0x0 PUSH1 0x8 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x902 JUMPI PUSH2 0x902 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD SWAP1 KECCAK256 SSTORE DUP1 PUSH2 0x934 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x7FF JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0xD DUP2 SWAP1 SSTORE PUSH2 0x950 SWAP1 PUSH1 0x8 SWAP1 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x47E81EFC038E27BB296DEC5D44262943D2C2BBEC28F461787A9CC53885694CB0 SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x9AB JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x9BD CALLER DUP5 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x9DD JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9F0 CALLER DUP6 DUP5 PUSH1 0x0 ADD MLOAD PUSH1 0x0 PUSH2 0x235F JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xA04 DUP4 CALLER DUP5 DUP5 PUSH2 0x1DD2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x8 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xB94 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0xA60 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA8C SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAD9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAAE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xAD9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xABC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xB59 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0xB2A JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x4 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0xA2D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xBCD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBF4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x45C9EBA39B5AE3E7A6650B0A57BCB8E5D135936D56D111983DBC5860AE6760FA SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xC78 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xCBB JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCC7 DUP5 DUP5 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x60 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xCF0 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP6 DUP6 DUP5 PUSH1 0x0 ADD MLOAD PUSH1 0x0 PUSH2 0x235F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xD3C JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x2 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x62C JUMP JUMPDEST PUSH2 0xD8B PUSH2 0x2305 JUMP JUMPDEST PUSH2 0xD95 PUSH1 0x0 PUSH2 0x24D6 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH1 0x60 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xF30 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0xDFC SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE28 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xE75 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE4A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xE75 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE58 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xEF5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0xEC6 JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x4 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0xDC9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xF6E SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xF9A SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xFE7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xFBC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xFE7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xFCA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 SWAP1 SWAP5 ADD SLOAD SWAP3 SWAP4 PUSH1 0xFF SWAP1 SWAP2 AND SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP DUP5 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x103C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP4 SWAP1 SWAP3 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xF30 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x10A2 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10CE SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x111B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10F0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x111B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10FE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x119B JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x116C JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x4 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x106F JUMP JUMPDEST PUSH2 0x11DE PUSH2 0x2BF8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1205 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xB SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD SWAP1 SWAP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13DD JUMPI DUP5 PUSH1 0xFF AND DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1249 JUMPI PUSH2 0x1249 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND SUB PUSH2 0x13CB JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1277 JUMPI PUSH2 0x1277 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x12A0 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12CC SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1319 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1319 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x12FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1399 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x136A JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP4 POP PUSH2 0x7C6 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x13D5 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x122B JUMP JUMPDEST POP PUSH2 0xD03 PUSH2 0x2526 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F2 DUP4 DUP4 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x60 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x142A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1DED2293 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD MLOAD DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x14D0 JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8BF670C8 SWAP1 PUSH2 0x146A SWAP1 DUP8 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1489 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14AD SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST ISZERO PUSH2 0x14CB JUMPI PUSH1 0x40 MLOAD PUSH4 0x1177B295 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1545 JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP3 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x1524 JUMPI DUP7 PUSH1 0xFF AND DUP4 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x14F9 JUMPI PUSH2 0x14F9 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND SUB PUSH2 0x1512 JUMPI PUSH1 0x1 SWAP2 POP PUSH2 0x1524 JUMP JUMPDEST DUP1 PUSH2 0x151C DUP2 PUSH2 0x33E1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x14D4 JUMP JUMPDEST POP DUP1 PUSH2 0x1543 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEEFA237 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x1558 DUP6 DUP6 DUP6 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH2 0x235F JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1578 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1B440351 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x568B427D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF DUP1 DUP11 AND PUSH1 0x24 DUP5 ADD MSTORE DUP9 DUP3 AND PUSH1 0x44 DUP5 ADD MSTORE DUP8 AND PUSH1 0x64 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAD1684FA SWAP1 PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15EC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH4 0x8BF670C8 SWAP2 POP PUSH2 0x1622 SWAP1 DUP11 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1641 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1665 SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x16E3 JUMPI POP PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8BF670C8 SWAP1 PUSH2 0x169E SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x16BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16E1 SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x1701 JUMPI PUSH1 0x40 MLOAD PUSH4 0xFC9716B9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x173A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SSTORE JUMP JUMPDEST PUSH2 0x1747 PUSH2 0x2BF8 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x8 SLOAD DUP2 LT ISZERO PUSH2 0x193F JUMPI DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1765 SWAP2 SWAP1 PUSH2 0x3400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x178E JUMPI PUSH2 0x178E PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x17AF SWAP2 SWAP1 PUSH2 0x341C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SUB PUSH2 0x192D JUMPI PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x17DD JUMPI PUSH2 0x17DD PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x1806 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1832 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x187F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1854 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x187F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1862 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x18FF JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x18D0 JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x1937 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x174A JUMP JUMPDEST POP PUSH2 0x7C6 PUSH2 0x2526 JUMP JUMPDEST PUSH2 0x1950 PUSH2 0x2BF8 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP3 LT PUSH2 0x1972 JUMPI PUSH1 0x40 MLOAD PUSH4 0x5129CAB1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1985 JUMPI PUSH2 0x1985 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x19AE SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x19DA SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1A27 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x19FC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1A27 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1A0A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1AA7 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x1A78 JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1B04 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SSTORE JUMP JUMPDEST PUSH2 0x1B11 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1B7B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1B84 DUP2 PUSH2 0x24D6 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BB5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA71ED6C7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1BDC JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xB SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD SWAP1 SWAP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D55 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1C1E JUMPI PUSH2 0x1C1E PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x1C3A SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1C66 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1CB3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1C88 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1CB3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1C96 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP5 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1CCE JUMPI PUSH2 0x1CCE PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND SWAP1 POP PUSH2 0x1CF2 DUP8 DUP3 DUP5 PUSH2 0x256F JUMP JUMPDEST PUSH2 0x1CFB DUP3 PUSH2 0x2823 JUMP JUMPDEST POP PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1D1F SWAP1 DUP5 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1D39 SWAP2 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP DUP1 DUP1 PUSH2 0x1D4D SWAP1 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1C02 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x1D77 SWAP2 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x65419C67E554142D50C59ABD004485123CA498611A223F842E75DD96225BA4C8 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1DFB JUMPI PUSH1 0x40 MLOAD PUSH4 0xCFDF3505 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD LT PUSH2 0x1E35 JUMPI PUSH1 0x40 MLOAD PUSH4 0x182A7D77 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xD SLOAD LT PUSH2 0x1E59 JUMPI PUSH1 0x40 MLOAD PUSH4 0x182A7D77 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x8BF670C8 SWAP1 PUSH2 0x1E8C SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1EAB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1ECF SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1EEF JUMPI PUSH1 0x40 MLOAD PUSH4 0x142D47A1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x1F52 JUMPI DUP4 PUSH1 0xFF AND DUP4 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1F17 JUMPI PUSH2 0x1F17 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND SUB PUSH2 0x1F40 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x1F4A DUP2 PUSH2 0x33E1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1EF2 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1F5F DUP6 DUP6 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1F8E JUMPI PUSH1 0x40 MLOAD PUSH4 0xEEEE5C8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1FB7 SWAP1 DUP5 SWAP1 PUSH2 0x34A5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1FDF SWAP1 DUP5 SWAP1 PUSH2 0x34A5 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1FF9 SWAP2 SWAP1 PUSH2 0x34A5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE DUP8 DUP2 MSTORE PUSH1 0xFF DUP7 AND PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x60 DUP3 ADD MSTORE TIMESTAMP PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE DUP2 MLOAD PUSH1 0x5 SWAP1 SWAP2 MUL PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 ADD SWAP1 DUP2 SWAP1 PUSH2 0x2075 SWAP1 DUP3 PUSH2 0x3506 JUMP JUMPDEST POP PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP1 MLOAD PUSH2 0x20A8 SWAP3 PUSH1 0x2 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x2C33 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 SWAP1 SWAP3 ADD MLOAD PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 DUP1 SLOAD PUSH2 0x20F8 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2108 JUMPI PUSH2 0x2108 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 DUP5 SLOAD PUSH1 0x1 DUP2 ADD DUP7 SSTORE SWAP5 DUP5 MSTORE SWAP3 KECCAK256 PUSH1 0x5 SWAP2 DUP3 MUL SWAP1 SWAP3 ADD SWAP3 MUL ADD DUP1 PUSH2 0x2135 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2164 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0xFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 DUP1 SLOAD PUSH2 0x21B6 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x21C6 JUMPI PUSH2 0x21C6 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 DUP5 SLOAD PUSH1 0x1 DUP2 ADD DUP7 SSTORE SWAP5 DUP5 MSTORE SWAP3 KECCAK256 PUSH1 0x5 SWAP2 DUP3 MUL SWAP1 SWAP3 ADD SWAP3 MUL ADD DUP1 PUSH2 0x21F3 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2222 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x22C2 JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x1C5568EB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x7155A3AC SWAP1 PUSH2 0x228F SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x22A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x22BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH32 0xED750964F1F81F105E56DFD1121427E0898E7BC23D6C10E92D851A2D35E0CFC5 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x22F5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3699 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xD95 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1B72 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2388 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2393 DUP6 DUP6 DUP6 PUSH2 0x2AA0 JUMP JUMPDEST PUSH2 0x239E DUP6 DUP6 DUP6 PUSH2 0x256F JUMP JUMPDEST PUSH2 0x23A7 DUP4 PUSH2 0x2823 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x23D1 SWAP1 DUP5 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x23F9 SWAP1 DUP5 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2413 SWAP2 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x7 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x2428 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x2492 JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xAAF17C9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x155E2F92 SWAP1 PUSH2 0x245F SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x248D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH32 0x7911E34642EAE38762395A3DD0FA3308D0F8908B92FE36C41543D635AB7CB8F5 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x24C3 SWAP3 SWAP2 SWAP1 PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x252E PUSH2 0x2BF8 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP2 DUP2 MSTORE DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE DUP4 MLOAD DUP3 DUP2 MSTORE SWAP1 DUP2 ADD DUP5 MSTORE SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 LT ISZERO PUSH2 0x658 JUMPI PUSH2 0x2641 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x25A1 JUMPI PUSH2 0x25A1 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x25BD SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x25E9 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2636 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x260B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2636 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2619 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP5 PUSH2 0x2B7E JUMP JUMPDEST ISZERO PUSH2 0x2811 JUMPI DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2662 JUMPI PUSH2 0x2662 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x26B7 JUMPI POP DUP4 PUSH1 0xFF AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x269D JUMPI PUSH2 0x269D PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x26D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x57AEB863 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SLOAD PUSH2 0x26E3 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x27A5 JUMPI DUP2 SLOAD DUP3 SWAP1 PUSH2 0x26FA SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x270A JUMPI PUSH2 0x270A PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x272A JUMPI PUSH2 0x272A PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 SWAP1 SWAP2 MUL ADD DUP1 PUSH2 0x2745 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2774 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE JUMPDEST DUP2 DUP1 SLOAD DUP1 PUSH2 0x27B5 JUMPI PUSH2 0x27B5 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x0 NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x5 DUP4 MUL ADD SWAP1 PUSH2 0x27D5 DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x27EF PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE PUSH2 0x658 JUMP JUMPDEST DUP1 PUSH2 0x281B DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2583 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 JUMPDEST PUSH1 0x8 SLOAD DUP2 LT ISZERO PUSH2 0x2A99 JUMPI PUSH1 0x8 SLOAD DUP2 LT DUP1 ISZERO PUSH2 0x28F4 JUMPI POP PUSH2 0x28F4 PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2854 JUMPI PUSH2 0x2854 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x2870 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x289C SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x28E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x28BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x28E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x28CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP6 PUSH2 0x2B7E JUMP JUMPDEST ISZERO PUSH2 0x2A87 JUMPI PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x290C JUMPI PUSH2 0x290C PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x5 SWAP1 SWAP2 MUL ADD SWAP1 PUSH2 0x2926 DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2940 PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE PUSH1 0x8 DUP1 SLOAD PUSH2 0x296B SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x297B JUMPI PUSH2 0x297B PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x299C JUMPI PUSH2 0x299C PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 SWAP1 SWAP2 MUL ADD DUP1 PUSH2 0x29B7 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x29E6 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0x8 DUP1 SLOAD DUP1 PUSH2 0x2A27 JUMPI PUSH2 0x2A27 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x0 NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x5 DUP4 MUL ADD SWAP1 PUSH2 0x2A47 DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2A61 PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE PUSH1 0x1 SWAP2 POP PUSH2 0x2A99 JUMP JUMPDEST DUP1 PUSH2 0x2A91 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2828 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 LT ISZERO PUSH2 0x658 JUMPI PUSH2 0x2AD8 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x25A1 JUMPI PUSH2 0x25A1 PUSH2 0x3329 JUMP JUMPDEST ISZERO PUSH2 0x2B6C JUMPI DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2AF9 JUMPI PUSH2 0x2AF9 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x2B4E JUMPI POP DUP4 PUSH1 0xFF AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2B34 JUMPI PUSH2 0x2B34 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x26D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB7F2D833 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2B76 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2ABA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2B91 SWAP2 SWAP1 PUSH2 0x3400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2BB8 SWAP2 SWAP1 PUSH2 0x3400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE PUSH1 0x5 MUL SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2D86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x2CC9 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD PUSH1 0x0 JUMPDEST DUP4 DUP3 GT ISZERO PUSH2 0x2C9A JUMPI DUP4 MLOAD DUP4 DUP3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP SWAP3 PUSH1 0x20 ADD SWAP3 PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH2 0x2C5C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2CC7 JUMPI DUP3 DUP2 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH2 0x2C9A JUMP JUMPDEST POP JUMPDEST POP PUSH2 0x2CD5 SWAP3 SWAP2 POP PUSH2 0x2DD6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x2CC9 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2CC9 JUMPI DUP3 SLOAD DUP3 SSTORE SWAP2 PUSH1 0x1 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2D0C JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2D33 SWAP1 PUSH2 0x336E JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2D43 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2DD6 JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2DD6 JUMP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2CD5 JUMPI PUSH1 0x0 PUSH2 0x2D9A DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2DB4 PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD PUSH2 0x2D86 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2CD5 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2DD7 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1DCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E1D DUP3 PUSH2 0x2DEB JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2E63 JUMPI PUSH2 0x2E63 PUSH2 0x2E24 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E96 JUMPI PUSH2 0x2E96 PUSH2 0x2E24 JUMP JUMPDEST PUSH2 0x2EA9 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x2E3A JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2EBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1DCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2EFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2F19 JUMPI PUSH2 0x2F19 PUSH2 0x2E24 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x2F28 DUP3 DUP3 ADD PUSH2 0x2E3A JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x2F42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x2F68 JUMPI PUSH2 0x2F59 DUP4 PUSH2 0x2EDB JUMP JUMPDEST DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x2F48 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2F89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2FA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FAD DUP9 DUP4 DUP10 ADD PUSH2 0x2E6B JUMP JUMPDEST SWAP6 POP PUSH2 0x2FBB PUSH1 0x20 DUP9 ADD PUSH2 0x2DEB JUMP JUMPDEST SWAP5 POP PUSH2 0x2FC9 PUSH1 0x40 DUP9 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FEC DUP8 DUP3 DUP9 ADD PUSH2 0x2EEC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x300B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3014 DUP4 PUSH2 0x2DEB JUMP JUMPDEST SWAP2 POP PUSH2 0x3022 PUSH1 0x20 DUP5 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x303D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3056 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E1D DUP3 PUSH2 0x2EDB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3074 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x308C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3098 DUP8 DUP4 DUP9 ADD PUSH2 0x2E6B JUMP JUMPDEST SWAP5 POP PUSH2 0x30A6 PUSH1 0x20 DUP8 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x30BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30C9 DUP7 DUP3 DUP8 ADD PUSH2 0x2EEC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30EE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x30D6 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x310F DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3156 JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3137 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0xA0 DUP5 MSTORE PUSH2 0x3176 PUSH1 0xA0 DUP6 ADD DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP PUSH1 0xFF PUSH1 0x20 DUP5 ADD MLOAD AND PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x319C DUP3 DUP3 PUSH2 0x3123 JUMP JUMPDEST PUSH1 0x60 DUP6 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP8 ADD MSTORE PUSH1 0x80 SWAP5 DUP6 ADD MLOAD SWAP5 SWAP1 SWAP6 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x321A JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x3208 DUP6 DUP4 MLOAD PUSH2 0x3161 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x31EC JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1B84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2E1D DUP2 PUSH2 0x3227 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3265 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x30F7 JUMP JUMPDEST PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2E1D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3161 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x32B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x32BF DUP6 PUSH2 0x2DEB JUMP JUMPDEST SWAP4 POP PUSH2 0x32CD PUSH1 0x20 DUP7 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP3 POP PUSH2 0x32DB PUSH1 0x40 DUP7 ADD PUSH2 0x2DEB JUMP JUMPDEST SWAP2 POP PUSH2 0x32E9 PUSH1 0x60 DUP7 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x331D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9F0 DUP5 DUP3 DUP6 ADD PUSH2 0x2E6B JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x3367 JUMPI PUSH2 0x3367 PUSH2 0x333F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x3382 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x33A2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0xFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x33D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2E1D DUP2 PUSH2 0x3227 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x33F7 JUMPI PUSH2 0x33F7 PUSH2 0x333F JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3412 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x30D3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x342A DUP2 PUSH2 0x336E JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x3442 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x3457 JUMPI PUSH2 0x3486 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x3486 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x347D JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x3464 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7C6 JUMPI PUSH2 0x7C6 PUSH2 0x333F JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7C6 JUMPI PUSH2 0x7C6 PUSH2 0x333F JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xA04 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x34DF JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x34FE JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x34EB JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3520 JUMPI PUSH2 0x3520 PUSH2 0x2E24 JUMP JUMPDEST PUSH2 0x3534 DUP2 PUSH2 0x352E DUP5 SLOAD PUSH2 0x336E JUMP JUMPDEST DUP5 PUSH2 0x34B8 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3569 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x3551 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x34FE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3598 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x3579 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x35B6 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB PUSH2 0x35D1 JUMPI POP POP JUMP JUMPDEST PUSH2 0x35DB DUP3 SLOAD PUSH2 0x336E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x35F3 JUMPI PUSH2 0x35F3 PUSH2 0x2E24 JUMP JUMPDEST PUSH2 0x3601 DUP2 PUSH2 0x352E DUP5 SLOAD PUSH2 0x336E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3635 JUMPI PUSH1 0x0 DUP4 ISZERO PUSH2 0x361D JUMPI POP DUP5 DUP3 ADD SLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP6 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP5 SWAP1 SHL OR DUP5 SSTORE PUSH2 0x658 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x1F NOT DUP5 AND SWAP1 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x366F JUMPI DUP3 DUP7 ADD SLOAD DUP3 SSTORE PUSH1 0x1 SWAP6 DUP7 ADD SWAP6 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD PUSH2 0x364F JUMP JUMPDEST POP DUP6 DUP4 LT ISZERO PUSH2 0x35B6 JUMPI SWAP4 ADD SLOAD PUSH1 0x0 NOT PUSH1 0xF8 PUSH1 0x3 DUP8 SWAP1 SHL AND SHR NOT AND SWAP1 SWAP3 SSTORE POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0xFF DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0xD03 SWAP1 DUP4 ADD DUP5 PUSH2 0x3123 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC9 ADDRESS PUSH31 0x3504111AF512D0584B2CBF5F5A632CBC4D88EAD7FD05BC3A6458988BA76473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1095:12929:23:-:0;;;1312:4;1277:40;;1362:1;1321:43;;1408:3;1368:44;;1416:43;;;-1:-1:-1;;1416:43:23;;;1095:12929;;;;;;;;;-1:-1:-1;936:32:0;734:10:12;936:18:0;:32::i;:::-;1095:12929:23;;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;1095:12929:23:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkOwner_54":{"entryPoint":8965,"id":54,"parameterSlots":0,"returnSlots":0},"@_createOfferWithUser_7620":{"entryPoint":7634,"id":7620,"parameterSlots":4,"returnSlots":0},"@_emptyOffer_8644":{"entryPoint":9510,"id":8644,"parameterSlots":0,"returnSlots":1},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_removeOfferByOfferId_8622":{"entryPoint":10275,"id":8622,"parameterSlots":1,"returnSlots":1},"@_removeOfferByUserAndCardNumber_8388":{"entryPoint":9055,"id":8388,"parameterSlots":4,"returnSlots":1},"@_removeOfferFromCardNumberMapping_8555":{"entryPoint":9583,"id":8555,"parameterSlots":3,"returnSlots":0},"@_removeOfferFromUserMapping_8472":{"entryPoint":10912,"id":8472,"parameterSlots":3,"returnSlots":0},"@_sameOfferId_8668":{"entryPoint":11134,"id":8668,"parameterSlots":2,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":9430,"id":111,"parameterSlots":1,"returnSlots":0},"@addOwner_7323":{"entryPoint":3340,"id":7323,"parameterSlots":1,"returnSlots":0},"@canAnyUserPublishOffer_7895":{"entryPoint":null,"id":7895,"parameterSlots":0,"returnSlots":1},"@canUserPublishOffer_7885":{"entryPoint":null,"id":7885,"parameterSlots":1,"returnSlots":1},"@changeRemoveCardinInventoryWhenOffer_7413":{"entryPoint":3144,"id":7413,"parameterSlots":1,"returnSlots":0},"@confirmOfferExchange_8072":{"entryPoint":5094,"id":8072,"parameterSlots":4,"returnSlots":0},"@createOfferWithoUser_7454":{"entryPoint":1631,"id":7454,"parameterSlots":4,"returnSlots":0},"@createOffer_7432":{"entryPoint":2552,"id":7432,"parameterSlots":3,"returnSlots":0},"@deleteAllOffers_8135":{"entryPoint":1996,"id":8135,"parameterSlots":0,"returnSlots":0},"@gammaCardsContract_7160":{"entryPoint":null,"id":7160,"parameterSlots":0,"returnSlots":0},"@getMaxOffersAllowed_7683":{"entryPoint":null,"id":7683,"parameterSlots":0,"returnSlots":1},"@getMaxOffersByUserAllowed_7691":{"entryPoint":null,"id":7691,"parameterSlots":0,"returnSlots":1},"@getOfferByIndex_7722":{"entryPoint":6472,"id":7722,"parameterSlots":1,"returnSlots":1},"@getOfferByOfferId_7770":{"entryPoint":5951,"id":7770,"parameterSlots":1,"returnSlots":1},"@getOfferByUserAndCardNumber_7871":{"entryPoint":4566,"id":7871,"parameterSlots":2,"returnSlots":1},"@getOffersByCardNumberCounter_7667":{"entryPoint":null,"id":7667,"parameterSlots":1,"returnSlots":1},"@getOffersByCardNumber_7808":{"entryPoint":3479,"id":7808,"parameterSlots":1,"returnSlots":1},"@getOffersByUserCounter_7655":{"entryPoint":1396,"id":7655,"parameterSlots":1,"returnSlots":1},"@getOffersByUser_7794":{"entryPoint":4115,"id":7794,"parameterSlots":1,"returnSlots":1},"@getOffersCounter_7675":{"entryPoint":null,"id":7675,"parameterSlots":0,"returnSlots":1},"@getOffers_7701":{"entryPoint":2569,"id":7701,"parameterSlots":0,"returnSlots":1},"@hasOffer_7943":{"entryPoint":1804,"id":7943,"parameterSlots":2,"returnSlots":1},"@init_7309":{"entryPoint":1697,"id":7309,"parameterSlots":1,"returnSlots":0},"@isOwner_7633":{"entryPoint":null,"id":7633,"parameterSlots":1,"returnSlots":1},"@offersByCardNumberCounter_7220":{"entryPoint":null,"id":7220,"parameterSlots":0,"returnSlots":0},"@offersByUserCounter_7216":{"entryPoint":null,"id":7216,"parameterSlots":0,"returnSlots":0},"@offersTotalCounter_7222":{"entryPoint":null,"id":7222,"parameterSlots":0,"returnSlots":0},"@offers_7200":{"entryPoint":3899,"id":7200,"parameterSlots":0,"returnSlots":0},"@owner_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":1},"@removeOfferByCardNumber_8174":{"entryPoint":2480,"id":8174,"parameterSlots":1,"returnSlots":1},"@removeOfferByUserAndCardNumber_8214":{"entryPoint":3211,"id":8214,"parameterSlots":2,"returnSlots":1},"@removeOffersByUser_8312":{"entryPoint":7047,"id":8312,"parameterSlots":1,"returnSlots":1},"@removeOwner_7337":{"entryPoint":1465,"id":7337,"parameterSlots":1,"returnSlots":0},"@renounceOwnership_68":{"entryPoint":3459,"id":68,"parameterSlots":0,"returnSlots":0},"@setGammaCardsContract_7365":{"entryPoint":2973,"id":7365,"parameterSlots":1,"returnSlots":0},"@setMaxCardNumbersAllowed_7401":{"entryPoint":5898,"id":7401,"parameterSlots":1,"returnSlots":0},"@setMaxOffersAllowed_7377":{"entryPoint":6868,"id":7377,"parameterSlots":1,"returnSlots":0},"@setMaxOffersByUserAllowed_7389":{"entryPoint":2427,"id":7389,"parameterSlots":1,"returnSlots":0},"@transferOwnership_91":{"entryPoint":6921,"id":91,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":11755,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint8_dyn":{"entryPoint":12012,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_string":{"entryPoint":11883,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":11778,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_uint8":{"entryPoint":12280,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint8t_addresst_uint8":{"entryPoint":12960,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_bool":{"entryPoint":12853,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":13252,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":13044,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_addresst_uint8t_array$_t_uint8_$dyn_memory_ptr":{"entryPoint":12147,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_string_memory_ptrt_uint8t_array$_t_uint8_$dyn_memory_ptr":{"entryPoint":12383,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_uint256":{"entryPoint":12331,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8":{"entryPoint":12356,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint8":{"entryPoint":11995,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_uint8_dyn":{"entryPoint":12579,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":12535,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_Offer":{"entryPoint":12641,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":13312,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":13340,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed":{"entryPoint":13224,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint8_t_address_t_uint8__to_t_address_t_uint8_t_address_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_uint8_t_array$_t_uint8_$dyn_memory_ptr__to_t_address_t_uint8_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":13977,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":12741,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGammaCardsContract_$7151__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr_t_uint8_t_address_t_uint256__to_t_string_memory_ptr_t_uint8_t_address_t_uint256__fromStack_reversed":{"entryPoint":12882,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_struct$_Offer_$7196_memory_ptr__to_t_struct$_Offer_$7196_memory_ptr__fromStack_reversed":{"entryPoint":12941,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":11834,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":13477,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":13458,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":13496,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":13574,"id":null,"parameterSlots":2,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_storage_to_t_string_storage":{"entryPoint":13766,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":12499,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":13166,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":13141,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":13281,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":13119,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":14022,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":13097,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":11812,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bool":{"entryPoint":12839,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:17929:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:31","statements":[{"nodeType":"YulAssignment","src":"73:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:31"},"nodeType":"YulFunctionCall","src":"82:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:31"}]},{"body":{"nodeType":"YulBlock","src":"165:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:31"},"nodeType":"YulFunctionCall","src":"167:12:31"},"nodeType":"YulExpressionStatement","src":"167:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:31"},"nodeType":"YulFunctionCall","src":"146:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:31"},"nodeType":"YulFunctionCall","src":"142:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:31"},"nodeType":"YulFunctionCall","src":"131:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:31"},"nodeType":"YulFunctionCall","src":"121:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:31"},"nodeType":"YulFunctionCall","src":"114:50:31"},"nodeType":"YulIf","src":"111:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:31","type":""}],"src":"14:173:31"},{"body":{"nodeType":"YulBlock","src":"262:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"308:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:31"},"nodeType":"YulFunctionCall","src":"310:12:31"},"nodeType":"YulExpressionStatement","src":"310:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"283:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"292:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"279:3:31"},"nodeType":"YulFunctionCall","src":"279:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"304:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"275:3:31"},"nodeType":"YulFunctionCall","src":"275:32:31"},"nodeType":"YulIf","src":"272:52:31"},{"nodeType":"YulAssignment","src":"333:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"362:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"343:18:31"},"nodeType":"YulFunctionCall","src":"343:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"333:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"228:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"239:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"251:6:31","type":""}],"src":"192:186:31"},{"body":{"nodeType":"YulBlock","src":"484:76:31","statements":[{"nodeType":"YulAssignment","src":"494:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"506:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"517:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"502:3:31"},"nodeType":"YulFunctionCall","src":"502:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"494:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"536:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"547:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"529:6:31"},"nodeType":"YulFunctionCall","src":"529:25:31"},"nodeType":"YulExpressionStatement","src":"529:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"453:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"464:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"475:4:31","type":""}],"src":"383:177:31"},{"body":{"nodeType":"YulBlock","src":"597:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"614:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"621:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"626:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"617:3:31"},"nodeType":"YulFunctionCall","src":"617:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"607:6:31"},"nodeType":"YulFunctionCall","src":"607:31:31"},"nodeType":"YulExpressionStatement","src":"607:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"654:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"657:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"647:6:31"},"nodeType":"YulFunctionCall","src":"647:15:31"},"nodeType":"YulExpressionStatement","src":"647:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"678:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"681:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"671:6:31"},"nodeType":"YulFunctionCall","src":"671:15:31"},"nodeType":"YulExpressionStatement","src":"671:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"565:127:31"},{"body":{"nodeType":"YulBlock","src":"742:230:31","statements":[{"nodeType":"YulAssignment","src":"752:19:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"768:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"762:5:31"},"nodeType":"YulFunctionCall","src":"762:9:31"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"752:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"780:58:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"802:6:31"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"818:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"824:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"814:3:31"},"nodeType":"YulFunctionCall","src":"814:13:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"833:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"829:3:31"},"nodeType":"YulFunctionCall","src":"829:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"810:3:31"},"nodeType":"YulFunctionCall","src":"810:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"798:3:31"},"nodeType":"YulFunctionCall","src":"798:40:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"784:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"913:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"915:16:31"},"nodeType":"YulFunctionCall","src":"915:18:31"},"nodeType":"YulExpressionStatement","src":"915:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"856:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"868:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"853:2:31"},"nodeType":"YulFunctionCall","src":"853:34:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"892:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"904:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"889:2:31"},"nodeType":"YulFunctionCall","src":"889:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"850:2:31"},"nodeType":"YulFunctionCall","src":"850:62:31"},"nodeType":"YulIf","src":"847:88:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"951:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"955:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"944:6:31"},"nodeType":"YulFunctionCall","src":"944:22:31"},"nodeType":"YulExpressionStatement","src":"944:22:31"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"722:4:31","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"731:6:31","type":""}],"src":"697:275:31"},{"body":{"nodeType":"YulBlock","src":"1030:478:31","statements":[{"body":{"nodeType":"YulBlock","src":"1079:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1088:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1091:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1081:6:31"},"nodeType":"YulFunctionCall","src":"1081:12:31"},"nodeType":"YulExpressionStatement","src":"1081:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1058:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1066:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1054:3:31"},"nodeType":"YulFunctionCall","src":"1054:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"1073:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1050:3:31"},"nodeType":"YulFunctionCall","src":"1050:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1043:6:31"},"nodeType":"YulFunctionCall","src":"1043:35:31"},"nodeType":"YulIf","src":"1040:55:31"},{"nodeType":"YulVariableDeclaration","src":"1104:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1127:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1114:12:31"},"nodeType":"YulFunctionCall","src":"1114:20:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1108:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1173:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1175:16:31"},"nodeType":"YulFunctionCall","src":"1175:18:31"},"nodeType":"YulExpressionStatement","src":"1175:18:31"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1149:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1153:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1146:2:31"},"nodeType":"YulFunctionCall","src":"1146:26:31"},"nodeType":"YulIf","src":"1143:52:31"},{"nodeType":"YulVariableDeclaration","src":"1204:70:31","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1247:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1251:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1243:3:31"},"nodeType":"YulFunctionCall","src":"1243:13:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1262:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1258:3:31"},"nodeType":"YulFunctionCall","src":"1258:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1239:3:31"},"nodeType":"YulFunctionCall","src":"1239:27:31"},{"kind":"number","nodeType":"YulLiteral","src":"1268:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1235:3:31"},"nodeType":"YulFunctionCall","src":"1235:38:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1219:15:31"},"nodeType":"YulFunctionCall","src":"1219:55:31"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"1208:7:31","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1290:7:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1299:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1283:6:31"},"nodeType":"YulFunctionCall","src":"1283:19:31"},"nodeType":"YulExpressionStatement","src":"1283:19:31"},{"body":{"nodeType":"YulBlock","src":"1350:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1362:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1352:6:31"},"nodeType":"YulFunctionCall","src":"1352:12:31"},"nodeType":"YulExpressionStatement","src":"1352:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1325:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1333:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1321:3:31"},"nodeType":"YulFunctionCall","src":"1321:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"1338:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1317:3:31"},"nodeType":"YulFunctionCall","src":"1317:26:31"},{"name":"end","nodeType":"YulIdentifier","src":"1345:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1314:2:31"},"nodeType":"YulFunctionCall","src":"1314:35:31"},"nodeType":"YulIf","src":"1311:55:31"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1392:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"1401:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1388:3:31"},"nodeType":"YulFunctionCall","src":"1388:18:31"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1412:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1420:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1408:3:31"},"nodeType":"YulFunctionCall","src":"1408:17:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1427:2:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1375:12:31"},"nodeType":"YulFunctionCall","src":"1375:55:31"},"nodeType":"YulExpressionStatement","src":"1375:55:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1454:7:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1463:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1450:3:31"},"nodeType":"YulFunctionCall","src":"1450:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"1468:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1446:3:31"},"nodeType":"YulFunctionCall","src":"1446:27:31"},{"kind":"number","nodeType":"YulLiteral","src":"1475:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1439:6:31"},"nodeType":"YulFunctionCall","src":"1439:38:31"},"nodeType":"YulExpressionStatement","src":"1439:38:31"},{"nodeType":"YulAssignment","src":"1486:16:31","value":{"name":"array_1","nodeType":"YulIdentifier","src":"1495:7:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1486:5:31"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1004:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"1012:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1020:5:31","type":""}],"src":"977:531:31"},{"body":{"nodeType":"YulBlock","src":"1560:109:31","statements":[{"nodeType":"YulAssignment","src":"1570:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1592:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1579:12:31"},"nodeType":"YulFunctionCall","src":"1579:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1570:5:31"}]},{"body":{"nodeType":"YulBlock","src":"1647:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1656:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1659:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1649:6:31"},"nodeType":"YulFunctionCall","src":"1649:12:31"},"nodeType":"YulExpressionStatement","src":"1649:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1621:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1632:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1639:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1628:3:31"},"nodeType":"YulFunctionCall","src":"1628:16:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1618:2:31"},"nodeType":"YulFunctionCall","src":"1618:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1611:6:31"},"nodeType":"YulFunctionCall","src":"1611:35:31"},"nodeType":"YulIf","src":"1608:55:31"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1539:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1550:5:31","type":""}],"src":"1513:156:31"},{"body":{"nodeType":"YulBlock","src":"1736:652:31","statements":[{"body":{"nodeType":"YulBlock","src":"1785:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1794:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1797:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1787:6:31"},"nodeType":"YulFunctionCall","src":"1787:12:31"},"nodeType":"YulExpressionStatement","src":"1787:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1764:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1772:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1760:3:31"},"nodeType":"YulFunctionCall","src":"1760:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"1779:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1756:3:31"},"nodeType":"YulFunctionCall","src":"1756:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1749:6:31"},"nodeType":"YulFunctionCall","src":"1749:35:31"},"nodeType":"YulIf","src":"1746:55:31"},{"nodeType":"YulVariableDeclaration","src":"1810:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1833:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1820:12:31"},"nodeType":"YulFunctionCall","src":"1820:20:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1814:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1849:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1859:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1853:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1902:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1904:16:31"},"nodeType":"YulFunctionCall","src":"1904:18:31"},"nodeType":"YulExpressionStatement","src":"1904:18:31"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1878:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1882:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1875:2:31"},"nodeType":"YulFunctionCall","src":"1875:26:31"},"nodeType":"YulIf","src":"1872:52:31"},{"nodeType":"YulVariableDeclaration","src":"1933:20:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1947:1:31","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1950:2:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1943:3:31"},"nodeType":"YulFunctionCall","src":"1943:10:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1937:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1962:39:31","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1993:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1997:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1989:3:31"},"nodeType":"YulFunctionCall","src":"1989:11:31"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"1973:15:31"},"nodeType":"YulFunctionCall","src":"1973:28:31"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1966:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2010:16:31","value":{"name":"dst","nodeType":"YulIdentifier","src":"2023:3:31"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"2014:5:31","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2042:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2047:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2035:6:31"},"nodeType":"YulFunctionCall","src":"2035:15:31"},"nodeType":"YulExpressionStatement","src":"2035:15:31"},{"nodeType":"YulAssignment","src":"2059:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2070:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2075:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2066:3:31"},"nodeType":"YulFunctionCall","src":"2066:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2059:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"2087:38:31","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2109:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2117:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2105:3:31"},"nodeType":"YulFunctionCall","src":"2105:15:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2122:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2101:3:31"},"nodeType":"YulFunctionCall","src":"2101:24:31"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"2091:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2153:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2162:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2165:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2155:6:31"},"nodeType":"YulFunctionCall","src":"2155:12:31"},"nodeType":"YulExpressionStatement","src":"2155:12:31"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"2140:6:31"},{"name":"end","nodeType":"YulIdentifier","src":"2148:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2137:2:31"},"nodeType":"YulFunctionCall","src":"2137:15:31"},"nodeType":"YulIf","src":"2134:35:31"},{"nodeType":"YulVariableDeclaration","src":"2178:26:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2193:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2201:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2189:3:31"},"nodeType":"YulFunctionCall","src":"2189:15:31"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"2182:3:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2269:90:31","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2290:3:31"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2312:3:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"2295:16:31"},"nodeType":"YulFunctionCall","src":"2295:21:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2283:6:31"},"nodeType":"YulFunctionCall","src":"2283:34:31"},"nodeType":"YulExpressionStatement","src":"2283:34:31"},{"nodeType":"YulAssignment","src":"2330:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2341:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2346:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2337:3:31"},"nodeType":"YulFunctionCall","src":"2337:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"2330:3:31"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2224:3:31"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"2229:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2221:2:31"},"nodeType":"YulFunctionCall","src":"2221:15:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2237:23:31","statements":[{"nodeType":"YulAssignment","src":"2239:19:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2250:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2255:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2246:3:31"},"nodeType":"YulFunctionCall","src":"2246:12:31"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"2239:3:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2217:3:31","statements":[]},"src":"2213:146:31"},{"nodeType":"YulAssignment","src":"2368:14:31","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"2377:5:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"2368:5:31"}]}]},"name":"abi_decode_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1710:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"1718:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1726:5:31","type":""}],"src":"1674:714:31"},{"body":{"nodeType":"YulBlock","src":"2545:558:31","statements":[{"body":{"nodeType":"YulBlock","src":"2592:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2601:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2604:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2594:6:31"},"nodeType":"YulFunctionCall","src":"2594:12:31"},"nodeType":"YulExpressionStatement","src":"2594:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2566:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2575:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2562:3:31"},"nodeType":"YulFunctionCall","src":"2562:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2587:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2558:3:31"},"nodeType":"YulFunctionCall","src":"2558:33:31"},"nodeType":"YulIf","src":"2555:53:31"},{"nodeType":"YulVariableDeclaration","src":"2617:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2644:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2631:12:31"},"nodeType":"YulFunctionCall","src":"2631:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2621:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2663:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2673:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2667:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2718:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2727:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2730:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2720:6:31"},"nodeType":"YulFunctionCall","src":"2720:12:31"},"nodeType":"YulExpressionStatement","src":"2720:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2706:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2714:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2703:2:31"},"nodeType":"YulFunctionCall","src":"2703:14:31"},"nodeType":"YulIf","src":"2700:34:31"},{"nodeType":"YulAssignment","src":"2743:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2775:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"2786:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2771:3:31"},"nodeType":"YulFunctionCall","src":"2771:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2795:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"2753:17:31"},"nodeType":"YulFunctionCall","src":"2753:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2743:6:31"}]},{"nodeType":"YulAssignment","src":"2812:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2845:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2856:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2841:3:31"},"nodeType":"YulFunctionCall","src":"2841:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2822:18:31"},"nodeType":"YulFunctionCall","src":"2822:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2812:6:31"}]},{"nodeType":"YulAssignment","src":"2869:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2900:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2911:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2896:3:31"},"nodeType":"YulFunctionCall","src":"2896:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"2879:16:31"},"nodeType":"YulFunctionCall","src":"2879:36:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2869:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"2924:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2957:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2968:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2953:3:31"},"nodeType":"YulFunctionCall","src":"2953:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2940:12:31"},"nodeType":"YulFunctionCall","src":"2940:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"2928:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3001:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3010:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3013:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3003:6:31"},"nodeType":"YulFunctionCall","src":"3003:12:31"},"nodeType":"YulExpressionStatement","src":"3003:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"2987:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2997:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2984:2:31"},"nodeType":"YulFunctionCall","src":"2984:16:31"},"nodeType":"YulIf","src":"2981:36:31"},{"nodeType":"YulAssignment","src":"3026:71:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3067:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"3078:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3063:3:31"},"nodeType":"YulFunctionCall","src":"3063:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3089:7:31"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"3036:26:31"},"nodeType":"YulFunctionCall","src":"3036:61:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3026:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_addresst_uint8t_array$_t_uint8_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2487:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2498:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2510:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2518:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2526:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2534:6:31","type":""}],"src":"2393:710:31"},{"body":{"nodeType":"YulBlock","src":"3203:92:31","statements":[{"nodeType":"YulAssignment","src":"3213:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3225:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3236:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3221:3:31"},"nodeType":"YulFunctionCall","src":"3221:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3213:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3255:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3280:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3273:6:31"},"nodeType":"YulFunctionCall","src":"3273:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3266:6:31"},"nodeType":"YulFunctionCall","src":"3266:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3248:6:31"},"nodeType":"YulFunctionCall","src":"3248:41:31"},"nodeType":"YulExpressionStatement","src":"3248:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3172:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3183:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3194:4:31","type":""}],"src":"3108:187:31"},{"body":{"nodeType":"YulBlock","src":"3385:171:31","statements":[{"body":{"nodeType":"YulBlock","src":"3431:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3440:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3443:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3433:6:31"},"nodeType":"YulFunctionCall","src":"3433:12:31"},"nodeType":"YulExpressionStatement","src":"3433:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3406:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3415:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3402:3:31"},"nodeType":"YulFunctionCall","src":"3402:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3427:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3398:3:31"},"nodeType":"YulFunctionCall","src":"3398:32:31"},"nodeType":"YulIf","src":"3395:52:31"},{"nodeType":"YulAssignment","src":"3456:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3485:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3466:18:31"},"nodeType":"YulFunctionCall","src":"3466:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3456:6:31"}]},{"nodeType":"YulAssignment","src":"3504:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3535:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3546:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3531:3:31"},"nodeType":"YulFunctionCall","src":"3531:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"3514:16:31"},"nodeType":"YulFunctionCall","src":"3514:36:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3504:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3343:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3354:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3366:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3374:6:31","type":""}],"src":"3300:256:31"},{"body":{"nodeType":"YulBlock","src":"3631:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"3677:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3686:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3689:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3679:6:31"},"nodeType":"YulFunctionCall","src":"3679:12:31"},"nodeType":"YulExpressionStatement","src":"3679:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3652:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3661:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3648:3:31"},"nodeType":"YulFunctionCall","src":"3648:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3673:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3644:3:31"},"nodeType":"YulFunctionCall","src":"3644:32:31"},"nodeType":"YulIf","src":"3641:52:31"},{"nodeType":"YulAssignment","src":"3702:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3725:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3712:12:31"},"nodeType":"YulFunctionCall","src":"3712:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3702:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3597:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3608:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3620:6:31","type":""}],"src":"3561:180:31"},{"body":{"nodeType":"YulBlock","src":"3814:114:31","statements":[{"body":{"nodeType":"YulBlock","src":"3860:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3869:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3872:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3862:6:31"},"nodeType":"YulFunctionCall","src":"3862:12:31"},"nodeType":"YulExpressionStatement","src":"3862:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3835:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3844:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3831:3:31"},"nodeType":"YulFunctionCall","src":"3831:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3856:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3827:3:31"},"nodeType":"YulFunctionCall","src":"3827:32:31"},"nodeType":"YulIf","src":"3824:52:31"},{"nodeType":"YulAssignment","src":"3885:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3912:9:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"3895:16:31"},"nodeType":"YulFunctionCall","src":"3895:27:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3885:6:31"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3780:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3791:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3803:6:31","type":""}],"src":"3746:182:31"},{"body":{"nodeType":"YulBlock","src":"4068:500:31","statements":[{"body":{"nodeType":"YulBlock","src":"4114:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4123:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4126:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4116:6:31"},"nodeType":"YulFunctionCall","src":"4116:12:31"},"nodeType":"YulExpressionStatement","src":"4116:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4089:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4098:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4085:3:31"},"nodeType":"YulFunctionCall","src":"4085:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4110:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4081:3:31"},"nodeType":"YulFunctionCall","src":"4081:32:31"},"nodeType":"YulIf","src":"4078:52:31"},{"nodeType":"YulVariableDeclaration","src":"4139:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4166:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4153:12:31"},"nodeType":"YulFunctionCall","src":"4153:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4143:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4185:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"4195:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4189:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4240:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4249:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4252:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4242:6:31"},"nodeType":"YulFunctionCall","src":"4242:12:31"},"nodeType":"YulExpressionStatement","src":"4242:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4228:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4236:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4225:2:31"},"nodeType":"YulFunctionCall","src":"4225:14:31"},"nodeType":"YulIf","src":"4222:34:31"},{"nodeType":"YulAssignment","src":"4265:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4297:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"4308:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4293:3:31"},"nodeType":"YulFunctionCall","src":"4293:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4317:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4275:17:31"},"nodeType":"YulFunctionCall","src":"4275:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4265:6:31"}]},{"nodeType":"YulAssignment","src":"4334:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4365:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4376:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4361:3:31"},"nodeType":"YulFunctionCall","src":"4361:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"4344:16:31"},"nodeType":"YulFunctionCall","src":"4344:36:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4334:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"4389:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4422:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4433:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4418:3:31"},"nodeType":"YulFunctionCall","src":"4418:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4405:12:31"},"nodeType":"YulFunctionCall","src":"4405:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4393:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4466:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4475:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4478:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4468:6:31"},"nodeType":"YulFunctionCall","src":"4468:12:31"},"nodeType":"YulExpressionStatement","src":"4468:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4452:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4462:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4449:2:31"},"nodeType":"YulFunctionCall","src":"4449:16:31"},"nodeType":"YulIf","src":"4446:36:31"},{"nodeType":"YulAssignment","src":"4491:71:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4532:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4543:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4528:3:31"},"nodeType":"YulFunctionCall","src":"4528:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4554:7:31"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"4501:26:31"},"nodeType":"YulFunctionCall","src":"4501:61:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4491:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_uint8t_array$_t_uint8_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4018:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4029:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4041:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4049:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4057:6:31","type":""}],"src":"3933:635:31"},{"body":{"nodeType":"YulBlock","src":"4639:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"4649:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"4658:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4653:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4718:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4743:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"4748:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4739:3:31"},"nodeType":"YulFunctionCall","src":"4739:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4762:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"4767:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4758:3:31"},"nodeType":"YulFunctionCall","src":"4758:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4752:5:31"},"nodeType":"YulFunctionCall","src":"4752:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4732:6:31"},"nodeType":"YulFunctionCall","src":"4732:39:31"},"nodeType":"YulExpressionStatement","src":"4732:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4679:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"4682:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4676:2:31"},"nodeType":"YulFunctionCall","src":"4676:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4690:19:31","statements":[{"nodeType":"YulAssignment","src":"4692:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4701:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"4704:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4697:3:31"},"nodeType":"YulFunctionCall","src":"4697:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4692:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"4672:3:31","statements":[]},"src":"4668:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4801:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"4806:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4797:3:31"},"nodeType":"YulFunctionCall","src":"4797:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"4815:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4790:6:31"},"nodeType":"YulFunctionCall","src":"4790:27:31"},"nodeType":"YulExpressionStatement","src":"4790:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"4617:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"4622:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"4627:6:31","type":""}],"src":"4573:250:31"},{"body":{"nodeType":"YulBlock","src":"4878:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"4888:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4908:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4902:5:31"},"nodeType":"YulFunctionCall","src":"4902:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4892:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4930:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"4935:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4923:6:31"},"nodeType":"YulFunctionCall","src":"4923:19:31"},"nodeType":"YulExpressionStatement","src":"4923:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4990:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"4997:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4986:3:31"},"nodeType":"YulFunctionCall","src":"4986:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5008:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5013:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5004:3:31"},"nodeType":"YulFunctionCall","src":"5004:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"5020:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"4951:34:31"},"nodeType":"YulFunctionCall","src":"4951:76:31"},"nodeType":"YulExpressionStatement","src":"4951:76:31"},{"nodeType":"YulAssignment","src":"5036:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5051:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5064:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5072:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5060:3:31"},"nodeType":"YulFunctionCall","src":"5060:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5081:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5077:3:31"},"nodeType":"YulFunctionCall","src":"5077:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5056:3:31"},"nodeType":"YulFunctionCall","src":"5056:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5047:3:31"},"nodeType":"YulFunctionCall","src":"5047:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"5088:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5043:3:31"},"nodeType":"YulFunctionCall","src":"5043:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5036:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4855:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4862:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4870:3:31","type":""}],"src":"4828:271:31"},{"body":{"nodeType":"YulBlock","src":"5163:385:31","statements":[{"nodeType":"YulVariableDeclaration","src":"5173:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5193:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5187:5:31"},"nodeType":"YulFunctionCall","src":"5187:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5177:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5215:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"5220:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5208:6:31"},"nodeType":"YulFunctionCall","src":"5208:19:31"},"nodeType":"YulExpressionStatement","src":"5208:19:31"},{"nodeType":"YulVariableDeclaration","src":"5236:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"5246:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5240:2:31","type":""}]},{"nodeType":"YulAssignment","src":"5259:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5270:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"5275:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5266:3:31"},"nodeType":"YulFunctionCall","src":"5266:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5259:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"5287:28:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5305:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"5312:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5301:3:31"},"nodeType":"YulFunctionCall","src":"5301:14:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"5291:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5324:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"5333:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"5328:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5392:131:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5413:3:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5428:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5422:5:31"},"nodeType":"YulFunctionCall","src":"5422:13:31"},{"kind":"number","nodeType":"YulLiteral","src":"5437:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5418:3:31"},"nodeType":"YulFunctionCall","src":"5418:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5406:6:31"},"nodeType":"YulFunctionCall","src":"5406:37:31"},"nodeType":"YulExpressionStatement","src":"5406:37:31"},{"nodeType":"YulAssignment","src":"5456:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5467:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"5472:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5463:3:31"},"nodeType":"YulFunctionCall","src":"5463:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"5456:3:31"}]},{"nodeType":"YulAssignment","src":"5488:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5502:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"5510:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5498:3:31"},"nodeType":"YulFunctionCall","src":"5498:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"5488:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5354:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"5357:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5351:2:31"},"nodeType":"YulFunctionCall","src":"5351:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5365:18:31","statements":[{"nodeType":"YulAssignment","src":"5367:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"5376:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"5379:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5372:3:31"},"nodeType":"YulFunctionCall","src":"5372:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"5367:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"5347:3:31","statements":[]},"src":"5343:180:31"},{"nodeType":"YulAssignment","src":"5532:10:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"5539:3:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5532:3:31"}]}]},"name":"abi_encode_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5140:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5147:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5155:3:31","type":""}],"src":"5104:444:31"},{"body":{"nodeType":"YulBlock","src":"5609:541:31","statements":[{"nodeType":"YulVariableDeclaration","src":"5619:32:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5645:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5639:5:31"},"nodeType":"YulFunctionCall","src":"5639:12:31"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"5623:12:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5667:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5672:4:31","type":"","value":"0xa0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5660:6:31"},"nodeType":"YulFunctionCall","src":"5660:17:31"},"nodeType":"YulExpressionStatement","src":"5660:17:31"},{"nodeType":"YulVariableDeclaration","src":"5686:59:31","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"5716:12:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5734:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5739:4:31","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5730:3:31"},"nodeType":"YulFunctionCall","src":"5730:14:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"5698:17:31"},"nodeType":"YulFunctionCall","src":"5698:47:31"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"5690:4:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5765:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5770:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5761:3:31"},"nodeType":"YulFunctionCall","src":"5761:14:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5791:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"5798:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5787:3:31"},"nodeType":"YulFunctionCall","src":"5787:16:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5781:5:31"},"nodeType":"YulFunctionCall","src":"5781:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5806:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5777:3:31"},"nodeType":"YulFunctionCall","src":"5777:34:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5754:6:31"},"nodeType":"YulFunctionCall","src":"5754:58:31"},"nodeType":"YulExpressionStatement","src":"5754:58:31"},{"nodeType":"YulVariableDeclaration","src":"5821:45:31","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5853:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"5860:4:31","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5849:3:31"},"nodeType":"YulFunctionCall","src":"5849:16:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5843:5:31"},"nodeType":"YulFunctionCall","src":"5843:23:31"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"5825:14:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5886:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5891:4:31","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5882:3:31"},"nodeType":"YulFunctionCall","src":"5882:14:31"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"5902:4:31"},{"name":"pos","nodeType":"YulIdentifier","src":"5908:3:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5898:3:31"},"nodeType":"YulFunctionCall","src":"5898:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5875:6:31"},"nodeType":"YulFunctionCall","src":"5875:38:31"},"nodeType":"YulExpressionStatement","src":"5875:38:31"},{"nodeType":"YulVariableDeclaration","src":"5922:62:31","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"5963:14:31"},{"name":"tail","nodeType":"YulIdentifier","src":"5979:4:31"}],"functionName":{"name":"abi_encode_array_uint8_dyn","nodeType":"YulIdentifier","src":"5936:26:31"},"nodeType":"YulFunctionCall","src":"5936:48:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"5926:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6004:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"6009:4:31","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6000:3:31"},"nodeType":"YulFunctionCall","src":"6000:14:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6030:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"6037:4:31","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6026:3:31"},"nodeType":"YulFunctionCall","src":"6026:16:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6020:5:31"},"nodeType":"YulFunctionCall","src":"6020:23:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6053:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6058:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6049:3:31"},"nodeType":"YulFunctionCall","src":"6049:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"6062:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6045:3:31"},"nodeType":"YulFunctionCall","src":"6045:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6016:3:31"},"nodeType":"YulFunctionCall","src":"6016:49:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5993:6:31"},"nodeType":"YulFunctionCall","src":"5993:73:31"},"nodeType":"YulExpressionStatement","src":"5993:73:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6086:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"6091:4:31","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6082:3:31"},"nodeType":"YulFunctionCall","src":"6082:14:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6108:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"6115:4:31","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6104:3:31"},"nodeType":"YulFunctionCall","src":"6104:16:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6098:5:31"},"nodeType":"YulFunctionCall","src":"6098:23:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6075:6:31"},"nodeType":"YulFunctionCall","src":"6075:47:31"},"nodeType":"YulExpressionStatement","src":"6075:47:31"},{"nodeType":"YulAssignment","src":"6131:13:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"6138:6:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"6131:3:31"}]}]},"name":"abi_encode_struct_Offer","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5586:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"5593:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5601:3:31","type":""}],"src":"5553:597:31"},{"body":{"nodeType":"YulBlock","src":"6352:638:31","statements":[{"nodeType":"YulVariableDeclaration","src":"6362:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"6372:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6366:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6383:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6401:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6412:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6397:3:31"},"nodeType":"YulFunctionCall","src":"6397:18:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"6387:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6431:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6442:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6424:6:31"},"nodeType":"YulFunctionCall","src":"6424:21:31"},"nodeType":"YulExpressionStatement","src":"6424:21:31"},{"nodeType":"YulVariableDeclaration","src":"6454:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"6465:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"6458:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6480:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6500:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6494:5:31"},"nodeType":"YulFunctionCall","src":"6494:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6484:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"6523:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"6531:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6516:6:31"},"nodeType":"YulFunctionCall","src":"6516:22:31"},"nodeType":"YulExpressionStatement","src":"6516:22:31"},{"nodeType":"YulAssignment","src":"6547:25:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6558:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6569:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6554:3:31"},"nodeType":"YulFunctionCall","src":"6554:18:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6547:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"6581:53:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6603:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6618:1:31","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"6621:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6614:3:31"},"nodeType":"YulFunctionCall","src":"6614:14:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6599:3:31"},"nodeType":"YulFunctionCall","src":"6599:30:31"},{"kind":"number","nodeType":"YulLiteral","src":"6631:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6595:3:31"},"nodeType":"YulFunctionCall","src":"6595:39:31"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"6585:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6643:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6661:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6669:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6657:3:31"},"nodeType":"YulFunctionCall","src":"6657:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6647:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6681:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"6690:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6685:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6749:212:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6770:3:31"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"6783:6:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6791:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6779:3:31"},"nodeType":"YulFunctionCall","src":"6779:22:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6807:2:31","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6803:3:31"},"nodeType":"YulFunctionCall","src":"6803:7:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6775:3:31"},"nodeType":"YulFunctionCall","src":"6775:36:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6763:6:31"},"nodeType":"YulFunctionCall","src":"6763:49:31"},"nodeType":"YulExpressionStatement","src":"6763:49:31"},{"nodeType":"YulAssignment","src":"6825:56:31","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6865:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6859:5:31"},"nodeType":"YulFunctionCall","src":"6859:13:31"},{"name":"tail_2","nodeType":"YulIdentifier","src":"6874:6:31"}],"functionName":{"name":"abi_encode_struct_Offer","nodeType":"YulIdentifier","src":"6835:23:31"},"nodeType":"YulFunctionCall","src":"6835:46:31"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"6825:6:31"}]},{"nodeType":"YulAssignment","src":"6894:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6908:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6916:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6904:3:31"},"nodeType":"YulFunctionCall","src":"6904:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"6894:6:31"}]},{"nodeType":"YulAssignment","src":"6932:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6943:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"6948:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6939:3:31"},"nodeType":"YulFunctionCall","src":"6939:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6932:3:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6711:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"6714:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6708:2:31"},"nodeType":"YulFunctionCall","src":"6708:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6722:18:31","statements":[{"nodeType":"YulAssignment","src":"6724:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6733:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"6736:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6729:3:31"},"nodeType":"YulFunctionCall","src":"6729:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6724:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"6704:3:31","statements":[]},"src":"6700:261:31"},{"nodeType":"YulAssignment","src":"6970:14:31","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"6978:6:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6970:4:31"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6321:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6332:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6343:4:31","type":""}],"src":"6155:835:31"},{"body":{"nodeType":"YulBlock","src":"7037:76:31","statements":[{"body":{"nodeType":"YulBlock","src":"7091:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7100:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7103:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7093:6:31"},"nodeType":"YulFunctionCall","src":"7093:12:31"},"nodeType":"YulExpressionStatement","src":"7093:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7060:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7081:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7074:6:31"},"nodeType":"YulFunctionCall","src":"7074:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7067:6:31"},"nodeType":"YulFunctionCall","src":"7067:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7057:2:31"},"nodeType":"YulFunctionCall","src":"7057:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7050:6:31"},"nodeType":"YulFunctionCall","src":"7050:40:31"},"nodeType":"YulIf","src":"7047:60:31"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7026:5:31","type":""}],"src":"6995:118:31"},{"body":{"nodeType":"YulBlock","src":"7185:174:31","statements":[{"body":{"nodeType":"YulBlock","src":"7231:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7240:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7243:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7233:6:31"},"nodeType":"YulFunctionCall","src":"7233:12:31"},"nodeType":"YulExpressionStatement","src":"7233:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7206:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"7215:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7202:3:31"},"nodeType":"YulFunctionCall","src":"7202:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"7227:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7198:3:31"},"nodeType":"YulFunctionCall","src":"7198:32:31"},"nodeType":"YulIf","src":"7195:52:31"},{"nodeType":"YulVariableDeclaration","src":"7256:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7282:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7269:12:31"},"nodeType":"YulFunctionCall","src":"7269:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"7260:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7323:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"7301:21:31"},"nodeType":"YulFunctionCall","src":"7301:28:31"},"nodeType":"YulExpressionStatement","src":"7301:28:31"},{"nodeType":"YulAssignment","src":"7338:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"7348:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7338:6:31"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7151:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7162:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7174:6:31","type":""}],"src":"7118:241:31"},{"body":{"nodeType":"YulBlock","src":"7565:267:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7582:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7593:3:31","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7575:6:31"},"nodeType":"YulFunctionCall","src":"7575:22:31"},"nodeType":"YulExpressionStatement","src":"7575:22:31"},{"nodeType":"YulAssignment","src":"7606:54:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7632:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7644:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7655:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7640:3:31"},"nodeType":"YulFunctionCall","src":"7640:19:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"7614:17:31"},"nodeType":"YulFunctionCall","src":"7614:46:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7606:4:31"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7680:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7691:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7676:3:31"},"nodeType":"YulFunctionCall","src":"7676:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7700:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7708:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7696:3:31"},"nodeType":"YulFunctionCall","src":"7696:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7669:6:31"},"nodeType":"YulFunctionCall","src":"7669:45:31"},"nodeType":"YulExpressionStatement","src":"7669:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7734:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7745:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7730:3:31"},"nodeType":"YulFunctionCall","src":"7730:18:31"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7754:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7770:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"7775:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7766:3:31"},"nodeType":"YulFunctionCall","src":"7766:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"7779:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7762:3:31"},"nodeType":"YulFunctionCall","src":"7762:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7750:3:31"},"nodeType":"YulFunctionCall","src":"7750:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7723:6:31"},"nodeType":"YulFunctionCall","src":"7723:60:31"},"nodeType":"YulExpressionStatement","src":"7723:60:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7803:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7814:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7799:3:31"},"nodeType":"YulFunctionCall","src":"7799:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"7819:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7792:6:31"},"nodeType":"YulFunctionCall","src":"7792:34:31"},"nodeType":"YulExpressionStatement","src":"7792:34:31"}]},"name":"abi_encode_tuple_t_string_memory_ptr_t_uint8_t_address_t_uint256__to_t_string_memory_ptr_t_uint8_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7510:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7521:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7529:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7537:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7545:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7556:4:31","type":""}],"src":"7364:468:31"},{"body":{"nodeType":"YulBlock","src":"7938:102:31","statements":[{"nodeType":"YulAssignment","src":"7948:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7960:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7971:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7956:3:31"},"nodeType":"YulFunctionCall","src":"7956:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7948:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7990:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8005:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8021:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8026:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8017:3:31"},"nodeType":"YulFunctionCall","src":"8017:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"8030:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8013:3:31"},"nodeType":"YulFunctionCall","src":"8013:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8001:3:31"},"nodeType":"YulFunctionCall","src":"8001:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7983:6:31"},"nodeType":"YulFunctionCall","src":"7983:51:31"},"nodeType":"YulExpressionStatement","src":"7983:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7907:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7918:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7929:4:31","type":""}],"src":"7837:203:31"},{"body":{"nodeType":"YulBlock","src":"8192:105:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8209:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8220:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8202:6:31"},"nodeType":"YulFunctionCall","src":"8202:21:31"},"nodeType":"YulExpressionStatement","src":"8202:21:31"},{"nodeType":"YulAssignment","src":"8232:59:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8264:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8276:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8287:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8272:3:31"},"nodeType":"YulFunctionCall","src":"8272:18:31"}],"functionName":{"name":"abi_encode_struct_Offer","nodeType":"YulIdentifier","src":"8240:23:31"},"nodeType":"YulFunctionCall","src":"8240:51:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8232:4:31"}]}]},"name":"abi_encode_tuple_t_struct$_Offer_$7196_memory_ptr__to_t_struct$_Offer_$7196_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8161:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8172:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8183:4:31","type":""}],"src":"8045:252:31"},{"body":{"nodeType":"YulBlock","src":"8419:284:31","statements":[{"body":{"nodeType":"YulBlock","src":"8466:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8475:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8478:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8468:6:31"},"nodeType":"YulFunctionCall","src":"8468:12:31"},"nodeType":"YulExpressionStatement","src":"8468:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8440:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"8449:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8436:3:31"},"nodeType":"YulFunctionCall","src":"8436:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"8461:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8432:3:31"},"nodeType":"YulFunctionCall","src":"8432:33:31"},"nodeType":"YulIf","src":"8429:53:31"},{"nodeType":"YulAssignment","src":"8491:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8520:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8501:18:31"},"nodeType":"YulFunctionCall","src":"8501:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8491:6:31"}]},{"nodeType":"YulAssignment","src":"8539:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8570:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8581:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8566:3:31"},"nodeType":"YulFunctionCall","src":"8566:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"8549:16:31"},"nodeType":"YulFunctionCall","src":"8549:36:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8539:6:31"}]},{"nodeType":"YulAssignment","src":"8594:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8627:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8638:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8623:3:31"},"nodeType":"YulFunctionCall","src":"8623:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8604:18:31"},"nodeType":"YulFunctionCall","src":"8604:38:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8594:6:31"}]},{"nodeType":"YulAssignment","src":"8651:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8682:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8693:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8678:3:31"},"nodeType":"YulFunctionCall","src":"8678:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"8661:16:31"},"nodeType":"YulFunctionCall","src":"8661:36:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8651:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint8t_addresst_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8361:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8372:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8384:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8392:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8400:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8408:6:31","type":""}],"src":"8302:401:31"},{"body":{"nodeType":"YulBlock","src":"8837:102:31","statements":[{"nodeType":"YulAssignment","src":"8847:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8859:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8870:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8855:3:31"},"nodeType":"YulFunctionCall","src":"8855:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8847:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8889:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8904:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8920:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8925:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8916:3:31"},"nodeType":"YulFunctionCall","src":"8916:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"8929:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8912:3:31"},"nodeType":"YulFunctionCall","src":"8912:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8900:3:31"},"nodeType":"YulFunctionCall","src":"8900:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8882:6:31"},"nodeType":"YulFunctionCall","src":"8882:51:31"},"nodeType":"YulExpressionStatement","src":"8882:51:31"}]},"name":"abi_encode_tuple_t_contract$_IGammaCardsContract_$7151__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8806:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8817:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8828:4:31","type":""}],"src":"8708:231:31"},{"body":{"nodeType":"YulBlock","src":"9024:242:31","statements":[{"body":{"nodeType":"YulBlock","src":"9070:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9079:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9082:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9072:6:31"},"nodeType":"YulFunctionCall","src":"9072:12:31"},"nodeType":"YulExpressionStatement","src":"9072:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9045:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"9054:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9041:3:31"},"nodeType":"YulFunctionCall","src":"9041:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"9066:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9037:3:31"},"nodeType":"YulFunctionCall","src":"9037:32:31"},"nodeType":"YulIf","src":"9034:52:31"},{"nodeType":"YulVariableDeclaration","src":"9095:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9122:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9109:12:31"},"nodeType":"YulFunctionCall","src":"9109:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9099:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"9175:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9184:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9187:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9177:6:31"},"nodeType":"YulFunctionCall","src":"9177:12:31"},"nodeType":"YulExpressionStatement","src":"9177:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9147:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"9155:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9144:2:31"},"nodeType":"YulFunctionCall","src":"9144:30:31"},"nodeType":"YulIf","src":"9141:50:31"},{"nodeType":"YulAssignment","src":"9200:60:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9232:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"9243:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9228:3:31"},"nodeType":"YulFunctionCall","src":"9228:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9252:7:31"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"9210:17:31"},"nodeType":"YulFunctionCall","src":"9210:50:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9200:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8990:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9001:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9013:6:31","type":""}],"src":"8944:322:31"},{"body":{"nodeType":"YulBlock","src":"9432:145:31","statements":[{"nodeType":"YulAssignment","src":"9442:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9454:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9465:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9450:3:31"},"nodeType":"YulFunctionCall","src":"9450:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9442:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9484:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"9495:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9477:6:31"},"nodeType":"YulFunctionCall","src":"9477:25:31"},"nodeType":"YulExpressionStatement","src":"9477:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9522:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9533:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9518:3:31"},"nodeType":"YulFunctionCall","src":"9518:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9542:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9558:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9563:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9554:3:31"},"nodeType":"YulFunctionCall","src":"9554:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"9567:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9550:3:31"},"nodeType":"YulFunctionCall","src":"9550:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9538:3:31"},"nodeType":"YulFunctionCall","src":"9538:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9511:6:31"},"nodeType":"YulFunctionCall","src":"9511:60:31"},"nodeType":"YulExpressionStatement","src":"9511:60:31"}]},"name":"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9393:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9404:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9412:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9423:4:31","type":""}],"src":"9271:306:31"},{"body":{"nodeType":"YulBlock","src":"9614:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9631:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9638:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9643:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9634:3:31"},"nodeType":"YulFunctionCall","src":"9634:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9624:6:31"},"nodeType":"YulFunctionCall","src":"9624:31:31"},"nodeType":"YulExpressionStatement","src":"9624:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9671:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9674:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9664:6:31"},"nodeType":"YulFunctionCall","src":"9664:15:31"},"nodeType":"YulExpressionStatement","src":"9664:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9695:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9698:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9688:6:31"},"nodeType":"YulFunctionCall","src":"9688:15:31"},"nodeType":"YulExpressionStatement","src":"9688:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"9582:127:31"},{"body":{"nodeType":"YulBlock","src":"9746:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9763:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9770:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9775:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9766:3:31"},"nodeType":"YulFunctionCall","src":"9766:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9756:6:31"},"nodeType":"YulFunctionCall","src":"9756:31:31"},"nodeType":"YulExpressionStatement","src":"9756:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9803:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9806:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9796:6:31"},"nodeType":"YulFunctionCall","src":"9796:15:31"},"nodeType":"YulExpressionStatement","src":"9796:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9827:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9830:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9820:6:31"},"nodeType":"YulFunctionCall","src":"9820:15:31"},"nodeType":"YulExpressionStatement","src":"9820:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"9714:127:31"},{"body":{"nodeType":"YulBlock","src":"9893:88:31","statements":[{"body":{"nodeType":"YulBlock","src":"9924:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"9926:16:31"},"nodeType":"YulFunctionCall","src":"9926:18:31"},"nodeType":"YulExpressionStatement","src":"9926:18:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9909:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9920:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9916:3:31"},"nodeType":"YulFunctionCall","src":"9916:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"9906:2:31"},"nodeType":"YulFunctionCall","src":"9906:17:31"},"nodeType":"YulIf","src":"9903:43:31"},{"nodeType":"YulAssignment","src":"9955:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9966:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"9973:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9962:3:31"},"nodeType":"YulFunctionCall","src":"9962:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"9955:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9875:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"9885:3:31","type":""}],"src":"9846:135:31"},{"body":{"nodeType":"YulBlock","src":"10041:325:31","statements":[{"nodeType":"YulAssignment","src":"10051:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10065:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"10068:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"10061:3:31"},"nodeType":"YulFunctionCall","src":"10061:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"10051:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"10082:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"10112:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"10118:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10108:3:31"},"nodeType":"YulFunctionCall","src":"10108:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"10086:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"10159:31:31","statements":[{"nodeType":"YulAssignment","src":"10161:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10175:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"10183:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10171:3:31"},"nodeType":"YulFunctionCall","src":"10171:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"10161:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"10139:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10132:6:31"},"nodeType":"YulFunctionCall","src":"10132:26:31"},"nodeType":"YulIf","src":"10129:61:31"},{"body":{"nodeType":"YulBlock","src":"10249:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10270:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10277:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10282:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10273:3:31"},"nodeType":"YulFunctionCall","src":"10273:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10263:6:31"},"nodeType":"YulFunctionCall","src":"10263:31:31"},"nodeType":"YulExpressionStatement","src":"10263:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10314:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10317:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10307:6:31"},"nodeType":"YulFunctionCall","src":"10307:15:31"},"nodeType":"YulExpressionStatement","src":"10307:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10342:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10345:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10335:6:31"},"nodeType":"YulFunctionCall","src":"10335:15:31"},"nodeType":"YulExpressionStatement","src":"10335:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"10205:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10228:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"10236:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"10225:2:31"},"nodeType":"YulFunctionCall","src":"10225:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"10202:2:31"},"nodeType":"YulFunctionCall","src":"10202:38:31"},"nodeType":"YulIf","src":"10199:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"10021:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"10030:6:31","type":""}],"src":"9986:380:31"},{"body":{"nodeType":"YulBlock","src":"10496:156:31","statements":[{"nodeType":"YulAssignment","src":"10506:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10518:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10529:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10514:3:31"},"nodeType":"YulFunctionCall","src":"10514:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10506:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10548:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10563:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10579:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"10584:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10575:3:31"},"nodeType":"YulFunctionCall","src":"10575:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"10588:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10571:3:31"},"nodeType":"YulFunctionCall","src":"10571:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10559:3:31"},"nodeType":"YulFunctionCall","src":"10559:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10541:6:31"},"nodeType":"YulFunctionCall","src":"10541:51:31"},"nodeType":"YulExpressionStatement","src":"10541:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10612:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10623:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10608:3:31"},"nodeType":"YulFunctionCall","src":"10608:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10632:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"10640:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10628:3:31"},"nodeType":"YulFunctionCall","src":"10628:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10601:6:31"},"nodeType":"YulFunctionCall","src":"10601:45:31"},"nodeType":"YulExpressionStatement","src":"10601:45:31"}]},"name":"abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10457:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10468:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10476:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10487:4:31","type":""}],"src":"10371:281:31"},{"body":{"nodeType":"YulBlock","src":"10735:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"10781:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10790:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10793:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10783:6:31"},"nodeType":"YulFunctionCall","src":"10783:12:31"},"nodeType":"YulExpressionStatement","src":"10783:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10756:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"10765:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10752:3:31"},"nodeType":"YulFunctionCall","src":"10752:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"10777:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10748:3:31"},"nodeType":"YulFunctionCall","src":"10748:32:31"},"nodeType":"YulIf","src":"10745:52:31"},{"nodeType":"YulVariableDeclaration","src":"10806:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10825:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10819:5:31"},"nodeType":"YulFunctionCall","src":"10819:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10810:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10866:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"10844:21:31"},"nodeType":"YulFunctionCall","src":"10844:28:31"},"nodeType":"YulExpressionStatement","src":"10844:28:31"},{"nodeType":"YulAssignment","src":"10881:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"10891:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10881:6:31"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10701:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10712:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10724:6:31","type":""}],"src":"10657:245:31"},{"body":{"nodeType":"YulBlock","src":"10952:130:31","statements":[{"nodeType":"YulVariableDeclaration","src":"10962:31:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10981:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"10988:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10977:3:31"},"nodeType":"YulFunctionCall","src":"10977:16:31"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"10966:7:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"11023:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"11025:16:31"},"nodeType":"YulFunctionCall","src":"11025:18:31"},"nodeType":"YulExpressionStatement","src":"11025:18:31"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"11008:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"11017:4:31","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"11005:2:31"},"nodeType":"YulFunctionCall","src":"11005:17:31"},"nodeType":"YulIf","src":"11002:43:31"},{"nodeType":"YulAssignment","src":"11054:22:31","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"11065:7:31"},{"kind":"number","nodeType":"YulLiteral","src":"11074:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11061:3:31"},"nodeType":"YulFunctionCall","src":"11061:15:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"11054:3:31"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10934:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"10944:3:31","type":""}],"src":"10907:175:31"},{"body":{"nodeType":"YulBlock","src":"11264:284:31","statements":[{"nodeType":"YulAssignment","src":"11274:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11286:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11297:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11282:3:31"},"nodeType":"YulFunctionCall","src":"11282:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11274:4:31"}]},{"nodeType":"YulVariableDeclaration","src":"11310:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11328:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11333:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11324:3:31"},"nodeType":"YulFunctionCall","src":"11324:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"11337:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11320:3:31"},"nodeType":"YulFunctionCall","src":"11320:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11314:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11355:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11370:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"11378:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11366:3:31"},"nodeType":"YulFunctionCall","src":"11366:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11348:6:31"},"nodeType":"YulFunctionCall","src":"11348:34:31"},"nodeType":"YulExpressionStatement","src":"11348:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11402:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11413:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11398:3:31"},"nodeType":"YulFunctionCall","src":"11398:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"11422:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"11430:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11418:3:31"},"nodeType":"YulFunctionCall","src":"11418:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11391:6:31"},"nodeType":"YulFunctionCall","src":"11391:45:31"},"nodeType":"YulExpressionStatement","src":"11391:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11456:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11467:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11452:3:31"},"nodeType":"YulFunctionCall","src":"11452:18:31"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"11476:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"11484:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11472:3:31"},"nodeType":"YulFunctionCall","src":"11472:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11445:6:31"},"nodeType":"YulFunctionCall","src":"11445:43:31"},"nodeType":"YulExpressionStatement","src":"11445:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11508:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11519:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11504:3:31"},"nodeType":"YulFunctionCall","src":"11504:18:31"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"11528:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"11536:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11524:3:31"},"nodeType":"YulFunctionCall","src":"11524:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11497:6:31"},"nodeType":"YulFunctionCall","src":"11497:45:31"},"nodeType":"YulExpressionStatement","src":"11497:45:31"}]},"name":"abi_encode_tuple_t_address_t_uint8_t_address_t_uint8__to_t_address_t_uint8_t_address_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11209:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11220:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11228:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11236:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11244:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11255:4:31","type":""}],"src":"11087:461:31"},{"body":{"nodeType":"YulBlock","src":"11692:150:31","statements":[{"nodeType":"YulVariableDeclaration","src":"11702:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11722:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"11716:5:31"},"nodeType":"YulFunctionCall","src":"11716:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11706:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11777:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"11785:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11773:3:31"},"nodeType":"YulFunctionCall","src":"11773:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"11792:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"11797:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"11738:34:31"},"nodeType":"YulFunctionCall","src":"11738:66:31"},"nodeType":"YulExpressionStatement","src":"11738:66:31"},{"nodeType":"YulAssignment","src":"11813:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"11824:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"11829:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11820:3:31"},"nodeType":"YulFunctionCall","src":"11820:16:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11813:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"11668:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11673:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"11684:3:31","type":""}],"src":"11553:289:31"},{"body":{"nodeType":"YulBlock","src":"11903:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11920:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"11923:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11913:6:31"},"nodeType":"YulFunctionCall","src":"11913:14:31"},"nodeType":"YulExpressionStatement","src":"11913:14:31"},{"nodeType":"YulAssignment","src":"11936:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11954:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11957:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"11944:9:31"},"nodeType":"YulFunctionCall","src":"11944:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"11936:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11886:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"11894:4:31","type":""}],"src":"11847:121:31"},{"body":{"nodeType":"YulBlock","src":"12109:706:31","statements":[{"nodeType":"YulVariableDeclaration","src":"12119:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12130:1:31","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"12123:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12140:30:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12163:6:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"12157:5:31"},"nodeType":"YulFunctionCall","src":"12157:13:31"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"12144:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12179:50:31","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"12219:9:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"12193:25:31"},"nodeType":"YulFunctionCall","src":"12193:36:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12183:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12238:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12248:1:31","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12242:2:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"12299:126:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12320:3:31"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"12329:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12344:3:31","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12340:3:31"},"nodeType":"YulFunctionCall","src":"12340:8:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12325:3:31"},"nodeType":"YulFunctionCall","src":"12325:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12313:6:31"},"nodeType":"YulFunctionCall","src":"12313:37:31"},"nodeType":"YulExpressionStatement","src":"12313:37:31"},{"nodeType":"YulAssignment","src":"12363:52:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12374:3:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12383:6:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12405:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12398:6:31"},"nodeType":"YulFunctionCall","src":"12398:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12391:6:31"},"nodeType":"YulFunctionCall","src":"12391:22:31"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"12379:3:31"},"nodeType":"YulFunctionCall","src":"12379:35:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12370:3:31"},"nodeType":"YulFunctionCall","src":"12370:45:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"12363:3:31"}]}]},"nodeType":"YulCase","src":"12292:133:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12297:1:31","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"12441:349:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12462:1:31","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"12465:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12455:6:31"},"nodeType":"YulFunctionCall","src":"12455:17:31"},"nodeType":"YulExpressionStatement","src":"12455:17:31"},{"nodeType":"YulVariableDeclaration","src":"12485:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12495:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"12489:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12512:31:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12537:1:31","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"12540:2:31"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"12527:9:31"},"nodeType":"YulFunctionCall","src":"12527:16:31"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"12516:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12556:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12565:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"12560:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"12633:111:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12662:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"12667:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12658:3:31"},"nodeType":"YulFunctionCall","src":"12658:11:31"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12677:7:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"12671:5:31"},"nodeType":"YulFunctionCall","src":"12671:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12651:6:31"},"nodeType":"YulFunctionCall","src":"12651:35:31"},"nodeType":"YulExpressionStatement","src":"12651:35:31"},{"nodeType":"YulAssignment","src":"12703:27:31","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12718:7:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12727:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12714:3:31"},"nodeType":"YulFunctionCall","src":"12714:16:31"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12703:7:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12590:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"12593:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12587:2:31"},"nodeType":"YulFunctionCall","src":"12587:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12601:19:31","statements":[{"nodeType":"YulAssignment","src":"12603:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12612:1:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12615:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12608:3:31"},"nodeType":"YulFunctionCall","src":"12608:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12603:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"12583:3:31","statements":[]},"src":"12579:165:31"},{"nodeType":"YulAssignment","src":"12757:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"12768:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"12773:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12764:3:31"},"nodeType":"YulFunctionCall","src":"12764:16:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"12757:3:31"}]}]},"nodeType":"YulCase","src":"12434:356:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12439:1:31","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"12269:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12280:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12265:3:31"},"nodeType":"YulFunctionCall","src":"12265:18:31"},"nodeType":"YulSwitch","src":"12258:532:31"},{"nodeType":"YulAssignment","src":"12799:10:31","value":{"name":"ret","nodeType":"YulIdentifier","src":"12806:3:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"12799:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"12085:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12090:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"12101:3:31","type":""}],"src":"11973:842:31"},{"body":{"nodeType":"YulBlock","src":"12994:228:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13011:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13022:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13004:6:31"},"nodeType":"YulFunctionCall","src":"13004:21:31"},"nodeType":"YulExpressionStatement","src":"13004:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13045:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13056:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13041:3:31"},"nodeType":"YulFunctionCall","src":"13041:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"13061:2:31","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13034:6:31"},"nodeType":"YulFunctionCall","src":"13034:30:31"},"nodeType":"YulExpressionStatement","src":"13034:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13084:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13095:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13080:3:31"},"nodeType":"YulFunctionCall","src":"13080:18:31"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"13100:34:31","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13073:6:31"},"nodeType":"YulFunctionCall","src":"13073:62:31"},"nodeType":"YulExpressionStatement","src":"13073:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13155:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13166:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13151:3:31"},"nodeType":"YulFunctionCall","src":"13151:18:31"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"13171:8:31","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13144:6:31"},"nodeType":"YulFunctionCall","src":"13144:36:31"},"nodeType":"YulExpressionStatement","src":"13144:36:31"},{"nodeType":"YulAssignment","src":"13189:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13201:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13212:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13197:3:31"},"nodeType":"YulFunctionCall","src":"13197:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13189:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12971:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12985:4:31","type":""}],"src":"12820:402:31"},{"body":{"nodeType":"YulBlock","src":"13276:79:31","statements":[{"nodeType":"YulAssignment","src":"13286:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13298:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"13301:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13294:3:31"},"nodeType":"YulFunctionCall","src":"13294:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"13286:4:31"}]},{"body":{"nodeType":"YulBlock","src":"13327:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13329:16:31"},"nodeType":"YulFunctionCall","src":"13329:18:31"},"nodeType":"YulExpressionStatement","src":"13329:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"13318:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"13324:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13315:2:31"},"nodeType":"YulFunctionCall","src":"13315:11:31"},"nodeType":"YulIf","src":"13312:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13258:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"13261:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"13267:4:31","type":""}],"src":"13227:128:31"},{"body":{"nodeType":"YulBlock","src":"13408:77:31","statements":[{"nodeType":"YulAssignment","src":"13418:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13429:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"13432:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13425:3:31"},"nodeType":"YulFunctionCall","src":"13425:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"13418:3:31"}]},{"body":{"nodeType":"YulBlock","src":"13457:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"13459:16:31"},"nodeType":"YulFunctionCall","src":"13459:18:31"},"nodeType":"YulExpressionStatement","src":"13459:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"13449:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"13452:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13446:2:31"},"nodeType":"YulFunctionCall","src":"13446:10:31"},"nodeType":"YulIf","src":"13443:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"13391:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"13394:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"13400:3:31","type":""}],"src":"13360:125:31"},{"body":{"nodeType":"YulBlock","src":"13571:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"13604:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"13618:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"13628:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"13622:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"13649:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"13653:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13642:6:31"},"nodeType":"YulFunctionCall","src":"13642:17:31"},"nodeType":"YulExpressionStatement","src":"13642:17:31"},{"nodeType":"YulVariableDeclaration","src":"13672:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"13694:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"13698:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"13684:9:31"},"nodeType":"YulFunctionCall","src":"13684:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"13676:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13716:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"13739:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13749:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"13756:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"13768:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13752:3:31"},"nodeType":"YulFunctionCall","src":"13752:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"13745:3:31"},"nodeType":"YulFunctionCall","src":"13745:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13735:3:31"},"nodeType":"YulFunctionCall","src":"13735:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"13720:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"13810:23:31","statements":[{"nodeType":"YulAssignment","src":"13812:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"13827:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"13812:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"13792:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"13804:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13789:2:31"},"nodeType":"YulFunctionCall","src":"13789:20:31"},"nodeType":"YulIf","src":"13786:47:31"},{"nodeType":"YulVariableDeclaration","src":"13846:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"13860:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13870:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"13877:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"13882:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13873:3:31"},"nodeType":"YulFunctionCall","src":"13873:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"13866:3:31"},"nodeType":"YulFunctionCall","src":"13866:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13856:3:31"},"nodeType":"YulFunctionCall","src":"13856:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"13850:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"13900:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"13913:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"13904:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"13998:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"14007:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"14014:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"14000:6:31"},"nodeType":"YulFunctionCall","src":"14000:17:31"},"nodeType":"YulExpressionStatement","src":"14000:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"13948:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"13955:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"13945:2:31"},"nodeType":"YulFunctionCall","src":"13945:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"13959:26:31","statements":[{"nodeType":"YulAssignment","src":"13961:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"13974:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"13981:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13970:3:31"},"nodeType":"YulFunctionCall","src":"13970:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"13961:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"13941:3:31","statements":[]},"src":"13937:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"13587:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"13592:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13584:2:31"},"nodeType":"YulFunctionCall","src":"13584:11:31"},"nodeType":"YulIf","src":"13581:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"13543:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"13550:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"13555:10:31","type":""}],"src":"13490:545:31"},{"body":{"nodeType":"YulBlock","src":"14125:81:31","statements":[{"nodeType":"YulAssignment","src":"14135:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"14150:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14168:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"14171:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14164:3:31"},"nodeType":"YulFunctionCall","src":"14164:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14181:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14177:3:31"},"nodeType":"YulFunctionCall","src":"14177:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"14160:3:31"},"nodeType":"YulFunctionCall","src":"14160:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14156:3:31"},"nodeType":"YulFunctionCall","src":"14156:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14146:3:31"},"nodeType":"YulFunctionCall","src":"14146:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14192:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"14195:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"14188:3:31"},"nodeType":"YulFunctionCall","src":"14188:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"14143:2:31"},"nodeType":"YulFunctionCall","src":"14143:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"14135:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"14102:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"14108:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"14116:4:31","type":""}],"src":"14040:166:31"},{"body":{"nodeType":"YulBlock","src":"14307:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"14317:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"14337:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14331:5:31"},"nodeType":"YulFunctionCall","src":"14331:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"14321:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"14384:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14386:16:31"},"nodeType":"YulFunctionCall","src":"14386:18:31"},"nodeType":"YulExpressionStatement","src":"14386:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"14356:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"14364:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14353:2:31"},"nodeType":"YulFunctionCall","src":"14353:30:31"},"nodeType":"YulIf","src":"14350:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14459:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14497:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"14491:5:31"},"nodeType":"YulFunctionCall","src":"14491:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"14465:25:31"},"nodeType":"YulFunctionCall","src":"14465:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"14505:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"14415:43:31"},"nodeType":"YulFunctionCall","src":"14415:97:31"},"nodeType":"YulExpressionStatement","src":"14415:97:31"},{"nodeType":"YulVariableDeclaration","src":"14521:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"14538:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"14525:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14548:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"14567:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"14552:11:31","type":""}]},{"nodeType":"YulAssignment","src":"14580:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"14593:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"14580:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"14650:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"14664:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"14683:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14695:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"14691:3:31"},"nodeType":"YulFunctionCall","src":"14691:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14679:3:31"},"nodeType":"YulFunctionCall","src":"14679:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"14668:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14712:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"14756:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"14726:29:31"},"nodeType":"YulFunctionCall","src":"14726:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"14716:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14774:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"14783:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"14778:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"14861:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"14886:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"14904:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"14909:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14900:3:31"},"nodeType":"YulFunctionCall","src":"14900:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14894:5:31"},"nodeType":"YulFunctionCall","src":"14894:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"14879:6:31"},"nodeType":"YulFunctionCall","src":"14879:42:31"},"nodeType":"YulExpressionStatement","src":"14879:42:31"},{"nodeType":"YulAssignment","src":"14938:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"14952:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"14960:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14948:3:31"},"nodeType":"YulFunctionCall","src":"14948:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"14938:6:31"}]},{"nodeType":"YulAssignment","src":"14979:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"14996:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"15007:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14992:3:31"},"nodeType":"YulFunctionCall","src":"14992:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"14979:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14808:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"14811:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"14805:2:31"},"nodeType":"YulFunctionCall","src":"14805:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"14820:28:31","statements":[{"nodeType":"YulAssignment","src":"14822:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"14831:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"14834:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14827:3:31"},"nodeType":"YulFunctionCall","src":"14827:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"14822:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"14801:3:31","statements":[]},"src":"14797:236:31"},{"body":{"nodeType":"YulBlock","src":"15081:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"15099:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15126:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15131:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15122:3:31"},"nodeType":"YulFunctionCall","src":"15122:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15116:5:31"},"nodeType":"YulFunctionCall","src":"15116:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"15103:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"15166:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"15178:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15205:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"15208:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15201:3:31"},"nodeType":"YulFunctionCall","src":"15201:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"15217:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15197:3:31"},"nodeType":"YulFunctionCall","src":"15197:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15227:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15223:3:31"},"nodeType":"YulFunctionCall","src":"15223:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"15193:3:31"},"nodeType":"YulFunctionCall","src":"15193:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15189:3:31"},"nodeType":"YulFunctionCall","src":"15189:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"15174:3:31"},"nodeType":"YulFunctionCall","src":"15174:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15159:6:31"},"nodeType":"YulFunctionCall","src":"15159:74:31"},"nodeType":"YulExpressionStatement","src":"15159:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"15052:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"15061:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"15049:2:31"},"nodeType":"YulFunctionCall","src":"15049:19:31"},"nodeType":"YulIf","src":"15046:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15267:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15281:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"15284:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15277:3:31"},"nodeType":"YulFunctionCall","src":"15277:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"15293:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15273:3:31"},"nodeType":"YulFunctionCall","src":"15273:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15260:6:31"},"nodeType":"YulFunctionCall","src":"15260:36:31"},"nodeType":"YulExpressionStatement","src":"15260:36:31"}]},"nodeType":"YulCase","src":"14643:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"14648:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"15323:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"15337:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"15350:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15341:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"15386:67:31","statements":[{"nodeType":"YulAssignment","src":"15404:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15423:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"15428:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15419:3:31"},"nodeType":"YulFunctionCall","src":"15419:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15413:5:31"},"nodeType":"YulFunctionCall","src":"15413:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15404:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"15367:6:31"},"nodeType":"YulIf","src":"15364:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15473:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15532:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"15539:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"15479:52:31"},"nodeType":"YulFunctionCall","src":"15479:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"15466:6:31"},"nodeType":"YulFunctionCall","src":"15466:81:31"},"nodeType":"YulExpressionStatement","src":"15466:81:31"}]},"nodeType":"YulCase","src":"15315:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"14623:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"14631:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14620:2:31"},"nodeType":"YulFunctionCall","src":"14620:14:31"},"nodeType":"YulSwitch","src":"14613:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"14292:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"14298:3:31","type":""}],"src":"14211:1352:31"},{"body":{"nodeType":"YulBlock","src":"15661:1338:31","statements":[{"body":{"nodeType":"YulBlock","src":"15688:9:31","statements":[{"nodeType":"YulLeave","src":"15690:5:31"}]},"condition":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15677:4:31"},{"name":"src","nodeType":"YulIdentifier","src":"15683:3:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"15674:2:31"},"nodeType":"YulFunctionCall","src":"15674:13:31"},"nodeType":"YulIf","src":"15671:26:31"},{"nodeType":"YulVariableDeclaration","src":"15706:51:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"15752:3:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"15746:5:31"},"nodeType":"YulFunctionCall","src":"15746:10:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"15720:25:31"},"nodeType":"YulFunctionCall","src":"15720:37:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"15710:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"15800:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"15802:16:31"},"nodeType":"YulFunctionCall","src":"15802:18:31"},"nodeType":"YulExpressionStatement","src":"15802:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"15772:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"15780:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15769:2:31"},"nodeType":"YulFunctionCall","src":"15769:30:31"},"nodeType":"YulIf","src":"15766:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15875:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"15913:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"15907:5:31"},"nodeType":"YulFunctionCall","src":"15907:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"15881:25:31"},"nodeType":"YulFunctionCall","src":"15881:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"15921:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"15831:43:31"},"nodeType":"YulFunctionCall","src":"15831:97:31"},"nodeType":"YulExpressionStatement","src":"15831:97:31"},{"nodeType":"YulVariableDeclaration","src":"15937:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"15954:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"15941:9:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"16001:741:31","statements":[{"nodeType":"YulVariableDeclaration","src":"16015:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"16034:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16046:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16042:3:31"},"nodeType":"YulFunctionCall","src":"16042:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16030:3:31"},"nodeType":"YulFunctionCall","src":"16030:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"16019:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16063:47:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"16106:3:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"16076:29:31"},"nodeType":"YulFunctionCall","src":"16076:34:31"},"variables":[{"name":"src_1","nodeType":"YulTypedName","src":"16067:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16123:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"16167:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"16137:29:31"},"nodeType":"YulFunctionCall","src":"16137:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"16127:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"16185:18:31","value":{"name":"srcOffset","nodeType":"YulIdentifier","src":"16194:9:31"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"16189:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"16273:194:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"16298:6:31"},{"arguments":[{"arguments":[{"name":"src_1","nodeType":"YulIdentifier","src":"16316:5:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"16323:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16312:3:31"},"nodeType":"YulFunctionCall","src":"16312:21:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"16306:5:31"},"nodeType":"YulFunctionCall","src":"16306:28:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"16291:6:31"},"nodeType":"YulFunctionCall","src":"16291:44:31"},"nodeType":"YulExpressionStatement","src":"16291:44:31"},{"nodeType":"YulVariableDeclaration","src":"16352:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"16362:1:31","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16356:2:31","type":""}]},{"nodeType":"YulAssignment","src":"16380:25:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"16394:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"16402:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16390:3:31"},"nodeType":"YulFunctionCall","src":"16390:15:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"16380:6:31"}]},{"nodeType":"YulAssignment","src":"16422:31:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"16439:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"16450:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16435:3:31"},"nodeType":"YulFunctionCall","src":"16435:18:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"16422:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16227:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"16230:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16224:2:31"},"nodeType":"YulFunctionCall","src":"16224:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"16239:21:31","statements":[{"nodeType":"YulAssignment","src":"16241:17:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"16250:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"16253:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16246:3:31"},"nodeType":"YulFunctionCall","src":"16246:12:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"16241:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"16220:3:31","statements":[]},"src":"16216:251:31"},{"body":{"nodeType":"YulBlock","src":"16515:168:31","statements":[{"nodeType":"YulVariableDeclaration","src":"16533:45:31","value":{"arguments":[{"arguments":[{"name":"src_1","nodeType":"YulIdentifier","src":"16560:5:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"16567:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16556:3:31"},"nodeType":"YulFunctionCall","src":"16556:21:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"16550:5:31"},"nodeType":"YulFunctionCall","src":"16550:28:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"16537:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"16602:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"16614:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16641:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"16644:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16637:3:31"},"nodeType":"YulFunctionCall","src":"16637:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"16653:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16633:3:31"},"nodeType":"YulFunctionCall","src":"16633:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16663:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16659:3:31"},"nodeType":"YulFunctionCall","src":"16659:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"16629:3:31"},"nodeType":"YulFunctionCall","src":"16629:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"16625:3:31"},"nodeType":"YulFunctionCall","src":"16625:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"16610:3:31"},"nodeType":"YulFunctionCall","src":"16610:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"16595:6:31"},"nodeType":"YulFunctionCall","src":"16595:74:31"},"nodeType":"YulExpressionStatement","src":"16595:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"16486:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"16495:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"16483:2:31"},"nodeType":"YulFunctionCall","src":"16483:19:31"},"nodeType":"YulIf","src":"16480:203:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"16703:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16717:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"16720:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"16713:3:31"},"nodeType":"YulFunctionCall","src":"16713:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"16729:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16709:3:31"},"nodeType":"YulFunctionCall","src":"16709:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"16696:6:31"},"nodeType":"YulFunctionCall","src":"16696:36:31"},"nodeType":"YulExpressionStatement","src":"16696:36:31"}]},"nodeType":"YulCase","src":"15994:748:31","value":{"kind":"number","nodeType":"YulLiteral","src":"15999:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"16759:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"16773:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"16786:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16777:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"16822:67:31","statements":[{"nodeType":"YulAssignment","src":"16840:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"16859:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"16864:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16855:3:31"},"nodeType":"YulFunctionCall","src":"16855:19:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"16849:5:31"},"nodeType":"YulFunctionCall","src":"16849:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"16840:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"16803:6:31"},"nodeType":"YulIf","src":"16800:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"16909:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16968:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"16975:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"16915:52:31"},"nodeType":"YulFunctionCall","src":"16915:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"16902:6:31"},"nodeType":"YulFunctionCall","src":"16902:81:31"},"nodeType":"YulExpressionStatement","src":"16902:81:31"}]},"nodeType":"YulCase","src":"16751:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"15974:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"15982:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15971:2:31"},"nodeType":"YulFunctionCall","src":"15971:14:31"},"nodeType":"YulSwitch","src":"15964:1029:31"}]},"name":"copy_byte_array_to_storage_from_t_string_storage_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"15646:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"15652:3:31","type":""}],"src":"15568:1431:31"},{"body":{"nodeType":"YulBlock","src":"17203:231:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17220:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17235:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17251:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17256:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17247:3:31"},"nodeType":"YulFunctionCall","src":"17247:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"17260:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17243:3:31"},"nodeType":"YulFunctionCall","src":"17243:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17231:3:31"},"nodeType":"YulFunctionCall","src":"17231:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17213:6:31"},"nodeType":"YulFunctionCall","src":"17213:51:31"},"nodeType":"YulExpressionStatement","src":"17213:51:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17284:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17295:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17280:3:31"},"nodeType":"YulFunctionCall","src":"17280:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17304:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"17312:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17300:3:31"},"nodeType":"YulFunctionCall","src":"17300:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17273:6:31"},"nodeType":"YulFunctionCall","src":"17273:45:31"},"nodeType":"YulExpressionStatement","src":"17273:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17338:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17349:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17334:3:31"},"nodeType":"YulFunctionCall","src":"17334:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"17354:2:31","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17327:6:31"},"nodeType":"YulFunctionCall","src":"17327:30:31"},"nodeType":"YulExpressionStatement","src":"17327:30:31"},{"nodeType":"YulAssignment","src":"17366:62:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"17401:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17413:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17424:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17409:3:31"},"nodeType":"YulFunctionCall","src":"17409:18:31"}],"functionName":{"name":"abi_encode_array_uint8_dyn","nodeType":"YulIdentifier","src":"17374:26:31"},"nodeType":"YulFunctionCall","src":"17374:54:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17366:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_uint8_t_array$_t_uint8_$dyn_memory_ptr__to_t_address_t_uint8_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17156:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"17167:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17175:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17183:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17194:4:31","type":""}],"src":"17004:430:31"},{"body":{"nodeType":"YulBlock","src":"17613:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17630:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17641:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17623:6:31"},"nodeType":"YulFunctionCall","src":"17623:21:31"},"nodeType":"YulExpressionStatement","src":"17623:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17664:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17675:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17660:3:31"},"nodeType":"YulFunctionCall","src":"17660:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"17680:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17653:6:31"},"nodeType":"YulFunctionCall","src":"17653:30:31"},"nodeType":"YulExpressionStatement","src":"17653:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17703:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17714:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17699:3:31"},"nodeType":"YulFunctionCall","src":"17699:18:31"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"17719:34:31","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17692:6:31"},"nodeType":"YulFunctionCall","src":"17692:62:31"},"nodeType":"YulExpressionStatement","src":"17692:62:31"},{"nodeType":"YulAssignment","src":"17763:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17775:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17786:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17771:3:31"},"nodeType":"YulFunctionCall","src":"17771:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17763:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17590:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17604:4:31","type":""}],"src":"17439:356:31"},{"body":{"nodeType":"YulBlock","src":"17832:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17849:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17856:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17861:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17852:3:31"},"nodeType":"YulFunctionCall","src":"17852:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17842:6:31"},"nodeType":"YulFunctionCall","src":"17842:31:31"},"nodeType":"YulExpressionStatement","src":"17842:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17889:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17892:4:31","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17882:6:31"},"nodeType":"YulFunctionCall","src":"17882:15:31"},"nodeType":"YulExpressionStatement","src":"17882:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17913:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17916:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17906:6:31"},"nodeType":"YulFunctionCall","src":"17906:15:31"},"nodeType":"YulExpressionStatement","src":"17906:15:31"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"17800:127:31"}]},"contents":"{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n mstore(add(add(array_1, _1), 0x20), 0)\n array := array_1\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_array_uint8_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let _3 := shl(5, _1)\n let dst := allocate_memory(add(_3, _2))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, _3), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, abi_decode_uint8(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_string_memory_ptrt_addresst_uint8t_array$_t_uint8_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := abi_decode_uint8(add(headStart, 64))\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_array_uint8_dyn(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_decode_tuple_t_addresst_uint8(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_uint8(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint8t_array$_t_uint8_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := abi_decode_uint8(add(headStart, 32))\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint8_dyn(add(headStart, offset_1), dataEnd)\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_array_uint8_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_struct_Offer(value, pos) -> end\n {\n let memberValue0 := mload(value)\n mstore(pos, 0xa0)\n let tail := abi_encode_string(memberValue0, add(pos, 0xa0))\n mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xff))\n let memberValue0_1 := mload(add(value, 0x40))\n mstore(add(pos, 0x40), sub(tail, pos))\n let tail_1 := abi_encode_array_uint8_dyn(memberValue0_1, tail)\n mstore(add(pos, 0x60), and(mload(add(value, 0x60)), sub(shl(160, 1), 1)))\n mstore(add(pos, 0x80), mload(add(value, 0x80)))\n end := tail_1\n }\n function abi_encode_tuple_t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Offer_$7196_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let tail_2 := add(add(headStart, shl(5, length)), 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n tail_2 := abi_encode_struct_Offer(mload(srcPtr), tail_2)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function abi_encode_tuple_t_string_memory_ptr_t_uint8_t_address_t_uint256__to_t_string_memory_ptr_t_uint8_t_address_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n tail := abi_encode_string(value0, add(headStart, 128))\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), and(value2, sub(shl(160, 1), 1)))\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_struct$_Offer_$7196_memory_ptr__to_t_struct$_Offer_$7196_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_struct_Offer(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_uint8t_addresst_uint8(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_uint8(add(headStart, 32))\n value2 := abi_decode_address(add(headStart, 64))\n value3 := abi_decode_uint8(add(headStart, 96))\n }\n function abi_encode_tuple_t_contract$_IGammaCardsContract_$7151__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function abi_encode_tuple_t_address_t_uint8_t_address_t_uint8__to_t_address_t_uint8_t_address_t_uint8__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), and(value3, 0xff))\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_tuple_packed_t_string_storage__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value0)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n end := ret\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function copy_byte_array_to_storage_from_t_string_storage_to_t_string_storage(slot, src)\n {\n if eq(slot, src) { leave }\n let newLen := extract_byte_array_length(sload(src))\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let src_1 := array_dataslot_string_storage(src)\n let dstPtr := array_dataslot_string_storage(slot)\n let i := srcOffset\n for { } lt(i, loopEnd) { i := add(i, 0x20) }\n {\n sstore(dstPtr, sload(add(src_1, srcOffset)))\n let _1 := 1\n dstPtr := add(dstPtr, _1)\n srcOffset := add(srcOffset, _1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := sload(add(src_1, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := sload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_address_t_uint8_t_array$_t_uint8_$dyn_memory_ptr__to_t_address_t_uint8_t_array$_t_uint8_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), 96)\n tail := abi_encode_array_uint8_dyn(value2, add(headStart, 96))\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":1550},{"length":20,"start":3425}]}},"object":"608060405234801561001057600080fd5b50600436106102325760003560e01c80637594a6ed11610130578063ce7483d5116100b8578063e2b365961161007c578063e2b3659614610515578063e359a0a114610528578063e5e5f7321461053b578063f2fde38b1461054e578063fc9e80fc1461056157600080fd5b8063ce7483d5146104a4578063cf86f8e5146104c7578063d250f03a146104cf578063d827a8f4146104e2578063e02f97231461050257600080fd5b806390222aa1116100ff57806390222aa11461044e5780639618b333146104565780639f91506914610469578063ba79b77b14610489578063c08029e71461049157600080fd5b80637594a6ed146103d35780638400a189146103f35780638a72ea6a146104065780638da5cb5b1461042957600080fd5b80633a027073116101be5780635a919aeb116101825780635a919aeb146103905780635bbfbfd614610399578063619980dc146103ac5780637065cb48146103b8578063715018a6146103cb57600080fd5b80633a0270731461032f5780633e293e16146103425780633ee992ee146103555780634c7a7ad31461036a57806358e57ebb1461037d57600080fd5b806329d3f60b1161020557806329d3f60b146102985780632edb5fcf146102d55780632f54bf6e146102e8578063322fba27146103145780633808dfe71461031c57600080fd5b80630cdb311714610237578063173825d91461025d57806317a1fed91461027257806319ab453c14610285575b600080fd5b61024a610245366004612e02565b610574565b6040519081526020015b60405180910390f35b61027061026b366004612e02565b6105b9565b005b610270610280366004612f73565b61065f565b610270610293366004612e02565b6106a1565b6102c56102a6366004612e02565b6001600160a01b03166000908152600b60205260409020546005541190565b6040519015158152602001610254565b6102c56102e3366004612ff8565b61070c565b6102c56102f6366004612e02565b6001600160a01b031660009081526002602052604090205460ff1690565b6102706107cc565b61027061032a36600461302b565b61097b565b6102c561033d366004613044565b6109b0565b61027061035036600461305f565b6109f8565b61035d610a09565b60405161025491906131c5565b610270610378366004612e02565b610b9d565b61027061038b366004613235565b610c48565b61024a600d5481565b6102c56103a7366004612ff8565b610c8b565b600d54600454116102c5565b6102706103c6366004612e02565b610d0c565b610270610d83565b61024a6103e1366004612e02565b600b6020526000908152604090205481565b61035d610401366004613044565b610d97565b61041961041436600461302b565b610f3b565b6040516102549493929190613252565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610254565b60045461024a565b61035d610464366004612e02565b611013565b61047c610477366004612ff8565b6111d6565b604051610254919061328d565b60055461024a565b61027061049f3660046132a0565b6113e6565b61024a6104b2366004613044565b60ff166000908152600c602052604090205490565b600d5461024a565b600154610436906001600160a01b031681565b61024a6104f0366004613044565b600c6020526000908152604090205481565b61027061051036600461302b565b61170a565b61047c6105233660046132f4565b61173f565b61047c61053636600461302b565b611948565b61027061054936600461302b565b611ad4565b61027061055c366004612e02565b611b09565b6102c561056f366004612e02565b611b87565b60006001600160a01b03821661059d5760405163e6c4247b60e01b815260040160405180910390fd5b506001600160a01b03166000908152600b602052604090205490565b3360009081526002602052604090205460ff166105e957604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561064457600080fd5b505af4158015610658573d6000803e3d6000fd5b5050505050565b3360009081526002602052604090205460ff1661068f57604051634289c49360e01b815260040160405180910390fd5b61069b84848484611dd2565b50505050565b6106a9612305565b6001600160a01b0381166106d05760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091178155336000908152600260205260409020805460ff19169091179055565b60006001600160a01b0383166107355760405163e6c4247b60e01b815260040160405180910390fd5b60005b6001600160a01b0384166000908152600b60205260409020548110156107c0576001600160a01b0384166000908152600960205260409020805460ff851691908390811061078857610788613329565b600091825260209091206001600590920201015460ff16036107ae5760019150506107c6565b806107b881613355565b915050610738565b50600090505b92915050565b3360009081526002602052604090205460ff166107fc57604051634289c49360e01b815260040160405180910390fd5b60005b60085481101561093c57600960006008838154811061082057610820613329565b60009182526020808320600360059093020191909101546001600160a01b03168352820192909252604001812061085691612bd7565b6000600b60006008848154811061086f5761086f613329565b60009182526020808320600360059093020191909101546001600160a01b0316835282019290925260400181209190915560088054600a929190849081106108b9576108b9613329565b600091825260208083206001600590930201919091015460ff16835282019290925260400181206108e991612bd7565b6000600c60006008848154811061090257610902613329565b600091825260208083206001600590930201919091015460ff1683528201929092526040019020558061093481613355565b9150506107ff565b506000600d81905561095090600890612bd7565b6040517f47e81efc038e27bb296dec5d44262943d2c2bbec28f461787a9cc53885694cb090600090a1565b3360009081526002602052604090205460ff166109ab57604051634289c49360e01b815260040160405180910390fd5b600555565b6000806109bd33846111d6565b60608101519091506001600160a01b031633146109dd5750600092915050565b60006109f033858460000151600061235f565b949350505050565b610a0483338484611dd2565b505050565b60606008805480602002602001604051908101604052809291908181526020016000905b82821015610b9457838290600052602060002090600502016040518060a0016040529081600082018054610a609061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8c9061336e565b8015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610b5957602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610b2a5790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610a2d565b50505050905090565b3360009081526002602052604090205460ff16610bcd57604051634289c49360e01b815260040160405180910390fd5b6001600160a01b038116610bf45760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa9060200160405180910390a150565b3360009081526002602052604090205460ff16610c7857604051634289c49360e01b815260040160405180910390fd5b6007805460ff1916911515919091179055565b3360009081526002602052604081205460ff16610cbb57604051634289c49360e01b815260040160405180910390fd5b6000610cc784846111d6565b9050836001600160a01b031681606001516001600160a01b031614610cf05760009150506107c6565b6000610d0385858460000151600061235f565b95945050505050565b3360009081526002602052604090205460ff16610d3c57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161062c565b610d8b612305565b610d9560006124d6565b565b60ff81166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610f3057838290600052602060002090600502016040518060a0016040529081600082018054610dfc9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610e289061336e565b8015610e755780601f10610e4a57610100808354040283529160200191610e75565b820191906000526020600020905b815481529060010190602001808311610e5857829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610ef557602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610ec65790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610dc9565b505050509050919050565b60088181548110610f4b57600080fd5b9060005260206000209060050201600091509050806000018054610f6e9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9a9061336e565b8015610fe75780601f10610fbc57610100808354040283529160200191610fe7565b820191906000526020600020905b815481529060010190602001808311610fca57829003601f168201915b5050505060018301546003840154600490940154929360ff909116926001600160a01b03909116915084565b60606001600160a01b03821661103c5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260096020908152604080832080548251818502810185019093528083529193909284015b82821015610f3057838290600052602060002090600502016040518060a00160405290816000820180546110a29061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546110ce9061336e565b801561111b5780601f106110f05761010080835404028352916020019161111b565b820191906000526020600020905b8154815290600101906020018083116110fe57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561119b57602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161116c5790505b505050918352505060038201546001600160a01b0316602080830191909152600490920154604090910152908252600192909201910161106f565b6111de612bf8565b6001600160a01b0383166112055760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152600960209081526040808320600b90925282205490915b818110156113dd578460ff1683828154811061124957611249613329565b600091825260209091206001600590920201015460ff16036113cb5782818154811061127757611277613329565b90600052602060002090600502016040518060a00160405290816000820180546112a09061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc9061336e565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561139957602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161136a5790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015293506107c692505050565b806113d581613355565b91505061122b565b50610d03612526565b60006113f283836111d6565b9050826001600160a01b031681606001516001600160a01b03161461142a57604051631ded229360e11b815260040160405180910390fd5b604081015180516000036114d05760015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061146a90879089906004016133a8565b6020604051808303816000875af1158015611489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ad91906133c4565b156114cb57604051631177b29560e11b815260040160405180910390fd5b611545565b6000805b82518160ff161015611524578660ff16838260ff16815181106114f9576114f9613329565b602002602001015160ff16036115125760019150611524565b8061151c816133e1565b9150506114d4565b508061154357604051630eefa23760e11b815260040160405180910390fd5b505b600061155885858560000151600161235f565b90508061157857604051631b44035160e01b815260040160405180910390fd5b60015460405163568b427d60e11b81526001600160a01b03898116600483015260ff808a1660248401528882166044840152871660648301529091169063ad1684fa90608401600060405180830381600087803b1580156115d857600080fd5b505af11580156115ec573d6000803e3d6000fd5b505060015460405163117ece1960e31b81526001600160a01b039091169250638bf670c89150611622908a9088906004016133a8565b6020604051808303816000875af1158015611641573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166591906133c4565b15806116e3575060015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061169e9088908a906004016133a8565b6020604051808303816000875af11580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e191906133c4565b155b156117015760405163fc9716b960e01b815260040160405180910390fd5b50505050505050565b3360009081526002602052604090205460ff1661173a57604051634289c49360e01b815260040160405180910390fd5b600655565b611747612bf8565b60005b60085481101561193f57826040516020016117659190613400565b604051602081830303815290604052805190602001206008828154811061178e5761178e613329565b90600052602060002090600502016000016040516020016117af919061341c565b604051602081830303815290604052805190602001200361192d57600881815481106117dd576117dd613329565b90600052602060002090600502016040518060a00160405290816000820180546118069061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546118329061336e565b801561187f5780601f106118545761010080835404028352916020019161187f565b820191906000526020600020905b81548152906001019060200180831161186257829003601f168201915b5050509183525050600182015460ff1660208083019190915260028301805460408051828502810185018252828152940193928301828280156118ff57602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116118d05790505b505050918352505060038201546001600160a01b031660208201526004909101546040909101529392505050565b8061193781613355565b91505061174a565b506107c6612526565b611950612bf8565b600854821061197257604051635129cab160e11b815260040160405180910390fd5b6008828154811061198557611985613329565b90600052602060002090600502016040518060a00160405290816000820180546119ae9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546119da9061336e565b8015611a275780601f106119fc57610100808354040283529160200191611a27565b820191906000526020600020905b815481529060010190602001808311611a0a57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015611aa757602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411611a785790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015292915050565b3360009081526002602052604090205460ff16611b0457604051634289c49360e01b815260040160405180910390fd5b600455565b611b11612305565b6001600160a01b038116611b7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b611b84816124d6565b50565b6001546000906001600160a01b03163314611bb55760405163a71ed6c760e01b815260040160405180910390fd5b6001600160a01b038216611bdc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0382166000908152600960209081526040808320600b90925282205490915b81811015611d55576000838281548110611c1e57611c1e613329565b90600052602060002090600502016000018054611c3a9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054611c669061336e565b8015611cb35780601f10611c8857610100808354040283529160200191611cb3565b820191906000526020600020905b815481529060010190602001808311611c9657829003601f168201915b505050505090506000848381548110611cce57611cce613329565b600091825260209091206001600590920201015460ff169050611cf287828461256f565b611cfb82612823565b5060ff81166000908152600c60205260408120805460019290611d1f908490613492565b925050819055506001600d6000828254611d399190613492565b9250508190555050508080611d4d90613355565b915050611c02565b506001600160a01b0384166000908152600960205260408120611d7791612bd7565b6001600160a01b0384166000818152600b602090815260408083209290925590519182527f65419c67e554142d50c59abd004485123ca498611a223f842e75dd96225ba4c8910160405180910390a16001925050505b919050565b6001546001600160a01b0316611dfb5760405163cfdf350560e01b815260040160405180910390fd5b6005546001600160a01b0384166000908152600b602052604090205410611e355760405163182a7d7760e01b815260040160405180910390fd5b600454600d5410611e595760405163182a7d7760e01b815260040160405180910390fd5b60015460405163117ece1960e31b81526000916001600160a01b031690638bf670c890611e8c90879087906004016133a8565b6020604051808303816000875af1158015611eab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecf91906133c4565b905080611eef5760405163142d47a160e11b815260040160405180910390fd5b60005b82518160ff161015611f52578360ff16838260ff1681518110611f1757611f17613329565b602002602001015160ff1603611f4057604051630d1ecf1760e11b815260040160405180910390fd5b80611f4a816133e1565b915050611ef2565b506000611f5f85856111d6565b60608101519091506001600160a01b031615611f8e5760405163eeee5c8b60e01b815260040160405180910390fd5b6001600160a01b0385166000908152600b60205260408120805460019290611fb79084906134a5565b909155505060ff84166000908152600c60205260408120805460019290611fdf9084906134a5565b925050819055506001600d6000828254611ff991906134a5565b90915550506040805160a08101825287815260ff861660208201529081018490526001600160a01b038616606082015242608082015260088054600181018255600091909152815160059091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3019081906120759082613506565b5060208281015160018301805460ff191660ff909216919091179055604083015180516120a89260028501920190612c33565b5060608201516003820180546001600160a01b0319166001600160a01b0392831617905560809092015160049091015585166000908152600960205260409020600880546120f890600190613492565b8154811061210857612108613329565b600091825260208083208454600181018655948452922060059182029092019202018061213583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546121649284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560ff84166000908152600a60205260409020600880546121b690600190613492565b815481106121c6576121c6613329565b60009182526020808320845460018101865594845292206005918202909201920201806121f383826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546122229284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560075460ff16156122c257600154604051631c5568eb60e21b81526001600160a01b0390911690637155a3ac9061228f90889088906004016133a8565b600060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050505b7fed750964f1f81f105e56dfd1121427e0898e7bc23d6c10e92d851a2d35e0cfc58585856040516122f593929190613699565b60405180910390a1505050505050565b6000546001600160a01b03163314610d955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611b72565b60006001600160a01b0385166123885760405163e6c4247b60e01b815260040160405180910390fd5b612393858585612aa0565b61239e85858561256f565b6123a783612823565b506001600160a01b0385166000908152600b602052604081208054600192906123d1908490613492565b909155505060ff84166000908152600c602052604081208054600192906123f9908490613492565b925050819055506001600d60008282546124139190613492565b909155505060075460ff168015612428575081155b1561249257600154604051630aaf17c960e11b81526001600160a01b039091169063155e2f929061245f90889088906004016133a8565b600060405180830381600087803b15801561247957600080fd5b505af115801561248d573d6000803e3d6000fd5b505050505b7f7911e34642eae38762395a3dd0fa3308d0f8908b92fe36c41543d635ab7cb8f585856040516124c39291906133a8565b60405180910390a1506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61252e612bf8565b506040805160c081018252600060a0820181815282526020808301829052835182815290810184529282019290925260608101829052608081019190915290565b60ff82166000908152600a60205260408120905b8154811015610658576126418282815481106125a1576125a1613329565b906000526020600020906005020160000180546125bd9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546125e99061336e565b80156126365780601f1061260b57610100808354040283529160200191612636565b820191906000526020600020905b81548152906001019060200180831161261957829003601f168201915b505050505084612b7e565b1561281157846001600160a01b031682828154811061266257612662613329565b60009182526020909120600360059092020101546001600160a01b03161415806126b757508360ff1682828154811061269d5761269d613329565b600091825260209091206001600590920201015460ff1614155b156126d5576040516357aeb86360e11b815260040160405180910390fd5b81546126e390600190613492565b8110156127a557815482906126fa90600190613492565b8154811061270a5761270a613329565b906000526020600020906005020182828154811061272a5761272a613329565b600091825260209091206005909102018061274583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546127749284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101555b818054806127b5576127b56136c6565b600082815260208120600019909201916005830201906127d58282612d27565b60018201805460ff191690556127ef600283016000612d61565b506003810180546001600160a01b031916905560006004909101559055610658565b8061281b81613355565b915050612583565b600080805b600854811015612a9957600854811080156128f457506128f46008828154811061285457612854613329565b906000526020600020906005020160000180546128709061336e565b80601f016020809104026020016040519081016040528092919081815260200182805461289c9061336e565b80156128e95780601f106128be576101008083540402835291602001916128e9565b820191906000526020600020905b8154815290600101906020018083116128cc57829003601f168201915b505050505085612b7e565b15612a87576008818154811061290c5761290c613329565b600091825260208220600590910201906129268282612d27565b60018201805460ff19169055612940600283016000612d61565b506003810180546001600160a01b031916905560006004909101556008805461296b90600190613492565b8154811061297b5761297b613329565b90600052602060002090600502016008828154811061299c5761299c613329565b60009182526020909120600590910201806129b783826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546129e69284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101556008805480612a2757612a276136c6565b60008281526020812060001990920191600583020190612a478282612d27565b60018201805460ff19169055612a61600283016000612d61565b506003810180546001600160a01b03191690556000600490910155905560019150612a99565b80612a9181613355565b915050612828565b5092915050565b6001600160a01b0383166000908152600960205260408120905b815481101561065857612ad88282815481106125a1576125a1613329565b15612b6c57846001600160a01b0316828281548110612af957612af9613329565b60009182526020909120600360059092020101546001600160a01b0316141580612b4e57508360ff16828281548110612b3457612b34613329565b600091825260209091206001600590920201015460ff1614155b156126d55760405163b7f2d83360e01b815260040160405180910390fd5b80612b7681613355565b915050612aba565b600081604051602001612b919190613400565b6040516020818303038152906040528051906020012083604051602001612bb89190613400565b6040516020818303038152906040528051906020012014905092915050565b5080546000825560050290600052602060002090810190611b849190612d86565b6040518060a0016040528060608152602001600060ff1681526020016060815260200160006001600160a01b03168152602001600081525090565b82805482825590600052602060002090601f01602090048101928215612cc95791602002820160005b83821115612c9a57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612c5c565b8015612cc75782816101000a81549060ff0219169055600101602081600001049283019260010302612c9a565b505b50612cd5929150612dd6565b5090565b82805482825590600052602060002090601f01602090048101928215612cc957600052602060002091601f016020900482015b82811115612cc9578254825591600101919060010190612d0c565b508054612d339061336e565b6000825580601f10612d43575050565b601f016020900490600052602060002090810190611b849190612dd6565b50805460008255601f016020900490600052602060002090810190611b849190612dd6565b80821115612cd5576000612d9a8282612d27565b60018201805460ff19169055612db4600283016000612d61565b506003810180546001600160a01b031916905560006004820155600501612d86565b5b80821115612cd55760008155600101612dd7565b80356001600160a01b0381168114611dcd57600080fd5b600060208284031215612e1457600080fd5b612e1d82612deb565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612e6357612e63612e24565b604052919050565b600082601f830112612e7c57600080fd5b813567ffffffffffffffff811115612e9657612e96612e24565b612ea9601f8201601f1916602001612e3a565b818152846020838601011115612ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b803560ff81168114611dcd57600080fd5b600082601f830112612efd57600080fd5b8135602067ffffffffffffffff821115612f1957612f19612e24565b8160051b612f28828201612e3a565b9283528481018201928281019087851115612f4257600080fd5b83870192505b84831015612f6857612f5983612edb565b82529183019190830190612f48565b979650505050505050565b60008060008060808587031215612f8957600080fd5b843567ffffffffffffffff80821115612fa157600080fd5b612fad88838901612e6b565b9550612fbb60208801612deb565b9450612fc960408801612edb565b93506060870135915080821115612fdf57600080fd5b50612fec87828801612eec565b91505092959194509250565b6000806040838503121561300b57600080fd5b61301483612deb565b915061302260208401612edb565b90509250929050565b60006020828403121561303d57600080fd5b5035919050565b60006020828403121561305657600080fd5b612e1d82612edb565b60008060006060848603121561307457600080fd5b833567ffffffffffffffff8082111561308c57600080fd5b61309887838801612e6b565b94506130a660208701612edb565b935060408601359150808211156130bc57600080fd5b506130c986828701612eec565b9150509250925092565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b8381101561315657815160ff1687529582019590820190600101613137565b509495945050505050565b6000815160a0845261317660a08501826130f7565b905060ff60208401511660208501526040830151848203604086015261319c8282613123565b6060858101516001600160a01b0316908701526080948501519490950193909352509192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561321a57603f19888603018452613208858351613161565b945092850192908501906001016131ec565b5092979650505050505050565b8015158114611b8457600080fd5b60006020828403121561324757600080fd5b8135612e1d81613227565b60808152600061326560808301876130f7565b60ff959095166020830152506001600160a01b03929092166040830152606090910152919050565b602081526000612e1d6020830184613161565b600080600080608085870312156132b657600080fd5b6132bf85612deb565b93506132cd60208601612edb565b92506132db60408601612deb565b91506132e960608601612edb565b905092959194509250565b60006020828403121561330657600080fd5b813567ffffffffffffffff81111561331d57600080fd5b6109f084828501612e6b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016133675761336761333f565b5060010190565b600181811c9082168061338257607f821691505b6020821081036133a257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0392909216825260ff16602082015260400190565b6000602082840312156133d657600080fd5b8151612e1d81613227565b600060ff821660ff81036133f7576133f761333f565b60010192915050565b600082516134128184602087016130d3565b9190910192915050565b600080835461342a8161336e565b60018281168015613442576001811461345757613486565b60ff1984168752821515830287019450613486565b8760005260208060002060005b8581101561347d5781548a820152908401908201613464565b50505082870194505b50929695505050505050565b818103818111156107c6576107c661333f565b808201808211156107c6576107c661333f565b601f821115610a0457600081815260208120601f850160051c810160208610156134df5750805b601f850160051c820191505b818110156134fe578281556001016134eb565b505050505050565b815167ffffffffffffffff81111561352057613520612e24565b6135348161352e845461336e565b846134b8565b602080601f83116001811461356957600084156135515750858301515b600019600386901b1c1916600185901b1785556134fe565b600085815260208120601f198616915b8281101561359857888601518255948401946001909101908401613579565b50858210156135b65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181036135d1575050565b6135db825461336e565b67ffffffffffffffff8111156135f3576135f3612e24565b6136018161352e845461336e565b6000601f821160018114613635576000831561361d5750848201545b600019600385901b1c1916600184901b178455610658565b600085815260209020601f19841690600086815260209020845b8381101561366f578286015482556001958601959091019060200161364f565b50858310156135b65793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160a01b038416815260ff83166020820152606060408201819052600090610d0390830184613123565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220c9307e3504111af512d0584b2cbf5f5a632cbc4d88ead7fd05bc3a6458988ba764736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x232 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7594A6ED GT PUSH2 0x130 JUMPI DUP1 PUSH4 0xCE7483D5 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xE2B36596 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xE2B36596 EQ PUSH2 0x515 JUMPI DUP1 PUSH4 0xE359A0A1 EQ PUSH2 0x528 JUMPI DUP1 PUSH4 0xE5E5F732 EQ PUSH2 0x53B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x54E JUMPI DUP1 PUSH4 0xFC9E80FC EQ PUSH2 0x561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xCE7483D5 EQ PUSH2 0x4A4 JUMPI DUP1 PUSH4 0xCF86F8E5 EQ PUSH2 0x4C7 JUMPI DUP1 PUSH4 0xD250F03A EQ PUSH2 0x4CF JUMPI DUP1 PUSH4 0xD827A8F4 EQ PUSH2 0x4E2 JUMPI DUP1 PUSH4 0xE02F9723 EQ PUSH2 0x502 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x90222AA1 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x90222AA1 EQ PUSH2 0x44E JUMPI DUP1 PUSH4 0x9618B333 EQ PUSH2 0x456 JUMPI DUP1 PUSH4 0x9F915069 EQ PUSH2 0x469 JUMPI DUP1 PUSH4 0xBA79B77B EQ PUSH2 0x489 JUMPI DUP1 PUSH4 0xC08029E7 EQ PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7594A6ED EQ PUSH2 0x3D3 JUMPI DUP1 PUSH4 0x8400A189 EQ PUSH2 0x3F3 JUMPI DUP1 PUSH4 0x8A72EA6A EQ PUSH2 0x406 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x429 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3A027073 GT PUSH2 0x1BE JUMPI DUP1 PUSH4 0x5A919AEB GT PUSH2 0x182 JUMPI DUP1 PUSH4 0x5A919AEB EQ PUSH2 0x390 JUMPI DUP1 PUSH4 0x5BBFBFD6 EQ PUSH2 0x399 JUMPI DUP1 PUSH4 0x619980DC EQ PUSH2 0x3AC JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x3CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3A027073 EQ PUSH2 0x32F JUMPI DUP1 PUSH4 0x3E293E16 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0x3EE992EE EQ PUSH2 0x355 JUMPI DUP1 PUSH4 0x4C7A7AD3 EQ PUSH2 0x36A JUMPI DUP1 PUSH4 0x58E57EBB EQ PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x29D3F60B GT PUSH2 0x205 JUMPI DUP1 PUSH4 0x29D3F60B EQ PUSH2 0x298 JUMPI DUP1 PUSH4 0x2EDB5FCF EQ PUSH2 0x2D5 JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x2E8 JUMPI DUP1 PUSH4 0x322FBA27 EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x3808DFE7 EQ PUSH2 0x31C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xCDB3117 EQ PUSH2 0x237 JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x25D JUMPI DUP1 PUSH4 0x17A1FED9 EQ PUSH2 0x272 JUMPI DUP1 PUSH4 0x19AB453C EQ PUSH2 0x285 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24A PUSH2 0x245 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x574 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x270 PUSH2 0x26B CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x5B9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x270 PUSH2 0x280 CALLDATASIZE PUSH1 0x4 PUSH2 0x2F73 JUMP JUMPDEST PUSH2 0x65F JUMP JUMPDEST PUSH2 0x270 PUSH2 0x293 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x6A1 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x5 SLOAD GT SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x254 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FF8 JUMP JUMPDEST PUSH2 0x70C JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x2F6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x7CC JUMP JUMPDEST PUSH2 0x270 PUSH2 0x32A CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x97B JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x33D CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH2 0x9B0 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x305F JUMP JUMPDEST PUSH2 0x9F8 JUMP JUMPDEST PUSH2 0x35D PUSH2 0xA09 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x254 SWAP2 SWAP1 PUSH2 0x31C5 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x378 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0xB9D JUMP JUMPDEST PUSH2 0x270 PUSH2 0x38B CALLDATASIZE PUSH1 0x4 PUSH2 0x3235 JUMP JUMPDEST PUSH2 0xC48 JUMP JUMPDEST PUSH2 0x24A PUSH1 0xD SLOAD DUP2 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x3A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FF8 JUMP JUMPDEST PUSH2 0xC8B JUMP JUMPDEST PUSH1 0xD SLOAD PUSH1 0x4 SLOAD GT PUSH2 0x2C5 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x3C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0xD0C JUMP JUMPDEST PUSH2 0x270 PUSH2 0xD83 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x3E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x35D PUSH2 0x401 CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH2 0xD97 JUMP JUMPDEST PUSH2 0x419 PUSH2 0x414 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0xF3B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x254 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3252 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x254 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH2 0x24A JUMP JUMPDEST PUSH2 0x35D PUSH2 0x464 CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x47C PUSH2 0x477 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FF8 JUMP JUMPDEST PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x254 SWAP2 SWAP1 PUSH2 0x328D JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x24A JUMP JUMPDEST PUSH2 0x270 PUSH2 0x49F CALLDATASIZE PUSH1 0x4 PUSH2 0x32A0 JUMP JUMPDEST PUSH2 0x13E6 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x4B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH1 0xFF AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0xD SLOAD PUSH2 0x24A JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x436 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x4F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x3044 JUMP JUMPDEST PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x510 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x170A JUMP JUMPDEST PUSH2 0x47C PUSH2 0x523 CALLDATASIZE PUSH1 0x4 PUSH2 0x32F4 JUMP JUMPDEST PUSH2 0x173F JUMP JUMPDEST PUSH2 0x47C PUSH2 0x536 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x1948 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x549 CALLDATASIZE PUSH1 0x4 PUSH2 0x302B JUMP JUMPDEST PUSH2 0x1AD4 JUMP JUMPDEST PUSH2 0x270 PUSH2 0x55C CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x1B09 JUMP JUMPDEST PUSH2 0x2C5 PUSH2 0x56F CALLDATASIZE PUSH1 0x4 PUSH2 0x2E02 JUMP JUMPDEST PUSH2 0x1B87 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x59D JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x5E9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x2 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x644 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x658 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x68F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x69B DUP5 DUP5 DUP5 DUP5 PUSH2 0x1DD2 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x6A9 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x6D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x735 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 LT ISZERO PUSH2 0x7C0 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF DUP6 AND SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x788 JUMPI PUSH2 0x788 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND SUB PUSH2 0x7AE JUMPI PUSH1 0x1 SWAP2 POP POP PUSH2 0x7C6 JUMP JUMPDEST DUP1 PUSH2 0x7B8 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x738 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x7FC JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x8 SLOAD DUP2 LT ISZERO PUSH2 0x93C JUMPI PUSH1 0x9 PUSH1 0x0 PUSH1 0x8 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x820 JUMPI PUSH2 0x820 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 PUSH2 0x856 SWAP2 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xB PUSH1 0x0 PUSH1 0x8 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x86F JUMPI PUSH2 0x86F PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD PUSH1 0xA SWAP3 SWAP2 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x8B9 JUMPI PUSH2 0x8B9 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 PUSH2 0x8E9 SWAP2 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC PUSH1 0x0 PUSH1 0x8 DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x902 JUMPI PUSH2 0x902 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD SWAP1 KECCAK256 SSTORE DUP1 PUSH2 0x934 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x7FF JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0xD DUP2 SWAP1 SSTORE PUSH2 0x950 SWAP1 PUSH1 0x8 SWAP1 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x47E81EFC038E27BB296DEC5D44262943D2C2BBEC28F461787A9CC53885694CB0 SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x9AB JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x9BD CALLER DUP5 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x9DD JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9F0 CALLER DUP6 DUP5 PUSH1 0x0 ADD MLOAD PUSH1 0x0 PUSH2 0x235F JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0xA04 DUP4 CALLER DUP5 DUP5 PUSH2 0x1DD2 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x8 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xB94 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0xA60 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA8C SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xAD9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAAE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xAD9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xABC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xB59 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0xB2A JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x4 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0xA2D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xBCD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBF4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x45C9EBA39B5AE3E7A6650B0A57BCB8E5D135936D56D111983DBC5860AE6760FA SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xC78 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xCBB JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xCC7 DUP5 DUP5 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x60 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xCF0 JUMPI PUSH1 0x0 SWAP2 POP POP PUSH2 0x7C6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD03 DUP6 DUP6 DUP5 PUSH1 0x0 ADD MLOAD PUSH1 0x0 PUSH2 0x235F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xD3C JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x2 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x62C JUMP JUMPDEST PUSH2 0xD8B PUSH2 0x2305 JUMP JUMPDEST PUSH2 0xD95 PUSH1 0x0 PUSH2 0x24D6 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH1 0x60 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xF30 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0xDFC SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xE28 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xE75 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xE4A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xE75 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xE58 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xEF5 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0xEC6 JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x4 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0xDC9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF4B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0xF6E SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xF9A SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0xFE7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xFBC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xFE7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xFCA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x1 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 SWAP1 SWAP5 ADD SLOAD SWAP3 SWAP4 PUSH1 0xFF SWAP1 SWAP2 AND SWAP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP DUP5 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x103C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP4 SWAP1 SWAP3 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0xF30 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x10A2 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10CE SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x111B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10F0 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x111B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10FE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x119B JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x116C JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x4 SWAP1 SWAP3 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x106F JUMP JUMPDEST PUSH2 0x11DE PUSH2 0x2BF8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1205 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xB SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD SWAP1 SWAP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x13DD JUMPI DUP5 PUSH1 0xFF AND DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1249 JUMPI PUSH2 0x1249 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND SUB PUSH2 0x13CB JUMPI DUP3 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1277 JUMPI PUSH2 0x1277 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x12A0 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12CC SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1319 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1319 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x12FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1399 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x136A JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP4 POP PUSH2 0x7C6 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x13D5 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x122B JUMP JUMPDEST POP PUSH2 0xD03 PUSH2 0x2526 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F2 DUP4 DUP4 PUSH2 0x11D6 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x60 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x142A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1DED2293 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP2 ADD MLOAD DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x14D0 JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8BF670C8 SWAP1 PUSH2 0x146A SWAP1 DUP8 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1489 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x14AD SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST ISZERO PUSH2 0x14CB JUMPI PUSH1 0x40 MLOAD PUSH4 0x1177B295 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1545 JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST DUP3 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x1524 JUMPI DUP7 PUSH1 0xFF AND DUP4 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x14F9 JUMPI PUSH2 0x14F9 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND SUB PUSH2 0x1512 JUMPI PUSH1 0x1 SWAP2 POP PUSH2 0x1524 JUMP JUMPDEST DUP1 PUSH2 0x151C DUP2 PUSH2 0x33E1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x14D4 JUMP JUMPDEST POP DUP1 PUSH2 0x1543 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEEFA237 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0x1558 DUP6 DUP6 DUP6 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH2 0x235F JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1578 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1B440351 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x568B427D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF DUP1 DUP11 AND PUSH1 0x24 DUP5 ADD MSTORE DUP9 DUP3 AND PUSH1 0x44 DUP5 ADD MSTORE DUP8 AND PUSH1 0x64 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAD1684FA SWAP1 PUSH1 0x84 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x15EC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH4 0x8BF670C8 SWAP2 POP PUSH2 0x1622 SWAP1 DUP11 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1641 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1665 SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST ISZERO DUP1 PUSH2 0x16E3 JUMPI POP PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x8BF670C8 SWAP1 PUSH2 0x169E SWAP1 DUP9 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x16BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16E1 SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x1701 JUMPI PUSH1 0x40 MLOAD PUSH4 0xFC9716B9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x173A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SSTORE JUMP JUMPDEST PUSH2 0x1747 PUSH2 0x2BF8 JUMP JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x8 SLOAD DUP2 LT ISZERO PUSH2 0x193F JUMPI DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1765 SWAP2 SWAP1 PUSH2 0x3400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x178E JUMPI PUSH2 0x178E PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x17AF SWAP2 SWAP1 PUSH2 0x341C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SUB PUSH2 0x192D JUMPI PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x17DD JUMPI PUSH2 0x17DD PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x1806 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1832 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x187F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1854 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x187F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1862 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x18FF JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x18D0 JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 PUSH2 0x1937 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x174A JUMP JUMPDEST POP PUSH2 0x7C6 PUSH2 0x2526 JUMP JUMPDEST PUSH2 0x1950 PUSH2 0x2BF8 JUMP JUMPDEST PUSH1 0x8 SLOAD DUP3 LT PUSH2 0x1972 JUMPI PUSH1 0x40 MLOAD PUSH4 0x5129CAB1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1985 JUMPI PUSH2 0x1985 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x19AE SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x19DA SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1A27 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x19FC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1A27 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1A0A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x2 DUP4 ADD DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD DUP3 DUP6 MUL DUP2 ADD DUP6 ADD DUP3 MSTORE DUP3 DUP2 MSTORE SWAP5 ADD SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x1AA7 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x0 SWAP1 JUMPDEST DUP3 SLOAD PUSH2 0x100 DUP4 SWAP1 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 PUSH1 0x1 SWAP3 DUP4 ADD DUP2 DUP2 DIV SWAP5 DUP6 ADD SWAP5 SWAP1 SWAP4 SUB SWAP1 SWAP3 MUL SWAP2 ADD DUP1 DUP5 GT PUSH2 0x1A78 JUMPI SWAP1 POP JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x40 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1B04 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SSTORE JUMP JUMPDEST PUSH2 0x1B11 PUSH2 0x2305 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1B7B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1B84 DUP2 PUSH2 0x24D6 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BB5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA71ED6C7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1BDC JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xB SWAP1 SWAP3 MSTORE DUP3 KECCAK256 SLOAD SWAP1 SWAP2 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D55 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1C1E JUMPI PUSH2 0x1C1E PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x1C3A SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1C66 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1CB3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1C88 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1CB3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1C96 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 DUP5 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x1CCE JUMPI PUSH2 0x1CCE PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND SWAP1 POP PUSH2 0x1CF2 DUP8 DUP3 DUP5 PUSH2 0x256F JUMP JUMPDEST PUSH2 0x1CFB DUP3 PUSH2 0x2823 JUMP JUMPDEST POP PUSH1 0xFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1D1F SWAP1 DUP5 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1D39 SWAP2 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP DUP1 DUP1 PUSH2 0x1D4D SWAP1 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1C02 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x1D77 SWAP2 PUSH2 0x2BD7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x65419C67E554142D50C59ABD004485123CA498611A223F842E75DD96225BA4C8 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 SWAP3 POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1DFB JUMPI PUSH1 0x40 MLOAD PUSH4 0xCFDF3505 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD LT PUSH2 0x1E35 JUMPI PUSH1 0x40 MLOAD PUSH4 0x182A7D77 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 SLOAD PUSH1 0xD SLOAD LT PUSH2 0x1E59 JUMPI PUSH1 0x40 MLOAD PUSH4 0x182A7D77 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x117ECE19 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x8BF670C8 SWAP1 PUSH2 0x1E8C SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1EAB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1ECF SWAP2 SWAP1 PUSH2 0x33C4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x1EEF JUMPI PUSH1 0x40 MLOAD PUSH4 0x142D47A1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 PUSH1 0xFF AND LT ISZERO PUSH2 0x1F52 JUMPI DUP4 PUSH1 0xFF AND DUP4 DUP3 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0x1F17 JUMPI PUSH2 0x1F17 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND SUB PUSH2 0x1F40 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x1F4A DUP2 PUSH2 0x33E1 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1EF2 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1F5F DUP6 DUP6 PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1F8E JUMPI PUSH1 0x40 MLOAD PUSH4 0xEEEE5C8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1FB7 SWAP1 DUP5 SWAP1 PUSH2 0x34A5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1FDF SWAP1 DUP5 SWAP1 PUSH2 0x34A5 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1FF9 SWAP2 SWAP1 PUSH2 0x34A5 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE DUP8 DUP2 MSTORE PUSH1 0xFF DUP7 AND PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x60 DUP3 ADD MSTORE TIMESTAMP PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE DUP2 MLOAD PUSH1 0x5 SWAP1 SWAP2 MUL PUSH32 0xF3F7A9FE364FAAB93B216DA50A3214154F22A0A2B415B23A84C8169E8B636EE3 ADD SWAP1 DUP2 SWAP1 PUSH2 0x2075 SWAP1 DUP3 PUSH2 0x3506 JUMP JUMPDEST POP PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x1 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP1 MLOAD PUSH2 0x20A8 SWAP3 PUSH1 0x2 DUP6 ADD SWAP3 ADD SWAP1 PUSH2 0x2C33 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 SWAP1 SWAP3 ADD MLOAD PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 DUP1 SLOAD PUSH2 0x20F8 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2108 JUMPI PUSH2 0x2108 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 DUP5 SLOAD PUSH1 0x1 DUP2 ADD DUP7 SSTORE SWAP5 DUP5 MSTORE SWAP3 KECCAK256 PUSH1 0x5 SWAP2 DUP3 MUL SWAP1 SWAP3 ADD SWAP3 MUL ADD DUP1 PUSH2 0x2135 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2164 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0xFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x8 DUP1 SLOAD PUSH2 0x21B6 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x21C6 JUMPI PUSH2 0x21C6 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 DUP5 SLOAD PUSH1 0x1 DUP2 ADD DUP7 SSTORE SWAP5 DUP5 MSTORE SWAP3 KECCAK256 PUSH1 0x5 SWAP2 DUP3 MUL SWAP1 SWAP3 ADD SWAP3 MUL ADD DUP1 PUSH2 0x21F3 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2222 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0x7 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x22C2 JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x1C5568EB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x7155A3AC SWAP1 PUSH2 0x228F SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x22A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x22BD JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH32 0xED750964F1F81F105E56DFD1121427E0898E7BC23D6C10E92D851A2D35E0CFC5 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x22F5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3699 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xD95 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x1B72 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x2388 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2393 DUP6 DUP6 DUP6 PUSH2 0x2AA0 JUMP JUMPDEST PUSH2 0x239E DUP6 DUP6 DUP6 PUSH2 0x256F JUMP JUMPDEST PUSH2 0x23A7 DUP4 PUSH2 0x2823 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x23D1 SWAP1 DUP5 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xC PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x23F9 SWAP1 DUP5 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2413 SWAP2 SWAP1 PUSH2 0x3492 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x7 SLOAD PUSH1 0xFF AND DUP1 ISZERO PUSH2 0x2428 JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x2492 JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xAAF17C9 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x155E2F92 SWAP1 PUSH2 0x245F SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x248D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMPDEST PUSH32 0x7911E34642EAE38762395A3DD0FA3308D0F8908B92FE36C41543D635AB7CB8F5 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x24C3 SWAP3 SWAP2 SWAP1 PUSH2 0x33A8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x252E PUSH2 0x2BF8 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 PUSH1 0xA0 DUP3 ADD DUP2 DUP2 MSTORE DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP3 SWAP1 MSTORE DUP4 MLOAD DUP3 DUP2 MSTORE SWAP1 DUP2 ADD DUP5 MSTORE SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0xFF DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 LT ISZERO PUSH2 0x658 JUMPI PUSH2 0x2641 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x25A1 JUMPI PUSH2 0x25A1 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x25BD SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x25E9 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2636 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x260B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2636 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2619 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP5 PUSH2 0x2B7E JUMP JUMPDEST ISZERO PUSH2 0x2811 JUMPI DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2662 JUMPI PUSH2 0x2662 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x26B7 JUMPI POP DUP4 PUSH1 0xFF AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x269D JUMPI PUSH2 0x269D PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x26D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x57AEB863 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 SLOAD PUSH2 0x26E3 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x27A5 JUMPI DUP2 SLOAD DUP3 SWAP1 PUSH2 0x26FA SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x270A JUMPI PUSH2 0x270A PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x272A JUMPI PUSH2 0x272A PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 SWAP1 SWAP2 MUL ADD DUP1 PUSH2 0x2745 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x2774 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE JUMPDEST DUP2 DUP1 SLOAD DUP1 PUSH2 0x27B5 JUMPI PUSH2 0x27B5 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x0 NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x5 DUP4 MUL ADD SWAP1 PUSH2 0x27D5 DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x27EF PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE PUSH2 0x658 JUMP JUMPDEST DUP1 PUSH2 0x281B DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2583 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 JUMPDEST PUSH1 0x8 SLOAD DUP2 LT ISZERO PUSH2 0x2A99 JUMPI PUSH1 0x8 SLOAD DUP2 LT DUP1 ISZERO PUSH2 0x28F4 JUMPI POP PUSH2 0x28F4 PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2854 JUMPI PUSH2 0x2854 PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x0 ADD DUP1 SLOAD PUSH2 0x2870 SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x289C SWAP1 PUSH2 0x336E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x28E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x28BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x28E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x28CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP6 PUSH2 0x2B7E JUMP JUMPDEST ISZERO PUSH2 0x2A87 JUMPI PUSH1 0x8 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x290C JUMPI PUSH2 0x290C PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 KECCAK256 PUSH1 0x5 SWAP1 SWAP2 MUL ADD SWAP1 PUSH2 0x2926 DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2940 PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE PUSH1 0x8 DUP1 SLOAD PUSH2 0x296B SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x3492 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x297B JUMPI PUSH2 0x297B PUSH2 0x3329 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x8 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x299C JUMPI PUSH2 0x299C PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x5 SWAP1 SWAP2 MUL ADD DUP1 PUSH2 0x29B7 DUP4 DUP3 PUSH2 0x35C6 JUMP JUMPDEST POP PUSH1 0x1 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x2 DUP1 DUP4 ADD DUP1 SLOAD PUSH2 0x29E6 SWAP3 DUP5 ADD SWAP2 SWAP1 PUSH2 0x2CD9 JUMP JUMPDEST POP PUSH1 0x3 DUP3 DUP2 ADD SLOAD SWAP1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x4 SWAP2 DUP3 ADD SLOAD SWAP2 ADD SSTORE PUSH1 0x8 DUP1 SLOAD DUP1 PUSH2 0x2A27 JUMPI PUSH2 0x2A27 PUSH2 0x36C6 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x0 NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x5 DUP4 MUL ADD SWAP1 PUSH2 0x2A47 DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2A61 PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 SWAP1 SWAP2 ADD SSTORE SWAP1 SSTORE PUSH1 0x1 SWAP2 POP PUSH2 0x2A99 JUMP JUMPDEST DUP1 PUSH2 0x2A91 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2828 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 LT ISZERO PUSH2 0x658 JUMPI PUSH2 0x2AD8 DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x25A1 JUMPI PUSH2 0x25A1 PUSH2 0x3329 JUMP JUMPDEST ISZERO PUSH2 0x2B6C JUMPI DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2AF9 JUMPI PUSH2 0x2AF9 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x3 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x2B4E JUMPI POP DUP4 PUSH1 0xFF AND DUP3 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x2B34 JUMPI PUSH2 0x2B34 PUSH2 0x3329 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x1 PUSH1 0x5 SWAP1 SWAP3 MUL ADD ADD SLOAD PUSH1 0xFF AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x26D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB7F2D833 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x2B76 DUP2 PUSH2 0x3355 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2ABA JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2B91 SWAP2 SWAP1 PUSH2 0x3400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2BB8 SWAP2 SWAP1 PUSH2 0x3400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE PUSH1 0x5 MUL SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2D86 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x2CC9 JUMPI SWAP2 PUSH1 0x20 MUL DUP3 ADD PUSH1 0x0 JUMPDEST DUP4 DUP3 GT ISZERO PUSH2 0x2C9A JUMPI DUP4 MLOAD DUP4 DUP3 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP SWAP3 PUSH1 0x20 ADD SWAP3 PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH2 0x2C5C JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2CC7 JUMPI DUP3 DUP2 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 ADD PUSH1 0x20 DUP2 PUSH1 0x0 ADD DIV SWAP3 DUP4 ADD SWAP3 PUSH1 0x1 SUB MUL PUSH2 0x2C9A JUMP JUMPDEST POP JUMPDEST POP PUSH2 0x2CD5 SWAP3 SWAP2 POP PUSH2 0x2DD6 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD DUP3 DUP3 SSTORE SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 ISZERO PUSH2 0x2CC9 JUMPI PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP2 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2CC9 JUMPI DUP3 SLOAD DUP3 SSTORE SWAP2 PUSH1 0x1 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2D0C JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2D33 SWAP1 PUSH2 0x336E JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2D43 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2DD6 JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1B84 SWAP2 SWAP1 PUSH2 0x2DD6 JUMP JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2CD5 JUMPI PUSH1 0x0 PUSH2 0x2D9A DUP3 DUP3 PUSH2 0x2D27 JUMP JUMPDEST PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0x2DB4 PUSH1 0x2 DUP4 ADD PUSH1 0x0 PUSH2 0x2D61 JUMP JUMPDEST POP PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD PUSH2 0x2D86 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2CD5 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2DD7 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1DCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2E14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E1D DUP3 PUSH2 0x2DEB JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2E63 JUMPI PUSH2 0x2E63 PUSH2 0x2E24 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2E7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2E96 JUMPI PUSH2 0x2E96 PUSH2 0x2E24 JUMP JUMPDEST PUSH2 0x2EA9 PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD PUSH2 0x2E3A JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2EBE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1DCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2EFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x2F19 JUMPI PUSH2 0x2F19 PUSH2 0x2E24 JUMP JUMPDEST DUP2 PUSH1 0x5 SHL PUSH2 0x2F28 DUP3 DUP3 ADD PUSH2 0x2E3A JUMP JUMPDEST SWAP3 DUP4 MSTORE DUP5 DUP2 ADD DUP3 ADD SWAP3 DUP3 DUP2 ADD SWAP1 DUP8 DUP6 GT ISZERO PUSH2 0x2F42 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP3 POP JUMPDEST DUP5 DUP4 LT ISZERO PUSH2 0x2F68 JUMPI PUSH2 0x2F59 DUP4 PUSH2 0x2EDB JUMP JUMPDEST DUP3 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x2F48 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2F89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2FA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FAD DUP9 DUP4 DUP10 ADD PUSH2 0x2E6B JUMP JUMPDEST SWAP6 POP PUSH2 0x2FBB PUSH1 0x20 DUP9 ADD PUSH2 0x2DEB JUMP JUMPDEST SWAP5 POP PUSH2 0x2FC9 PUSH1 0x40 DUP9 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2FEC DUP8 DUP3 DUP9 ADD PUSH2 0x2EEC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x300B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3014 DUP4 PUSH2 0x2DEB JUMP JUMPDEST SWAP2 POP PUSH2 0x3022 PUSH1 0x20 DUP5 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x303D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3056 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E1D DUP3 PUSH2 0x2EDB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3074 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x308C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3098 DUP8 DUP4 DUP9 ADD PUSH2 0x2E6B JUMP JUMPDEST SWAP5 POP PUSH2 0x30A6 PUSH1 0x20 DUP8 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x30BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30C9 DUP7 DUP3 DUP8 ADD PUSH2 0x2EEC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30EE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x30D6 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x310F DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3156 JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x3137 JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0xA0 DUP5 MSTORE PUSH2 0x3176 PUSH1 0xA0 DUP6 ADD DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP PUSH1 0xFF PUSH1 0x20 DUP5 ADD MLOAD AND PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x319C DUP3 DUP3 PUSH2 0x3123 JUMP JUMPDEST PUSH1 0x60 DUP6 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP8 ADD MSTORE PUSH1 0x80 SWAP5 DUP6 ADD MLOAD SWAP5 SWAP1 SWAP6 ADD SWAP4 SWAP1 SWAP4 MSTORE POP SWAP2 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x321A JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x3208 DUP6 DUP4 MLOAD PUSH2 0x3161 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x31EC JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1B84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2E1D DUP2 PUSH2 0x3227 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3265 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x30F7 JUMP JUMPDEST PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2E1D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3161 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x32B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x32BF DUP6 PUSH2 0x2DEB JUMP JUMPDEST SWAP4 POP PUSH2 0x32CD PUSH1 0x20 DUP7 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP3 POP PUSH2 0x32DB PUSH1 0x40 DUP7 ADD PUSH2 0x2DEB JUMP JUMPDEST SWAP2 POP PUSH2 0x32E9 PUSH1 0x60 DUP7 ADD PUSH2 0x2EDB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3306 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x331D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9F0 DUP5 DUP3 DUP6 ADD PUSH2 0x2E6B JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x3367 JUMPI PUSH2 0x3367 PUSH2 0x333F JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x3382 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x33A2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND DUP3 MSTORE PUSH1 0xFF AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x33D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2E1D DUP2 PUSH2 0x3227 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x33F7 JUMPI PUSH2 0x33F7 PUSH2 0x333F JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3412 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x30D3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 SLOAD PUSH2 0x342A DUP2 PUSH2 0x336E JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x3442 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x3457 JUMPI PUSH2 0x3486 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x3486 JUMP JUMPDEST DUP8 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x347D JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x3464 JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7C6 JUMPI PUSH2 0x7C6 PUSH2 0x333F JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7C6 JUMPI PUSH2 0x7C6 PUSH2 0x333F JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xA04 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x34DF JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x34FE JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x34EB JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3520 JUMPI PUSH2 0x3520 PUSH2 0x2E24 JUMP JUMPDEST PUSH2 0x3534 DUP2 PUSH2 0x352E DUP5 SLOAD PUSH2 0x336E JUMP JUMPDEST DUP5 PUSH2 0x34B8 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3569 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x3551 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x34FE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3598 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x3579 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x35B6 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP2 DUP2 SUB PUSH2 0x35D1 JUMPI POP POP JUMP JUMPDEST PUSH2 0x35DB DUP3 SLOAD PUSH2 0x336E JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x35F3 JUMPI PUSH2 0x35F3 PUSH2 0x2E24 JUMP JUMPDEST PUSH2 0x3601 DUP2 PUSH2 0x352E DUP5 SLOAD PUSH2 0x336E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP3 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3635 JUMPI PUSH1 0x0 DUP4 ISZERO PUSH2 0x361D JUMPI POP DUP5 DUP3 ADD SLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP6 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP5 SWAP1 SHL OR DUP5 SSTORE PUSH2 0x658 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x1F NOT DUP5 AND SWAP1 PUSH1 0x0 DUP7 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x366F JUMPI DUP3 DUP7 ADD SLOAD DUP3 SSTORE PUSH1 0x1 SWAP6 DUP7 ADD SWAP6 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x20 ADD PUSH2 0x364F JUMP JUMPDEST POP DUP6 DUP4 LT ISZERO PUSH2 0x35B6 JUMPI SWAP4 ADD SLOAD PUSH1 0x0 NOT PUSH1 0xF8 PUSH1 0x3 DUP8 SWAP1 SHL AND SHR NOT AND SWAP1 SWAP3 SSTORE POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND DUP2 MSTORE PUSH1 0xFF DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0xD03 SWAP1 DUP4 ADD DUP5 PUSH2 0x3123 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC9 ADDRESS PUSH31 0x3504111AF512D0584B2CBF5F5A632CBC4D88EAD7FD05BC3A6458988BA76473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"1095:12929:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5550:174;;;;;;:::i;:::-;;:::i;:::-;;;529:25:31;;;517:2;502:18;5550:174:23;;;;;;;;2717:114;;;;;;:::i;:::-;;:::i;:::-;;3874:234;;;;;;:::i;:::-;;:::i;2382:229::-;;;;;;:::i;:::-;;:::i;7550:138::-;;;;;;:::i;:::-;-1:-1:-1;;;;;7658:25:23;7614:4;7658:25;;;:19;:25;;;;;;7633:22;;:50;;7550:138;;;;3273:14:31;;3266:22;3248:41;;3236:2;3221:18;7550:138:23;3108:187:31;7812:310:23;;;;;;:::i;:::-;;:::i;5445:101::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5518:23:23;5499:4;5518:23;;;:10;:23;;;;;;;;;5445:101;9507:392;;;:::i;3237:147::-;;;;;;:::i;:::-;;:::i;9903:337::-;;;;;;:::i;:::-;;:::i;3668:202::-;;;;;;:::i;:::-;;:::i;6189:84::-;;;:::i;:::-;;;;;;;:::i;2835:271::-;;;;;;:::i;:::-;;:::i;3535:129::-;;;;;;:::i;:::-;;:::i;1854:33::-;;;;;;10244:361;;;;;;:::i;:::-;;:::i;7692:116::-;7785:18;;7766:16;;:37;7692:116;;2615:98;;;;;;:::i;:::-;;:::i;1824:101:0:-;;;:::i;1734:54:23:-;;;;;;:::i;:::-;;;;;;;;;;;;;;6929:136;;;;;;:::i;:::-;;:::i;1601:21::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;1201:85:0:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;1201:85;;;-1:-1:-1;;;;;8001:32:31;;;7983:51;;7971:2;7956:18;1201:85:0;7837:203:31;5975:97:23;6051:16;;5975:97;;6758:167;;;;;;:::i;:::-;;:::i;7069:477::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6076:109::-;6158:22;;6076:109;;8126:1377;;;;;;:::i;:::-;;:::i;5728:143::-;;;;;;:::i;:::-;5829:37;;5807:7;5829:37;;;:25;:37;;;;;;;5728:143;5875:96;5948:18;;5875:96;;1185:45;;;;;-1:-1:-1;;;;;1185:45:23;;;1792:58;;;;;;:::i;:::-;;;;;;;;;;;;;;3388:143;;;;;;:::i;:::-;;:::i;6444:310::-;;;;;;:::i;:::-;;:::i;6277:163::-;;;;;;:::i;:::-;;:::i;3110:123::-;;;;;;:::i;:::-;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;10609:740:23:-;;;;;;:::i;:::-;;:::i;5550:174::-;5619:7;-1:-1:-1;;;;;5638:18:23;;5634:47;;5665:16;;-1:-1:-1;;;5665:16:23;;;;;;;;;;;5634:47;-1:-1:-1;;;;;;5694:25:23;;;;;:19;:25;;;;;;;5550:174::o;2717:114::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;2788:38:::1;::::0;-1:-1:-1;;;2788:38:23;;:10:::1;:38;::::0;::::1;9477:25:31::0;-1:-1:-1;;;;;9538:32:31;;9518:18;;;9511:60;2788:22:23::1;::::0;::::1;::::0;9450:18:31;;2788:38:23::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2717:114:::0;:::o;3874:234::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;4037:66:::1;4058:7;4067:4;4073:10;4085:17;4037:20;:66::i;:::-;3874:234:::0;;;;:::o;2382:229::-;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;2449:28:23;::::1;2445:57;;2486:16;;-1:-1:-1::0;;;2486:16:23::1;;;;;;;;;;;2445:57;2508:18;:56:::0;;-1:-1:-1;;;;;;2508:56:23::1;-1:-1:-1::0;;;;;2508:56:23;;;::::1;::::0;;;::::1;::::0;;2588:10:::1;-1:-1:-1::0;2570:29:23;;;:10:::1;:29;::::0;;;;:36;;-1:-1:-1;;2570:36:23::1;::::0;;::::1;::::0;;2382:229::o;7812:310::-;7883:4;-1:-1:-1;;;;;7899:18:23;;7895:47;;7926:16;;-1:-1:-1;;;7926:16:23;;;;;;;;;;;7895:47;7953:9;7948:152;-1:-1:-1;;;;;7972:25:23;;;;;;:19;:25;;;;;;7968:29;;7948:152;;;-1:-1:-1;;;;;8016:18:23;;;;;;:12;:18;;;;;:21;;:46;;;;:18;8035:1;;8016:21;;;;;;:::i;:::-;;;;;;;;;:32;:21;;;;;:32;;;;:46;8012:82;;8081:4;8074:11;;;;;8012:82;7999:3;;;;:::i;:::-;;;;7948:152;;;;8112:5;8105:12;;7812:310;;;;;:::o;9507:392::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;9565:9:::1;9560:258;9584:6;:13:::0;9580:17;::::1;9560:258;;;9619:12;:29;9632:6;9639:1;9632:9;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:15:::1;:9;::::0;;::::1;;:15:::0;;;::::1;::::0;-1:-1:-1;;;;;9632:15:23::1;9619:29:::0;;;::::1;::::0;;;;;;;;9612:36:::1;::::0;::::1;:::i;:::-;9695:1;9656:19;:36;9676:6;9683:1;9676:9;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:15:::1;:9;::::0;;::::1;;:15:::0;;;::::1;::::0;-1:-1:-1;;;;;9676:15:23::1;9656:36:::0;;;::::1;::::0;;;;;;;;:40;;;;9731:6:::1;:9:::0;;9712:18:::1;::::0;9676:9;9731:6;9738:1;;9731:9;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:20:::1;:9;::::0;;::::1;;:20:::0;;;::::1;::::0;::::1;;9712:40:::0;;;::::1;::::0;;;;;;;;9705:47:::1;::::0;::::1;:::i;:::-;9810:1;9760:25;:47;9786:6;9793:1;9786:9;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:20:::1;:9;::::0;;::::1;;:20:::0;;;::::1;::::0;::::1;;9760:47:::0;;;::::1;::::0;;;;;;;;:51;9599:3;::::1;::::0;::::1;:::i;:::-;;;;9560:258;;;-1:-1:-1::0;9844:1:23::1;9823:18;:22:::0;;;9851:13:::1;::::0;9858:6:::1;::::0;9851:13:::1;:::i;:::-;9876:18;::::0;::::1;::::0;;;::::1;9507:392::o:0;3237:147::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;3331:22:::1;:48:::0;3237:147::o;9903:337::-;9972:4;9984:18;10005:51;10033:10;10045;10005:27;:51::i;:::-;10066:11;;;;9984:72;;-1:-1:-1;;;;;;10066:25:23;10081:10;10066:25;10062:58;;-1:-1:-1;10108:5:23;;9903:337;-1:-1:-1;;9903:337:23:o;10062:58::-;10125:11;10139:77;10171:10;10183;10195:5;:13;;;10210:5;10139:31;:77::i;:::-;10125:91;9903:337;-1:-1:-1;;;;9903:337:23:o;3668:202::-;3793:72;3814:7;3823:10;3835;3847:17;3793:20;:72::i;:::-;3668:202;;;:::o;6189:84::-;6233:14;6262:6;6255:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6255:13:23;;;-1:-1:-1;;6255:13:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6255:13:23;;;-1:-1:-1;;6255:13:23;;;;-1:-1:-1;;;;;6255:13:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6189:84;:::o;2835:271::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;-1:-1:-1;;;;;2923:33:23;::::1;2919:62;;2965:16;;-1:-1:-1::0;;;2965:16:23::1;;;;;;;;;;;2919:62;2987:18;:61:::0;;-1:-1:-1;;;;;;2987:61:23::1;-1:-1:-1::0;;;;;2987:61:23;::::1;::::0;;::::1;::::0;;;3059:42:::1;::::0;7983:51:31;;;3059:42:23::1;::::0;7971:2:31;7956:18;3059:42:23::1;;;;;;;2835:271:::0;:::o;3535:129::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;3620:30:::1;:39:::0;;-1:-1:-1;;3620:39:23::1;::::0;::::1;;::::0;;;::::1;::::0;;3535:129::o;10244:361::-;2334:10;10355:4;2316:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;10367:18:::1;10388:45;10416:4;10422:10;10388:27;:45::i;:::-;10367:66;;10458:4;-1:-1:-1::0;;;;;10443:19:23::1;:5;:11;;;-1:-1:-1::0;;;;;10443:19:23::1;;10439:52;;10479:5;10472:12;;;;;10439:52;10496:11;10510:71;10542:4;10548:10;10560:5;:13;;;10575:5;10510:31;:71::i;:::-;10496:85:::0;10244:361;-1:-1:-1;;;;;10244:361:23:o;2615:98::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;2678:30:::1;::::0;-1:-1:-1;;;2678:30:23;;:10:::1;:30;::::0;::::1;9477:25:31::0;-1:-1:-1;;;;;9538:32:31;;9518:18;;;9511:60;2678:19:23::1;::::0;::::1;::::0;9450:18:31;;2678:30:23::1;9271:306:31::0;1824:101:0;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;6929:136:23:-;7030:30;;;;;;;:18;:30;;;;;;;;7023:37;;;;;;;;;;;;;;;;;7001:14;;7023:37;;7030:30;;7023:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7023:37:23;;;-1:-1:-1;;7023:37:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7023:37:23;;;-1:-1:-1;;7023:37:23;;;;-1:-1:-1;;;;;7023:37:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6929:136;;;:::o;1601:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1601:21:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1601:21:23;;;;-1:-1:-1;1601:21:23;:::o;6758:167::-;6820:14;-1:-1:-1;;;;;6846:18:23;;6842:47;;6873:16;;-1:-1:-1;;;6873:16:23;;;;;;;;;;;6842:47;-1:-1:-1;;;;;6902:18:23;;;;;;:12;:18;;;;;;;;6895:25;;;;;;;;;;;;;;;;;;;6902:18;;6895:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6895:25:23;;;-1:-1:-1;;6895:25:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6895:25:23;;;-1:-1:-1;;6895:25:23;;;;-1:-1:-1;;;;;6895:25:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7069:477;7171:12;;:::i;:::-;-1:-1:-1;;;;;7195:18:23;;7191:47;;7222:16;;-1:-1:-1;;;7222:16:23;;;;;;;;;;;7191:47;-1:-1:-1;;;;;7274:18:23;;7245:26;7274:18;;;:12;:18;;;;;;;;7333:19;:25;;;;;;7274:18;;7364:152;7388:24;7384:1;:28;7364:152;;;7459:10;7431:38;;:10;7442:1;7431:13;;;;;;;;:::i;:::-;;;;;;;;;:24;:13;;;;;:24;;;;:38;7427:83;;7488:10;7499:1;7488:13;;;;;;;;:::i;:::-;;;;;;;;;;;7481:20;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7481:20:23;;;-1:-1:-1;;7481:20:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7481:20:23;;;-1:-1:-1;;7481:20:23;;;;-1:-1:-1;;;;;7481:20:23;;;;;;;;;;;;;;;;-1:-1:-1;7481:20:23;;-1:-1:-1;;;7481:20:23;7427:83;7414:3;;;;:::i;:::-;;;;7364:152;;;;7528:13;:11;:13::i;8126:1377::-;8273:18;8294:57;8322:11;8335:15;8294:27;:57::i;:::-;8273:78;;8376:11;-1:-1:-1;;;;;8361:26:23;:5;:11;;;-1:-1:-1;;;;;8361:26:23;;8357:59;;8396:20;;-1:-1:-1;;;8396:20:23;;;;;;;;;;;8357:59;8458:23;;;;8491:24;;8423:32;8491:29;8487:548;;8584:18;;:64;;-1:-1:-1;;;8584:64:23;;-1:-1:-1;;;;;8584:18:23;;;;:33;;:64;;8618:11;;8631:16;;8584:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8580:105;;;8665:20;;-1:-1:-1;;;8665:20:23;;;;;;;;;;;8580:105;8487:548;;;8764:20;8805:7;8800:179;8822:17;:24;8818:1;:28;;;8800:179;;;8891:16;8867:40;;:17;8885:1;8867:20;;;;;;;;;;:::i;:::-;;;;;;;:40;;;8863:108;;8939:4;8921:22;;8955:5;;8863:108;8848:3;;;;:::i;:::-;;;;8800:179;;;;8991:15;8986:42;;9015:13;;-1:-1:-1;;;9015:13:23;;;;;;;;;;;8986:42;8698:337;8487:548;9041:17;9061:112;9100:11;9119:15;9142:5;:13;;;9163:4;9061:31;:112::i;:::-;9041:132;;9184:12;9179:43;;9205:17;;-1:-1:-1;;;9205:17:23;;;;;;;;;;;9179:43;9229:18;;:91;;-1:-1:-1;;;9229:91:23;;-1:-1:-1;;;;;11366:15:31;;;9229:91:23;;;11348:34:31;11430:4;11418:17;;;11398:18;;;11391:45;11472:15;;;11452:18;;;11445:43;11524:17;;11504:18;;;11497:45;9229:18:23;;;;:37;;11282:19:31;;9229:91:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9338:18:23;;:56;;-1:-1:-1;;;9338:56:23;;-1:-1:-1;;;;;9338:18:23;;;;-1:-1:-1;9338:33:23;;-1:-1:-1;9338:56:23;;9372:4;;9378:15;;9338:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9337:57;:132;;;-1:-1:-1;9405:18:23;;:64;;-1:-1:-1;;;9405:64:23;;-1:-1:-1;;;;;9405:18:23;;;;:33;;:64;;9439:11;;9452:16;;9405:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9404:65;9337:132;9326:172;;;9483:15;;-1:-1:-1;;;9483:15:23;;;;;;;;;;;9326:172;8267:1236;;;8126:1377;;;;:::o;3388:143::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;3480:21:::1;:46:::0;3388:143::o;6444:310::-;6517:12;;:::i;:::-;6542:9;6537:187;6561:6;:13;6557:17;;6537:187;;;6670:7;6653:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;6643:36;;;;;;6620:6;6627:1;6620:9;;;;;;;;:::i;:::-;;;;;;;;;;;:17;;6603:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;6593:46;;;;;;:86;6589:129;;6699:6;6706:1;6699:9;;;;;;;;:::i;:::-;;;;;;;;;;;6691:18;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6691:18:23;;;-1:-1:-1;;6691:18:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6691:18:23;;;-1:-1:-1;;6691:18:23;;;;-1:-1:-1;;;;;6691:18:23;;;;;;;;;;;;;;;;6444:310;-1:-1:-1;;;6444:310:23:o;6589:129::-;6576:3;;;;:::i;:::-;;;;6537:187;;;;6736:13;:11;:13::i;6277:163::-;6338:12;;:::i;:::-;6371:6;:13;6362:22;;6358:51;;6393:16;;-1:-1:-1;;;6393:16:23;;;;;;;;;;;6358:51;6422:6;6429:5;6422:13;;;;;;;;:::i;:::-;;;;;;;;;;;6415:20;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6415:20:23;;;-1:-1:-1;;6415:20:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6415:20:23;;;-1:-1:-1;;6415:20:23;;;;-1:-1:-1;;;;;6415:20:23;;;;;;;;;;;;;;;;6277:163;-1:-1:-1;;6277:163:23:o;3110:123::-;2334:10;2316:17;:29;;;:10;:29;;;;;;;;2311:55;;2354:12;;-1:-1:-1;;;2354:12:23;;;;;;;;;;;2311:55;3192:16:::1;:36:::0;3110:123::o;2074:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;13022:2:31;2154:73:0::1;::::0;::::1;13004:21:31::0;13061:2;13041:18;;;13034:30;13100:34;13080:18;;;13073:62;-1:-1:-1;;;13151:18:31;;;13144:36;13197:19;;2154:73:0::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;10609:740:23:-;2220:18;;10687:4;;-1:-1:-1;;;;;2220:18:23;2198:10;:41;2194:73;;2248:19;;-1:-1:-1;;;2248:19:23;;;;;;;;;;;2194:73;-1:-1:-1;;;;;10703:18:23;::::1;10699:47;;10730:16;;-1:-1:-1::0;;;10730:16:23::1;;;;;;;;;;;10699:47;-1:-1:-1::0;;;;;10782:18:23;::::1;10753:26;10782:18:::0;;;:12:::1;:18;::::0;;;;;;;10841:19:::1;:25:::0;;;;;;10782:18;;10873:353:::1;10897:24;10893:1;:28;10873:353;;;10936:21;10960:10;10971:1;10960:13;;;;;;;;:::i;:::-;;;;;;;;;;;:21;;10936:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10989:16;11008:10;11019:1;11008:13;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:24:::1;:13;::::0;;::::1;;:24;::::0;::::1;;::::0;-1:-1:-1;11040:60:23::1;11074:4:::0;11008:24;11092:7;11040:33:::1;:60::i;:::-;11108:30;11130:7;11108:21;:30::i;:::-;-1:-1:-1::0;11146:37:23::1;::::0;::::1;;::::0;;;:25:::1;:37;::::0;;;;:42;;11187:1:::1;::::0;11146:37;:42:::1;::::0;11187:1;;11146:42:::1;:::i;:::-;;;;;;;;11218:1;11196:18;;:23;;;;;;;:::i;:::-;;;;;;;;10928:298;;10923:3;;;;;:::i;:::-;;;;10873:353;;;-1:-1:-1::0;;;;;;11239:18:23;::::1;;::::0;;;:12:::1;:18;::::0;;;;11232:25:::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;11263:25:23;::::1;11291:1;11263:25:::0;;;:19:::1;:25;::::0;;;;;;;:29;;;;11304:23;;7983:51:31;;;11304:23:23::1;::::0;7956:18:31;11304:23:23::1;;;;;;;11340:4;11333:11;;;;2273:1;10609:740:::0;;;:::o;4112:1329::-;4277:18;;-1:-1:-1;;;;;4277:18:23;4265:80;;4319:26;;-1:-1:-1;;;4319:26:23;;;;;;;;;;;4265:80;4384:22;;-1:-1:-1;;;;;4355:25:23;;;;;;:19;:25;;;;;;:51;4351:86;;4415:22;;-1:-1:-1;;;4415:22:23;;;;;;;;;;;4351:86;4469:16;;4447:18;;:38;4443:73;;4494:22;;-1:-1:-1;;;4494:22:23;;;;;;;;;;;4443:73;4542:18;;:51;;-1:-1:-1;;;4542:51:23;;4523:16;;-1:-1:-1;;;;;4542:18:23;;:33;;:51;;4576:4;;4582:10;;4542:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4523:70;;4604:11;4599:46;;4624:21;;-1:-1:-1;;;4624:21:23;;;;;;;;;;;4599:46;4657:7;4652:134;4674:17;:24;4670:1;:28;;;4652:134;;;4741:10;4717:34;;:17;4735:1;4717:20;;;;;;;;;;:::i;:::-;;;;;;;:34;;;4713:66;;4760:19;;-1:-1:-1;;;4760:19:23;;;;;;;;;;;4713:66;4700:3;;;;:::i;:::-;;;;4652:134;;;;4792:26;4821:45;4849:4;4855:10;4821:27;:45::i;:::-;4876:19;;;;4792:74;;-1:-1:-1;;;;;;4876:33:23;;4872:66;;4918:20;;-1:-1:-1;;;4918:20:23;;;;;;;;;;;4872:66;-1:-1:-1;;;;;4945:25:23;;;;;;:19;:25;;;;;:30;;4974:1;;4945:25;:30;;4974:1;;4945:30;:::i;:::-;;;;-1:-1:-1;;4981:37:23;;;;;;;:25;:37;;;;;:42;;5022:1;;4981:37;:42;;5022:1;;4981:42;:::i;:::-;;;;;;;;5051:1;5029:18;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;5071:68:23;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5071:68:23;;;;;;5123:15;5071:68;;;;5059:6;:81;;;;;;;-1:-1:-1;5059:81:23;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5059:81:23;;;;;;;;;;-1:-1:-1;;5059:81:23;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5059:81:23;;;;;;;;;-1:-1:-1;;;;;;5059:81:23;-1:-1:-1;;;;;5059:81:23;;;;;;;;;;;;;;;;5146:18;;-1:-1:-1;5146:18:23;;;:12;:18;;;;;5170:6;5177:13;;:17;;-1:-1:-1;;5177:17:23;:::i;:::-;5170:25;;;;;;;;:::i;:::-;;;;;;;;;5146:50;;;;;;;;;;;;5170:25;;;;;;;;5146:50;;;;5170:25;5146:50;;:::i;:::-;-1:-1:-1;5146:50:23;;;;;;;;;;-1:-1:-1;;5146:50:23;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5146:50:23;;;;;;;;;;-1:-1:-1;;;;;;5146:50:23;-1:-1:-1;;;;;5146:50:23;;;;;;;;;;;;;;;;;5202:30;;;5146:50;5202:30;;;:18;:30;;;;;5238:6;5245:13;;:17;;5146:50;;5245:17;:::i;:::-;5238:25;;;;;;;;:::i;:::-;;;;;;;;;5202:62;;;;;;;;;;;;5238:25;;;;;;;;5202:62;;;;5238:25;5202:62;;:::i;:::-;-1:-1:-1;5202:62:23;;;;;;;;;;-1:-1:-1;;5202:62:23;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5202:62:23;;;;;;;;;;-1:-1:-1;;;;;;5202:62:23;-1:-1:-1;;;;;5202:62:23;;;;;;;;;;;;;;;;;5275:30;;;;5271:105;;;5315:18;;:54;;-1:-1:-1;;;5315:54:23;;-1:-1:-1;;;;;5315:18:23;;;;:36;;:54;;5352:4;;5358:10;;5315:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:105;5387:49;5400:4;5406:10;5418:17;5387:49;;;;;;;;:::i;:::-;;;;;;;;4259:1182;;4112:1329;;;;:::o;1359:130:0:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;734:10:12;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;17641:2:31;1414:68:0;;;17623:21:31;;;17660:18;;;17653:30;17719:34;17699:18;;;17692:62;17771:18;;1414:68:0;17439:356:31;11353:704:23;11517:4;-1:-1:-1;;;;;11533:18:23;;11529:47;;11560:16;;-1:-1:-1;;;11560:16:23;;;;;;;;;;;11529:47;11583:54;11611:4;11617:10;11629:7;11583:27;:54::i;:::-;11643:60;11677:4;11683:10;11695:7;11643:33;:60::i;:::-;11709:30;11731:7;11709:21;:30::i;:::-;-1:-1:-1;;;;;;11745:25:23;;;;;;:19;:25;;;;;:30;;11774:1;;11745:25;:30;;11774:1;;11745:30;:::i;:::-;;;;-1:-1:-1;;11781:37:23;;;;;;;:25;:37;;;;;:42;;11822:1;;11781:37;:42;;11822:1;;11781:42;:::i;:::-;;;;;;;;11851:1;11829:18;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;11863:30:23;;;;:59;;;;;11898:24;11897:25;11863:59;11859:135;;;11932:18;;:55;;-1:-1:-1;;;11932:55:23;;-1:-1:-1;;;;;11932:18:23;;;;:37;;:55;;11970:4;;11976:10;;11932:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11859:135;12005:30;12018:4;12024:10;12005:30;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;12048:4:23;11353:704;;;;;;:::o;2426:187:0:-;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;13690:121:23:-;13736:12;;:::i;:::-;-1:-1:-1;13763:43:23;;;;;;;;-1:-1:-1;13763:43:23;;;;;;;;;;;;;;;13776:14;;;;;;;;;;13763:43;;;;;;;;;;;;;-1:-1:-1;13763:43:23;;;;;;;13690:121::o;12661:620::-;12818:30;;;12789:26;12818:30;;;:18;:30;;;;;;12855:422;12879:17;;12875:21;;12855:422;;;12915:44;12928:10;12939:1;12928:13;;;;;;;;:::i;:::-;;;;;;;;;;;:21;;12915:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12951:7;12915:12;:44::i;:::-;12911:360;;;12998:4;-1:-1:-1;;;;;12975:27:23;:10;12986:1;12975:13;;;;;;;;:::i;:::-;;;;;;;;;:19;:13;;;;;:19;;-1:-1:-1;;;;;12975:19:23;:27;;;:69;;;13034:10;13006:38;;:10;13017:1;13006:13;;;;;;;;:::i;:::-;;;;;;;;;:24;:13;;;;;:24;;;;:38;;12975:69;12971:137;;;13063:45;;-1:-1:-1;;;13063:45:23;;;;;;;;;;;12971:137;13127:17;;:21;;13147:1;;13127:21;:::i;:::-;13123:1;:25;13119:103;;;13189:17;;13178:10;;13189:21;;13209:1;;13189:21;:::i;:::-;13178:33;;;;;;;;:::i;:::-;;;;;;;;;;;13162:10;13173:1;13162:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:49;;:13;:49;:::i;:::-;-1:-1:-1;13162:49:23;;;;;;;;;;-1:-1:-1;;13162:49:23;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13162:49:23;;;;;;;;;;-1:-1:-1;;;;;;13162:49:23;-1:-1:-1;;;;;13162:49:23;;;;;;;;;;;;;;;;;13119:103;13231:10;:16;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;13231:16:23;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;13231:16:23;;;;;;;;;:::i;:::-;-1:-1:-1;13231:16:23;;;;;-1:-1:-1;;;;;;13231:16:23;;;;;;;;;;;13257:5;;12911:360;12898:3;;;;:::i;:::-;;;;12855:422;;13285:401;13356:4;;;13394:268;13418:6;:13;13414:17;;13394:268;;;13454:6;:13;13450:17;;:61;;;;;13471:40;13484:6;13491:1;13484:9;;;;;;;;:::i;:::-;;;;;;;;;;;:17;;13471:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13503:7;13471:12;:40::i;:::-;13446:210;;;13530:6;13537:1;13530:9;;;;;;;;:::i;:::-;;;;;;;;;;;;;;13523:16;13530:9;;13523:16;:::i;:::-;;;;;;-1:-1:-1;;13523:16:23;;;;;;;;;:::i;:::-;-1:-1:-1;13523:16:23;;;;;-1:-1:-1;;;;;;13523:16:23;;;;;;;;;13561:6;13568:13;;:17;;13523:16;;13568:17;:::i;:::-;13561:25;;;;;;;;:::i;:::-;;;;;;;;;;;13549:6;13556:1;13549:9;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:37;;:9;:37;:::i;:::-;-1:-1:-1;13549:37:23;;;;;;;;;;-1:-1:-1;;13549:37:23;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13549:37:23;;;;;;;;;;-1:-1:-1;;;;;;13549:37:23;-1:-1:-1;;;;;13549:37:23;;;;;;;;;;;;;;;;;13596:6;:12;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;13596:12:23;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;13596:12:23;;;;;;;;;:::i;:::-;-1:-1:-1;13596:12:23;;;;;-1:-1:-1;;;;;;13596:12:23;;;;;;;;;;;;;-1:-1:-1;13642:5:23;;13446:210;13433:3;;;;:::i;:::-;;;;13394:268;;;-1:-1:-1;13674:7:23;13285:401;-1:-1:-1;;13285:401:23:o;12061:596::-;-1:-1:-1;;;;;12212:18:23;;12183:26;12212:18;;;:12;:18;;;;;;12236:417;12260:17;;12256:21;;12236:417;;;12296:44;12309:10;12320:1;12309:13;;;;;;;;:::i;12296:44::-;12292:355;;;12379:4;-1:-1:-1;;;;;12356:27:23;:10;12367:1;12356:13;;;;;;;;:::i;:::-;;;;;;;;;:19;:13;;;;;:19;;-1:-1:-1;;;;;12356:19:23;:27;;;:69;;;12415:10;12387:38;;:10;12398:1;12387:13;;;;;;;;:::i;:::-;;;;;;;;;:24;:13;;;;;:24;;;;:38;;12356:69;12352:131;;;12444:39;;-1:-1:-1;;;12444:39:23;;;;;;;;;;;12292:355;12279:3;;;;:::i;:::-;;;;12236:417;;13815:207;13920:4;14007:8;13990:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;13980:37;;;;;;13966:8;13949:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;13939:37;;;;;;:78;13932:85;;13815:207;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:173:31;82:20;;-1:-1:-1;;;;;131:31:31;;121:42;;111:70;;177:1;174;167:12;192:186;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:31:o;565:127::-;626:10;621:3;617:20;614:1;607:31;657:4;654:1;647:15;681:4;678:1;671:15;697:275;768:2;762:9;833:2;814:13;;-1:-1:-1;;810:27:31;798:40;;868:18;853:34;;889:22;;;850:62;847:88;;;915:18;;:::i;:::-;951:2;944:22;697:275;;-1:-1:-1;697:275:31:o;977:531::-;1020:5;1073:3;1066:4;1058:6;1054:17;1050:27;1040:55;;1091:1;1088;1081:12;1040:55;1127:6;1114:20;1153:18;1149:2;1146:26;1143:52;;;1175:18;;:::i;:::-;1219:55;1262:2;1243:13;;-1:-1:-1;;1239:27:31;1268:4;1235:38;1219:55;:::i;:::-;1299:2;1290:7;1283:19;1345:3;1338:4;1333:2;1325:6;1321:15;1317:26;1314:35;1311:55;;;1362:1;1359;1352:12;1311:55;1427:2;1420:4;1412:6;1408:17;1401:4;1392:7;1388:18;1375:55;1475:1;1450:16;;;1468:4;1446:27;1439:38;;;;1454:7;977:531;-1:-1:-1;;;977:531:31:o;1513:156::-;1579:20;;1639:4;1628:16;;1618:27;;1608:55;;1659:1;1656;1649:12;1674:714;1726:5;1779:3;1772:4;1764:6;1760:17;1756:27;1746:55;;1797:1;1794;1787:12;1746:55;1833:6;1820:20;1859:4;1882:18;1878:2;1875:26;1872:52;;;1904:18;;:::i;:::-;1950:2;1947:1;1943:10;1973:28;1997:2;1993;1989:11;1973:28;:::i;:::-;2035:15;;;2105;;;2101:24;;;2066:12;;;;2137:15;;;2134:35;;;2165:1;2162;2155:12;2134:35;2201:2;2193:6;2189:15;2178:26;;2213:146;2229:6;2224:3;2221:15;2213:146;;;2295:21;2312:3;2295:21;:::i;:::-;2283:34;;2246:12;;;;2337;;;;2213:146;;;2377:5;1674:714;-1:-1:-1;;;;;;;1674:714:31:o;2393:710::-;2510:6;2518;2526;2534;2587:3;2575:9;2566:7;2562:23;2558:33;2555:53;;;2604:1;2601;2594:12;2555:53;2644:9;2631:23;2673:18;2714:2;2706:6;2703:14;2700:34;;;2730:1;2727;2720:12;2700:34;2753:50;2795:7;2786:6;2775:9;2771:22;2753:50;:::i;:::-;2743:60;;2822:38;2856:2;2845:9;2841:18;2822:38;:::i;:::-;2812:48;;2879:36;2911:2;2900:9;2896:18;2879:36;:::i;:::-;2869:46;;2968:2;2957:9;2953:18;2940:32;2924:48;;2997:2;2987:8;2984:16;2981:36;;;3013:1;3010;3003:12;2981:36;;3036:61;3089:7;3078:8;3067:9;3063:24;3036:61;:::i;:::-;3026:71;;;2393:710;;;;;;;:::o;3300:256::-;3366:6;3374;3427:2;3415:9;3406:7;3402:23;3398:32;3395:52;;;3443:1;3440;3433:12;3395:52;3466:29;3485:9;3466:29;:::i;:::-;3456:39;;3514:36;3546:2;3535:9;3531:18;3514:36;:::i;:::-;3504:46;;3300:256;;;;;:::o;3561:180::-;3620:6;3673:2;3661:9;3652:7;3648:23;3644:32;3641:52;;;3689:1;3686;3679:12;3641:52;-1:-1:-1;3712:23:31;;3561:180;-1:-1:-1;3561:180:31:o;3746:182::-;3803:6;3856:2;3844:9;3835:7;3831:23;3827:32;3824:52;;;3872:1;3869;3862:12;3824:52;3895:27;3912:9;3895:27;:::i;3933:635::-;4041:6;4049;4057;4110:2;4098:9;4089:7;4085:23;4081:32;4078:52;;;4126:1;4123;4116:12;4078:52;4166:9;4153:23;4195:18;4236:2;4228:6;4225:14;4222:34;;;4252:1;4249;4242:12;4222:34;4275:50;4317:7;4308:6;4297:9;4293:22;4275:50;:::i;:::-;4265:60;;4344:36;4376:2;4365:9;4361:18;4344:36;:::i;:::-;4334:46;;4433:2;4422:9;4418:18;4405:32;4389:48;;4462:2;4452:8;4449:16;4446:36;;;4478:1;4475;4468:12;4446:36;;4501:61;4554:7;4543:8;4532:9;4528:24;4501:61;:::i;:::-;4491:71;;;3933:635;;;;;:::o;4573:250::-;4658:1;4668:113;4682:6;4679:1;4676:13;4668:113;;;4758:11;;;4752:18;4739:11;;;4732:39;4704:2;4697:10;4668:113;;;-1:-1:-1;;4815:1:31;4797:16;;4790:27;4573:250::o;4828:271::-;4870:3;4908:5;4902:12;4935:6;4930:3;4923:19;4951:76;5020:6;5013:4;5008:3;5004:14;4997:4;4990:5;4986:16;4951:76;:::i;:::-;5081:2;5060:15;-1:-1:-1;;5056:29:31;5047:39;;;;5088:4;5043:50;;4828:271;-1:-1:-1;;4828:271:31:o;5104:444::-;5155:3;5193:5;5187:12;5220:6;5215:3;5208:19;5246:4;5275:2;5270:3;5266:12;5259:19;;5312:2;5305:5;5301:14;5333:1;5343:180;5357:6;5354:1;5351:13;5343:180;;;5422:13;;5437:4;5418:24;5406:37;;5463:12;;;;5498:15;;;;5379:1;5372:9;5343:180;;;-1:-1:-1;5539:3:31;;5104:444;-1:-1:-1;;;;;5104:444:31:o;5553:597::-;5601:3;5645:5;5639:12;5672:4;5667:3;5660:17;5698:47;5739:4;5734:3;5730:14;5716:12;5698:47;:::i;:::-;5686:59;;5806:4;5798;5791:5;5787:16;5781:23;5777:34;5770:4;5765:3;5761:14;5754:58;5860:4;5853:5;5849:16;5843:23;5908:3;5902:4;5898:14;5891:4;5886:3;5882:14;5875:38;5936:48;5979:4;5963:14;5936:48;:::i;:::-;6037:4;6026:16;;;6020:23;-1:-1:-1;;;;;6016:49:31;6000:14;;;5993:73;6115:4;6104:16;;;6098:23;6082:14;;;;6075:47;;;;-1:-1:-1;5922:62:31;;5553:597;-1:-1:-1;;5553:597:31:o;6155:835::-;6343:4;6372:2;6412;6401:9;6397:18;6442:2;6431:9;6424:21;6465:6;6500;6494:13;6531:6;6523;6516:22;6569:2;6558:9;6554:18;6547:25;;6631:2;6621:6;6618:1;6614:14;6603:9;6599:30;6595:39;6581:53;;6669:2;6661:6;6657:15;6690:1;6700:261;6714:6;6711:1;6708:13;6700:261;;;6807:2;6803:7;6791:9;6783:6;6779:22;6775:36;6770:3;6763:49;6835:46;6874:6;6865;6859:13;6835:46;:::i;:::-;6825:56;-1:-1:-1;6939:12:31;;;;6904:15;;;;6736:1;6729:9;6700:261;;;-1:-1:-1;6978:6:31;;6155:835;-1:-1:-1;;;;;;;6155:835:31:o;6995:118::-;7081:5;7074:13;7067:21;7060:5;7057:32;7047:60;;7103:1;7100;7093:12;7118:241;7174:6;7227:2;7215:9;7206:7;7202:23;7198:32;7195:52;;;7243:1;7240;7233:12;7195:52;7282:9;7269:23;7301:28;7323:5;7301:28;:::i;7364:468::-;7593:3;7582:9;7575:22;7556:4;7614:46;7655:3;7644:9;7640:19;7632:6;7614:46;:::i;:::-;7708:4;7696:17;;;;7691:2;7676:18;;7669:45;-1:-1:-1;;;;;;7750:32:31;;;;7745:2;7730:18;;7723:60;7814:2;7799:18;;;7792:34;7606:54;7364:468;-1:-1:-1;7364:468:31:o;8045:252::-;8220:2;8209:9;8202:21;8183:4;8240:51;8287:2;8276:9;8272:18;8264:6;8240:51;:::i;8302:401::-;8384:6;8392;8400;8408;8461:3;8449:9;8440:7;8436:23;8432:33;8429:53;;;8478:1;8475;8468:12;8429:53;8501:29;8520:9;8501:29;:::i;:::-;8491:39;;8549:36;8581:2;8570:9;8566:18;8549:36;:::i;:::-;8539:46;;8604:38;8638:2;8627:9;8623:18;8604:38;:::i;:::-;8594:48;;8661:36;8693:2;8682:9;8678:18;8661:36;:::i;:::-;8651:46;;8302:401;;;;;;;:::o;8944:322::-;9013:6;9066:2;9054:9;9045:7;9041:23;9037:32;9034:52;;;9082:1;9079;9072:12;9034:52;9122:9;9109:23;9155:18;9147:6;9144:30;9141:50;;;9187:1;9184;9177:12;9141:50;9210;9252:7;9243:6;9232:9;9228:22;9210:50;:::i;9582:127::-;9643:10;9638:3;9634:20;9631:1;9624:31;9674:4;9671:1;9664:15;9698:4;9695:1;9688:15;9714:127;9775:10;9770:3;9766:20;9763:1;9756:31;9806:4;9803:1;9796:15;9830:4;9827:1;9820:15;9846:135;9885:3;9906:17;;;9903:43;;9926:18;;:::i;:::-;-1:-1:-1;9973:1:31;9962:13;;9846:135::o;9986:380::-;10065:1;10061:12;;;;10108;;;10129:61;;10183:4;10175:6;10171:17;10161:27;;10129:61;10236:2;10228:6;10225:14;10205:18;10202:38;10199:161;;10282:10;10277:3;10273:20;10270:1;10263:31;10317:4;10314:1;10307:15;10345:4;10342:1;10335:15;10199:161;;9986:380;;;:::o;10371:281::-;-1:-1:-1;;;;;10559:32:31;;;;10541:51;;10640:4;10628:17;10623:2;10608:18;;10601:45;10529:2;10514:18;;10371:281::o;10657:245::-;10724:6;10777:2;10765:9;10756:7;10752:23;10748:32;10745:52;;;10793:1;10790;10783:12;10745:52;10825:9;10819:16;10844:28;10866:5;10844:28;:::i;10907:175::-;10944:3;10988:4;10981:5;10977:16;11017:4;11008:7;11005:17;11002:43;;11025:18;;:::i;:::-;11074:1;11061:15;;10907:175;-1:-1:-1;;10907:175:31:o;11553:289::-;11684:3;11722:6;11716:13;11738:66;11797:6;11792:3;11785:4;11777:6;11773:17;11738:66;:::i;:::-;11820:16;;;;;11553:289;-1:-1:-1;;11553:289:31:o;11973:842::-;12101:3;12130:1;12163:6;12157:13;12193:36;12219:9;12193:36;:::i;:::-;12248:1;12265:18;;;12292:133;;;;12439:1;12434:356;;;;12258:532;;12292:133;-1:-1:-1;;12325:24:31;;12313:37;;12398:14;;12391:22;12379:35;;12370:45;;;-1:-1:-1;12292:133:31;;12434:356;12465:6;12462:1;12455:17;12495:4;12540:2;12537:1;12527:16;12565:1;12579:165;12593:6;12590:1;12587:13;12579:165;;;12671:14;;12658:11;;;12651:35;12714:16;;;;12608:10;;12579:165;;;12583:3;;;12773:6;12768:3;12764:16;12757:23;;12258:532;-1:-1:-1;12806:3:31;;11973:842;-1:-1:-1;;;;;;11973:842:31:o;13227:128::-;13294:9;;;13315:11;;;13312:37;;;13329:18;;:::i;13360:125::-;13425:9;;;13446:10;;;13443:36;;;13459:18;;:::i;13490:545::-;13592:2;13587:3;13584:11;13581:448;;;13628:1;13653:5;13649:2;13642:17;13698:4;13694:2;13684:19;13768:2;13756:10;13752:19;13749:1;13745:27;13739:4;13735:38;13804:4;13792:10;13789:20;13786:47;;;-1:-1:-1;13827:4:31;13786:47;13882:2;13877:3;13873:12;13870:1;13866:20;13860:4;13856:31;13846:41;;13937:82;13955:2;13948:5;13945:13;13937:82;;;14000:17;;;13981:1;13970:13;13937:82;;;13941:3;;;13490:545;;;:::o;14211:1352::-;14337:3;14331:10;14364:18;14356:6;14353:30;14350:56;;;14386:18;;:::i;:::-;14415:97;14505:6;14465:38;14497:4;14491:11;14465:38;:::i;:::-;14459:4;14415:97;:::i;:::-;14567:4;;14631:2;14620:14;;14648:1;14643:663;;;;15350:1;15367:6;15364:89;;;-1:-1:-1;15419:19:31;;;15413:26;15364:89;-1:-1:-1;;14168:1:31;14164:11;;;14160:24;14156:29;14146:40;14192:1;14188:11;;;14143:57;15466:81;;14613:944;;14643:663;11920:1;11913:14;;;11957:4;11944:18;;-1:-1:-1;;14679:20:31;;;14797:236;14811:7;14808:1;14805:14;14797:236;;;14900:19;;;14894:26;14879:42;;14992:27;;;;14960:1;14948:14;;;;14827:19;;14797:236;;;14801:3;15061:6;15052:7;15049:19;15046:201;;;15122:19;;;15116:26;-1:-1:-1;;15205:1:31;15201:14;;;15217:3;15197:24;15193:37;15189:42;15174:58;15159:74;;15046:201;-1:-1:-1;;;;;15293:1:31;15277:14;;;15273:22;15260:36;;-1:-1:-1;14211:1352:31:o;15568:1431::-;15683:3;15677:4;15674:13;15671:26;;15690:5;;15568:1431::o;15671:26::-;15720:37;15752:3;15746:10;15720:37;:::i;:::-;15780:18;15772:6;15769:30;15766:56;;;15802:18;;:::i;:::-;15831:97;15921:6;15881:38;15913:4;15907:11;15881:38;:::i;15831:97::-;15954:1;15982:2;15974:6;15971:14;15999:1;15994:748;;;;16786:1;16803:6;16800:89;;;-1:-1:-1;16855:19:31;;;16849:26;16800:89;-1:-1:-1;;14168:1:31;14164:11;;;14160:24;14156:29;14146:40;14192:1;14188:11;;;14143:57;16902:81;;15964:1029;;15994:748;11920:1;11913:14;;;11957:4;11944:18;;-1:-1:-1;;16030:20:31;;;11920:1;11913:14;;;11957:4;11944:18;;16194:9;16216:251;16230:7;16227:1;16224:14;16216:251;;;16312:21;;;16306:28;16291:44;;16362:1;16435:18;;;;16390:15;;;;16253:4;16246:12;16216:251;;;16220:3;16495:6;16486:7;16483:19;16480:203;;;16556:21;;16550:28;-1:-1:-1;;16653:3:31;16641:1;16637:14;;;16633:24;16629:37;16625:42;16610:58;16595:74;;;-1:-1:-1;;16729:1:31;16713:14;;;16709:22;16696:36;;-1:-1:-1;15568:1431:31:o;17004:430::-;-1:-1:-1;;;;;17231:32:31;;17213:51;;17312:4;17300:17;;17295:2;17280:18;;17273:45;17354:2;17349;17334:18;;17327:30;;;-1:-1:-1;;17374:54:31;;17409:18;;17401:6;17374:54;:::i;17800:127::-;17861:10;17856:3;17852:20;17849:1;17842:31;17892:4;17889:1;17882:15;17916:4;17913:1;17906:15"},"methodIdentifiers":{"addOwner(address)":"7065cb48","canAnyUserPublishOffer()":"619980dc","canUserPublishOffer(address)":"29d3f60b","changeRemoveCardinInventoryWhenOffer(bool)":"58e57ebb","confirmOfferExchange(address,uint8,address,uint8)":"c08029e7","createOffer(string,uint8,uint8[])":"3e293e16","createOfferWithoUser(string,address,uint8,uint8[])":"17a1fed9","deleteAllOffers()":"322fba27","gammaCardsContract()":"d250f03a","getMaxOffersAllowed()":"90222aa1","getMaxOffersByUserAllowed()":"ba79b77b","getOfferByIndex(uint256)":"e359a0a1","getOfferByOfferId(string)":"e2b36596","getOfferByUserAndCardNumber(address,uint8)":"9f915069","getOffers()":"3ee992ee","getOffersByCardNumber(uint8)":"8400a189","getOffersByCardNumberCounter(uint8)":"ce7483d5","getOffersByUser(address)":"9618b333","getOffersByUserCounter(address)":"0cdb3117","getOffersCounter()":"cf86f8e5","hasOffer(address,uint8)":"2edb5fcf","init(address)":"19ab453c","isOwner(address)":"2f54bf6e","offers(uint256)":"8a72ea6a","offersByCardNumberCounter(uint8)":"d827a8f4","offersByUserCounter(address)":"7594a6ed","offersTotalCounter()":"5a919aeb","owner()":"8da5cb5b","removeOfferByCardNumber(uint8)":"3a027073","removeOfferByUserAndCardNumber(address,uint8)":"5bbfbfd6","removeOffersByUser(address)":"fc9e80fc","removeOwner(address)":"173825d9","renounceOwnership()":"715018a6","setGammaCardsContract(address)":"4c7a7ad3","setMaxCardNumbersAllowed(uint256)":"e02f9723","setMaxOffersAllowed(uint256)":"e5e5f732","setMaxOffersByUserAllowed(uint256)":"3808dfe7","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ExchangeError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GammaCardsContractNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCard\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCardNumber\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOfferId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OfferAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OfferDoesNotExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OfferNotDeleted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OffersMaximumAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCardsContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOwners\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RemoveOfferFromCardNumberMapping_DoNotMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RemoveOfferFromUserMapping_DoNotMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyHasCard\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserDoesNotHaveCard\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AllOffersRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGammaCardsContract\",\"type\":\"address\"}],\"name\":\"NewGammaCardsContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"OfferCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserOffersRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canAnyUserPublishOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"canUserPublishOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_value\",\"type\":\"bool\"}],\"name\":\"changeRemoveCardinInventoryWhenOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberWanted\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"offerWallet\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"offerCardNumber\",\"type\":\"uint8\"}],\"name\":\"confirmOfferExchange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"createOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"createOfferWithoUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteAllOffers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaCardsContract\",\"outputs\":[{\"internalType\":\"contract IGammaCardsContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxOffersAllowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxOffersByUserAllowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getOfferByIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct NofGammaOffersV4.Offer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"}],\"name\":\"getOfferByOfferId\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct NofGammaOffersV4.Offer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"getOfferByUserAndCardNumber\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct NofGammaOffersV4.Offer\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct NofGammaOffersV4.Offer[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"getOffersByCardNumber\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct NofGammaOffersV4.Offer[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"getOffersByCardNumberCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getOffersByUser\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"wantedCardNumbers\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct NofGammaOffersV4.Offer[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getOffersByUserCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffersCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"hasOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cardsContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"offers\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"offerId\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"offersByCardNumberCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"offersByUserCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"offersTotalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"removeOfferByCardNumber\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"removeOfferByUserAndCardNumber\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"removeOffersByUser\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownerToRemove\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaCardsContract\",\"type\":\"address\"}],\"name\":\"setGammaCardsContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxCardNumbersAllowed\",\"type\":\"uint256\"}],\"name\":\"setMaxCardNumbersAllowed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxOffersAllowed\",\"type\":\"uint256\"}],\"name\":\"setMaxOffersAllowed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxOffersByUserAllowed\",\"type\":\"uint256\"}],\"name\":\"setMaxOffersByUserAllowed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaOffers.v4.sol\":\"NofGammaOffersV4\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaOffers.v4.sol\":{\"keccak256\":\"0xf6d774169b447f6bf21ec9e430f64e8a02477cd7e5be766ddeef642d5b925c17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed9649e0c1568fbe4b0befe4d9492b93140aa9dc708422299f8792a695bc99f2\",\"dweb:/ipfs/QmREWczT9rqy2g6Cf5yQWpV8WnHsWjLAHK71LwxxrcWpe8\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":7,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":7160,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"gammaCardsContract","offset":0,"slot":"1","type":"t_contract(IGammaCardsContract)7151"},{"astId":7163,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"ownersData","offset":0,"slot":"2","type":"t_struct(Data)10343_storage"},{"astId":7169,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"maxOffersAllowed","offset":0,"slot":"4","type":"t_uint256"},{"astId":7175,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"maxOffersByUserAllowed","offset":0,"slot":"5","type":"t_uint256"},{"astId":7181,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"maxCardNumbersAllowed","offset":0,"slot":"6","type":"t_uint256"},{"astId":7184,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"removeCardInInventoryWhenOffer","offset":0,"slot":"7","type":"t_bool"},{"astId":7200,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offers","offset":0,"slot":"8","type":"t_array(t_struct(Offer)7196_storage)dyn_storage"},{"astId":7206,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offersByUser","offset":0,"slot":"9","type":"t_mapping(t_address,t_array(t_struct(Offer)7196_storage)dyn_storage)"},{"astId":7212,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offersByCardNumber","offset":0,"slot":"10","type":"t_mapping(t_uint8,t_array(t_struct(Offer)7196_storage)dyn_storage)"},{"astId":7216,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offersByUserCounter","offset":0,"slot":"11","type":"t_mapping(t_address,t_uint256)"},{"astId":7220,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offersByCardNumberCounter","offset":0,"slot":"12","type":"t_mapping(t_uint8,t_uint256)"},{"astId":7222,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offersTotalCounter","offset":0,"slot":"13","type":"t_uint256"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(Offer)7196_storage)dyn_storage":{"base":"t_struct(Offer)7196_storage","encoding":"dynamic_array","label":"struct NofGammaOffersV4.Offer[]","numberOfBytes":"32"},"t_array(t_uint8)dyn_storage":{"base":"t_uint8","encoding":"dynamic_array","label":"uint8[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_contract(IGammaCardsContract)7151":{"encoding":"inplace","label":"contract IGammaCardsContract","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_struct(Offer)7196_storage)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct NofGammaOffersV4.Offer[])","numberOfBytes":"32","value":"t_array(t_struct(Offer)7196_storage)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint8,t_array(t_struct(Offer)7196_storage)dyn_storage)":{"encoding":"mapping","key":"t_uint8","label":"mapping(uint8 => struct NofGammaOffersV4.Offer[])","numberOfBytes":"32","value":"t_array(t_struct(Offer)7196_storage)dyn_storage"},"t_mapping(t_uint8,t_uint256)":{"encoding":"mapping","key":"t_uint8","label":"mapping(uint8 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Data)10343_storage":{"encoding":"inplace","label":"struct LibControlMgmt.Data","members":[{"astId":10338,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"owners","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":10342,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"signers","offset":0,"slot":"1","type":"t_mapping(t_address,t_bool)"}],"numberOfBytes":"64"},"t_struct(Offer)7196_storage":{"encoding":"inplace","label":"struct NofGammaOffersV4.Offer","members":[{"astId":7186,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"offerId","offset":0,"slot":"0","type":"t_string_storage"},{"astId":7188,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"cardNumber","offset":0,"slot":"1","type":"t_uint8"},{"astId":7191,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"wantedCardNumbers","offset":0,"slot":"2","type":"t_array(t_uint8)dyn_storage"},{"astId":7193,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"owner","offset":0,"slot":"3","type":"t_address"},{"astId":7195,"contract":"contracts/gamma/GammaOffers.v4.sol:NofGammaOffersV4","label":"timestamp","offset":0,"slot":"4","type":"t_uint256"}],"numberOfBytes":"160"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}}},"contracts/gamma/GammaPacks.v3.sol":{"IGammaCardsContract":{"abi":[{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"changePackPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setPrizesBalance","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"changePackPrice(uint256)":"e1883c6e","setPrizesBalance(uint256)":"5e31ce48"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"changePackPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setPrizesBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaPacks.v3.sol\":\"IGammaCardsContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaPacks.v3.sol\":{\"keccak256\":\"0x7b8d0ea1f80db47901e47ed0d357e6845f66137e0576f0e56c7aa12dfd58ac1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a1bd7ef11fdec6809f84bf72adbf367630ae92c35123d336b214b624636be88\",\"dweb:/ipfs/QmdN23YPq9jpn88BVcX6wtkMJue3BTxP12GXRZDJubZwjb\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IgammaTicketsContract":{"abi":[{"inputs":[],"name":"deleteAllTickets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLotteryWinner","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"deleteAllTickets()":"306e4118","getLotteryWinner()":"b2d55c1c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deleteAllTickets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLotteryWinner\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaPacks.v3.sol\":\"IgammaTicketsContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaPacks.v3.sol\":{\"keccak256\":\"0x7b8d0ea1f80db47901e47ed0d357e6845f66137e0576f0e56c7aa12dfd58ac1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a1bd7ef11fdec6809f84bf72adbf367630ae92c35123d336b214b624636be88\",\"dweb:/ipfs/QmdN23YPq9jpn88BVcX6wtkMJue3BTxP12GXRZDJubZwjb\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"NofGammaPacksV3":{"abi":[{"inputs":[],"name":"InsufficientAllowance","type":"error"},{"inputs":[],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InsufficientPacksAvailable","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidNumberOfPacks","type":"error"},{"inputs":[],"name":"NotGammaCardsContract","type":"error"},{"inputs":[],"name":"NotYourPack","type":"error"},{"inputs":[],"name":"OwnlyOwners","type":"error"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"TransferPrizeError","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"balanceReceiver","type":"address"}],"name":"NewBalanceReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newCardsContract","type":"address"}],"name":"NewGammaCardsContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaTicketContract","type":"address"}],"name":"NewGammaTicketsContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"NewPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"PackOpened","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"PackPurchased","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":"PackTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"buyer","type":"address"},{"indexed":true,"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"PacksPurchased","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":"PacksTransfered","type":"event"},{"inputs":[],"name":"DAI_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTALSUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyPack","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"buyPackByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfPacks","type":"uint256"}],"name":"buyPacks","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"numberOfPacks","type":"uint256"}],"name":"buyPacksByUser","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newBalanceReceiver","type":"address"}],"name":"changeBalanceReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"changePrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_transferDai","type":"bool"}],"name":"changeTransferDaiFlag","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gammaCardsContract","outputs":[{"internalType":"contract IGammaCardsContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gammaTicketsContract","outputs":[{"internalType":"contract IgammaTicketsContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfPacks","type":"uint256"}],"name":"getAmountRequiredToBuyPacks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getPackOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getPacksByUser","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfPacks","type":"uint256"}],"name":"getPrizeAmountToBuyPacks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfPacks","type":"uint256"}],"name":"getPrizeNoFAccountAmountToBuyPacks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_daiTokenAddress","type":"address"},{"internalType":"address","name":"_balanceReceiver","type":"address"},{"internalType":"address","name":"_gammaCardsContract","type":"address"},{"internalType":"address","name":"_gammaTicketsContract","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"numberOfPacks","type":"uint256"}],"name":"meetQuantityConditionsToBuy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"openPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"address","name":"owner","type":"address"}],"name":"openPacks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_ownerToRemove","type":"address"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"s_balanceReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_packPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"s_packs","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"s_packsByUser","outputs":[{"internalType":"uint256","name":"tokenIds","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaCardsContract","type":"address"}],"name":"setGammaCardsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaTicketsContract","type":"address"}],"name":"setGammaTicketsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"testOpenPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"address","name":"owner","type":"address"}],"name":"testOpenPacks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"name":"transferPacks","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23":{"entryPoint":null,"id":23,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":61,"id":111,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":1929},{"length":20,"start":2438}]}},"object":"60806040526710a741a46278000060075560006008556009805460ff1916600117905534801561002e57600080fd5b506100383361003d565b61008d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611bde8061009c6000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806394a08c6911610125578063d250f03a116100ad578063d9e8221e1161007c578063d9e8221e146104d1578063ddb975e8146104e4578063e0f78307146104f7578063e606df871461050a578063f2fde38b1461051d57600080fd5b8063d250f03a1461046f578063d3e6a7ad14610482578063d611713e146104ab578063d6a4c3e4146104be57600080fd5b8063a2b40d19116100f4578063a2b40d191461041b578063ab4bdbc81461042e578063b48ce65314610441578063c34e8af414610454578063c37b9bcd1461046757600080fd5b806394a08c69146103d9578063967ed63d146103e257806397f8b3d3146103f557806399e5f8961461040857600080fd5b80634c7a7ad3116101a85780637065cb48116101775780637065cb4814610387578063715018a61461039a57806380f2540b146103a25780638da5cb5b146103b55780638fd5baf7146103c657600080fd5b80634c7a7ad31461033857806362e218781461034b578063656bd0ad1461036b5780636adbaf751461037457600080fd5b8063173825d9116101ef578063173825d91461029a5780632f54bf6e146102ad57806339e8d3ec146102e95780633cd626fd146102fc5780633f6ecd481461032557600080fd5b806301321c4d1461022157806306552ff3146102475780630c3e5c001461025c57806314cca36a1461026f575b600080fd5b61023461022f3660046117da565b610530565b6040519081526020015b60405180910390f35b61025a61025536600461180a565b61055e565b005b61025a61026a36600461190f565b61061c565b600254610282906001600160a01b031681565b6040516001600160a01b03909116815260200161023e565b61025a6102a836600461195d565b610698565b6102d96102bb36600461195d565b6001600160a01b031660009081526003602052604090205460ff1690565b604051901515815260200161023e565b61025a6102f7366004611978565b61073e565b61028261030a3660046117da565b600a602052600090815260409020546001600160a01b031681565b6102346103333660046117da565b61077c565b61025a61034636600461195d565b6107ab565b61035e61035936600461199b565b61084c565b60405161023e91906119c5565b61023460075481565b61035e6103823660046117da565b610889565b61025a61039536600461195d565b610895565b61025a61090c565b61025a6103b0366004611978565b610920565b6000546001600160a01b0316610282565b61035e6103d436600461195d565b61094b565b61023461c35081565b6102346103f036600461195d565b6109b7565b61025a61040336600461190f565b6109f5565b61025a610416366004611a17565b610a67565b61025a6104293660046117da565b610aaa565b61025a61043c366004611a34565b610b6b565b61023461044f3660046117da565b610c02565b600654610282906001600160a01b031681565b610234610c2f565b600154610282906001600160a01b031681565b6102826104903660046117da565b6000908152600a60205260409020546001600160a01b031690565b61025a6104b936600461199b565b610c3f565b6102d96104cc3660046117da565b610c49565b6102346104df36600461199b565b610c84565b61025a6104f236600461195d565b610cb5565b61025a61050536600461195d565b610d56565b600554610282906001600160a01b031681565b61025a61052b36600461195d565b610df7565b60008061053c8361077c565b9050808360075461054d9190611a98565b6105579190611aaf565b9392505050565b610566610e75565b6001600160a01b038316158061058357506001600160a01b038216155b8061059557506001600160a01b038116155b156105b35760405163e6c4247b60e01b815260040160405180910390fd5b600580546001600160a01b03199081166001600160a01b039687161790915560068054821694861694909417909355600180548416928516929092178255600280549093169316929092179055336000908152600360205260409020805460ff19169091179055565b3360009081526003602052604090205460ff1661064c57604051631833a1e960e31b815260040160405180910390fd5b60005b825181101561069357600083828151811061066c5761066c611ac2565b602002602001015190506106808184610ecf565b508061068b81611ad8565b91505061064f565b505050565b3360009081526003602052604090205460ff166106c857604051631833a1e960e31b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561072357600080fd5b505af4158015610737573d6000803e3d6000fd5b5050505050565b3360009081526003602052604090205460ff1661076e57604051631833a1e960e31b815260040160405180910390fd5b6107788282610ecf565b5050565b600081600660075461078e9190611af1565b60075461079b9190611aaf565b6107a59190611a98565b92915050565b3360009081526003602052604090205460ff166107db57604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b0381166108025760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa90600090a250565b3360009081526003602052604090205460609060ff1661087f57604051631833a1e960e31b815260040160405180910390fd5b6105578383610f2c565b60606107a53383610f2c565b3360009081526003602052604090205460ff166108c557604051631833a1e960e31b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161070b565b610914610e75565b61091e6000611192565b565b6001546001600160a01b0316331461076e57604051630f8d39bd60e41b815260040160405180910390fd5b6001600160a01b0381166000908152600b60209081526040918290208054835181840281018401909452808452606093928301828280156109ab57602002820191906000526020600020905b815481526020019060010190808311610997575b50505050509050919050565b3360009081526003602052604081205460ff166109e757604051631833a1e960e31b815260040160405180910390fd5b6107a5826111e2565b919050565b6001546001600160a01b03163314610a2057604051630f8d39bd60e41b815260040160405180910390fd5b60005b8251811015610693576000838281518110610a4057610a40611ac2565b60200260200101519050610a548184610ecf565b5080610a5f81611ad8565b915050610a23565b3360009081526003602052604090205460ff16610a9757604051631833a1e960e31b815260040160405180910390fd5b6009805460ff1916911515919091179055565b3360009081526003602052604090205460ff16610ada57604051631833a1e960e31b815260040160405180910390fd5b60078190556001546040516370c41e3760e11b8152600481018390526001600160a01b039091169063e1883c6e90602401600060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b50506040518392507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b79150600090a250565b60005b8151811015610bb2576000828281518110610b8b57610b8b611ac2565b60200260200101519050610b9f8482611215565b5080610baa81611ad8565b915050610b6e565b5080604051610bc19190611b13565b604051908190038120906001600160a01b0384169033907f1affae2fd35738ec8f6a4212f337c673b41aa2231f1bd5cfeb94463a93ace1f190600090a45050565b600080610c0e8361077c565b90506000610c1b84610530565b9050610c278183611b49565b949350505050565b6000610c3a336111e2565b905090565b6107788282611215565b600081600003610c6c57604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610c7d9190611b49565b1092915050565b600b6020528160005260406000208181548110610ca057600080fd5b90600052602060002001600091509150505481565b3360009081526003602052604090205460ff16610ce557604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610d0c5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a250565b3360009081526003602052604090205460ff16610d8657604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610dad5760405163e6c4247b60e01b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f7161c7a7090d78e8031fca87e845a86b39e0eb9c15436933d2d4ce7f4520c4a590600090a250565b610dff610e75565b6001600160a01b038116610e695760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610e7281611192565b50565b6000546001600160a01b0316331461091e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e60565b610ed98282611301565b6000828152600a602052604080822080546001600160a01b03191690555183916001600160a01b038416917f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c9190a35050565b60606001600160a01b038316610f555760405163e6c4247b60e01b815260040160405180910390fd5b811580610f625750606482115b15610f8057604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610f919190611b49565b10610faf57604051637c5a3c3960e01b815260040160405180910390fd5b60008267ffffffffffffffff811115610fca57610fca61185e565b604051908082528060200260200182016040528015610ff3578160200160208202803683370190505b5060085490915060005b848110156110a35761c350821061102757604051637c5a3c3960e01b815260040160405180910390fd5b6000828152600a6020908152604080832080546001600160a01b0319166001600160a01b038b169081179091558352600b8252822080546001810182559083529120018290558251829084908390811061108357611083611ac2565b60209081029190910101528161109881611ad8565b925050600101610ffd565b50600881905560006110b58686611440565b9050806110e057604051630bd7e48f60e21b81526001600160a01b0387166004820152602401610e60565b8460010361113e57826000815181106110fb576110fb611ac2565b6020026020010151866001600160a01b03167fc79cad949a408373456da7a9e88e8114102aa00e03a69733c70e3a0d95944ca760405160405180910390a3611188565b8260405161114c9190611b13565b604051908190038120906001600160a01b038816907f8ae8b18ed6d499ec84f68235bf3512b3db155f7911789805d36093467e5971c990600090a35b5090949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806111f0836001610f2c565b90508060008151811061120557611205611ac2565b6020026020010151915050919050565b6001600160a01b03821661123c5760405163e6c4247b60e01b815260040160405180910390fd5b6000818152600a60205260409020546001600160a01b0316331461127357604051637f6ecdf560e01b815260040160405180910390fd5b6000818152600a6020526040902080546001600160a01b0319166001600160a01b0384161790556112a48133611301565b6001600160a01b0382166000818152600b6020908152604080832080546001810182559084529183209091018490555183929133917f16e5698e3d85c69c8d8cdb9a21893b33518e24d8cb69d9944d4bfd233464c3a29190a45050565b6001600160a01b0381166000908152600b6020526040812054905b8181101561143a576001600160a01b0383166000908152600b6020526040902080548591908390811061135157611351611ac2565b906000526020600020015403611428576001600160a01b0383166000908152600b60205260409020805461138790600190611aaf565b8154811061139757611397611ac2565b9060005260206000200154600b6000856001600160a01b03166001600160a01b0316815260200190815260200160002082815481106113d8576113d8611ac2565b60009182526020808320909101929092556001600160a01b0385168152600b9091526040902080548061140d5761140d611b5c565b6001900381819060005260206000200160009055905561143a565b8061143281611ad8565b91505061131c565b50505050565b60008061144c8361077c565b9050600061145984610530565b600154604051630bc639c960e31b8152600481018590529192506001600160a01b031690635e31ce4890602401600060405180830381600087803b1580156114a057600080fd5b505af11580156114b4573d6000803e3d6000fd5b505060095460ff161591506117cf9050576005546001600160a01b03166114db8284611b49565b604051636eb1769f60e11b81526001600160a01b03888116600483015230602483015283169063dd62ed3e90604401602060405180830381865afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154b9190611b72565b101561156a576040516313be252b60e01b815260040160405180910390fd5b6040516370a0823160e01b81526001600160a01b0387811660048301528491908316906370a0823190602401602060405180830381865afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190611b72565b108061164d57506040516370a0823160e01b81526001600160a01b0387811660048301528391908316906370a0823190602401602060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190611b72565b105b1561166b57604051631e9acf1760e31b815260040160405180910390fd5b6001546040516323b872dd60e01b81526001600160a01b0388811660048301529182166024820152604481018590526000918316906323b872dd906064016020604051808303816000875af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ec9190611b8b565b90508061171b57600154604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b6006546040516323b872dd60e01b81526001600160a01b0389811660048301529182166024820152604481018590526000918416906323b872dd906064016020604051808303816000875af1158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c9190611b8b565b9050806117cb57600654604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b5050505b506001949350505050565b6000602082840312156117ec57600080fd5b5035919050565b80356001600160a01b03811681146109f057600080fd5b6000806000806080858703121561182057600080fd5b611829856117f3565b9350611837602086016117f3565b9250611845604086016117f3565b9150611853606086016117f3565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261188557600080fd5b8135602067ffffffffffffffff808311156118a2576118a261185e565b8260051b604051601f19603f830116810181811084821117156118c7576118c761185e565b6040529384528581018301938381019250878511156118e557600080fd5b83870191505b84821015611904578135835291830191908301906118eb565b979650505050505050565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b61194585828601611874565b925050611954602084016117f3565b90509250929050565b60006020828403121561196f57600080fd5b610557826117f3565b6000806040838503121561198b57600080fd5b82359150611954602084016117f3565b600080604083850312156119ae57600080fd5b6119b7836117f3565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156119fd578351835292840192918401916001016119e1565b50909695505050505050565b8015158114610e7257600080fd5b600060208284031215611a2957600080fd5b813561055781611a09565b60008060408385031215611a4757600080fd5b611a50836117f3565b9150602083013567ffffffffffffffff811115611a6c57600080fd5b611a7885828601611874565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107a5576107a5611a82565b818103818111156107a5576107a5611a82565b634e487b7160e01b600052603260045260246000fd5b600060018201611aea57611aea611a82565b5060010190565b600082611b0e57634e487b7160e01b600052601260045260246000fd5b500490565b815160009082906020808601845b83811015611b3d57815185529382019390820190600101611b21565b50929695505050505050565b808201808211156107a5576107a5611a82565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611b8457600080fd5b5051919050565b600060208284031215611b9d57600080fd5b815161055781611a0956fea2646970667358221220fd54fd5d99679dd24123986c2b3fe3d53c16d5b0be561d77ba62c9b5e4a6b5b064736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH8 0x10A741A462780000 PUSH1 0x7 SSTORE PUSH1 0x0 PUSH1 0x8 SSTORE PUSH1 0x9 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x2E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38 CALLER PUSH2 0x3D JUMP JUMPDEST PUSH2 0x8D JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x1BDE DUP1 PUSH2 0x9C PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x21C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94A08C69 GT PUSH2 0x125 JUMPI DUP1 PUSH4 0xD250F03A GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xD9E8221E GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xD9E8221E EQ PUSH2 0x4D1 JUMPI DUP1 PUSH4 0xDDB975E8 EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xE0F78307 EQ PUSH2 0x4F7 JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x51D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xD250F03A EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0xD3E6A7AD EQ PUSH2 0x482 JUMPI DUP1 PUSH4 0xD611713E EQ PUSH2 0x4AB JUMPI DUP1 PUSH4 0xD6A4C3E4 EQ PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA2B40D19 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0xA2B40D19 EQ PUSH2 0x41B JUMPI DUP1 PUSH4 0xAB4BDBC8 EQ PUSH2 0x42E JUMPI DUP1 PUSH4 0xB48CE653 EQ PUSH2 0x441 JUMPI DUP1 PUSH4 0xC34E8AF4 EQ PUSH2 0x454 JUMPI DUP1 PUSH4 0xC37B9BCD EQ PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x94A08C69 EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0x967ED63D EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0x97F8B3D3 EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0x99E5F896 EQ PUSH2 0x408 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4C7A7AD3 GT PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x7065CB48 GT PUSH2 0x177 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x387 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0x80F2540B EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3B5 JUMPI DUP1 PUSH4 0x8FD5BAF7 EQ PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4C7A7AD3 EQ PUSH2 0x338 JUMPI DUP1 PUSH4 0x62E21878 EQ PUSH2 0x34B JUMPI DUP1 PUSH4 0x656BD0AD EQ PUSH2 0x36B JUMPI DUP1 PUSH4 0x6ADBAF75 EQ PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x173825D9 GT PUSH2 0x1EF JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x2AD JUMPI DUP1 PUSH4 0x39E8D3EC EQ PUSH2 0x2E9 JUMPI DUP1 PUSH4 0x3CD626FD EQ PUSH2 0x2FC JUMPI DUP1 PUSH4 0x3F6ECD48 EQ PUSH2 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1321C4D EQ PUSH2 0x221 JUMPI DUP1 PUSH4 0x6552FF3 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0xC3E5C00 EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0x14CCA36A EQ PUSH2 0x26F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x234 PUSH2 0x22F CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x530 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25A PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0x180A JUMP JUMPDEST PUSH2 0x55E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x25A PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x190F JUMP JUMPDEST PUSH2 0x61C JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST PUSH2 0x25A PUSH2 0x2A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x698 JUMP JUMPDEST PUSH2 0x2D9 PUSH2 0x2BB CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST PUSH2 0x25A PUSH2 0x2F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x73E JUMP JUMPDEST PUSH2 0x282 PUSH2 0x30A CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x333 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x77C JUMP JUMPDEST PUSH2 0x25A PUSH2 0x346 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x7AB JUMP JUMPDEST PUSH2 0x35E PUSH2 0x359 CALLDATASIZE PUSH1 0x4 PUSH2 0x199B JUMP JUMPDEST PUSH2 0x84C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x19C5 JUMP JUMPDEST PUSH2 0x234 PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x35E PUSH2 0x382 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x889 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x395 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x895 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x90C JUMP JUMPDEST PUSH2 0x25A PUSH2 0x3B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x920 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x282 JUMP JUMPDEST PUSH2 0x35E PUSH2 0x3D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x94B JUMP JUMPDEST PUSH2 0x234 PUSH2 0xC350 DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x3F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x9B7 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x403 CALLDATASIZE PUSH1 0x4 PUSH2 0x190F JUMP JUMPDEST PUSH2 0x9F5 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x416 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A17 JUMP JUMPDEST PUSH2 0xA67 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x429 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0xAAA JUMP JUMPDEST PUSH2 0x25A PUSH2 0x43C CALLDATASIZE PUSH1 0x4 PUSH2 0x1A34 JUMP JUMPDEST PUSH2 0xB6B JUMP JUMPDEST PUSH2 0x234 PUSH2 0x44F CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0xC02 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0xC2F JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x282 PUSH2 0x490 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x4B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x199B JUMP JUMPDEST PUSH2 0xC3F JUMP JUMPDEST PUSH2 0x2D9 PUSH2 0x4CC CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0xC49 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x4DF CALLDATASIZE PUSH1 0x4 PUSH2 0x199B JUMP JUMPDEST PUSH2 0xC84 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x4F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0xCB5 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x505 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x52B CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0xDF7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x53C DUP4 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP DUP1 DUP4 PUSH1 0x7 SLOAD PUSH2 0x54D SWAP2 SWAP1 PUSH2 0x1A98 JUMP JUMPDEST PUSH2 0x557 SWAP2 SWAP1 PUSH2 0x1AAF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x566 PUSH2 0xE75 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x583 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST DUP1 PUSH2 0x595 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO JUMPDEST ISZERO PUSH2 0x5B3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x6 DUP1 SLOAD DUP3 AND SWAP5 DUP7 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE PUSH1 0x1 DUP1 SLOAD DUP5 AND SWAP3 DUP6 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP4 AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x693 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x66C JUMPI PUSH2 0x66C PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0x680 DUP2 DUP5 PUSH2 0xECF JUMP JUMPDEST POP DUP1 PUSH2 0x68B DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x64F JUMP JUMPDEST POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x6C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x723 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x737 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x76E JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x778 DUP3 DUP3 PUSH2 0xECF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 PUSH1 0x7 SLOAD PUSH2 0x78E SWAP2 SWAP1 PUSH2 0x1AF1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH2 0x79B SWAP2 SWAP1 PUSH2 0x1AAF JUMP JUMPDEST PUSH2 0x7A5 SWAP2 SWAP1 PUSH2 0x1A98 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x7DB JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x802 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x45C9EBA39B5AE3E7A6650B0A57BCB8E5D135936D56D111983DBC5860AE6760FA SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x60 SWAP1 PUSH1 0xFF AND PUSH2 0x87F JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x557 DUP4 DUP4 PUSH2 0xF2C JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7A5 CALLER DUP4 PUSH2 0xF2C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x8C5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x70B JUMP JUMPDEST PUSH2 0x914 PUSH2 0xE75 JUMP JUMPDEST PUSH2 0x91E PUSH1 0x0 PUSH2 0x1192 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x76E JUMPI PUSH1 0x40 MLOAD PUSH4 0xF8D39BD PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x9AB JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x997 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x9E7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x7A5 DUP3 PUSH2 0x11E2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA20 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF8D39BD PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x693 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xA40 JUMPI PUSH2 0xA40 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0xA54 DUP2 DUP5 PUSH2 0xECF JUMP JUMPDEST POP DUP1 PUSH2 0xA5F DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xA23 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xADA JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 DUP2 SWAP1 SSTORE PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x70C41E37 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE1883C6E SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB39 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD DUP4 SWAP3 POP PUSH32 0x270B316B51AB2CF3A3BB8CA4D22E76A327D05E762FCAA8BD6AFAF8CFDE9270B7 SWAP2 POP PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB8B JUMPI PUSH2 0xB8B PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0xB9F DUP5 DUP3 PUSH2 0x1215 JUMP JUMPDEST POP DUP1 PUSH2 0xBAA DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xB6E JUMP JUMPDEST POP DUP1 PUSH1 0x40 MLOAD PUSH2 0xBC1 SWAP2 SWAP1 PUSH2 0x1B13 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 CALLER SWAP1 PUSH32 0x1AFFAE2FD35738EC8F6A4212F337C673B41AA2231F1BD5CFEB94463A93ACE1F1 SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC0E DUP4 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC1B DUP5 PUSH2 0x530 JUMP JUMPDEST SWAP1 POP PUSH2 0xC27 DUP2 DUP4 PUSH2 0x1B49 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC3A CALLER PUSH2 0x11E2 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x778 DUP3 DUP3 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xC6C JUMPI PUSH1 0x40 MLOAD PUSH4 0x2EC760A5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC350 DUP3 PUSH1 0x8 SLOAD PUSH2 0xC7D SWAP2 SWAP1 PUSH2 0x1B49 JUMP JUMPDEST LT SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xCA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xCE5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xD0C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x563F24D71E856F79BEC30E1AA96082A296CD13F0A71CEC730A72B719FA0FA202 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xD86 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xDAD JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x7161C7A7090D78E8031FCA87E845A86B39E0EB9C15436933D2D4CE7F4520C4A5 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0xDFF PUSH2 0xE75 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE69 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE72 DUP2 PUSH2 0x1192 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x91E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xE60 JUMP JUMPDEST PUSH2 0xED9 DUP3 DUP3 PUSH2 0x1301 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE MLOAD DUP4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 PUSH32 0x459BDAA71B6C253B49D34A7622DC4C6C1C416C0567571C068B392BA7172DDD4C SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xF55 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 ISZERO DUP1 PUSH2 0xF62 JUMPI POP PUSH1 0x64 DUP3 GT JUMPDEST ISZERO PUSH2 0xF80 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2EC760A5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC350 DUP3 PUSH1 0x8 SLOAD PUSH2 0xF91 SWAP2 SWAP1 PUSH2 0x1B49 JUMP JUMPDEST LT PUSH2 0xFAF JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C5A3C39 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFCA JUMPI PUSH2 0xFCA PUSH2 0x185E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xFF3 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP PUSH1 0x8 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x10A3 JUMPI PUSH2 0xC350 DUP3 LT PUSH2 0x1027 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C5A3C39 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP4 MSTORE PUSH1 0xB DUP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 ADD DUP3 SWAP1 SSTORE DUP3 MLOAD DUP3 SWAP1 DUP5 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1083 JUMPI PUSH2 0x1083 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP2 PUSH2 0x1098 DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 ADD PUSH2 0xFFD JUMP JUMPDEST POP PUSH1 0x8 DUP2 SWAP1 SSTORE PUSH1 0x0 PUSH2 0x10B5 DUP7 DUP7 PUSH2 0x1440 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x10E0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xBD7E48F PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xE60 JUMP JUMPDEST DUP5 PUSH1 0x1 SUB PUSH2 0x113E JUMPI DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x10FB JUMPI PUSH2 0x10FB PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xC79CAD949A408373456DA7A9E88E8114102AA00E03A69733C70E3A0D95944CA7 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x1188 JUMP JUMPDEST DUP3 PUSH1 0x40 MLOAD PUSH2 0x114C SWAP2 SWAP1 PUSH2 0x1B13 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0x8AE8B18ED6D499EC84F68235BF3512B3DB155F7911789805D36093467E5971C9 SWAP1 PUSH1 0x0 SWAP1 LOG3 JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11F0 DUP4 PUSH1 0x1 PUSH2 0xF2C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1205 JUMPI PUSH2 0x1205 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x123C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1273 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7F6ECDF5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND OR SWAP1 SSTORE PUSH2 0x12A4 DUP2 CALLER PUSH2 0x1301 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP5 MSTORE SWAP2 DUP4 KECCAK256 SWAP1 SWAP2 ADD DUP5 SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 CALLER SWAP2 PUSH32 0x16E5698E3D85C69C8D8CDB9A21893B33518E24D8CB69D9944D4BFD233464C3A2 SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x143A JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP6 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1351 JUMPI PUSH2 0x1351 PUSH2 0x1AC2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SUB PUSH2 0x1428 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1387 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1AAF JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1397 JUMPI PUSH2 0x1397 PUSH2 0x1AC2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0xB PUSH1 0x0 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x13D8 JUMPI PUSH2 0x13D8 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE PUSH1 0xB SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH2 0x140D JUMPI PUSH2 0x140D PUSH2 0x1B5C JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE PUSH2 0x143A JUMP JUMPDEST DUP1 PUSH2 0x1432 DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x131C JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x144C DUP4 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1459 DUP5 PUSH2 0x530 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xBC639C9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5E31CE48 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14B4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x9 SLOAD PUSH1 0xFF AND ISZERO SWAP2 POP PUSH2 0x17CF SWAP1 POP JUMPI PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x14DB DUP3 DUP5 PUSH2 0x1B49 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE DUP4 AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1527 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x154B SWAP2 SWAP1 PUSH2 0x1B72 JUMP JUMPDEST LT ISZERO PUSH2 0x156A JUMPI PUSH1 0x40 MLOAD PUSH4 0x13BE252B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP5 SWAP2 SWAP1 DUP4 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15D7 SWAP2 SWAP1 PUSH2 0x1B72 JUMP JUMPDEST LT DUP1 PUSH2 0x164D JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP4 SWAP2 SWAP1 DUP4 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1627 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x164B SWAP2 SWAP1 PUSH2 0x1B72 JUMP JUMPDEST LT JUMPDEST ISZERO PUSH2 0x166B JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E9ACF17 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP4 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x16C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16EC SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x171B JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xBD7E48F PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xE60 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP5 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1778 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x179C SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x17CB JUMPI PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xBD7E48F PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x9F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1820 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1829 DUP6 PUSH2 0x17F3 JUMP JUMPDEST SWAP4 POP PUSH2 0x1837 PUSH1 0x20 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP3 POP PUSH2 0x1845 PUSH1 0x40 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1853 PUSH1 0x60 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1885 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x18A2 JUMPI PUSH2 0x18A2 PUSH2 0x185E JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x18C7 JUMPI PUSH2 0x18C7 PUSH2 0x185E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH2 0x18E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH2 0x1904 JUMPI DUP2 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x18EB JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1939 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1945 DUP6 DUP3 DUP7 ADD PUSH2 0x1874 JUMP JUMPDEST SWAP3 POP POP PUSH2 0x1954 PUSH1 0x20 DUP5 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x196F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x557 DUP3 PUSH2 0x17F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x198B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1954 PUSH1 0x20 DUP5 ADD PUSH2 0x17F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19B7 DUP4 PUSH2 0x17F3 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x19FD JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x19E1 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xE72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x557 DUP2 PUSH2 0x1A09 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A50 DUP4 PUSH2 0x17F3 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A78 DUP6 DUP3 DUP7 ADD PUSH2 0x1874 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x7A5 JUMPI PUSH2 0x7A5 PUSH2 0x1A82 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7A5 JUMPI PUSH2 0x7A5 PUSH2 0x1A82 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1AEA JUMPI PUSH2 0x1AEA PUSH2 0x1A82 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1B0E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B3D JUMPI DUP2 MLOAD DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1B21 JUMP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7A5 JUMPI PUSH2 0x7A5 PUSH2 0x1A82 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x557 DUP2 PUSH2 0x1A09 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 REVERT SLOAD REVERT 0x5D SWAP10 PUSH8 0x9DD24123986C2B3F 0xE3 0xD5 EXTCODECOPY AND 0xD5 0xB0 0xBE JUMP SAR PUSH24 0xBA62C9B5E4A6B5B064736F6C634300081400330000000000 ","sourceMap":"947:9997:24:-:0;;;1322:5;1293:34;;1375:1;1342:34;;1380:25;;;-1:-1:-1;;1380:25:24;1401:4;1380:25;;;947:9997;;;;;;;;;-1:-1:-1;936:32:0;734:10:12;936:18:0;:32::i;:::-;947:9997:24;;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;947:9997:24:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DAI_TOKEN_8744":{"entryPoint":null,"id":8744,"parameterSlots":0,"returnSlots":0},"@TOTALSUPPLY_8749":{"entryPoint":null,"id":8749,"parameterSlots":0,"returnSlots":0},"@_buyPack_9262":{"entryPoint":4578,"id":9262,"parameterSlots":1,"returnSlots":1},"@_buyPacks_9398":{"entryPoint":3884,"id":9398,"parameterSlots":2,"returnSlots":1},"@_checkOwner_54":{"entryPoint":3701,"id":54,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_openPack_9749":{"entryPoint":3791,"id":9749,"parameterSlots":2,"returnSlots":0},"@_transferOwnership_111":{"entryPoint":4498,"id":111,"parameterSlots":1,"returnSlots":0},"@_transferPack_9676":{"entryPoint":4629,"id":9676,"parameterSlots":2,"returnSlots":0},"@_transferPrizesAmounts_9510":{"entryPoint":5184,"id":9510,"parameterSlots":2,"returnSlots":1},"@addOwner_8929":{"entryPoint":2197,"id":8929,"parameterSlots":1,"returnSlots":0},"@buyPackByUser_9222":{"entryPoint":2487,"id":9222,"parameterSlots":1,"returnSlots":1},"@buyPack_9193":{"entryPoint":3119,"id":9193,"parameterSlots":0,"returnSlots":1},"@buyPacksByUser_9240":{"entryPoint":2124,"id":9240,"parameterSlots":2,"returnSlots":1},"@buyPacks_9208":{"entryPoint":2185,"id":9208,"parameterSlots":1,"returnSlots":1},"@changeBalanceReceiver_8969":{"entryPoint":3414,"id":8969,"parameterSlots":1,"returnSlots":0},"@changePrice_8991":{"entryPoint":2730,"id":8991,"parameterSlots":1,"returnSlots":0},"@changeTransferDaiFlag_9003":{"entryPoint":2663,"id":9003,"parameterSlots":1,"returnSlots":0},"@deleteTokenId_9569":{"entryPoint":4865,"id":9569,"parameterSlots":2,"returnSlots":0},"@gammaCardsContract_8736":{"entryPoint":null,"id":8736,"parameterSlots":0,"returnSlots":0},"@gammaTicketsContract_8739":{"entryPoint":null,"id":8739,"parameterSlots":0,"returnSlots":0},"@getAmountRequiredToBuyPacks_9135":{"entryPoint":3074,"id":9135,"parameterSlots":1,"returnSlots":1},"@getPackOwner_9160":{"entryPoint":null,"id":9160,"parameterSlots":1,"returnSlots":1},"@getPacksByUser_9148":{"entryPoint":2379,"id":9148,"parameterSlots":1,"returnSlots":1},"@getPrizeAmountToBuyPacks_9090":{"entryPoint":1916,"id":9090,"parameterSlots":1,"returnSlots":1},"@getPrizeNoFAccountAmountToBuyPacks_9111":{"entryPoint":1328,"id":9111,"parameterSlots":1,"returnSlots":1},"@init_8915":{"entryPoint":1374,"id":8915,"parameterSlots":4,"returnSlots":0},"@isOwner_9072":{"entryPoint":null,"id":9072,"parameterSlots":1,"returnSlots":1},"@meetQuantityConditionsToBuy_9182":{"entryPoint":3145,"id":9182,"parameterSlots":1,"returnSlots":1},"@openPack_9691":{"entryPoint":2336,"id":9691,"parameterSlots":2,"returnSlots":0},"@openPacks_9726":{"entryPoint":2549,"id":9726,"parameterSlots":2,"returnSlots":0},"@owner_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":1},"@removeOwner_8943":{"entryPoint":1688,"id":8943,"parameterSlots":1,"returnSlots":0},"@renounceOwnership_68":{"entryPoint":2316,"id":68,"parameterSlots":0,"returnSlots":0},"@s_balanceReceiver_8746":{"entryPoint":null,"id":8746,"parameterSlots":0,"returnSlots":0},"@s_packPrice_8752":{"entryPoint":null,"id":8752,"parameterSlots":0,"returnSlots":0},"@s_packsByUser_8767":{"entryPoint":3204,"id":8767,"parameterSlots":0,"returnSlots":0},"@s_packs_8762":{"entryPoint":null,"id":8762,"parameterSlots":0,"returnSlots":0},"@setGammaCardsContract_9031":{"entryPoint":1963,"id":9031,"parameterSlots":1,"returnSlots":0},"@setGammaTicketsContract_9059":{"entryPoint":3253,"id":9059,"parameterSlots":1,"returnSlots":0},"@testOpenPack_9789":{"entryPoint":1854,"id":9789,"parameterSlots":2,"returnSlots":0},"@testOpenPacks_9824":{"entryPoint":1564,"id":9824,"parameterSlots":2,"returnSlots":0},"@transferOwnership_91":{"entryPoint":3575,"id":91,"parameterSlots":1,"returnSlots":0},"@transferPack_9582":{"entryPoint":3135,"id":9582,"parameterSlots":2,"returnSlots":0},"@transferPacks_9622":{"entryPoint":2923,"id":9622,"parameterSlots":2,"returnSlots":0},"abi_decode_address":{"entryPoint":6131,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_array_uint256_dyn":{"entryPoint":6260,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":6493,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_addresst_address":{"entryPoint":6154,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":6708,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":6555,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptrt_address":{"entryPoint":6415,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool":{"entryPoint":6679,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":7051,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":6106,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":7026,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_address":{"entryPoint":6520,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":6931,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":6597,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGammaCardsContract_$8712__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaTicketsContract_$8727__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6985,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":6897,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":6808,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":6831,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":6872,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":6786,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":7004,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":6850,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":6238,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bool":{"entryPoint":6665,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:9401:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:31"},"nodeType":"YulFunctionCall","src":"132:12:31"},"nodeType":"YulExpressionStatement","src":"132:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:31"},"nodeType":"YulFunctionCall","src":"101:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:31"},"nodeType":"YulFunctionCall","src":"97:32:31"},"nodeType":"YulIf","src":"94:52:31"},{"nodeType":"YulAssignment","src":"155:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:31"},"nodeType":"YulFunctionCall","src":"165:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:31","type":""}],"src":"14:180:31"},{"body":{"nodeType":"YulBlock","src":"300:76:31","statements":[{"nodeType":"YulAssignment","src":"310:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"322:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"333:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"318:3:31"},"nodeType":"YulFunctionCall","src":"318:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"310:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"352:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"363:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"345:6:31"},"nodeType":"YulFunctionCall","src":"345:25:31"},"nodeType":"YulExpressionStatement","src":"345:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"269:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"280:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"291:4:31","type":""}],"src":"199:177:31"},{"body":{"nodeType":"YulBlock","src":"430:124:31","statements":[{"nodeType":"YulAssignment","src":"440:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"462:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"449:12:31"},"nodeType":"YulFunctionCall","src":"449:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"440:5:31"}]},{"body":{"nodeType":"YulBlock","src":"532:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"541:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"544:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"534:6:31"},"nodeType":"YulFunctionCall","src":"534:12:31"},"nodeType":"YulExpressionStatement","src":"534:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"491:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"502:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"517:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"522:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"513:3:31"},"nodeType":"YulFunctionCall","src":"513:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"526:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"509:3:31"},"nodeType":"YulFunctionCall","src":"509:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"498:3:31"},"nodeType":"YulFunctionCall","src":"498:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"488:2:31"},"nodeType":"YulFunctionCall","src":"488:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"481:6:31"},"nodeType":"YulFunctionCall","src":"481:50:31"},"nodeType":"YulIf","src":"478:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"409:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"420:5:31","type":""}],"src":"381:173:31"},{"body":{"nodeType":"YulBlock","src":"680:288:31","statements":[{"body":{"nodeType":"YulBlock","src":"727:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"736:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"739:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"729:6:31"},"nodeType":"YulFunctionCall","src":"729:12:31"},"nodeType":"YulExpressionStatement","src":"729:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"701:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"710:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"697:3:31"},"nodeType":"YulFunctionCall","src":"697:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"722:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"693:3:31"},"nodeType":"YulFunctionCall","src":"693:33:31"},"nodeType":"YulIf","src":"690:53:31"},{"nodeType":"YulAssignment","src":"752:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"781:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"762:18:31"},"nodeType":"YulFunctionCall","src":"762:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"752:6:31"}]},{"nodeType":"YulAssignment","src":"800:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"833:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"844:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"829:3:31"},"nodeType":"YulFunctionCall","src":"829:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"810:18:31"},"nodeType":"YulFunctionCall","src":"810:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"800:6:31"}]},{"nodeType":"YulAssignment","src":"857:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"890:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"901:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"886:3:31"},"nodeType":"YulFunctionCall","src":"886:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"867:18:31"},"nodeType":"YulFunctionCall","src":"867:38:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"857:6:31"}]},{"nodeType":"YulAssignment","src":"914:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"947:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"958:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"943:3:31"},"nodeType":"YulFunctionCall","src":"943:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"924:18:31"},"nodeType":"YulFunctionCall","src":"924:38:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"914:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"622:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"633:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"645:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"653:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"661:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"669:6:31","type":""}],"src":"559:409:31"},{"body":{"nodeType":"YulBlock","src":"1005:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1022:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1029:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1034:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1025:3:31"},"nodeType":"YulFunctionCall","src":"1025:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1015:6:31"},"nodeType":"YulFunctionCall","src":"1015:31:31"},"nodeType":"YulExpressionStatement","src":"1015:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1062:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1065:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1055:6:31"},"nodeType":"YulFunctionCall","src":"1055:15:31"},"nodeType":"YulExpressionStatement","src":"1055:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1086:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1089:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1079:6:31"},"nodeType":"YulFunctionCall","src":"1079:15:31"},"nodeType":"YulExpressionStatement","src":"1079:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"973:127:31"},{"body":{"nodeType":"YulBlock","src":"1169:838:31","statements":[{"body":{"nodeType":"YulBlock","src":"1218:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1227:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1230:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1220:6:31"},"nodeType":"YulFunctionCall","src":"1220:12:31"},"nodeType":"YulExpressionStatement","src":"1220:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1197:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1205:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1193:3:31"},"nodeType":"YulFunctionCall","src":"1193:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"1212:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1189:3:31"},"nodeType":"YulFunctionCall","src":"1189:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1182:6:31"},"nodeType":"YulFunctionCall","src":"1182:35:31"},"nodeType":"YulIf","src":"1179:55:31"},{"nodeType":"YulVariableDeclaration","src":"1243:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1266:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1253:12:31"},"nodeType":"YulFunctionCall","src":"1253:20:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1247:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1282:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1292:4:31","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1286:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1305:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1315:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1309:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1356:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1358:16:31"},"nodeType":"YulFunctionCall","src":"1358:18:31"},"nodeType":"YulExpressionStatement","src":"1358:18:31"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"1348:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"1352:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1345:2:31"},"nodeType":"YulFunctionCall","src":"1345:10:31"},"nodeType":"YulIf","src":"1342:36:31"},{"nodeType":"YulVariableDeclaration","src":"1387:20:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1401:1:31","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"1404:2:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1397:3:31"},"nodeType":"YulFunctionCall","src":"1397:10:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1391:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1416:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1436:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1430:5:31"},"nodeType":"YulFunctionCall","src":"1430:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1420:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1448:56:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1470:6:31"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1486:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1490:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1482:3:31"},"nodeType":"YulFunctionCall","src":"1482:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1499:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1495:3:31"},"nodeType":"YulFunctionCall","src":"1495:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1478:3:31"},"nodeType":"YulFunctionCall","src":"1478:25:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1466:3:31"},"nodeType":"YulFunctionCall","src":"1466:38:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1452:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1563:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1565:16:31"},"nodeType":"YulFunctionCall","src":"1565:18:31"},"nodeType":"YulExpressionStatement","src":"1565:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1522:10:31"},{"name":"_3","nodeType":"YulIdentifier","src":"1534:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1519:2:31"},"nodeType":"YulFunctionCall","src":"1519:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1542:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1554:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1539:2:31"},"nodeType":"YulFunctionCall","src":"1539:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1516:2:31"},"nodeType":"YulFunctionCall","src":"1516:46:31"},"nodeType":"YulIf","src":"1513:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1601:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1605:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1594:6:31"},"nodeType":"YulFunctionCall","src":"1594:22:31"},"nodeType":"YulExpressionStatement","src":"1594:22:31"},{"nodeType":"YulVariableDeclaration","src":"1625:17:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1636:6:31"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1629:3:31","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1658:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1666:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1651:6:31"},"nodeType":"YulFunctionCall","src":"1651:18:31"},"nodeType":"YulExpressionStatement","src":"1651:18:31"},{"nodeType":"YulAssignment","src":"1678:22:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1689:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1697:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1685:3:31"},"nodeType":"YulFunctionCall","src":"1685:15:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1678:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"1709:38:31","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1731:6:31"},{"name":"_4","nodeType":"YulIdentifier","src":"1739:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1727:3:31"},"nodeType":"YulFunctionCall","src":"1727:15:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1744:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1723:3:31"},"nodeType":"YulFunctionCall","src":"1723:24:31"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1713:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1775:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1784:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1787:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1777:6:31"},"nodeType":"YulFunctionCall","src":"1777:12:31"},"nodeType":"YulExpressionStatement","src":"1777:12:31"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1762:6:31"},{"name":"end","nodeType":"YulIdentifier","src":"1770:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1759:2:31"},"nodeType":"YulFunctionCall","src":"1759:15:31"},"nodeType":"YulIf","src":"1756:35:31"},{"nodeType":"YulVariableDeclaration","src":"1800:26:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1815:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1823:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1811:3:31"},"nodeType":"YulFunctionCall","src":"1811:15:31"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1804:3:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1891:86:31","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1912:3:31"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1930:3:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1917:12:31"},"nodeType":"YulFunctionCall","src":"1917:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1905:6:31"},"nodeType":"YulFunctionCall","src":"1905:30:31"},"nodeType":"YulExpressionStatement","src":"1905:30:31"},{"nodeType":"YulAssignment","src":"1948:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1959:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1964:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1955:3:31"},"nodeType":"YulFunctionCall","src":"1955:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1948:3:31"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1846:3:31"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1851:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1843:2:31"},"nodeType":"YulFunctionCall","src":"1843:15:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1859:23:31","statements":[{"nodeType":"YulAssignment","src":"1861:19:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1872:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1877:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1868:3:31"},"nodeType":"YulFunctionCall","src":"1868:12:31"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1861:3:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1839:3:31","statements":[]},"src":"1835:142:31"},{"nodeType":"YulAssignment","src":"1986:15:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1995:6:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1986:5:31"}]}]},"name":"abi_decode_array_uint256_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1143:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"1151:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1159:5:31","type":""}],"src":"1105:902:31"},{"body":{"nodeType":"YulBlock","src":"2124:310:31","statements":[{"body":{"nodeType":"YulBlock","src":"2170:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2179:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2182:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2172:6:31"},"nodeType":"YulFunctionCall","src":"2172:12:31"},"nodeType":"YulExpressionStatement","src":"2172:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2145:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2154:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2141:3:31"},"nodeType":"YulFunctionCall","src":"2141:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2166:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2137:3:31"},"nodeType":"YulFunctionCall","src":"2137:32:31"},"nodeType":"YulIf","src":"2134:52:31"},{"nodeType":"YulVariableDeclaration","src":"2195:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2222:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2209:12:31"},"nodeType":"YulFunctionCall","src":"2209:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2199:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2275:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2284:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2287:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2277:6:31"},"nodeType":"YulFunctionCall","src":"2277:12:31"},"nodeType":"YulExpressionStatement","src":"2277:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2247:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2255:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2244:2:31"},"nodeType":"YulFunctionCall","src":"2244:30:31"},"nodeType":"YulIf","src":"2241:50:31"},{"nodeType":"YulAssignment","src":"2300:71:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2343:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"2354:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2339:3:31"},"nodeType":"YulFunctionCall","src":"2339:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2363:7:31"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"2310:28:31"},"nodeType":"YulFunctionCall","src":"2310:61:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2300:6:31"}]},{"nodeType":"YulAssignment","src":"2380:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2413:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2424:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2409:3:31"},"nodeType":"YulFunctionCall","src":"2409:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2390:18:31"},"nodeType":"YulFunctionCall","src":"2390:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2380:6:31"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2082:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2093:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2105:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2113:6:31","type":""}],"src":"2012:422:31"},{"body":{"nodeType":"YulBlock","src":"2570:102:31","statements":[{"nodeType":"YulAssignment","src":"2580:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2592:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2603:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2588:3:31"},"nodeType":"YulFunctionCall","src":"2588:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2580:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2622:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2637:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2653:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2658:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2649:3:31"},"nodeType":"YulFunctionCall","src":"2649:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"2662:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2645:3:31"},"nodeType":"YulFunctionCall","src":"2645:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2633:3:31"},"nodeType":"YulFunctionCall","src":"2633:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2615:6:31"},"nodeType":"YulFunctionCall","src":"2615:51:31"},"nodeType":"YulExpressionStatement","src":"2615:51:31"}]},"name":"abi_encode_tuple_t_contract$_IgammaTicketsContract_$8727__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2539:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2550:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2561:4:31","type":""}],"src":"2439:233:31"},{"body":{"nodeType":"YulBlock","src":"2747:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"2793:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2802:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2805:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2795:6:31"},"nodeType":"YulFunctionCall","src":"2795:12:31"},"nodeType":"YulExpressionStatement","src":"2795:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2768:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2777:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2764:3:31"},"nodeType":"YulFunctionCall","src":"2764:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2789:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2760:3:31"},"nodeType":"YulFunctionCall","src":"2760:32:31"},"nodeType":"YulIf","src":"2757:52:31"},{"nodeType":"YulAssignment","src":"2818:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2847:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2828:18:31"},"nodeType":"YulFunctionCall","src":"2828:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2818:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2713:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2724:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2736:6:31","type":""}],"src":"2677:186:31"},{"body":{"nodeType":"YulBlock","src":"2963:92:31","statements":[{"nodeType":"YulAssignment","src":"2973:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2985:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2996:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2981:3:31"},"nodeType":"YulFunctionCall","src":"2981:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2973:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3015:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3040:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3033:6:31"},"nodeType":"YulFunctionCall","src":"3033:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3026:6:31"},"nodeType":"YulFunctionCall","src":"3026:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3008:6:31"},"nodeType":"YulFunctionCall","src":"3008:41:31"},"nodeType":"YulExpressionStatement","src":"3008:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2932:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2943:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2954:4:31","type":""}],"src":"2868:187:31"},{"body":{"nodeType":"YulBlock","src":"3147:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"3193:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3202:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3205:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3195:6:31"},"nodeType":"YulFunctionCall","src":"3195:12:31"},"nodeType":"YulExpressionStatement","src":"3195:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3168:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3177:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3164:3:31"},"nodeType":"YulFunctionCall","src":"3164:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3189:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3160:3:31"},"nodeType":"YulFunctionCall","src":"3160:32:31"},"nodeType":"YulIf","src":"3157:52:31"},{"nodeType":"YulAssignment","src":"3218:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3241:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3228:12:31"},"nodeType":"YulFunctionCall","src":"3228:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3218:6:31"}]},{"nodeType":"YulAssignment","src":"3260:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3293:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3304:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3289:3:31"},"nodeType":"YulFunctionCall","src":"3289:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3270:18:31"},"nodeType":"YulFunctionCall","src":"3270:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3260:6:31"}]}]},"name":"abi_decode_tuple_t_uint256t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3105:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3116:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3128:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3136:6:31","type":""}],"src":"3060:254:31"},{"body":{"nodeType":"YulBlock","src":"3420:102:31","statements":[{"nodeType":"YulAssignment","src":"3430:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3442:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3453:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3438:3:31"},"nodeType":"YulFunctionCall","src":"3438:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3430:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3472:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3487:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3503:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3508:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3499:3:31"},"nodeType":"YulFunctionCall","src":"3499:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3512:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3495:3:31"},"nodeType":"YulFunctionCall","src":"3495:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3483:3:31"},"nodeType":"YulFunctionCall","src":"3483:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3465:6:31"},"nodeType":"YulFunctionCall","src":"3465:51:31"},"nodeType":"YulExpressionStatement","src":"3465:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3389:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3400:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3411:4:31","type":""}],"src":"3319:203:31"},{"body":{"nodeType":"YulBlock","src":"3614:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"3660:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3669:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3672:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3662:6:31"},"nodeType":"YulFunctionCall","src":"3662:12:31"},"nodeType":"YulExpressionStatement","src":"3662:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3635:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3644:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3631:3:31"},"nodeType":"YulFunctionCall","src":"3631:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3656:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3627:3:31"},"nodeType":"YulFunctionCall","src":"3627:32:31"},"nodeType":"YulIf","src":"3624:52:31"},{"nodeType":"YulAssignment","src":"3685:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3714:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3695:18:31"},"nodeType":"YulFunctionCall","src":"3695:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3685:6:31"}]},{"nodeType":"YulAssignment","src":"3733:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3760:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3771:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3756:3:31"},"nodeType":"YulFunctionCall","src":"3756:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3743:12:31"},"nodeType":"YulFunctionCall","src":"3743:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3733:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3572:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3583:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3595:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3603:6:31","type":""}],"src":"3527:254:31"},{"body":{"nodeType":"YulBlock","src":"3937:481:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3947:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3957:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3951:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3968:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3986:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3997:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3982:3:31"},"nodeType":"YulFunctionCall","src":"3982:18:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"3972:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4016:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4027:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4009:6:31"},"nodeType":"YulFunctionCall","src":"4009:21:31"},"nodeType":"YulExpressionStatement","src":"4009:21:31"},{"nodeType":"YulVariableDeclaration","src":"4039:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"4050:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"4043:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4065:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4085:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4079:5:31"},"nodeType":"YulFunctionCall","src":"4079:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4069:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"4108:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"4116:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4101:6:31"},"nodeType":"YulFunctionCall","src":"4101:22:31"},"nodeType":"YulExpressionStatement","src":"4101:22:31"},{"nodeType":"YulAssignment","src":"4132:25:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4143:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4154:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4139:3:31"},"nodeType":"YulFunctionCall","src":"4139:18:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4132:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"4166:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4184:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4192:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4180:3:31"},"nodeType":"YulFunctionCall","src":"4180:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"4170:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4204:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"4213:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"4208:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"4272:120:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4293:3:31"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4304:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4298:5:31"},"nodeType":"YulFunctionCall","src":"4298:13:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4286:6:31"},"nodeType":"YulFunctionCall","src":"4286:26:31"},"nodeType":"YulExpressionStatement","src":"4286:26:31"},{"nodeType":"YulAssignment","src":"4325:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4336:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4341:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4332:3:31"},"nodeType":"YulFunctionCall","src":"4332:12:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4325:3:31"}]},{"nodeType":"YulAssignment","src":"4357:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4371:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"4379:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4367:3:31"},"nodeType":"YulFunctionCall","src":"4367:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4357:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4234:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"4237:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4231:2:31"},"nodeType":"YulFunctionCall","src":"4231:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"4245:18:31","statements":[{"nodeType":"YulAssignment","src":"4247:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4256:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"4259:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4252:3:31"},"nodeType":"YulFunctionCall","src":"4252:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4247:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"4227:3:31","statements":[]},"src":"4223:169:31"},{"nodeType":"YulAssignment","src":"4401:11:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"4409:3:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4401:4:31"}]}]},"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":"3906:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3917:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3928:4:31","type":""}],"src":"3786:632:31"},{"body":{"nodeType":"YulBlock","src":"4465:76:31","statements":[{"body":{"nodeType":"YulBlock","src":"4519:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4528:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4531:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4521:6:31"},"nodeType":"YulFunctionCall","src":"4521:12:31"},"nodeType":"YulExpressionStatement","src":"4521:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4488:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4509:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4502:6:31"},"nodeType":"YulFunctionCall","src":"4502:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4495:6:31"},"nodeType":"YulFunctionCall","src":"4495:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4485:2:31"},"nodeType":"YulFunctionCall","src":"4485:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4478:6:31"},"nodeType":"YulFunctionCall","src":"4478:40:31"},"nodeType":"YulIf","src":"4475:60:31"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4454:5:31","type":""}],"src":"4423:118:31"},{"body":{"nodeType":"YulBlock","src":"4613:174:31","statements":[{"body":{"nodeType":"YulBlock","src":"4659:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4668:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4671:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4661:6:31"},"nodeType":"YulFunctionCall","src":"4661:12:31"},"nodeType":"YulExpressionStatement","src":"4661:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4634:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4643:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4630:3:31"},"nodeType":"YulFunctionCall","src":"4630:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4655:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4626:3:31"},"nodeType":"YulFunctionCall","src":"4626:32:31"},"nodeType":"YulIf","src":"4623:52:31"},{"nodeType":"YulVariableDeclaration","src":"4684:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4710:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4697:12:31"},"nodeType":"YulFunctionCall","src":"4697:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"4688:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4751:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"4729:21:31"},"nodeType":"YulFunctionCall","src":"4729:28:31"},"nodeType":"YulExpressionStatement","src":"4729:28:31"},{"nodeType":"YulAssignment","src":"4766:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"4776:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4766:6:31"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4579:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4590:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4602:6:31","type":""}],"src":"4546:241:31"},{"body":{"nodeType":"YulBlock","src":"4904:310:31","statements":[{"body":{"nodeType":"YulBlock","src":"4950:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4959:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4962:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4952:6:31"},"nodeType":"YulFunctionCall","src":"4952:12:31"},"nodeType":"YulExpressionStatement","src":"4952:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4925:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4934:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4921:3:31"},"nodeType":"YulFunctionCall","src":"4921:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4946:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4917:3:31"},"nodeType":"YulFunctionCall","src":"4917:32:31"},"nodeType":"YulIf","src":"4914:52:31"},{"nodeType":"YulAssignment","src":"4975:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5004:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4985:18:31"},"nodeType":"YulFunctionCall","src":"4985:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4975:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"5023:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5054:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5065:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5050:3:31"},"nodeType":"YulFunctionCall","src":"5050:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5037:12:31"},"nodeType":"YulFunctionCall","src":"5037:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5027:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5112:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5121:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5124:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5114:6:31"},"nodeType":"YulFunctionCall","src":"5114:12:31"},"nodeType":"YulExpressionStatement","src":"5114:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5084:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5092:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5081:2:31"},"nodeType":"YulFunctionCall","src":"5081:30:31"},"nodeType":"YulIf","src":"5078:50:31"},{"nodeType":"YulAssignment","src":"5137:71:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5180:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"5191:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5176:3:31"},"nodeType":"YulFunctionCall","src":"5176:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5200:7:31"}],"functionName":{"name":"abi_decode_array_uint256_dyn","nodeType":"YulIdentifier","src":"5147:28:31"},"nodeType":"YulFunctionCall","src":"5147:61:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5137:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4862:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4873:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4885:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4893:6:31","type":""}],"src":"4792:422:31"},{"body":{"nodeType":"YulBlock","src":"5348:102:31","statements":[{"nodeType":"YulAssignment","src":"5358:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5370:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5381:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5366:3:31"},"nodeType":"YulFunctionCall","src":"5366:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5358:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5400:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5415:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5431:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"5436:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5427:3:31"},"nodeType":"YulFunctionCall","src":"5427:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"5440:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5423:3:31"},"nodeType":"YulFunctionCall","src":"5423:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5411:3:31"},"nodeType":"YulFunctionCall","src":"5411:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5393:6:31"},"nodeType":"YulFunctionCall","src":"5393:51:31"},"nodeType":"YulExpressionStatement","src":"5393:51:31"}]},"name":"abi_encode_tuple_t_contract$_IGammaCardsContract_$8712__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5317:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5328:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5339:4:31","type":""}],"src":"5219:231:31"},{"body":{"nodeType":"YulBlock","src":"5487:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5504:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5511:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5516:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5507:3:31"},"nodeType":"YulFunctionCall","src":"5507:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5497:6:31"},"nodeType":"YulFunctionCall","src":"5497:31:31"},"nodeType":"YulExpressionStatement","src":"5497:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5544:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5547:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5537:6:31"},"nodeType":"YulFunctionCall","src":"5537:15:31"},"nodeType":"YulExpressionStatement","src":"5537:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5568:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5571:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5561:6:31"},"nodeType":"YulFunctionCall","src":"5561:15:31"},"nodeType":"YulExpressionStatement","src":"5561:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"5455:127:31"},{"body":{"nodeType":"YulBlock","src":"5639:116:31","statements":[{"nodeType":"YulAssignment","src":"5649:20:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5664:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"5667:1:31"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"5660:3:31"},"nodeType":"YulFunctionCall","src":"5660:9:31"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"5649:7:31"}]},{"body":{"nodeType":"YulBlock","src":"5727:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5729:16:31"},"nodeType":"YulFunctionCall","src":"5729:18:31"},"nodeType":"YulExpressionStatement","src":"5729:18:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5698:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5691:6:31"},"nodeType":"YulFunctionCall","src":"5691:9:31"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5705:1:31"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"5712:7:31"},{"name":"x","nodeType":"YulIdentifier","src":"5721:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"5708:3:31"},"nodeType":"YulFunctionCall","src":"5708:15:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5702:2:31"},"nodeType":"YulFunctionCall","src":"5702:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"5688:2:31"},"nodeType":"YulFunctionCall","src":"5688:37:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5681:6:31"},"nodeType":"YulFunctionCall","src":"5681:45:31"},"nodeType":"YulIf","src":"5678:71:31"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5618:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"5621:1:31","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"5627:7:31","type":""}],"src":"5587:168:31"},{"body":{"nodeType":"YulBlock","src":"5809:79:31","statements":[{"nodeType":"YulAssignment","src":"5819:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5831:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"5834:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5827:3:31"},"nodeType":"YulFunctionCall","src":"5827:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"5819:4:31"}]},{"body":{"nodeType":"YulBlock","src":"5860:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5862:16:31"},"nodeType":"YulFunctionCall","src":"5862:18:31"},"nodeType":"YulExpressionStatement","src":"5862:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"5851:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"5857:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5848:2:31"},"nodeType":"YulFunctionCall","src":"5848:11:31"},"nodeType":"YulIf","src":"5845:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5791:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"5794:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5800:4:31","type":""}],"src":"5760:128:31"},{"body":{"nodeType":"YulBlock","src":"5925:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5942:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5949:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5954:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5945:3:31"},"nodeType":"YulFunctionCall","src":"5945:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5935:6:31"},"nodeType":"YulFunctionCall","src":"5935:31:31"},"nodeType":"YulExpressionStatement","src":"5935:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5982:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5985:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5975:6:31"},"nodeType":"YulFunctionCall","src":"5975:15:31"},"nodeType":"YulExpressionStatement","src":"5975:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6006:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6009:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5999:6:31"},"nodeType":"YulFunctionCall","src":"5999:15:31"},"nodeType":"YulExpressionStatement","src":"5999:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"5893:127:31"},{"body":{"nodeType":"YulBlock","src":"6072:88:31","statements":[{"body":{"nodeType":"YulBlock","src":"6103:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"6105:16:31"},"nodeType":"YulFunctionCall","src":"6105:18:31"},"nodeType":"YulExpressionStatement","src":"6105:18:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6088:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6099:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"6095:3:31"},"nodeType":"YulFunctionCall","src":"6095:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6085:2:31"},"nodeType":"YulFunctionCall","src":"6085:17:31"},"nodeType":"YulIf","src":"6082:43:31"},{"nodeType":"YulAssignment","src":"6134:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6145:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"6152:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6141:3:31"},"nodeType":"YulFunctionCall","src":"6141:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"6134:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6054:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"6064:3:31","type":""}],"src":"6025:135:31"},{"body":{"nodeType":"YulBlock","src":"6326:145:31","statements":[{"nodeType":"YulAssignment","src":"6336:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6348:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6359:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6344:3:31"},"nodeType":"YulFunctionCall","src":"6344:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6336:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6378:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"6389:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6371:6:31"},"nodeType":"YulFunctionCall","src":"6371:25:31"},"nodeType":"YulExpressionStatement","src":"6371:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6416:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6427:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6412:3:31"},"nodeType":"YulFunctionCall","src":"6412:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6436:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6452:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6457:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6448:3:31"},"nodeType":"YulFunctionCall","src":"6448:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"6461:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6444:3:31"},"nodeType":"YulFunctionCall","src":"6444:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6432:3:31"},"nodeType":"YulFunctionCall","src":"6432:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6405:6:31"},"nodeType":"YulFunctionCall","src":"6405:60:31"},"nodeType":"YulExpressionStatement","src":"6405:60:31"}]},"name":"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6287:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6298:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6306:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6317:4:31","type":""}],"src":"6165:306:31"},{"body":{"nodeType":"YulBlock","src":"6522:171:31","statements":[{"body":{"nodeType":"YulBlock","src":"6553:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6574:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6581:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"6586:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6577:3:31"},"nodeType":"YulFunctionCall","src":"6577:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6567:6:31"},"nodeType":"YulFunctionCall","src":"6567:31:31"},"nodeType":"YulExpressionStatement","src":"6567:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6618:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6621:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6611:6:31"},"nodeType":"YulFunctionCall","src":"6611:15:31"},"nodeType":"YulExpressionStatement","src":"6611:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6646:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6649:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6639:6:31"},"nodeType":"YulFunctionCall","src":"6639:15:31"},"nodeType":"YulExpressionStatement","src":"6639:15:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"6542:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6535:6:31"},"nodeType":"YulFunctionCall","src":"6535:9:31"},"nodeType":"YulIf","src":"6532:132:31"},{"nodeType":"YulAssignment","src":"6673:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"6682:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"6685:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6678:3:31"},"nodeType":"YulFunctionCall","src":"6678:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"6673:1:31"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"6507:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"6510:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"6516:1:31","type":""}],"src":"6476:217:31"},{"body":{"nodeType":"YulBlock","src":"6867:374:31","statements":[{"nodeType":"YulVariableDeclaration","src":"6877:16:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"6890:3:31"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"6881:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6902:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6922:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6916:5:31"},"nodeType":"YulFunctionCall","src":"6916:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6906:6:31","type":""}]},{"nodeType":"YulAssignment","src":"6938:12:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"6947:3:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"6938:5:31"}]},{"nodeType":"YulVariableDeclaration","src":"6959:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"6969:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6963:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6982:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7000:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7008:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6996:3:31"},"nodeType":"YulFunctionCall","src":"6996:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6986:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7020:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"7029:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7024:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7088:126:31","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"7109:5:31"},{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7122:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7116:5:31"},"nodeType":"YulFunctionCall","src":"7116:13:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7102:6:31"},"nodeType":"YulFunctionCall","src":"7102:28:31"},"nodeType":"YulExpressionStatement","src":"7102:28:31"},{"nodeType":"YulAssignment","src":"7143:23:31","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"7156:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7163:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7152:3:31"},"nodeType":"YulFunctionCall","src":"7152:14:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"7143:5:31"}]},{"nodeType":"YulAssignment","src":"7179:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7193:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7201:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7189:3:31"},"nodeType":"YulFunctionCall","src":"7189:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7179:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7050:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"7053:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7047:2:31"},"nodeType":"YulFunctionCall","src":"7047:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7061:18:31","statements":[{"nodeType":"YulAssignment","src":"7063:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7072:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"7075:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7068:3:31"},"nodeType":"YulFunctionCall","src":"7068:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7063:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"7043:3:31","statements":[]},"src":"7039:175:31"},{"nodeType":"YulAssignment","src":"7223:12:31","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"7230:5:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7223:3:31"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6843:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6848:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6859:3:31","type":""}],"src":"6698:543:31"},{"body":{"nodeType":"YulBlock","src":"7294:77:31","statements":[{"nodeType":"YulAssignment","src":"7304:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7315:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"7318:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7311:3:31"},"nodeType":"YulFunctionCall","src":"7311:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"7304:3:31"}]},{"body":{"nodeType":"YulBlock","src":"7343:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7345:16:31"},"nodeType":"YulFunctionCall","src":"7345:18:31"},"nodeType":"YulExpressionStatement","src":"7345:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"7335:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"7338:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7332:2:31"},"nodeType":"YulFunctionCall","src":"7332:10:31"},"nodeType":"YulIf","src":"7329:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"7277:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"7280:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"7286:3:31","type":""}],"src":"7246:125:31"},{"body":{"nodeType":"YulBlock","src":"7550:228:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7567:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7578:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7560:6:31"},"nodeType":"YulFunctionCall","src":"7560:21:31"},"nodeType":"YulExpressionStatement","src":"7560:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7601:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7612:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7597:3:31"},"nodeType":"YulFunctionCall","src":"7597:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"7617:2:31","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7590:6:31"},"nodeType":"YulFunctionCall","src":"7590:30:31"},"nodeType":"YulExpressionStatement","src":"7590:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7640:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7651:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7636:3:31"},"nodeType":"YulFunctionCall","src":"7636:18:31"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"7656:34:31","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7629:6:31"},"nodeType":"YulFunctionCall","src":"7629:62:31"},"nodeType":"YulExpressionStatement","src":"7629:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7711:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7722:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7707:3:31"},"nodeType":"YulFunctionCall","src":"7707:18:31"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"7727:8:31","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7700:6:31"},"nodeType":"YulFunctionCall","src":"7700:36:31"},"nodeType":"YulExpressionStatement","src":"7700:36:31"},{"nodeType":"YulAssignment","src":"7745:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7757:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7768:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7753:3:31"},"nodeType":"YulFunctionCall","src":"7753:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7745:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7527:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7541:4:31","type":""}],"src":"7376:402:31"},{"body":{"nodeType":"YulBlock","src":"7957:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7974:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7985:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7967:6:31"},"nodeType":"YulFunctionCall","src":"7967:21:31"},"nodeType":"YulExpressionStatement","src":"7967:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8008:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8019:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8004:3:31"},"nodeType":"YulFunctionCall","src":"8004:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8024:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7997:6:31"},"nodeType":"YulFunctionCall","src":"7997:30:31"},"nodeType":"YulExpressionStatement","src":"7997:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8047:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8058:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8043:3:31"},"nodeType":"YulFunctionCall","src":"8043:18:31"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"8063:34:31","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8036:6:31"},"nodeType":"YulFunctionCall","src":"8036:62:31"},"nodeType":"YulExpressionStatement","src":"8036:62:31"},{"nodeType":"YulAssignment","src":"8107:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8119:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8130:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8115:3:31"},"nodeType":"YulFunctionCall","src":"8115:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8107:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7934:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7948:4:31","type":""}],"src":"7783:356:31"},{"body":{"nodeType":"YulBlock","src":"8176:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8193:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8200:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8205:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8196:3:31"},"nodeType":"YulFunctionCall","src":"8196:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8186:6:31"},"nodeType":"YulFunctionCall","src":"8186:31:31"},"nodeType":"YulExpressionStatement","src":"8186:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8233:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8236:4:31","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8226:6:31"},"nodeType":"YulFunctionCall","src":"8226:15:31"},"nodeType":"YulExpressionStatement","src":"8226:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8257:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8260:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8250:6:31"},"nodeType":"YulFunctionCall","src":"8250:15:31"},"nodeType":"YulExpressionStatement","src":"8250:15:31"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"8144:127:31"},{"body":{"nodeType":"YulBlock","src":"8405:175:31","statements":[{"nodeType":"YulAssignment","src":"8415:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8427:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8438:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8423:3:31"},"nodeType":"YulFunctionCall","src":"8423:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8415:4:31"}]},{"nodeType":"YulVariableDeclaration","src":"8450:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8468:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8473:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8464:3:31"},"nodeType":"YulFunctionCall","src":"8464:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"8477:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8460:3:31"},"nodeType":"YulFunctionCall","src":"8460:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8454:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8495:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8510:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"8518:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8506:3:31"},"nodeType":"YulFunctionCall","src":"8506:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8488:6:31"},"nodeType":"YulFunctionCall","src":"8488:34:31"},"nodeType":"YulExpressionStatement","src":"8488:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8542:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8553:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8538:3:31"},"nodeType":"YulFunctionCall","src":"8538:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8562:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"8570:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8558:3:31"},"nodeType":"YulFunctionCall","src":"8558:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8531:6:31"},"nodeType":"YulFunctionCall","src":"8531:43:31"},"nodeType":"YulExpressionStatement","src":"8531:43:31"}]},"name":"abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8366:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8377:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8385:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8396:4:31","type":""}],"src":"8276:304:31"},{"body":{"nodeType":"YulBlock","src":"8666:103:31","statements":[{"body":{"nodeType":"YulBlock","src":"8712:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8721:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8724:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8714:6:31"},"nodeType":"YulFunctionCall","src":"8714:12:31"},"nodeType":"YulExpressionStatement","src":"8714:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8687:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"8696:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8683:3:31"},"nodeType":"YulFunctionCall","src":"8683:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"8708:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8679:3:31"},"nodeType":"YulFunctionCall","src":"8679:32:31"},"nodeType":"YulIf","src":"8676:52:31"},{"nodeType":"YulAssignment","src":"8737:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8753:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8747:5:31"},"nodeType":"YulFunctionCall","src":"8747:16:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8737:6:31"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8632:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8643:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8655:6:31","type":""}],"src":"8585:184:31"},{"body":{"nodeType":"YulBlock","src":"8931:218:31","statements":[{"nodeType":"YulAssignment","src":"8941:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8953:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8964:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8949:3:31"},"nodeType":"YulFunctionCall","src":"8949:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8941:4:31"}]},{"nodeType":"YulVariableDeclaration","src":"8976:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8994:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8999:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8990:3:31"},"nodeType":"YulFunctionCall","src":"8990:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"9003:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8986:3:31"},"nodeType":"YulFunctionCall","src":"8986:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8980:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9021:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9036:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9044:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9032:3:31"},"nodeType":"YulFunctionCall","src":"9032:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9014:6:31"},"nodeType":"YulFunctionCall","src":"9014:34:31"},"nodeType":"YulExpressionStatement","src":"9014:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9068:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9079:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9064:3:31"},"nodeType":"YulFunctionCall","src":"9064:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9088:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9096:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9084:3:31"},"nodeType":"YulFunctionCall","src":"9084:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9057:6:31"},"nodeType":"YulFunctionCall","src":"9057:43:31"},"nodeType":"YulExpressionStatement","src":"9057:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9120:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9131:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9116:3:31"},"nodeType":"YulFunctionCall","src":"9116:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"9136:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9109:6:31"},"nodeType":"YulFunctionCall","src":"9109:34:31"},"nodeType":"YulExpressionStatement","src":"9109:34:31"}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8884:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8895:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8903:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8911:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8922:4:31","type":""}],"src":"8774:375:31"},{"body":{"nodeType":"YulBlock","src":"9232:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"9278:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9287:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9290:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9280:6:31"},"nodeType":"YulFunctionCall","src":"9280:12:31"},"nodeType":"YulExpressionStatement","src":"9280:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9253:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"9262:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9249:3:31"},"nodeType":"YulFunctionCall","src":"9249:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"9274:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9245:3:31"},"nodeType":"YulFunctionCall","src":"9245:32:31"},"nodeType":"YulIf","src":"9242:52:31"},{"nodeType":"YulVariableDeclaration","src":"9303:29:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9322:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9316:5:31"},"nodeType":"YulFunctionCall","src":"9316:16:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9307:5:31","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9363:5:31"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"9341:21:31"},"nodeType":"YulFunctionCall","src":"9341:28:31"},"nodeType":"YulExpressionStatement","src":"9341:28:31"},{"nodeType":"YulAssignment","src":"9378:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"9388:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9378:6:31"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9198:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9209:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9221:6:31","type":""}],"src":"9154:245:31"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := abi_decode_address(add(headStart, 64))\n value3 := abi_decode_address(add(headStart, 96))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_array_uint256_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let _3 := 0xffffffffffffffff\n if gt(_1, _3) { panic_error_0x41() }\n let _4 := shl(5, _1)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(_4, 63), not(31)))\n if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _1)\n dst := add(memPtr, _2)\n let srcEnd := add(add(offset, _4), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptrt_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_contract$_IgammaTicketsContract_$8727__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_decode_tuple_t_uint256t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_contract$_IGammaCardsContract_$8712__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_packed_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let pos_1 := pos\n let length := mload(value0)\n pos_1 := pos\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos_1, mload(srcPtr))\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos_1\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":1773},{"length":20,"start":2282}]}},"object":"608060405234801561001057600080fd5b506004361061021c5760003560e01c806394a08c6911610125578063d250f03a116100ad578063d9e8221e1161007c578063d9e8221e146104d1578063ddb975e8146104e4578063e0f78307146104f7578063e606df871461050a578063f2fde38b1461051d57600080fd5b8063d250f03a1461046f578063d3e6a7ad14610482578063d611713e146104ab578063d6a4c3e4146104be57600080fd5b8063a2b40d19116100f4578063a2b40d191461041b578063ab4bdbc81461042e578063b48ce65314610441578063c34e8af414610454578063c37b9bcd1461046757600080fd5b806394a08c69146103d9578063967ed63d146103e257806397f8b3d3146103f557806399e5f8961461040857600080fd5b80634c7a7ad3116101a85780637065cb48116101775780637065cb4814610387578063715018a61461039a57806380f2540b146103a25780638da5cb5b146103b55780638fd5baf7146103c657600080fd5b80634c7a7ad31461033857806362e218781461034b578063656bd0ad1461036b5780636adbaf751461037457600080fd5b8063173825d9116101ef578063173825d91461029a5780632f54bf6e146102ad57806339e8d3ec146102e95780633cd626fd146102fc5780633f6ecd481461032557600080fd5b806301321c4d1461022157806306552ff3146102475780630c3e5c001461025c57806314cca36a1461026f575b600080fd5b61023461022f3660046117da565b610530565b6040519081526020015b60405180910390f35b61025a61025536600461180a565b61055e565b005b61025a61026a36600461190f565b61061c565b600254610282906001600160a01b031681565b6040516001600160a01b03909116815260200161023e565b61025a6102a836600461195d565b610698565b6102d96102bb36600461195d565b6001600160a01b031660009081526003602052604090205460ff1690565b604051901515815260200161023e565b61025a6102f7366004611978565b61073e565b61028261030a3660046117da565b600a602052600090815260409020546001600160a01b031681565b6102346103333660046117da565b61077c565b61025a61034636600461195d565b6107ab565b61035e61035936600461199b565b61084c565b60405161023e91906119c5565b61023460075481565b61035e6103823660046117da565b610889565b61025a61039536600461195d565b610895565b61025a61090c565b61025a6103b0366004611978565b610920565b6000546001600160a01b0316610282565b61035e6103d436600461195d565b61094b565b61023461c35081565b6102346103f036600461195d565b6109b7565b61025a61040336600461190f565b6109f5565b61025a610416366004611a17565b610a67565b61025a6104293660046117da565b610aaa565b61025a61043c366004611a34565b610b6b565b61023461044f3660046117da565b610c02565b600654610282906001600160a01b031681565b610234610c2f565b600154610282906001600160a01b031681565b6102826104903660046117da565b6000908152600a60205260409020546001600160a01b031690565b61025a6104b936600461199b565b610c3f565b6102d96104cc3660046117da565b610c49565b6102346104df36600461199b565b610c84565b61025a6104f236600461195d565b610cb5565b61025a61050536600461195d565b610d56565b600554610282906001600160a01b031681565b61025a61052b36600461195d565b610df7565b60008061053c8361077c565b9050808360075461054d9190611a98565b6105579190611aaf565b9392505050565b610566610e75565b6001600160a01b038316158061058357506001600160a01b038216155b8061059557506001600160a01b038116155b156105b35760405163e6c4247b60e01b815260040160405180910390fd5b600580546001600160a01b03199081166001600160a01b039687161790915560068054821694861694909417909355600180548416928516929092178255600280549093169316929092179055336000908152600360205260409020805460ff19169091179055565b3360009081526003602052604090205460ff1661064c57604051631833a1e960e31b815260040160405180910390fd5b60005b825181101561069357600083828151811061066c5761066c611ac2565b602002602001015190506106808184610ecf565b508061068b81611ad8565b91505061064f565b505050565b3360009081526003602052604090205460ff166106c857604051631833a1e960e31b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561072357600080fd5b505af4158015610737573d6000803e3d6000fd5b5050505050565b3360009081526003602052604090205460ff1661076e57604051631833a1e960e31b815260040160405180910390fd5b6107788282610ecf565b5050565b600081600660075461078e9190611af1565b60075461079b9190611aaf565b6107a59190611a98565b92915050565b3360009081526003602052604090205460ff166107db57604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b0381166108025760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa90600090a250565b3360009081526003602052604090205460609060ff1661087f57604051631833a1e960e31b815260040160405180910390fd5b6105578383610f2c565b60606107a53383610f2c565b3360009081526003602052604090205460ff166108c557604051631833a1e960e31b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161070b565b610914610e75565b61091e6000611192565b565b6001546001600160a01b0316331461076e57604051630f8d39bd60e41b815260040160405180910390fd5b6001600160a01b0381166000908152600b60209081526040918290208054835181840281018401909452808452606093928301828280156109ab57602002820191906000526020600020905b815481526020019060010190808311610997575b50505050509050919050565b3360009081526003602052604081205460ff166109e757604051631833a1e960e31b815260040160405180910390fd5b6107a5826111e2565b919050565b6001546001600160a01b03163314610a2057604051630f8d39bd60e41b815260040160405180910390fd5b60005b8251811015610693576000838281518110610a4057610a40611ac2565b60200260200101519050610a548184610ecf565b5080610a5f81611ad8565b915050610a23565b3360009081526003602052604090205460ff16610a9757604051631833a1e960e31b815260040160405180910390fd5b6009805460ff1916911515919091179055565b3360009081526003602052604090205460ff16610ada57604051631833a1e960e31b815260040160405180910390fd5b60078190556001546040516370c41e3760e11b8152600481018390526001600160a01b039091169063e1883c6e90602401600060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b50506040518392507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b79150600090a250565b60005b8151811015610bb2576000828281518110610b8b57610b8b611ac2565b60200260200101519050610b9f8482611215565b5080610baa81611ad8565b915050610b6e565b5080604051610bc19190611b13565b604051908190038120906001600160a01b0384169033907f1affae2fd35738ec8f6a4212f337c673b41aa2231f1bd5cfeb94463a93ace1f190600090a45050565b600080610c0e8361077c565b90506000610c1b84610530565b9050610c278183611b49565b949350505050565b6000610c3a336111e2565b905090565b6107788282611215565b600081600003610c6c57604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610c7d9190611b49565b1092915050565b600b6020528160005260406000208181548110610ca057600080fd5b90600052602060002001600091509150505481565b3360009081526003602052604090205460ff16610ce557604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610d0c5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a250565b3360009081526003602052604090205460ff16610d8657604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610dad5760405163e6c4247b60e01b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f7161c7a7090d78e8031fca87e845a86b39e0eb9c15436933d2d4ce7f4520c4a590600090a250565b610dff610e75565b6001600160a01b038116610e695760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610e7281611192565b50565b6000546001600160a01b0316331461091e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e60565b610ed98282611301565b6000828152600a602052604080822080546001600160a01b03191690555183916001600160a01b038416917f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c9190a35050565b60606001600160a01b038316610f555760405163e6c4247b60e01b815260040160405180910390fd5b811580610f625750606482115b15610f8057604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610f919190611b49565b10610faf57604051637c5a3c3960e01b815260040160405180910390fd5b60008267ffffffffffffffff811115610fca57610fca61185e565b604051908082528060200260200182016040528015610ff3578160200160208202803683370190505b5060085490915060005b848110156110a35761c350821061102757604051637c5a3c3960e01b815260040160405180910390fd5b6000828152600a6020908152604080832080546001600160a01b0319166001600160a01b038b169081179091558352600b8252822080546001810182559083529120018290558251829084908390811061108357611083611ac2565b60209081029190910101528161109881611ad8565b925050600101610ffd565b50600881905560006110b58686611440565b9050806110e057604051630bd7e48f60e21b81526001600160a01b0387166004820152602401610e60565b8460010361113e57826000815181106110fb576110fb611ac2565b6020026020010151866001600160a01b03167fc79cad949a408373456da7a9e88e8114102aa00e03a69733c70e3a0d95944ca760405160405180910390a3611188565b8260405161114c9190611b13565b604051908190038120906001600160a01b038816907f8ae8b18ed6d499ec84f68235bf3512b3db155f7911789805d36093467e5971c990600090a35b5090949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806111f0836001610f2c565b90508060008151811061120557611205611ac2565b6020026020010151915050919050565b6001600160a01b03821661123c5760405163e6c4247b60e01b815260040160405180910390fd5b6000818152600a60205260409020546001600160a01b0316331461127357604051637f6ecdf560e01b815260040160405180910390fd5b6000818152600a6020526040902080546001600160a01b0319166001600160a01b0384161790556112a48133611301565b6001600160a01b0382166000818152600b6020908152604080832080546001810182559084529183209091018490555183929133917f16e5698e3d85c69c8d8cdb9a21893b33518e24d8cb69d9944d4bfd233464c3a29190a45050565b6001600160a01b0381166000908152600b6020526040812054905b8181101561143a576001600160a01b0383166000908152600b6020526040902080548591908390811061135157611351611ac2565b906000526020600020015403611428576001600160a01b0383166000908152600b60205260409020805461138790600190611aaf565b8154811061139757611397611ac2565b9060005260206000200154600b6000856001600160a01b03166001600160a01b0316815260200190815260200160002082815481106113d8576113d8611ac2565b60009182526020808320909101929092556001600160a01b0385168152600b9091526040902080548061140d5761140d611b5c565b6001900381819060005260206000200160009055905561143a565b8061143281611ad8565b91505061131c565b50505050565b60008061144c8361077c565b9050600061145984610530565b600154604051630bc639c960e31b8152600481018590529192506001600160a01b031690635e31ce4890602401600060405180830381600087803b1580156114a057600080fd5b505af11580156114b4573d6000803e3d6000fd5b505060095460ff161591506117cf9050576005546001600160a01b03166114db8284611b49565b604051636eb1769f60e11b81526001600160a01b03888116600483015230602483015283169063dd62ed3e90604401602060405180830381865afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154b9190611b72565b101561156a576040516313be252b60e01b815260040160405180910390fd5b6040516370a0823160e01b81526001600160a01b0387811660048301528491908316906370a0823190602401602060405180830381865afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190611b72565b108061164d57506040516370a0823160e01b81526001600160a01b0387811660048301528391908316906370a0823190602401602060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190611b72565b105b1561166b57604051631e9acf1760e31b815260040160405180910390fd5b6001546040516323b872dd60e01b81526001600160a01b0388811660048301529182166024820152604481018590526000918316906323b872dd906064016020604051808303816000875af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ec9190611b8b565b90508061171b57600154604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b6006546040516323b872dd60e01b81526001600160a01b0389811660048301529182166024820152604481018590526000918416906323b872dd906064016020604051808303816000875af1158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c9190611b8b565b9050806117cb57600654604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b5050505b506001949350505050565b6000602082840312156117ec57600080fd5b5035919050565b80356001600160a01b03811681146109f057600080fd5b6000806000806080858703121561182057600080fd5b611829856117f3565b9350611837602086016117f3565b9250611845604086016117f3565b9150611853606086016117f3565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261188557600080fd5b8135602067ffffffffffffffff808311156118a2576118a261185e565b8260051b604051601f19603f830116810181811084821117156118c7576118c761185e565b6040529384528581018301938381019250878511156118e557600080fd5b83870191505b84821015611904578135835291830191908301906118eb565b979650505050505050565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b61194585828601611874565b925050611954602084016117f3565b90509250929050565b60006020828403121561196f57600080fd5b610557826117f3565b6000806040838503121561198b57600080fd5b82359150611954602084016117f3565b600080604083850312156119ae57600080fd5b6119b7836117f3565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156119fd578351835292840192918401916001016119e1565b50909695505050505050565b8015158114610e7257600080fd5b600060208284031215611a2957600080fd5b813561055781611a09565b60008060408385031215611a4757600080fd5b611a50836117f3565b9150602083013567ffffffffffffffff811115611a6c57600080fd5b611a7885828601611874565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107a5576107a5611a82565b818103818111156107a5576107a5611a82565b634e487b7160e01b600052603260045260246000fd5b600060018201611aea57611aea611a82565b5060010190565b600082611b0e57634e487b7160e01b600052601260045260246000fd5b500490565b815160009082906020808601845b83811015611b3d57815185529382019390820190600101611b21565b50929695505050505050565b808201808211156107a5576107a5611a82565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611b8457600080fd5b5051919050565b600060208284031215611b9d57600080fd5b815161055781611a0956fea2646970667358221220fd54fd5d99679dd24123986c2b3fe3d53c16d5b0be561d77ba62c9b5e4a6b5b064736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x21C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x94A08C69 GT PUSH2 0x125 JUMPI DUP1 PUSH4 0xD250F03A GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xD9E8221E GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xD9E8221E EQ PUSH2 0x4D1 JUMPI DUP1 PUSH4 0xDDB975E8 EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xE0F78307 EQ PUSH2 0x4F7 JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0x50A JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x51D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xD250F03A EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0xD3E6A7AD EQ PUSH2 0x482 JUMPI DUP1 PUSH4 0xD611713E EQ PUSH2 0x4AB JUMPI DUP1 PUSH4 0xD6A4C3E4 EQ PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA2B40D19 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0xA2B40D19 EQ PUSH2 0x41B JUMPI DUP1 PUSH4 0xAB4BDBC8 EQ PUSH2 0x42E JUMPI DUP1 PUSH4 0xB48CE653 EQ PUSH2 0x441 JUMPI DUP1 PUSH4 0xC34E8AF4 EQ PUSH2 0x454 JUMPI DUP1 PUSH4 0xC37B9BCD EQ PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x94A08C69 EQ PUSH2 0x3D9 JUMPI DUP1 PUSH4 0x967ED63D EQ PUSH2 0x3E2 JUMPI DUP1 PUSH4 0x97F8B3D3 EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0x99E5F896 EQ PUSH2 0x408 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4C7A7AD3 GT PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x7065CB48 GT PUSH2 0x177 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x387 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0x80F2540B EQ PUSH2 0x3A2 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3B5 JUMPI DUP1 PUSH4 0x8FD5BAF7 EQ PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4C7A7AD3 EQ PUSH2 0x338 JUMPI DUP1 PUSH4 0x62E21878 EQ PUSH2 0x34B JUMPI DUP1 PUSH4 0x656BD0AD EQ PUSH2 0x36B JUMPI DUP1 PUSH4 0x6ADBAF75 EQ PUSH2 0x374 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x173825D9 GT PUSH2 0x1EF JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x2AD JUMPI DUP1 PUSH4 0x39E8D3EC EQ PUSH2 0x2E9 JUMPI DUP1 PUSH4 0x3CD626FD EQ PUSH2 0x2FC JUMPI DUP1 PUSH4 0x3F6ECD48 EQ PUSH2 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1321C4D EQ PUSH2 0x221 JUMPI DUP1 PUSH4 0x6552FF3 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0xC3E5C00 EQ PUSH2 0x25C JUMPI DUP1 PUSH4 0x14CCA36A EQ PUSH2 0x26F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x234 PUSH2 0x22F CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x530 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x25A PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0x180A JUMP JUMPDEST PUSH2 0x55E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x25A PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x190F JUMP JUMPDEST PUSH2 0x61C JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST PUSH2 0x25A PUSH2 0x2A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x698 JUMP JUMPDEST PUSH2 0x2D9 PUSH2 0x2BB CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23E JUMP JUMPDEST PUSH2 0x25A PUSH2 0x2F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x73E JUMP JUMPDEST PUSH2 0x282 PUSH2 0x30A CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x333 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x77C JUMP JUMPDEST PUSH2 0x25A PUSH2 0x346 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x7AB JUMP JUMPDEST PUSH2 0x35E PUSH2 0x359 CALLDATASIZE PUSH1 0x4 PUSH2 0x199B JUMP JUMPDEST PUSH2 0x84C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23E SWAP2 SWAP1 PUSH2 0x19C5 JUMP JUMPDEST PUSH2 0x234 PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x35E PUSH2 0x382 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0x889 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x395 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x895 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x90C JUMP JUMPDEST PUSH2 0x25A PUSH2 0x3B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1978 JUMP JUMPDEST PUSH2 0x920 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x282 JUMP JUMPDEST PUSH2 0x35E PUSH2 0x3D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x94B JUMP JUMPDEST PUSH2 0x234 PUSH2 0xC350 DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x3F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0x9B7 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x403 CALLDATASIZE PUSH1 0x4 PUSH2 0x190F JUMP JUMPDEST PUSH2 0x9F5 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x416 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A17 JUMP JUMPDEST PUSH2 0xA67 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x429 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0xAAA JUMP JUMPDEST PUSH2 0x25A PUSH2 0x43C CALLDATASIZE PUSH1 0x4 PUSH2 0x1A34 JUMP JUMPDEST PUSH2 0xB6B JUMP JUMPDEST PUSH2 0x234 PUSH2 0x44F CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0xC02 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x234 PUSH2 0xC2F JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x282 PUSH2 0x490 CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x4B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x199B JUMP JUMPDEST PUSH2 0xC3F JUMP JUMPDEST PUSH2 0x2D9 PUSH2 0x4CC CALLDATASIZE PUSH1 0x4 PUSH2 0x17DA JUMP JUMPDEST PUSH2 0xC49 JUMP JUMPDEST PUSH2 0x234 PUSH2 0x4DF CALLDATASIZE PUSH1 0x4 PUSH2 0x199B JUMP JUMPDEST PUSH2 0xC84 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x4F2 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0xCB5 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x505 CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH2 0x282 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x25A PUSH2 0x52B CALLDATASIZE PUSH1 0x4 PUSH2 0x195D JUMP JUMPDEST PUSH2 0xDF7 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x53C DUP4 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP DUP1 DUP4 PUSH1 0x7 SLOAD PUSH2 0x54D SWAP2 SWAP1 PUSH2 0x1A98 JUMP JUMPDEST PUSH2 0x557 SWAP2 SWAP1 PUSH2 0x1AAF JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x566 PUSH2 0xE75 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x583 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST DUP1 PUSH2 0x595 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO JUMPDEST ISZERO PUSH2 0x5B3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x6 DUP1 SLOAD DUP3 AND SWAP5 DUP7 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SWAP4 SSTORE PUSH1 0x1 DUP1 SLOAD DUP5 AND SWAP3 DUP6 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE PUSH1 0x2 DUP1 SLOAD SWAP1 SWAP4 AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x64C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x693 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x66C JUMPI PUSH2 0x66C PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0x680 DUP2 DUP5 PUSH2 0xECF JUMP JUMPDEST POP DUP1 PUSH2 0x68B DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x64F JUMP JUMPDEST POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x6C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x723 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x737 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x76E JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x778 DUP3 DUP3 PUSH2 0xECF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x6 PUSH1 0x7 SLOAD PUSH2 0x78E SWAP2 SWAP1 PUSH2 0x1AF1 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH2 0x79B SWAP2 SWAP1 PUSH2 0x1AAF JUMP JUMPDEST PUSH2 0x7A5 SWAP2 SWAP1 PUSH2 0x1A98 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x7DB JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x802 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x45C9EBA39B5AE3E7A6650B0A57BCB8E5D135936D56D111983DBC5860AE6760FA SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x60 SWAP1 PUSH1 0xFF AND PUSH2 0x87F JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x557 DUP4 DUP4 PUSH2 0xF2C JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7A5 CALLER DUP4 PUSH2 0xF2C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x8C5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x70B JUMP JUMPDEST PUSH2 0x914 PUSH2 0xE75 JUMP JUMPDEST PUSH2 0x91E PUSH1 0x0 PUSH2 0x1192 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x76E JUMPI PUSH1 0x40 MLOAD PUSH4 0xF8D39BD PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x9AB JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0x997 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x9E7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x7A5 DUP3 PUSH2 0x11E2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA20 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF8D39BD PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x693 JUMPI PUSH1 0x0 DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xA40 JUMPI PUSH2 0xA40 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0xA54 DUP2 DUP5 PUSH2 0xECF JUMP JUMPDEST POP DUP1 PUSH2 0xA5F DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xA23 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xADA JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 DUP2 SWAP1 SSTORE PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x70C41E37 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xE1883C6E SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xB25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xB39 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD DUP4 SWAP3 POP PUSH32 0x270B316B51AB2CF3A3BB8CA4D22E76A327D05E762FCAA8BD6AFAF8CFDE9270B7 SWAP2 POP PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0xBB2 JUMPI PUSH1 0x0 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xB8B JUMPI PUSH2 0xB8B PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0xB9F DUP5 DUP3 PUSH2 0x1215 JUMP JUMPDEST POP DUP1 PUSH2 0xBAA DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0xB6E JUMP JUMPDEST POP DUP1 PUSH1 0x40 MLOAD PUSH2 0xBC1 SWAP2 SWAP1 PUSH2 0x1B13 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 CALLER SWAP1 PUSH32 0x1AFFAE2FD35738EC8F6A4212F337C673B41AA2231F1BD5CFEB94463A93ACE1F1 SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xC0E DUP4 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC1B DUP5 PUSH2 0x530 JUMP JUMPDEST SWAP1 POP PUSH2 0xC27 DUP2 DUP4 PUSH2 0x1B49 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC3A CALLER PUSH2 0x11E2 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x778 DUP3 DUP3 PUSH2 0x1215 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 SUB PUSH2 0xC6C JUMPI PUSH1 0x40 MLOAD PUSH4 0x2EC760A5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC350 DUP3 PUSH1 0x8 SLOAD PUSH2 0xC7D SWAP2 SWAP1 PUSH2 0x1B49 JUMP JUMPDEST LT SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xB PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xCA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xCE5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xD0C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x563F24D71E856F79BEC30E1AA96082A296CD13F0A71CEC730A72B719FA0FA202 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xD86 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1833A1E9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xDAD JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x7161C7A7090D78E8031FCA87E845A86B39E0EB9C15436933D2D4CE7F4520C4A5 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP JUMP JUMPDEST PUSH2 0xDFF PUSH2 0xE75 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xE69 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE72 DUP2 PUSH2 0x1192 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x91E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xE60 JUMP JUMPDEST PUSH2 0xED9 DUP3 DUP3 PUSH2 0x1301 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE MLOAD DUP4 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 PUSH32 0x459BDAA71B6C253B49D34A7622DC4C6C1C416C0567571C068B392BA7172DDD4C SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xF55 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 ISZERO DUP1 PUSH2 0xF62 JUMPI POP PUSH1 0x64 DUP3 GT JUMPDEST ISZERO PUSH2 0xF80 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2EC760A5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xC350 DUP3 PUSH1 0x8 SLOAD PUSH2 0xF91 SWAP2 SWAP1 PUSH2 0x1B49 JUMP JUMPDEST LT PUSH2 0xFAF JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C5A3C39 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFCA JUMPI PUSH2 0xFCA PUSH2 0x185E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xFF3 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP PUSH1 0x8 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x10A3 JUMPI PUSH2 0xC350 DUP3 LT PUSH2 0x1027 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C5A3C39 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP4 MSTORE PUSH1 0xB DUP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP4 MSTORE SWAP2 KECCAK256 ADD DUP3 SWAP1 SSTORE DUP3 MLOAD DUP3 SWAP1 DUP5 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1083 JUMPI PUSH2 0x1083 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE DUP2 PUSH2 0x1098 DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 ADD PUSH2 0xFFD JUMP JUMPDEST POP PUSH1 0x8 DUP2 SWAP1 SSTORE PUSH1 0x0 PUSH2 0x10B5 DUP7 DUP7 PUSH2 0x1440 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x10E0 JUMPI PUSH1 0x40 MLOAD PUSH4 0xBD7E48F PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xE60 JUMP JUMPDEST DUP5 PUSH1 0x1 SUB PUSH2 0x113E JUMPI DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x10FB JUMPI PUSH2 0x10FB PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xC79CAD949A408373456DA7A9E88E8114102AA00E03A69733C70E3A0D95944CA7 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x1188 JUMP JUMPDEST DUP3 PUSH1 0x40 MLOAD PUSH2 0x114C SWAP2 SWAP1 PUSH2 0x1B13 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0x8AE8B18ED6D499EC84F68235BF3512B3DB155F7911789805D36093467E5971C9 SWAP1 PUSH1 0x0 SWAP1 LOG3 JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x11F0 DUP4 PUSH1 0x1 PUSH2 0xF2C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1205 JUMPI PUSH2 0x1205 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x123C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1273 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7F6ECDF5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND OR SWAP1 SSTORE PUSH2 0x12A4 DUP2 CALLER PUSH2 0x1301 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP1 DUP5 MSTORE SWAP2 DUP4 KECCAK256 SWAP1 SWAP2 ADD DUP5 SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 CALLER SWAP2 PUSH32 0x16E5698E3D85C69C8D8CDB9A21893B33518E24D8CB69D9944D4BFD233464C3A2 SWAP2 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD SWAP1 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x143A JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP6 SWAP2 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1351 JUMPI PUSH2 0x1351 PUSH2 0x1AC2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SUB PUSH2 0x1428 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1387 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x1AAF JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1397 JUMPI PUSH2 0x1397 PUSH2 0x1AC2 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD PUSH1 0xB PUSH1 0x0 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x13D8 JUMPI PUSH2 0x13D8 PUSH2 0x1AC2 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP2 MSTORE PUSH1 0xB SWAP1 SWAP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP1 PUSH2 0x140D JUMPI PUSH2 0x140D PUSH2 0x1B5C JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE PUSH2 0x143A JUMP JUMPDEST DUP1 PUSH2 0x1432 DUP2 PUSH2 0x1AD8 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x131C JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x144C DUP4 PUSH2 0x77C JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x1459 DUP5 PUSH2 0x530 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xBC639C9 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP6 SWAP1 MSTORE SWAP2 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5E31CE48 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x14A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x14B4 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x9 SLOAD PUSH1 0xFF AND ISZERO SWAP2 POP PUSH2 0x17CF SWAP1 POP JUMPI PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x14DB DUP3 DUP5 PUSH2 0x1B49 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6EB1769F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE ADDRESS PUSH1 0x24 DUP4 ADD MSTORE DUP4 AND SWAP1 PUSH4 0xDD62ED3E SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1527 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x154B SWAP2 SWAP1 PUSH2 0x1B72 JUMP JUMPDEST LT ISZERO PUSH2 0x156A JUMPI PUSH1 0x40 MLOAD PUSH4 0x13BE252B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP5 SWAP2 SWAP1 DUP4 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15B3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15D7 SWAP2 SWAP1 PUSH2 0x1B72 JUMP JUMPDEST LT DUP1 PUSH2 0x164D JUMPI POP PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE DUP4 SWAP2 SWAP1 DUP4 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1627 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x164B SWAP2 SWAP1 PUSH2 0x1B72 JUMP JUMPDEST LT JUMPDEST ISZERO PUSH2 0x166B JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E9ACF17 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP4 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x16C8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x16EC SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x171B JUMPI PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xBD7E48F PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xE60 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0x23B872DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP2 DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP5 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1778 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x179C SWAP2 SWAP1 PUSH2 0x1B8B JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x17CB JUMPI PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH4 0xBD7E48F PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x9F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1820 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1829 DUP6 PUSH2 0x17F3 JUMP JUMPDEST SWAP4 POP PUSH2 0x1837 PUSH1 0x20 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP3 POP PUSH2 0x1845 PUSH1 0x40 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP2 POP PUSH2 0x1853 PUSH1 0x60 DUP7 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1885 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x18A2 JUMPI PUSH2 0x18A2 PUSH2 0x185E JUMP JUMPDEST DUP3 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP5 DUP3 GT OR ISZERO PUSH2 0x18C7 JUMPI PUSH2 0x18C7 PUSH2 0x185E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP4 DUP5 MSTORE DUP6 DUP2 ADD DUP4 ADD SWAP4 DUP4 DUP2 ADD SWAP3 POP DUP8 DUP6 GT ISZERO PUSH2 0x18E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP8 ADD SWAP2 POP JUMPDEST DUP5 DUP3 LT ISZERO PUSH2 0x1904 JUMPI DUP2 CALLDATALOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 SWAP1 DUP4 ADD SWAP1 PUSH2 0x18EB JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1939 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1945 DUP6 DUP3 DUP7 ADD PUSH2 0x1874 JUMP JUMPDEST SWAP3 POP POP PUSH2 0x1954 PUSH1 0x20 DUP5 ADD PUSH2 0x17F3 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x196F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x557 DUP3 PUSH2 0x17F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x198B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1954 PUSH1 0x20 DUP5 ADD PUSH2 0x17F3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x19AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x19B7 DUP4 PUSH2 0x17F3 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x19FD JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x19E1 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xE72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1A29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x557 DUP2 PUSH2 0x1A09 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A50 DUP4 PUSH2 0x17F3 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A78 DUP6 DUP3 DUP7 ADD PUSH2 0x1874 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x7A5 JUMPI PUSH2 0x7A5 PUSH2 0x1A82 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x7A5 JUMPI PUSH2 0x7A5 PUSH2 0x1A82 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1AEA JUMPI PUSH2 0x1AEA PUSH2 0x1A82 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1B0E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B3D JUMPI DUP2 MLOAD DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x1B21 JUMP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x7A5 JUMPI PUSH2 0x7A5 PUSH2 0x1A82 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1B9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x557 DUP2 PUSH2 0x1A09 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 REVERT SLOAD REVERT 0x5D SWAP10 PUSH8 0x9DD24123986C2B3F 0xE3 0xD5 EXTCODECOPY AND 0xD5 0xB0 0xBE JUMP SAR PUSH24 0xBA62C9B5E4A6B5B064736F6C634300081400330000000000 ","sourceMap":"947:9997:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4603:227;;;;;;:::i;:::-;;:::i;:::-;;;345:25:31;;;333:2;318:18;4603:227:24;;;;;;;;2415:595;;;;;;:::i;:::-;;:::i;:::-;;10666:216;;;;;;:::i;:::-;;:::i;1085:49::-;;;;;-1:-1:-1;;;;;1085:49:24;;;;;;-1:-1:-1;;;;;2633:32:31;;;2615:51;;2603:2;2588:18;1085:49:24;2439:233:31;3116:114:24;;;;;;:::i;:::-;;:::i;4340:101::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4413:23:24;4394:4;4413:23;;;:10;:23;;;;;;;;;4340:101;;;;3033:14:31;;3026:22;3008:41;;2996:2;2981:18;4340:101:24;2868:187:31;10554:108:24;;;;;;:::i;:::-;;:::i;1410:56::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1410:56:24;;;4445:154;;;;;;:::i;:::-;;:::i;3774:271::-;;;;;;:::i;:::-;;:::i;5896:166::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1293:34::-;;;;;;5654:129;;;;;;:::i;:::-;;:::i;3014:98::-;;;;;;:::i;:::-;;:::i;1824:101:0:-;;;:::i;9473:116:24:-;;;;;;:::i;:::-;;:::i;1201:85:0:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;1201:85;;5127:116:24;;;;;;:::i;:::-;;:::i;1246:43::-;;1284:5;1246:43;;5787:105;;;;;;:::i;:::-;;:::i;9593:224::-;;;;;;:::i;:::-;;:::i;3663:107::-;;;;;;:::i;:::-;;:::i;3486:173::-;;;;;;:::i;:::-;;:::i;8878:255::-;;;;;;:::i;:::-;;:::i;4834:289::-;;;;;;:::i;:::-;;:::i;1210:32::-;;;;;-1:-1:-1;;;;;1210:32:24;;;5568:82;;;:::i;1036:45::-;;;;;-1:-1:-1;;;;;1036:45:24;;;5247:103;;;;;;:::i;:::-;5307:7;5329:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5329:16:24;;5247:103;8779:95;;;;;;:::i;:::-;;:::i;5354:210::-;;;;;;:::i;:::-;;:::i;1470:65::-;;;;;;:::i;:::-;;:::i;4049:287::-;;;;;;:::i;:::-;;:::i;3234:248::-;;;;;;:::i;:::-;;:::i;1182:24::-;;;;;-1:-1:-1;;;;;1182:24:24;;;2074:198:0;;;;;;:::i;:::-;;:::i;4603:227:24:-;4691:7;4706:20;4729:39;4754:13;4729:24;:39::i;:::-;4706:62;;4813:12;4796:13;4782:11;;:27;;;;:::i;:::-;4781:44;;;;:::i;:::-;4774:51;4603:227;-1:-1:-1;;;4603:227:24:o;2415:595::-;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;2597:30:24;::::1;::::0;;:73:::1;;-1:-1:-1::0;;;;;;2637:33:24;::::1;::::0;2597:73:::1;:118;;;-1:-1:-1::0;;;;;;2680:35:24;::::1;::::0;2597:118:::1;2586:159;;;2729:16;;-1:-1:-1::0;;;2729:16:24::1;;;;;;;;;;;2586:159;2752:9;:28:::0;;-1:-1:-1;;;;;;2752:28:24;;::::1;-1:-1:-1::0;;;;;2752:28:24;;::::1;;::::0;;;2786:17:::1;:36:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;2828:61:24;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;2895:20:::1;:67:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;2987:10:::1;-1:-1:-1::0;2969:29:24;;;-1:-1:-1;2969:29:24::1;::::0;;;;:36;;-1:-1:-1;;2969:36:24::1;::::0;;::::1;::::0;;2415:595::o;10666:216::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;10760:9:::1;10755:123;10779:8;:15;10775:1;:19;10755:123;;;10809:15;10827:8;10836:1;10827:11;;;;;;;;:::i;:::-;;;;;;;10809:29;;10846:25;10856:7;10865:5;10846:9;:25::i;:::-;-1:-1:-1::0;10796:3:24;::::1;::::0;::::1;:::i;:::-;;;;10755:123;;;;10666:216:::0;;:::o;3116:114::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;3187:38:::1;::::0;-1:-1:-1;;;3187:38:24;;:10:::1;:38;::::0;::::1;6371:25:31::0;-1:-1:-1;;;;;6432:32:31;;6412:18;;;6405:60;3187:22:24::1;::::0;::::1;::::0;6344:18:31;;3187:38:24::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3116:114:::0;:::o;10554:108::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;10632:25:::1;10642:7;10651:5;10632:9;:25::i;:::-;10554:108:::0;;:::o;4445:154::-;4523:7;4581:13;4575:1;4561:11;;:15;;;;:::i;:::-;4546:11;;:31;;;;:::i;:::-;4545:49;;;;:::i;:::-;4538:56;4445:154;-1:-1:-1;;4445:154:24:o;3774:271::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;-1:-1:-1;;;;;3862:33:24;::::1;3858:62;;3904:16;;-1:-1:-1::0;;;3904:16:24::1;;;;;;;;;;;3858:62;3926:18;:61:::0;;-1:-1:-1;;;;;;3926:61:24::1;-1:-1:-1::0;;;;;3926:61:24;::::1;::::0;;::::1;::::0;;;3998:42:::1;::::0;::::1;::::0;-1:-1:-1;;3998:42:24::1;3774:271:::0;:::o;5896:166::-;2366:10;2348:17;:29;;;:10;:29;;;;;;5996:16;;2348:29;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;6027:30:::1;6037:4;6043:13;6027:9;:30::i;5654:129::-:0;5711:16;5742:36;5752:10;5764:13;5742:9;:36::i;3014:98::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;3077:30:::1;::::0;-1:-1:-1;;;3077:30:24;;:10:::1;:30;::::0;::::1;6371:25:31::0;-1:-1:-1;;;;;6432:32:31;;6412:18;;;6405:60;3077:19:24::1;::::0;::::1;::::0;6344:18:31;;3077:30:24::1;6165:306:31::0;1824:101:0;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;9473:116:24:-;2248:18;;-1:-1:-1;;;;;2248:18:24;2226:10;:41;2222:77;;2276:23;;-1:-1:-1;;;2276:23:24;;;;;;;;;;;5127:116;-1:-1:-1;;;;;5218:20:24;;;;;;:13;:20;;;;;;;;;5211:27;;;;;;;;;;;;;;;;;5187:16;;5211:27;;;5218:20;5211:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5127:116;;;:::o;5787:105::-;2366:10;5851:7;2348:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;5873:14:::1;5882:4;5873:8;:14::i;2405:1::-;5787:105:::0;;;:::o;9593:224::-;2248:18;;-1:-1:-1;;;;;2248:18:24;2226:10;:41;2222:77;;2276:23;;-1:-1:-1;;;2276:23:24;;;;;;;;;;;2222:77;9695:9:::1;9690:123;9714:8;:15;9710:1;:19;9690:123;;;9744:15;9762:8;9771:1;9762:11;;;;;;;;:::i;:::-;;;;;;;9744:29;;9781:25;9791:7;9800:5;9781:9;:25::i;:::-;-1:-1:-1::0;9731:3:24;::::1;::::0;::::1;:::i;:::-;;;;9690:123;;3663:107:::0;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;3737:13:::1;:28:::0;;-1:-1:-1;;3737:28:24::1;::::0;::::1;;::::0;;;::::1;::::0;;3663:107::o;3486:173::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;3550:11:::1;:23:::0;;;3579:18:::1;::::0;:45:::1;::::0;-1:-1:-1;;;3579:45:24;;::::1;::::0;::::1;345:25:31::0;;;-1:-1:-1;;;;;3579:18:24;;::::1;::::0;:34:::1;::::0;318:18:31;;3579:45:24::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3635:19:24::1;::::0;3644:9;;-1:-1:-1;3635:19:24::1;::::0;-1:-1:-1;3635:19:24;;::::1;3486:173:::0;:::o;8878:255::-;8958:9;8953:124;8977:8;:15;8973:1;:19;8953:124;;;9007:15;9025:8;9034:1;9025:11;;;;;;;;:::i;:::-;;;;;;;9007:29;;9044:26;9058:2;9062:7;9044:13;:26::i;:::-;-1:-1:-1;8994:3:24;;;;:::i;:::-;;;;8953:124;;;;9119:8;9087:41;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;9087:41:24;;;9103:10;;9087:41;;;;;8878:255;;:::o;4834:289::-;4915:7;4930:20;4953:39;4978:13;4953:24;:39::i;:::-;4930:62;;4998:24;5025:49;5060:13;5025:34;:49::i;:::-;4998:76;-1:-1:-1;5087:31:24;4998:76;5087:12;:31;:::i;:::-;5080:38;4834:289;-1:-1:-1;;;;4834:289:24:o;5568:82::-;5603:7;5625:20;5634:10;5625:8;:20::i;:::-;5618:27;;5568:82;:::o;8779:95::-;8843:26;8857:2;8861:7;8843:13;:26::i;5354:210::-;5435:4;5451:13;5468:1;5451:18;5447:53;;5478:22;;-1:-1:-1;;;5478:22:24;;;;;;;;;;;5447:53;1284:5;5531:13;5514:14;;:30;;;;:::i;:::-;5513:46;;5354:210;-1:-1:-1;;5354:210:24:o;1470:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4049:287::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;-1:-1:-1;;;;;4141:35:24;::::1;4137:64;;4185:16;;-1:-1:-1::0;;;4185:16:24::1;;;;;;;;;;;4137:64;4207:20;:67:::0;;-1:-1:-1;;;;;;4207:67:24::1;-1:-1:-1::0;;;;;4207:67:24;::::1;::::0;;::::1;::::0;;;4285:46:::1;::::0;::::1;::::0;-1:-1:-1;;4285:46:24::1;4049:287:::0;:::o;3234:248::-;2366:10;2348:17;:29;;;:10;:29;;;;;;;;2343:56;;2386:13;;-1:-1:-1;;;2386:13:24;;;;;;;;;;;2343:56;-1:-1:-1;;;;;3324:33:24;::::1;3320:62;;3366:16;;-1:-1:-1::0;;;3366:16:24::1;;;;;;;;;;;3320:62;3388:17;:39:::0;;-1:-1:-1;;;;;;3388:39:24::1;-1:-1:-1::0;;;;;3388:39:24;::::1;::::0;;::::1;::::0;;;3438::::1;::::0;::::1;::::0;-1:-1:-1;;3438:39:24::1;3234:248:::0;:::o;2074:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;7578:2:31;2154:73:0::1;::::0;::::1;7560:21:31::0;7617:2;7597:18;;;7590:30;7656:34;7636:18;;;7629:62;-1:-1:-1;;;7707:18:31;;;7700:36;7753:19;;2154:73:0::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;734:10:12;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;7985:2:31;1414:68:0;;;7967:21:31;;;8004:18;;;7997:30;8063:34;8043:18;;;8036:62;8115:18;;1414:68:0;7783:356:31;9821:165:24;9886:29;9900:7;9909:5;9886:13;:29::i;:::-;9928:16;;;;:7;:16;;;;;;9921:23;;-1:-1:-1;;;;;;9921:23:24;;;9955:26;9936:7;;-1:-1:-1;;;;;9955:26:24;;;;;9928:16;9955:26;9821:165;;:::o;6209:1091::-;6282:16;-1:-1:-1;;;;;6310:18:24;;6306:47;;6337:16;;-1:-1:-1;;;6337:16:24;;;;;;;;;;;6306:47;6363:18;;;:41;;;6401:3;6385:13;:19;6363:41;6359:76;;;6413:22;;-1:-1:-1;;;6413:22:24;;;;;;;;;;;6359:76;1284:5;6463:13;6446:14;;:30;;;;:::i;:::-;6445:47;6441:88;;6501:28;;-1:-1:-1;;;6501:28:24;;;;;;;;;;;6441:88;6535:25;6577:13;6563:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6563:28:24;-1:-1:-1;6622:14:24;;6535:56;;-1:-1:-1;6597:22:24;6643:307;6663:13;6659:1;:17;6643:307;;;1284:5;6691:14;:29;6687:70;;6729:28;;-1:-1:-1;;;6729:28:24;;;;;;;;;;;6687:70;6765:23;;;;:7;:23;;;;;;;;:30;;-1:-1:-1;;;;;;6765:30:24;-1:-1:-1;;;;;6765:30:24;;;;;;;;6803:19;;:13;:19;;;;:40;;-1:-1:-1;6803:40:24;;;;;;;;;;;;;6851:11;;6765:23;;6851:11;;6860:1;;6851:11;;;;;;:::i;:::-;;;;;;;;;;:28;6887:16;;;;:::i;:::-;;-1:-1:-1;;6932:3:24;;6643:307;;;-1:-1:-1;6960:14:24;:31;;;6998:24;7025:43;7048:4;7054:13;7025:22;:43::i;:::-;6998:70;;7079:19;7074:57;;7107:24;;-1:-1:-1;;;7107:24:24;;-1:-1:-1;;;;;2633:32:31;;7107:24:24;;;2615:51:31;2588:18;;7107:24:24;2439:233:31;7074:57:24;7142:13;7159:1;7142:18;7138:132;;7195:8;7204:1;7195:11;;;;;;;;:::i;:::-;;;;;;;7189:4;-1:-1:-1;;;;;7175:32:24;;;;;;;;;;;7138:132;;;7254:8;7233:30;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;7233:30:24;;;;;;;;7138:132;-1:-1:-1;7287:8:24;;6209:1091;-1:-1:-1;;;;6209:1091:24:o;2426:187:0:-;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;6066:139:24:-;6115:7;6130:25;6158:18;6168:4;6174:1;6158:9;:18::i;:::-;6130:46;;6189:8;6198:1;6189:11;;;;;;;;:::i;:::-;;;;;;;6182:18;;;6066:139;;;:::o;9137:332::-;-1:-1:-1;;;;;9207:16:24;;9203:45;;9232:16;;-1:-1:-1;;;9232:16:24;;;;;;;;;;;9203:45;9258:16;;;;:7;:16;;;;;;-1:-1:-1;;;;;9258:16:24;9278:10;9258:30;9254:56;;9297:13;;-1:-1:-1;;;9297:13:24;;;;;;;;;;;9254:56;9316:16;;;;:7;:16;;;;;:21;;-1:-1:-1;;;;;;9316:21:24;-1:-1:-1;;;;;9316:21:24;;;;;9343:34;9316:16;9366:10;9343:13;:34::i;:::-;-1:-1:-1;;;;;9383:17:24;;;;;;:13;:17;;;;;;;;:31;;;;;;;;;;;;;;;;;;;9425:39;9406:7;;9383:17;9440:10;;9425:39;;9383:17;9425:39;9137:332;;:::o;8393:382::-;-1:-1:-1;;;;;8491:20:24;;8463:25;8491:20;;;:13;:20;;;;;:27;;8524:247;8544:17;8540:1;:21;8524:247;;;-1:-1:-1;;;;;8580:20:24;;;;;;:13;:20;;;;;:23;;8607:7;;8580:20;8601:1;;8580:23;;;;;;:::i;:::-;;;;;;;;;:34;8576:189;;-1:-1:-1;;;;;8652:20:24;;;;;;:13;:20;;;;;8673:27;;:31;;8703:1;;8673:31;:::i;:::-;8652:53;;;;;;;;:::i;:::-;;;;;;;;;8626:13;:20;8640:5;-1:-1:-1;;;;;8626:20:24;-1:-1:-1;;;;;8626:20:24;;;;;;;;;;;;8647:1;8626:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:79;;;;-1:-1:-1;;;;;8715:20:24;;;;:13;:20;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;8751:5;;8576:189;8563:3;;;;:::i;:::-;;;;8524:247;;;;8457:318;8393:382;;:::o;7304:1085::-;7390:4;7402:20;7425:39;7450:13;7425:24;:39::i;:::-;7402:62;;7470:23;7496:49;7531:13;7496:34;:49::i;:::-;7551:18;;:49;;-1:-1:-1;;;7551:49:24;;;;;345:25:31;;;7470:75:24;;-1:-1:-1;;;;;;7551:18:24;;:35;;318:18:31;;7551:49:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7611:13:24;;;;7607:761;;-1:-1:-1;7607:761:24;;-1:-1:-1;7607:761:24;7661:9;;-1:-1:-1;;;;;7661:9:24;7729:30;7744:15;7729:12;:30;:::i;:::-;7684:41;;-1:-1:-1;;;7684:41:24;;-1:-1:-1;;;;;8506:15:31;;;7684:41:24;;;8488:34:31;7719:4:24;8538:18:31;;;8531:43;7684:20:24;;;;;8423:18:31;;7684:41:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:76;7680:112;;;7769:23;;-1:-1:-1;;;7769:23:24;;;;;;;;;;;7680:112;7804:26;;-1:-1:-1;;;7804:26:24;;-1:-1:-1;;;;;2633:32:31;;;7804:26:24;;;2615:51:31;7833:12:24;;7804:20;;;;;;2588:18:31;;7804:26:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;:89;;;-1:-1:-1;7849:26:24;;-1:-1:-1;;;7849:26:24;;-1:-1:-1;;;;;2633:32:31;;;7849:26:24;;;2615:51:31;7878:15:24;;7849:20;;;;;;2588:18:31;;7849:26:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;7804:89;7800:131;;;7910:21;;-1:-1:-1;;;7910:21:24;;;;;;;;;;;7800:131;8044:18;;8006:72;;-1:-1:-1;;;8006:72:24;;-1:-1:-1;;;;;9032:15:31;;;8006:72:24;;;9014:34:31;8044:18:24;;;9064::31;;;9057:43;9116:18;;;9109:34;;;7988:15:24;;8006:23;;;;;8949:18:31;;8006:72:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7988:90;;8091:10;8086:71;;8137:18;;8110:47;;-1:-1:-1;;;8110:47:24;;-1:-1:-1;;;;;8137:18:24;;;8110:47;;;2615:51:31;2588:18;;8110:47:24;2439:233:31;8086:71:24;8257:17;;8227:65;;-1:-1:-1;;;8227:65:24;;-1:-1:-1;;;;;9032:15:31;;;8227:65:24;;;9014:34:31;8257:17:24;;;9064:18:31;;;9057:43;9116:18;;;9109:34;;;8209:15:24;;8227:23;;;;;8949:18:31;;8227:65:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8209:83;;8305:10;8300:61;;8343:17;;8324:37;;-1:-1:-1;;;8324:37:24;;-1:-1:-1;;;;;8343:17:24;;;8324:37;;;2615:51:31;2588:18;;8324:37:24;2439:233:31;8300:61:24;7626:742;;;7607:761;-1:-1:-1;8380:4:24;;7304:1085;-1:-1:-1;;;;7304:1085:24:o;14:180:31:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:31;;14:180;-1:-1:-1;14:180:31:o;381:173::-;449:20;;-1:-1:-1;;;;;498:31:31;;488:42;;478:70;;544:1;541;534:12;559:409;645:6;653;661;669;722:3;710:9;701:7;697:23;693:33;690:53;;;739:1;736;729:12;690:53;762:29;781:9;762:29;:::i;:::-;752:39;;810:38;844:2;833:9;829:18;810:38;:::i;:::-;800:48;;867:38;901:2;890:9;886:18;867:38;:::i;:::-;857:48;;924:38;958:2;947:9;943:18;924:38;:::i;:::-;914:48;;559:409;;;;;;;:::o;973:127::-;1034:10;1029:3;1025:20;1022:1;1015:31;1065:4;1062:1;1055:15;1089:4;1086:1;1079:15;1105:902;1159:5;1212:3;1205:4;1197:6;1193:17;1189:27;1179:55;;1230:1;1227;1220:12;1179:55;1266:6;1253:20;1292:4;1315:18;1352:2;1348;1345:10;1342:36;;;1358:18;;:::i;:::-;1404:2;1401:1;1397:10;1436:2;1430:9;1499:2;1495:7;1490:2;1486;1482:11;1478:25;1470:6;1466:38;1554:6;1542:10;1539:22;1534:2;1522:10;1519:18;1516:46;1513:72;;;1565:18;;:::i;:::-;1601:2;1594:22;1651:18;;;1727:15;;;1723:24;;;1685:15;;;;-1:-1:-1;1759:15:31;;;1756:35;;;1787:1;1784;1777:12;1756:35;1823:2;1815:6;1811:15;1800:26;;1835:142;1851:6;1846:3;1843:15;1835:142;;;1917:17;;1905:30;;1955:12;;;;1868;;;;1835:142;;;1995:6;1105:902;-1:-1:-1;;;;;;;1105:902:31:o;2012:422::-;2105:6;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2222:9;2209:23;2255:18;2247:6;2244:30;2241:50;;;2287:1;2284;2277:12;2241:50;2310:61;2363:7;2354:6;2343:9;2339:22;2310:61;:::i;:::-;2300:71;;;2390:38;2424:2;2413:9;2409:18;2390:38;:::i;:::-;2380:48;;2012:422;;;;;:::o;2677:186::-;2736:6;2789:2;2777:9;2768:7;2764:23;2760:32;2757:52;;;2805:1;2802;2795:12;2757:52;2828:29;2847:9;2828:29;:::i;3060:254::-;3128:6;3136;3189:2;3177:9;3168:7;3164:23;3160:32;3157:52;;;3205:1;3202;3195:12;3157:52;3241:9;3228:23;3218:33;;3270:38;3304:2;3293:9;3289:18;3270:38;:::i;3527:254::-;3595:6;3603;3656:2;3644:9;3635:7;3631:23;3627:32;3624:52;;;3672:1;3669;3662:12;3624:52;3695:29;3714:9;3695:29;:::i;:::-;3685:39;3771:2;3756:18;;;;3743:32;;-1:-1:-1;;;3527:254:31:o;3786:632::-;3957:2;4009:21;;;4079:13;;3982:18;;;4101:22;;;3928:4;;3957:2;4180:15;;;;4154:2;4139:18;;;3928:4;4223:169;4237:6;4234:1;4231:13;4223:169;;;4298:13;;4286:26;;4367:15;;;;4332:12;;;;4259:1;4252:9;4223:169;;;-1:-1:-1;4409:3:31;;3786:632;-1:-1:-1;;;;;;3786:632:31:o;4423:118::-;4509:5;4502:13;4495:21;4488:5;4485:32;4475:60;;4531:1;4528;4521:12;4546:241;4602:6;4655:2;4643:9;4634:7;4630:23;4626:32;4623:52;;;4671:1;4668;4661:12;4623:52;4710:9;4697:23;4729:28;4751:5;4729:28;:::i;4792:422::-;4885:6;4893;4946:2;4934:9;4925:7;4921:23;4917:32;4914:52;;;4962:1;4959;4952:12;4914:52;4985:29;5004:9;4985:29;:::i;:::-;4975:39;;5065:2;5054:9;5050:18;5037:32;5092:18;5084:6;5081:30;5078:50;;;5124:1;5121;5114:12;5078:50;5147:61;5200:7;5191:6;5180:9;5176:22;5147:61;:::i;:::-;5137:71;;;4792:422;;;;;:::o;5455:127::-;5516:10;5511:3;5507:20;5504:1;5497:31;5547:4;5544:1;5537:15;5571:4;5568:1;5561:15;5587:168;5660:9;;;5691;;5708:15;;;5702:22;;5688:37;5678:71;;5729:18;;:::i;5760:128::-;5827:9;;;5848:11;;;5845:37;;;5862:18;;:::i;5893:127::-;5954:10;5949:3;5945:20;5942:1;5935:31;5985:4;5982:1;5975:15;6009:4;6006:1;5999:15;6025:135;6064:3;6085:17;;;6082:43;;6105:18;;:::i;:::-;-1:-1:-1;6152:1:31;6141:13;;6025:135::o;6476:217::-;6516:1;6542;6532:132;;6586:10;6581:3;6577:20;6574:1;6567:31;6621:4;6618:1;6611:15;6649:4;6646:1;6639:15;6532:132;-1:-1:-1;6678:9:31;;6476:217::o;6698:543::-;6916:13;;6859:3;;6890;;6969:4;6996:15;;;6859:3;7039:175;7053:6;7050:1;7047:13;7039:175;;;7116:13;;7102:28;;7152:14;;;;7189:15;;;;7075:1;7068:9;7039:175;;;-1:-1:-1;7230:5:31;;6698:543;-1:-1:-1;;;;;;6698:543:31:o;7246:125::-;7311:9;;;7332:10;;;7329:36;;;7345:18;;:::i;8144:127::-;8205:10;8200:3;8196:20;8193:1;8186:31;8236:4;8233:1;8226:15;8260:4;8257:1;8250:15;8585:184;8655:6;8708:2;8696:9;8687:7;8683:23;8679:32;8676:52;;;8724:1;8721;8714:12;8676:52;-1:-1:-1;8747:16:31;;8585:184;-1:-1:-1;8585:184:31:o;9154:245::-;9221:6;9274:2;9262:9;9253:7;9249:23;9245:32;9242:52;;;9290:1;9287;9280:12;9242:52;9322:9;9316:16;9341:28;9363:5;9341:28;:::i"},"methodIdentifiers":{"DAI_TOKEN()":"e606df87","TOTALSUPPLY()":"94a08c69","addOwner(address)":"7065cb48","buyPack()":"c37b9bcd","buyPackByUser(address)":"967ed63d","buyPacks(uint256)":"6adbaf75","buyPacksByUser(address,uint256)":"62e21878","changeBalanceReceiver(address)":"e0f78307","changePrice(uint256)":"a2b40d19","changeTransferDaiFlag(bool)":"99e5f896","gammaCardsContract()":"d250f03a","gammaTicketsContract()":"14cca36a","getAmountRequiredToBuyPacks(uint256)":"b48ce653","getPackOwner(uint256)":"d3e6a7ad","getPacksByUser(address)":"8fd5baf7","getPrizeAmountToBuyPacks(uint256)":"3f6ecd48","getPrizeNoFAccountAmountToBuyPacks(uint256)":"01321c4d","init(address,address,address,address)":"06552ff3","isOwner(address)":"2f54bf6e","meetQuantityConditionsToBuy(uint256)":"d6a4c3e4","openPack(uint256,address)":"80f2540b","openPacks(uint256[],address)":"97f8b3d3","owner()":"8da5cb5b","removeOwner(address)":"173825d9","renounceOwnership()":"715018a6","s_balanceReceiver()":"c34e8af4","s_packPrice()":"656bd0ad","s_packs(uint256)":"3cd626fd","s_packsByUser(address,uint256)":"d9e8221e","setGammaCardsContract(address)":"4c7a7ad3","setGammaTicketsContract(address)":"ddb975e8","testOpenPack(uint256,address)":"39e8d3ec","testOpenPacks(uint256[],address)":"0c3e5c00","transferOwnership(address)":"f2fde38b","transferPack(address,uint256)":"d611713e","transferPacks(address,uint256[])":"ab4bdbc8"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientPacksAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNumberOfPacks\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotGammaCardsContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotYourPack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OwnlyOwners\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"TransferPrizeError\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"balanceReceiver\",\"type\":\"address\"}],\"name\":\"NewBalanceReceiver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newCardsContract\",\"type\":\"address\"}],\"name\":\"NewGammaCardsContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaTicketContract\",\"type\":\"address\"}],\"name\":\"NewGammaTicketsContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"NewPrice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"PackOpened\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"PackPurchased\",\"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\":\"PackTransfered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"PacksPurchased\",\"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\":\"PacksTransfered\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DAI_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TOTALSUPPLY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"buyPack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"buyPackByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfPacks\",\"type\":\"uint256\"}],\"name\":\"buyPacks\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numberOfPacks\",\"type\":\"uint256\"}],\"name\":\"buyPacksByUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newBalanceReceiver\",\"type\":\"address\"}],\"name\":\"changeBalanceReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newPrice\",\"type\":\"uint256\"}],\"name\":\"changePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_transferDai\",\"type\":\"bool\"}],\"name\":\"changeTransferDaiFlag\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaCardsContract\",\"outputs\":[{\"internalType\":\"contract IGammaCardsContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaTicketsContract\",\"outputs\":[{\"internalType\":\"contract IgammaTicketsContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfPacks\",\"type\":\"uint256\"}],\"name\":\"getAmountRequiredToBuyPacks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getPackOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"getPacksByUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfPacks\",\"type\":\"uint256\"}],\"name\":\"getPrizeAmountToBuyPacks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfPacks\",\"type\":\"uint256\"}],\"name\":\"getPrizeNoFAccountAmountToBuyPacks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_daiTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balanceReceiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaCardsContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaTicketsContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numberOfPacks\",\"type\":\"uint256\"}],\"name\":\"meetQuantityConditionsToBuy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"openPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownerToRemove\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_balanceReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_packPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"s_packs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"s_packsByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenIds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaCardsContract\",\"type\":\"address\"}],\"name\":\"setGammaCardsContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaTicketsContract\",\"type\":\"address\"}],\"name\":\"setGammaTicketsContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"testOpenPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"testOpenPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"transferPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaPacks.v3.sol\":\"NofGammaPacksV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaPacks.v3.sol\":{\"keccak256\":\"0x7b8d0ea1f80db47901e47ed0d357e6845f66137e0576f0e56c7aa12dfd58ac1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a1bd7ef11fdec6809f84bf72adbf367630ae92c35123d336b214b624636be88\",\"dweb:/ipfs/QmdN23YPq9jpn88BVcX6wtkMJue3BTxP12GXRZDJubZwjb\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":7,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":8736,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"gammaCardsContract","offset":0,"slot":"1","type":"t_contract(IGammaCardsContract)8712"},{"astId":8739,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"gammaTicketsContract","offset":0,"slot":"2","type":"t_contract(IgammaTicketsContract)8727"},{"astId":8742,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"ownersData","offset":0,"slot":"3","type":"t_struct(Data)10343_storage"},{"astId":8744,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"DAI_TOKEN","offset":0,"slot":"5","type":"t_address"},{"astId":8746,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"s_balanceReceiver","offset":0,"slot":"6","type":"t_address"},{"astId":8752,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"s_packPrice","offset":0,"slot":"7","type":"t_uint256"},{"astId":8755,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"s_packsCounter","offset":0,"slot":"8","type":"t_uint256"},{"astId":8758,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"s_transferDai","offset":0,"slot":"9","type":"t_bool"},{"astId":8762,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"s_packs","offset":0,"slot":"10","type":"t_mapping(t_uint256,t_address)"},{"astId":8767,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"s_packsByUser","offset":0,"slot":"11","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)dyn_storage":{"base":"t_uint256","encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_contract(IGammaCardsContract)8712":{"encoding":"inplace","label":"contract IGammaCardsContract","numberOfBytes":"20"},"t_contract(IgammaTicketsContract)8727":{"encoding":"inplace","label":"contract IgammaTicketsContract","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_struct(Data)10343_storage":{"encoding":"inplace","label":"struct LibControlMgmt.Data","members":[{"astId":10338,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"owners","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":10342,"contract":"contracts/gamma/GammaPacks.v3.sol:NofGammaPacksV3","label":"signers","offset":0,"slot":"1","type":"t_mapping(t_address,t_bool)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"contracts/gamma/GammaTickets.v1.sol":{"IGammaCardsContract":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaTickets.v1.sol\":\"IGammaCardsContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaTickets.v1.sol\":{\"keccak256\":\"0x9ae1ca1a10b9d9879f18780e421b2e40707b31451b59026e67c4c93dd8e707fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a4d097b7fae6b7b3b28af5e6b6568771757097950e3fa3ee9a5c818be984300\",\"dweb:/ipfs/QmdTsDLeWFjbPUqkwC5qciNoziqwgyJjNBjJiuTPFRYkZp\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IgammaPacksContract":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaTickets.v1.sol\":\"IgammaPacksContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaTickets.v1.sol\":{\"keccak256\":\"0x9ae1ca1a10b9d9879f18780e421b2e40707b31451b59026e67c4c93dd8e707fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a4d097b7fae6b7b3b28af5e6b6568771757097950e3fa3ee9a5c818be984300\",\"dweb:/ipfs/QmdTsDLeWFjbPUqkwC5qciNoziqwgyJjNBjJiuTPFRYkZp\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"NofGammaTicketsV1":{"abi":[{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"NoTicketsAvailable","type":"error"},{"inputs":[],"name":"OnlyGammaContractsCanCall","type":"error"},{"inputs":[],"name":"OnlyOwners","type":"error"},{"anonymous":false,"inputs":[],"name":"AllTicketsRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newGammaCardsContract","type":"address"}],"name":"NewGammaCardsContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newGammaPacksContract","type":"address"}],"name":"NewGammaPacksContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"TicketGenerated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"WinnerObtained","type":"event"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deleteAllTickets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gammaCardsContract","outputs":[{"internalType":"contract IGammaCardsContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gammaPacksContract","outputs":[{"internalType":"contract IgammaPacksContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"generateTicket","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getLotteryWinner","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTickets","outputs":[{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"internalType":"struct NofGammaTicketsV1.Ticket[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTicketsByUser","outputs":[{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"internalType":"struct NofGammaTicketsV1.Ticket[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getWinner","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaPacksContract","type":"address"},{"internalType":"address","name":"_gammaCardsContract","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_ownerToRemove","type":"address"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaCardsContract","type":"address"}],"name":"setGammaCardsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaPacksContract","type":"address"}],"name":"setGammaPacksContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tickets","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"ticketsByUser","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ticketsTotalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"winner","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"bytes32","name":"ticketId","type":"bytes32"},{"internalType":"uint256","name":"ticketCounter","type":"uint256"},{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23":{"entryPoint":null,"id":23,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":36,"id":111,"parameterSlots":1,"returnSlots":0}},"generatedSources":[],"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":1095},{"length":20,"start":1850}]}},"object":"60806040526000600b5534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610fc6806100836000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063dfbf53ae1161007c578063dfbf53ae1461029e578063e5b0b100146102bd578063e6afe6bc146102d0578063f09a4016146102e7578063f2fde38b146102fa578063fa8213d31461030d57600080fd5b80638da5cb5b146102575780638e7ea5b214610268578063b2d55c1c14610270578063cafaa47314610278578063d250f03a1461028b57600080fd5b80634c7a7ad3116100ff5780634c7a7ad3146102015780634ed026221461021457806350b44712146102295780637065cb481461023c578063715018a61461024f57600080fd5b806304ac05cf1461013c578063173825d91461017d5780632f54bf6e146101925780632f9e026a146101ce578063306e4118146101f9575b600080fd5b61014f61014a366004610e2c565b610320565b604080519485526020850193909352918301526001600160a01b031660608201526080015b60405180910390f35b61019061018b366004610e56565b61036f565b005b6101be6101a0366004610e56565b6001600160a01b031660009081526003602052604090205460ff1690565b6040519015158152602001610174565b6002546101e1906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b610190610415565b61019061020f366004610e56565b6104e9565b61021c610595565b6040516101749190610e78565b61014f610237366004610ee5565b61061f565b61019061024a366004610e56565b610662565b6101906106d9565b6000546001600160a01b03166101e1565b61014f6106ed565b61014f610709565b610190610286366004610e56565b6108b2565b6001546101e1906001600160a01b031681565b60065460075460085460095461014f939291906001600160a01b031684565b61021c6102cb366004610e56565b610957565b6102d9600b5481565b604051908152602001610174565b6101906102f5366004610efe565b6109f7565b610190610308366004610e56565b610a82565b61019061031b366004610e56565b610b00565b600a602052816000526040600020818154811061033c57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491945092506001600160a01b031684565b3360009081526003602052604090205460ff1661039f57604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b1580156103fa57600080fd5b505af415801561040e573d6000803e3d6000fd5b5050505050565b6002546001600160a01b0316331461044057604051633d10446b60e21b815260040160405180910390fd5b61044c60056000610dbc565b6000600b8190555b6005548110156104bd57600a60006005838154811061047557610475610f31565b60009182526020808320600360049093020191909101546001600160a01b0316835282019290925260400181206104ab91610dbc565b806104b581610f47565b915050610454565b506040517fc3ed638c0e10b967891ee71bc361fabc770df50e93331cdf41fddc37deb28b5b90600090a1565b3360009081526003602052604090205460ff1661051957604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166105405760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa906020015b60405180910390a150565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561061657600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b0316606083015290835290920191016105b9565b50505050905090565b6005818154811061062f57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491935091906001600160a01b031684565b3360009081526003602052604090205460ff1661069257604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae4906044016103e2565b6106e1610d12565b6106eb6000610d6c565b565b6006546007546008546009546001600160a01b03165b90919293565b6002546000908190819081906001600160a01b0316331461073d57604051633d10446b60e21b815260040160405180910390fd5b60055460000361076057604051632e12ccb760e11b815260040160405180910390fd5b6006541561078b575050600654600754600854600954929450909250906001600160a01b0316610703565b60055460408051426020820152449181019190915260608101829052600091906080016040516020818303038152906040528051906020012060001c6107d19190610f6e565b9050600581815481106107e6576107e6610f31565b60009182526020909120600490910201805460068190556001820154600781905560028301546008819055600390930154600980546001600160a01b0319166001600160a01b0390921691821790556040517f314d0f2749f4f47e45bd658d5f379146bedd6ac53f8e6f0f63c5fe4ab14bc2aa946108869493929091938452602084019290925260408301526001600160a01b0316606082015260800190565b60405180910390a15050600654600754600854600954929691955093506001600160a01b039091169150565b3360009081526003602052604090205460ff166108e257604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166109095760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f9060200161058a565b6001600160a01b0381166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b828210156109ec57600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b03166060830152908352909201910161098f565b505050509050919050565b6109ff610d12565b6001600160a01b0382161580610a1c57506001600160a01b038116155b15610a3a5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b039384166001600160a01b03199182161790915560018054929093169116178155336000908152600360205260409020805460ff19169091179055565b610a8a610d12565b6001600160a01b038116610af45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610afd81610d6c565b50565b6001546001600160a01b03163314610b2b57604051633d10446b60e21b815260040160405180910390fd5b600b54604080514260208201819052918101839052606084811b6bffffffffffffffffffffffff19169082015260009060740160408051601f1981840301815282825280516020918201206080840183528584528382018181528484018881526001600160a01b03808b1660608801818152600580546001818101835560009283528b5160049283027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081019190915588517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db182015587517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db282015584517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db390910180549188166001600160a01b0319928316179055948352600a8a529982208054808c0182559083529882208b519990910201978855945197870197909755915160028601559451600394909401805494909516931692909217909255600b805492945090610cba83610f47565b909155505060408051848152602081018490529081018590526001600160a01b038616907f0493d9379fb7ffa47303ca5a377a34a8034f42db6d986fe1f57b0b800fd210919060600160405180910390a25050505050565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610aeb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080546000825560040290600052602060002090810190610afd91905b80821115610e0c5760008082556001820181905560028201556003810180546001600160a01b0319169055600401610dd9565b5090565b80356001600160a01b0381168114610e2757600080fd5b919050565b60008060408385031215610e3f57600080fd5b610e4883610e10565b946020939093013593505050565b600060208284031215610e6857600080fd5b610e7182610e10565b9392505050565b602080825282518282018190526000919060409081850190868401855b82811015610ed857815180518552868101518786015285810151868601526060908101516001600160a01b03169085015260809093019290850190600101610e95565b5091979650505050505050565b600060208284031215610ef757600080fd5b5035919050565b60008060408385031215610f1157600080fd5b610f1a83610e10565b9150610f2860208401610e10565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b600060018201610f6757634e487b7160e01b600052601160045260246000fd5b5060010190565b600082610f8b57634e487b7160e01b600052601260045260246000fd5b50069056fea26469706673582212200b27afe2f53eb51a780c414a34d035477c7e269e22008960598c6789cc86e79164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 PUSH1 0xB SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F CALLER PUSH2 0x24 JUMP JUMPDEST PUSH2 0x74 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0xFC6 DUP1 PUSH2 0x83 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDFBF53AE GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xDFBF53AE EQ PUSH2 0x29E JUMPI DUP1 PUSH4 0xE5B0B100 EQ PUSH2 0x2BD JUMPI DUP1 PUSH4 0xE6AFE6BC EQ PUSH2 0x2D0 JUMPI DUP1 PUSH4 0xF09A4016 EQ PUSH2 0x2E7 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2FA JUMPI DUP1 PUSH4 0xFA8213D3 EQ PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x257 JUMPI DUP1 PUSH4 0x8E7EA5B2 EQ PUSH2 0x268 JUMPI DUP1 PUSH4 0xB2D55C1C EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0xCAFAA473 EQ PUSH2 0x278 JUMPI DUP1 PUSH4 0xD250F03A EQ PUSH2 0x28B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4C7A7AD3 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x4C7A7AD3 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0x4ED02622 EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x50B44712 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x23C JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x24F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4AC05CF EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x17D JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x2F9E026A EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x306E4118 EQ PUSH2 0x1F9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xE2C JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP5 DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP2 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH2 0x18B CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x36F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BE PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x174 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x1E1 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x174 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x415 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x20F CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x4E9 JUMP JUMPDEST PUSH2 0x21C PUSH2 0x595 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x174 SWAP2 SWAP1 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x237 CALLDATASIZE PUSH1 0x4 PUSH2 0xEE5 JUMP JUMPDEST PUSH2 0x61F JUMP JUMPDEST PUSH2 0x190 PUSH2 0x24A CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x662 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x6D9 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1E1 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x6ED JUMP JUMPDEST PUSH2 0x14F PUSH2 0x709 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x286 CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x8B2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x1E1 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD PUSH2 0x14F SWAP4 SWAP3 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 JUMP JUMPDEST PUSH2 0x21C PUSH2 0x2CB CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x957 JUMP JUMPDEST PUSH2 0x2D9 PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x174 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x2F5 CALLDATASIZE PUSH1 0x4 PUSH2 0xEFE JUMP JUMPDEST PUSH2 0x9F7 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x308 CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0xA82 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x31B CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0xB00 JUMP JUMPDEST PUSH1 0xA PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x4 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x39F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x40E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x440 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3D10446B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x44C PUSH1 0x5 PUSH1 0x0 PUSH2 0xDBC JUMP JUMPDEST PUSH1 0x0 PUSH1 0xB DUP2 SWAP1 SSTORE JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x4BD JUMPI PUSH1 0xA PUSH1 0x0 PUSH1 0x5 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x475 JUMPI PUSH2 0x475 PUSH2 0xF31 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x3 PUSH1 0x4 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 PUSH2 0x4AB SWAP2 PUSH2 0xDBC JUMP JUMPDEST DUP1 PUSH2 0x4B5 DUP2 PUSH2 0xF47 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x454 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0xC3ED638C0E10B967891EE71BC361FABC770DF50E93331CDF41FDDC37DEB28B5B SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x519 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x540 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x45C9EBA39B5AE3E7A6650B0A57BCB8E5D135936D56D111983DBC5860AE6760FA SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x5 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x80 DUP2 ADD DUP3 MSTORE PUSH1 0x4 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP1 DUP3 ADD SLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP4 ADD MSTORE SWAP1 DUP4 MSTORE SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x5B9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x62F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x4 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP4 POP SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x692 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x3E2 JUMP JUMPDEST PUSH2 0x6E1 PUSH2 0xD12 JUMP JUMPDEST PUSH2 0x6EB PUSH1 0x0 PUSH2 0xD6C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP2 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x73D JUMPI PUSH1 0x40 MLOAD PUSH4 0x3D10446B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SUB PUSH2 0x760 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2E12CCB7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD ISZERO PUSH2 0x78B JUMPI POP POP PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD SWAP3 SWAP5 POP SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x703 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD TIMESTAMP PUSH1 0x20 DUP3 ADD MSTORE PREVRANDAO SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x80 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH2 0x7D1 SWAP2 SWAP1 PUSH2 0xF6E JUMP JUMPDEST SWAP1 POP PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x7E6 JUMPI PUSH2 0x7E6 PUSH2 0xF31 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x4 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x6 DUP2 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x7 DUP2 SWAP1 SSTORE PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x8 DUP2 SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 DUP3 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x314D0F2749F4F47E45BD658D5F379146BEDD6AC53F8E6F0F63C5FE4AB14BC2AA SWAP5 PUSH2 0x886 SWAP5 SWAP4 SWAP3 SWAP1 SWAP2 SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD SWAP3 SWAP7 SWAP2 SWAP6 POP SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x8E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x909 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x5A78287A942B8EA0DA8734A4EB919DF11E564CC48301FFCB582DC8612D98208F SWAP1 PUSH1 0x20 ADD PUSH2 0x58A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH1 0x60 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x9EC JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x80 DUP2 ADD DUP3 MSTORE PUSH1 0x4 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP1 DUP3 ADD SLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP4 ADD MSTORE SWAP1 DUP4 MSTORE SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x98F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FF PUSH2 0xD12 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO DUP1 PUSH2 0xA1C JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO JUMPDEST ISZERO PUSH2 0xA3A JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP2 AND OR DUP2 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0xA8A PUSH2 0xD12 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xAF4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAFD DUP2 PUSH2 0xD6C JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB2B JUMPI PUSH1 0x40 MLOAD PUSH4 0x3D10446B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD TIMESTAMP PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP5 DUP2 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0x74 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x80 DUP5 ADD DUP4 MSTORE DUP6 DUP5 MSTORE DUP4 DUP3 ADD DUP2 DUP2 MSTORE DUP5 DUP5 ADD DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND PUSH1 0x60 DUP9 ADD DUP2 DUP2 MSTORE PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE DUP12 MLOAD PUSH1 0x4 SWAP3 DUP4 MUL PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB0 DUP2 ADD SWAP2 SWAP1 SWAP2 SSTORE DUP9 MLOAD PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB1 DUP3 ADD SSTORE DUP8 MLOAD PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB2 DUP3 ADD SSTORE DUP5 MLOAD PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB3 SWAP1 SWAP2 ADD DUP1 SLOAD SWAP2 DUP9 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SSTORE SWAP5 DUP4 MSTORE PUSH1 0xA DUP11 MSTORE SWAP10 DUP3 KECCAK256 DUP1 SLOAD DUP1 DUP13 ADD DUP3 SSTORE SWAP1 DUP4 MSTORE SWAP9 DUP3 KECCAK256 DUP12 MLOAD SWAP10 SWAP1 SWAP2 MUL ADD SWAP8 DUP9 SSTORE SWAP5 MLOAD SWAP8 DUP8 ADD SWAP8 SWAP1 SWAP8 SSTORE SWAP2 MLOAD PUSH1 0x2 DUP7 ADD SSTORE SWAP5 MLOAD PUSH1 0x3 SWAP5 SWAP1 SWAP5 ADD DUP1 SLOAD SWAP5 SWAP1 SWAP6 AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP3 SSTORE PUSH1 0xB DUP1 SLOAD SWAP3 SWAP5 POP SWAP1 PUSH2 0xCBA DUP4 PUSH2 0xF47 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP5 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0x493D9379FB7FFA47303CA5A377A34A8034F42DB6D986FE1F57B0B800FD21091 SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x6EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xAEB JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE PUSH1 0x4 MUL SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0xAFD SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xE0C JUMPI PUSH1 0x0 DUP1 DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x2 DUP3 ADD SSTORE PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 ADD PUSH2 0xDD9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE48 DUP4 PUSH2 0xE10 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE71 DUP3 PUSH2 0xE10 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x40 SWAP1 DUP2 DUP6 ADD SWAP1 DUP7 DUP5 ADD DUP6 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xED8 JUMPI DUP2 MLOAD DUP1 MLOAD DUP6 MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP7 ADD MSTORE DUP6 DUP2 ADD MLOAD DUP7 DUP7 ADD MSTORE PUSH1 0x60 SWAP1 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 ADD MSTORE PUSH1 0x80 SWAP1 SWAP4 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xE95 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF1A DUP4 PUSH2 0xE10 JUMP JUMPDEST SWAP2 POP PUSH2 0xF28 PUSH1 0x20 DUP5 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xF67 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xF8B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP MOD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND 0x27 0xAF 0xE2 CREATE2 RETURNDATACOPY 0xB5 BYTE PUSH25 0xC414A34D035477C7E269E22008960598C6789CC86E7916473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"405:4588:25:-:0;;;928:1;891:38;;405:4588;;;;;;;;;-1:-1:-1;936:32:0;734:10:12;936:18:0;:32::i;:::-;405:4588:25;;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;405:4588:25:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_checkOwner_54":{"entryPoint":3346,"id":54,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":3436,"id":111,"parameterSlots":1,"returnSlots":0},"@addOwner_10019":{"entryPoint":1634,"id":10019,"parameterSlots":1,"returnSlots":0},"@deleteAllTickets_10331":{"entryPoint":1045,"id":10331,"parameterSlots":0,"returnSlots":0},"@gammaCardsContract_9852":{"entryPoint":null,"id":9852,"parameterSlots":0,"returnSlots":0},"@gammaPacksContract_9855":{"entryPoint":null,"id":9855,"parameterSlots":0,"returnSlots":0},"@generateTicket_10209":{"entryPoint":2816,"id":10209,"parameterSlots":1,"returnSlots":0},"@getLotteryWinner_10294":{"entryPoint":1801,"id":10294,"parameterSlots":0,"returnSlots":4},"@getTicketsByUser_10126":{"entryPoint":2391,"id":10126,"parameterSlots":1,"returnSlots":1},"@getTickets_10112":{"entryPoint":1429,"id":10112,"parameterSlots":0,"returnSlots":1},"@getWinner_10148":{"entryPoint":1773,"id":10148,"parameterSlots":0,"returnSlots":4},"@init_10005":{"entryPoint":2551,"id":10005,"parameterSlots":2,"returnSlots":0},"@isOwner_10102":{"entryPoint":null,"id":10102,"parameterSlots":1,"returnSlots":1},"@owner_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":1},"@removeOwner_10033":{"entryPoint":879,"id":10033,"parameterSlots":1,"returnSlots":0},"@renounceOwnership_68":{"entryPoint":1753,"id":68,"parameterSlots":0,"returnSlots":0},"@setGammaCardsContract_10061":{"entryPoint":1257,"id":10061,"parameterSlots":1,"returnSlots":0},"@setGammaPacksContract_10089":{"entryPoint":2226,"id":10089,"parameterSlots":1,"returnSlots":0},"@ticketsByUser_9880":{"entryPoint":800,"id":9880,"parameterSlots":0,"returnSlots":0},"@ticketsTotalCounter_9883":{"entryPoint":null,"id":9883,"parameterSlots":0,"returnSlots":0},"@tickets_9871":{"entryPoint":1567,"id":9871,"parameterSlots":0,"returnSlots":0},"@transferOwnership_91":{"entryPoint":2690,"id":91,"parameterSlots":1,"returnSlots":0},"@winner_9874":{"entryPoint":null,"id":9874,"parameterSlots":0,"returnSlots":0},"abi_decode_address":{"entryPoint":3600,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":3670,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":3838,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":3628,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":3813,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_address__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":3704,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IGammaCardsContract_$9842__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaPacksContract_$9843__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_bytes32_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint256_t_bytes32_t_uint256_t_address__to_t_uint256_t_bytes32_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":4,"returnSlots":1},"increment_t_uint256":{"entryPoint":3911,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":3950,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x32":{"entryPoint":3889,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:6191:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:31","statements":[{"nodeType":"YulAssignment","src":"73:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:31"},"nodeType":"YulFunctionCall","src":"82:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:31"}]},{"body":{"nodeType":"YulBlock","src":"165:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:31"},"nodeType":"YulFunctionCall","src":"167:12:31"},"nodeType":"YulExpressionStatement","src":"167:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:31"},"nodeType":"YulFunctionCall","src":"146:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:31"},"nodeType":"YulFunctionCall","src":"142:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:31"},"nodeType":"YulFunctionCall","src":"131:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:31"},"nodeType":"YulFunctionCall","src":"121:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:31"},"nodeType":"YulFunctionCall","src":"114:50:31"},"nodeType":"YulIf","src":"111:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:31","type":""}],"src":"14:173:31"},{"body":{"nodeType":"YulBlock","src":"279:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"325:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"337:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"327:6:31"},"nodeType":"YulFunctionCall","src":"327:12:31"},"nodeType":"YulExpressionStatement","src":"327:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"300:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"309:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"296:3:31"},"nodeType":"YulFunctionCall","src":"296:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"321:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"292:3:31"},"nodeType":"YulFunctionCall","src":"292:32:31"},"nodeType":"YulIf","src":"289:52:31"},{"nodeType":"YulAssignment","src":"350:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"379:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"360:18:31"},"nodeType":"YulFunctionCall","src":"360:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"350:6:31"}]},{"nodeType":"YulAssignment","src":"398:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"425:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"436:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"421:3:31"},"nodeType":"YulFunctionCall","src":"421:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"408:12:31"},"nodeType":"YulFunctionCall","src":"408:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"398:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"237:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"248:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"260:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"268:6:31","type":""}],"src":"192:254:31"},{"body":{"nodeType":"YulBlock","src":"636:232:31","statements":[{"nodeType":"YulAssignment","src":"646:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"658:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"669:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"654:3:31"},"nodeType":"YulFunctionCall","src":"654:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"646:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"689:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"700:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"682:6:31"},"nodeType":"YulFunctionCall","src":"682:25:31"},"nodeType":"YulExpressionStatement","src":"682:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"727:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"738:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"723:3:31"},"nodeType":"YulFunctionCall","src":"723:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"743:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"716:6:31"},"nodeType":"YulFunctionCall","src":"716:34:31"},"nodeType":"YulExpressionStatement","src":"716:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"770:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"781:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"766:3:31"},"nodeType":"YulFunctionCall","src":"766:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"786:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"759:6:31"},"nodeType":"YulFunctionCall","src":"759:34:31"},"nodeType":"YulExpressionStatement","src":"759:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"813:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"824:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"809:3:31"},"nodeType":"YulFunctionCall","src":"809:18:31"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"833:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"849:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"854:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"845:3:31"},"nodeType":"YulFunctionCall","src":"845:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"858:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"841:3:31"},"nodeType":"YulFunctionCall","src":"841:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"829:3:31"},"nodeType":"YulFunctionCall","src":"829:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"802:6:31"},"nodeType":"YulFunctionCall","src":"802:60:31"},"nodeType":"YulExpressionStatement","src":"802:60:31"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32_t_uint256_t_address__to_t_uint256_t_bytes32_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"581:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"592:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"600:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"608:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"616:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"627:4:31","type":""}],"src":"451:417:31"},{"body":{"nodeType":"YulBlock","src":"943:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"989:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"998:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1001:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"991:6:31"},"nodeType":"YulFunctionCall","src":"991:12:31"},"nodeType":"YulExpressionStatement","src":"991:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"964:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"973:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"960:3:31"},"nodeType":"YulFunctionCall","src":"960:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"985:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"956:3:31"},"nodeType":"YulFunctionCall","src":"956:32:31"},"nodeType":"YulIf","src":"953:52:31"},{"nodeType":"YulAssignment","src":"1014:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1043:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1024:18:31"},"nodeType":"YulFunctionCall","src":"1024:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1014:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"909:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"920:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"932:6:31","type":""}],"src":"873:186:31"},{"body":{"nodeType":"YulBlock","src":"1159:92:31","statements":[{"nodeType":"YulAssignment","src":"1169:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1181:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1192:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1177:3:31"},"nodeType":"YulFunctionCall","src":"1177:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1169:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1211:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1236:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1229:6:31"},"nodeType":"YulFunctionCall","src":"1229:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1222:6:31"},"nodeType":"YulFunctionCall","src":"1222:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1204:6:31"},"nodeType":"YulFunctionCall","src":"1204:41:31"},"nodeType":"YulExpressionStatement","src":"1204:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1128:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1139:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1150:4:31","type":""}],"src":"1064:187:31"},{"body":{"nodeType":"YulBlock","src":"1385:102:31","statements":[{"nodeType":"YulAssignment","src":"1395:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1407:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1418:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1403:3:31"},"nodeType":"YulFunctionCall","src":"1403:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1395:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1437:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1452:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1468:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1473:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1464:3:31"},"nodeType":"YulFunctionCall","src":"1464:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1477:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1460:3:31"},"nodeType":"YulFunctionCall","src":"1460:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1448:3:31"},"nodeType":"YulFunctionCall","src":"1448:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1430:6:31"},"nodeType":"YulFunctionCall","src":"1430:51:31"},"nodeType":"YulExpressionStatement","src":"1430:51:31"}]},"name":"abi_encode_tuple_t_contract$_IgammaPacksContract_$9843__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1354:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1365:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1376:4:31","type":""}],"src":"1256:231:31"},{"body":{"nodeType":"YulBlock","src":"1691:748:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1701:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1711:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1705:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1722:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1740:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1751:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1736:3:31"},"nodeType":"YulFunctionCall","src":"1736:18:31"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"1726:6:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1770:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1781:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1763:6:31"},"nodeType":"YulFunctionCall","src":"1763:21:31"},"nodeType":"YulExpressionStatement","src":"1763:21:31"},{"nodeType":"YulVariableDeclaration","src":"1793:17:31","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"1804:6:31"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"1797:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1819:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1839:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1833:5:31"},"nodeType":"YulFunctionCall","src":"1833:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1823:6:31","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"1862:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"1870:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1855:6:31"},"nodeType":"YulFunctionCall","src":"1855:22:31"},"nodeType":"YulExpressionStatement","src":"1855:22:31"},{"nodeType":"YulVariableDeclaration","src":"1886:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1896:2:31","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1890:2:31","type":""}]},{"nodeType":"YulAssignment","src":"1907:25:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1918:9:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1929:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1914:3:31"},"nodeType":"YulFunctionCall","src":"1914:18:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1907:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"1941:29:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1959:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1967:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1955:3:31"},"nodeType":"YulFunctionCall","src":"1955:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"1945:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1979:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1988:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1983:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2047:366:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2061:23:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2077:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2071:5:31"},"nodeType":"YulFunctionCall","src":"2071:13:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2065:2:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2104:3:31"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2115:2:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2109:5:31"},"nodeType":"YulFunctionCall","src":"2109:9:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2097:6:31"},"nodeType":"YulFunctionCall","src":"2097:22:31"},"nodeType":"YulExpressionStatement","src":"2097:22:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2143:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2148:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2139:3:31"},"nodeType":"YulFunctionCall","src":"2139:12:31"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2163:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2167:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:31"},"nodeType":"YulFunctionCall","src":"2159:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2153:5:31"},"nodeType":"YulFunctionCall","src":"2153:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2132:6:31"},"nodeType":"YulFunctionCall","src":"2132:40:31"},"nodeType":"YulExpressionStatement","src":"2132:40:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2196:3:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2201:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2192:3:31"},"nodeType":"YulFunctionCall","src":"2192:12:31"},{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2216:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2220:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2212:3:31"},"nodeType":"YulFunctionCall","src":"2212:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2206:5:31"},"nodeType":"YulFunctionCall","src":"2206:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2185:6:31"},"nodeType":"YulFunctionCall","src":"2185:40:31"},"nodeType":"YulExpressionStatement","src":"2185:40:31"},{"nodeType":"YulVariableDeclaration","src":"2238:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2248:4:31","type":"","value":"0x60"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2242:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2276:3:31"},{"name":"_4","nodeType":"YulIdentifier","src":"2281:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2272:3:31"},"nodeType":"YulFunctionCall","src":"2272:12:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2300:2:31"},{"name":"_4","nodeType":"YulIdentifier","src":"2304:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2296:3:31"},"nodeType":"YulFunctionCall","src":"2296:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2290:5:31"},"nodeType":"YulFunctionCall","src":"2290:18:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2318:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2323:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2314:3:31"},"nodeType":"YulFunctionCall","src":"2314:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"2327:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2310:3:31"},"nodeType":"YulFunctionCall","src":"2310:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2286:3:31"},"nodeType":"YulFunctionCall","src":"2286:44:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2265:6:31"},"nodeType":"YulFunctionCall","src":"2265:66:31"},"nodeType":"YulExpressionStatement","src":"2265:66:31"},{"nodeType":"YulAssignment","src":"2344:21:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2355:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2360:4:31","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2351:3:31"},"nodeType":"YulFunctionCall","src":"2351:14:31"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2344:3:31"}]},{"nodeType":"YulAssignment","src":"2378:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2392:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2400:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2388:3:31"},"nodeType":"YulFunctionCall","src":"2388:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2378:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2009:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"2012:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2006:2:31"},"nodeType":"YulFunctionCall","src":"2006:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2020:18:31","statements":[{"nodeType":"YulAssignment","src":"2022:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2031:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"2034:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2027:3:31"},"nodeType":"YulFunctionCall","src":"2027:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2022:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2002:3:31","statements":[]},"src":"1998:415:31"},{"nodeType":"YulAssignment","src":"2422:11:31","value":{"name":"pos","nodeType":"YulIdentifier","src":"2430:3:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2422:4:31"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1660:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1671:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1682:4:31","type":""}],"src":"1492:947:31"},{"body":{"nodeType":"YulBlock","src":"2514:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"2560:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2569:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2572:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2562:6:31"},"nodeType":"YulFunctionCall","src":"2562:12:31"},"nodeType":"YulExpressionStatement","src":"2562:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2535:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2544:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2531:3:31"},"nodeType":"YulFunctionCall","src":"2531:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2556:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2527:3:31"},"nodeType":"YulFunctionCall","src":"2527:32:31"},"nodeType":"YulIf","src":"2524:52:31"},{"nodeType":"YulAssignment","src":"2585:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2608:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2595:12:31"},"nodeType":"YulFunctionCall","src":"2595:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2585:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2480:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2491:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2503:6:31","type":""}],"src":"2444:180:31"},{"body":{"nodeType":"YulBlock","src":"2730:102:31","statements":[{"nodeType":"YulAssignment","src":"2740:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2752:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2763:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2748:3:31"},"nodeType":"YulFunctionCall","src":"2748:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2740:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2782:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2797:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2813:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2818:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2809:3:31"},"nodeType":"YulFunctionCall","src":"2809:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"2822:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2805:3:31"},"nodeType":"YulFunctionCall","src":"2805:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2793:3:31"},"nodeType":"YulFunctionCall","src":"2793:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2775:6:31"},"nodeType":"YulFunctionCall","src":"2775:51:31"},"nodeType":"YulExpressionStatement","src":"2775:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2699:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2710:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2721:4:31","type":""}],"src":"2629:203:31"},{"body":{"nodeType":"YulBlock","src":"2966:102:31","statements":[{"nodeType":"YulAssignment","src":"2976:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2988:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2999:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2984:3:31"},"nodeType":"YulFunctionCall","src":"2984:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2976:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3018:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3033:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3049:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3054:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3045:3:31"},"nodeType":"YulFunctionCall","src":"3045:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3058:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3041:3:31"},"nodeType":"YulFunctionCall","src":"3041:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3029:3:31"},"nodeType":"YulFunctionCall","src":"3029:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3011:6:31"},"nodeType":"YulFunctionCall","src":"3011:51:31"},"nodeType":"YulExpressionStatement","src":"3011:51:31"}]},"name":"abi_encode_tuple_t_contract$_IGammaCardsContract_$9842__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2935:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2946:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2957:4:31","type":""}],"src":"2837:231:31"},{"body":{"nodeType":"YulBlock","src":"3174:76:31","statements":[{"nodeType":"YulAssignment","src":"3184:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3196:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3207:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3192:3:31"},"nodeType":"YulFunctionCall","src":"3192:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3184:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3226:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3237:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3219:6:31"},"nodeType":"YulFunctionCall","src":"3219:25:31"},"nodeType":"YulExpressionStatement","src":"3219:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3143:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3154:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3165:4:31","type":""}],"src":"3073:177:31"},{"body":{"nodeType":"YulBlock","src":"3342:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"3388:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3397:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3400:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3390:6:31"},"nodeType":"YulFunctionCall","src":"3390:12:31"},"nodeType":"YulExpressionStatement","src":"3390:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3363:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3372:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3359:3:31"},"nodeType":"YulFunctionCall","src":"3359:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3384:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3355:3:31"},"nodeType":"YulFunctionCall","src":"3355:32:31"},"nodeType":"YulIf","src":"3352:52:31"},{"nodeType":"YulAssignment","src":"3413:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3442:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3423:18:31"},"nodeType":"YulFunctionCall","src":"3423:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3413:6:31"}]},{"nodeType":"YulAssignment","src":"3461:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3494:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3505:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3490:3:31"},"nodeType":"YulFunctionCall","src":"3490:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3471:18:31"},"nodeType":"YulFunctionCall","src":"3471:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3461:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3300:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3311:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3323:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3331:6:31","type":""}],"src":"3255:260:31"},{"body":{"nodeType":"YulBlock","src":"3681:145:31","statements":[{"nodeType":"YulAssignment","src":"3691:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3703:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3714:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3699:3:31"},"nodeType":"YulFunctionCall","src":"3699:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3691:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3733:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3744:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3726:6:31"},"nodeType":"YulFunctionCall","src":"3726:25:31"},"nodeType":"YulExpressionStatement","src":"3726:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3771:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3782:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3767:3:31"},"nodeType":"YulFunctionCall","src":"3767:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3791:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3807:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3812:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3803:3:31"},"nodeType":"YulFunctionCall","src":"3803:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3816:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3799:3:31"},"nodeType":"YulFunctionCall","src":"3799:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3787:3:31"},"nodeType":"YulFunctionCall","src":"3787:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3760:6:31"},"nodeType":"YulFunctionCall","src":"3760:60:31"},"nodeType":"YulExpressionStatement","src":"3760:60:31"}]},"name":"abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3642:9:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3653:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3661:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3672:4:31","type":""}],"src":"3520:306:31"},{"body":{"nodeType":"YulBlock","src":"3863:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3880:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3887:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3892:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3883:3:31"},"nodeType":"YulFunctionCall","src":"3883:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3873:6:31"},"nodeType":"YulFunctionCall","src":"3873:31:31"},"nodeType":"YulExpressionStatement","src":"3873:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3920:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3923:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3913:6:31"},"nodeType":"YulFunctionCall","src":"3913:15:31"},"nodeType":"YulExpressionStatement","src":"3913:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3944:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3947:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3937:6:31"},"nodeType":"YulFunctionCall","src":"3937:15:31"},"nodeType":"YulExpressionStatement","src":"3937:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"3831:127:31"},{"body":{"nodeType":"YulBlock","src":"4010:185:31","statements":[{"body":{"nodeType":"YulBlock","src":"4049:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4070:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4077:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4082:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4073:3:31"},"nodeType":"YulFunctionCall","src":"4073:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4063:6:31"},"nodeType":"YulFunctionCall","src":"4063:31:31"},"nodeType":"YulExpressionStatement","src":"4063:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4114:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4117:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4107:6:31"},"nodeType":"YulFunctionCall","src":"4107:15:31"},"nodeType":"YulExpressionStatement","src":"4107:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4142:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4145:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4135:6:31"},"nodeType":"YulFunctionCall","src":"4135:15:31"},"nodeType":"YulExpressionStatement","src":"4135:15:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4026:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4037:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4033:3:31"},"nodeType":"YulFunctionCall","src":"4033:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4023:2:31"},"nodeType":"YulFunctionCall","src":"4023:17:31"},"nodeType":"YulIf","src":"4020:140:31"},{"nodeType":"YulAssignment","src":"4169:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4180:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"4187:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4176:3:31"},"nodeType":"YulFunctionCall","src":"4176:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"4169:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3992:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"4002:3:31","type":""}],"src":"3963:232:31"},{"body":{"nodeType":"YulBlock","src":"4357:162:31","statements":[{"nodeType":"YulAssignment","src":"4367:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4379:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4390:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4375:3:31"},"nodeType":"YulFunctionCall","src":"4375:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4367:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4409:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"4420:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4402:6:31"},"nodeType":"YulFunctionCall","src":"4402:25:31"},"nodeType":"YulExpressionStatement","src":"4402:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4447:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4458:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4443:3:31"},"nodeType":"YulFunctionCall","src":"4443:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"4463:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4436:6:31"},"nodeType":"YulFunctionCall","src":"4436:34:31"},"nodeType":"YulExpressionStatement","src":"4436:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4490:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4501:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4486:3:31"},"nodeType":"YulFunctionCall","src":"4486:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"4506:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4479:6:31"},"nodeType":"YulFunctionCall","src":"4479:34:31"},"nodeType":"YulExpressionStatement","src":"4479:34:31"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4310:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4321:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4329:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4337:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4348:4:31","type":""}],"src":"4200:319:31"},{"body":{"nodeType":"YulBlock","src":"4562:171:31","statements":[{"body":{"nodeType":"YulBlock","src":"4593:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4614:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4621:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4626:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4617:3:31"},"nodeType":"YulFunctionCall","src":"4617:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4607:6:31"},"nodeType":"YulFunctionCall","src":"4607:31:31"},"nodeType":"YulExpressionStatement","src":"4607:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4658:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4661:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4651:6:31"},"nodeType":"YulFunctionCall","src":"4651:15:31"},"nodeType":"YulExpressionStatement","src":"4651:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4686:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4689:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4679:6:31"},"nodeType":"YulFunctionCall","src":"4679:15:31"},"nodeType":"YulExpressionStatement","src":"4679:15:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"4582:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4575:6:31"},"nodeType":"YulFunctionCall","src":"4575:9:31"},"nodeType":"YulIf","src":"4572:132:31"},{"nodeType":"YulAssignment","src":"4713:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4722:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"4725:1:31"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"4718:3:31"},"nodeType":"YulFunctionCall","src":"4718:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"4713:1:31"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4547:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"4550:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"4556:1:31","type":""}],"src":"4524:209:31"},{"body":{"nodeType":"YulBlock","src":"4912:228:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4929:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4940:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4922:6:31"},"nodeType":"YulFunctionCall","src":"4922:21:31"},"nodeType":"YulExpressionStatement","src":"4922:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4963:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4974:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4959:3:31"},"nodeType":"YulFunctionCall","src":"4959:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4979:2:31","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4952:6:31"},"nodeType":"YulFunctionCall","src":"4952:30:31"},"nodeType":"YulExpressionStatement","src":"4952:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5002:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5013:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4998:3:31"},"nodeType":"YulFunctionCall","src":"4998:18:31"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"5018:34:31","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4991:6:31"},"nodeType":"YulFunctionCall","src":"4991:62:31"},"nodeType":"YulExpressionStatement","src":"4991:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5073:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5084:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5069:3:31"},"nodeType":"YulFunctionCall","src":"5069:18:31"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"5089:8:31","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5062:6:31"},"nodeType":"YulFunctionCall","src":"5062:36:31"},"nodeType":"YulExpressionStatement","src":"5062:36:31"},{"nodeType":"YulAssignment","src":"5107:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5119:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5130:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5115:3:31"},"nodeType":"YulFunctionCall","src":"5115:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5107:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4889:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4903:4:31","type":""}],"src":"4738:402:31"},{"body":{"nodeType":"YulBlock","src":"5320:184:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5337:3:31"},{"name":"value0","nodeType":"YulIdentifier","src":"5342:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5330:6:31"},"nodeType":"YulFunctionCall","src":"5330:19:31"},"nodeType":"YulExpressionStatement","src":"5330:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5369:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5374:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5365:3:31"},"nodeType":"YulFunctionCall","src":"5365:12:31"},{"name":"value1","nodeType":"YulIdentifier","src":"5379:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5358:6:31"},"nodeType":"YulFunctionCall","src":"5358:28:31"},"nodeType":"YulExpressionStatement","src":"5358:28:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5406:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5411:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5402:3:31"},"nodeType":"YulFunctionCall","src":"5402:12:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5424:2:31","type":"","value":"96"},{"name":"value2","nodeType":"YulIdentifier","src":"5428:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5420:3:31"},"nodeType":"YulFunctionCall","src":"5420:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5441:26:31","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"5437:3:31"},"nodeType":"YulFunctionCall","src":"5437:31:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5416:3:31"},"nodeType":"YulFunctionCall","src":"5416:53:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5395:6:31"},"nodeType":"YulFunctionCall","src":"5395:75:31"},"nodeType":"YulExpressionStatement","src":"5395:75:31"},{"nodeType":"YulAssignment","src":"5479:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5490:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"5495:2:31","type":"","value":"84"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5486:3:31"},"nodeType":"YulFunctionCall","src":"5486:12:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"5479:3:31"}]}]},"name":"abi_encode_tuple_packed_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5280:3:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5285:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5293:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5301:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"5312:3:31","type":""}],"src":"5145:359:31"},{"body":{"nodeType":"YulBlock","src":"5666:162:31","statements":[{"nodeType":"YulAssignment","src":"5676:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5688:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5699:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5684:3:31"},"nodeType":"YulFunctionCall","src":"5684:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5676:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5718:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"5729:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5711:6:31"},"nodeType":"YulFunctionCall","src":"5711:25:31"},"nodeType":"YulExpressionStatement","src":"5711:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5756:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5767:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5752:3:31"},"nodeType":"YulFunctionCall","src":"5752:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"5772:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5745:6:31"},"nodeType":"YulFunctionCall","src":"5745:34:31"},"nodeType":"YulExpressionStatement","src":"5745:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5799:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5810:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5795:3:31"},"nodeType":"YulFunctionCall","src":"5795:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"5815:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5788:6:31"},"nodeType":"YulFunctionCall","src":"5788:34:31"},"nodeType":"YulExpressionStatement","src":"5788:34:31"}]},"name":"abi_encode_tuple_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_bytes32_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5619:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5630:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5638:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5646:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5657:4:31","type":""}],"src":"5509:319:31"},{"body":{"nodeType":"YulBlock","src":"6007:182:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6024:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6035:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6017:6:31"},"nodeType":"YulFunctionCall","src":"6017:21:31"},"nodeType":"YulExpressionStatement","src":"6017:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6058:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6069:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6054:3:31"},"nodeType":"YulFunctionCall","src":"6054:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6074:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6047:6:31"},"nodeType":"YulFunctionCall","src":"6047:30:31"},"nodeType":"YulExpressionStatement","src":"6047:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6097:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6108:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6093:3:31"},"nodeType":"YulFunctionCall","src":"6093:18:31"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"6113:34:31","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6086:6:31"},"nodeType":"YulFunctionCall","src":"6086:62:31"},"nodeType":"YulExpressionStatement","src":"6086:62:31"},{"nodeType":"YulAssignment","src":"6157:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6169:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6180:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6165:3:31"},"nodeType":"YulFunctionCall","src":"6165:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6157:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5984:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5998:4:31","type":""}],"src":"5833:356:31"}]},"contents":"{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256_t_bytes32_t_uint256_t_address__to_t_uint256_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_IgammaPacksContract_$9843__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Ticket_$9867_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n let _2 := 64\n pos := add(headStart, _2)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n let _3 := mload(srcPtr)\n mstore(pos, mload(_3))\n mstore(add(pos, _1), mload(add(_3, _1)))\n mstore(add(pos, _2), mload(add(_3, _2)))\n let _4 := 0x60\n mstore(add(pos, _4), and(mload(add(_3, _4)), sub(shl(160, 1), 1)))\n pos := add(pos, 0x80)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_contract$_IGammaCardsContract_$9842__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_struct$_Data_$10343_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_uint256__to_t_uint256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := mod(x, y)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_uint256_t_uint256_t_address__to_t_uint256_t_uint256_t_address__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n mstore(add(pos, 64), and(shl(96, value2), not(0xffffffffffffffffffffffff)))\n end := add(pos, 84)\n }\n function abi_encode_tuple_t_uint256_t_bytes32_t_uint256__to_t_uint256_t_bytes32_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":964},{"length":20,"start":1719}]}},"object":"608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063dfbf53ae1161007c578063dfbf53ae1461029e578063e5b0b100146102bd578063e6afe6bc146102d0578063f09a4016146102e7578063f2fde38b146102fa578063fa8213d31461030d57600080fd5b80638da5cb5b146102575780638e7ea5b214610268578063b2d55c1c14610270578063cafaa47314610278578063d250f03a1461028b57600080fd5b80634c7a7ad3116100ff5780634c7a7ad3146102015780634ed026221461021457806350b44712146102295780637065cb481461023c578063715018a61461024f57600080fd5b806304ac05cf1461013c578063173825d91461017d5780632f54bf6e146101925780632f9e026a146101ce578063306e4118146101f9575b600080fd5b61014f61014a366004610e2c565b610320565b604080519485526020850193909352918301526001600160a01b031660608201526080015b60405180910390f35b61019061018b366004610e56565b61036f565b005b6101be6101a0366004610e56565b6001600160a01b031660009081526003602052604090205460ff1690565b6040519015158152602001610174565b6002546101e1906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b610190610415565b61019061020f366004610e56565b6104e9565b61021c610595565b6040516101749190610e78565b61014f610237366004610ee5565b61061f565b61019061024a366004610e56565b610662565b6101906106d9565b6000546001600160a01b03166101e1565b61014f6106ed565b61014f610709565b610190610286366004610e56565b6108b2565b6001546101e1906001600160a01b031681565b60065460075460085460095461014f939291906001600160a01b031684565b61021c6102cb366004610e56565b610957565b6102d9600b5481565b604051908152602001610174565b6101906102f5366004610efe565b6109f7565b610190610308366004610e56565b610a82565b61019061031b366004610e56565b610b00565b600a602052816000526040600020818154811061033c57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491945092506001600160a01b031684565b3360009081526003602052604090205460ff1661039f57604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b1580156103fa57600080fd5b505af415801561040e573d6000803e3d6000fd5b5050505050565b6002546001600160a01b0316331461044057604051633d10446b60e21b815260040160405180910390fd5b61044c60056000610dbc565b6000600b8190555b6005548110156104bd57600a60006005838154811061047557610475610f31565b60009182526020808320600360049093020191909101546001600160a01b0316835282019290925260400181206104ab91610dbc565b806104b581610f47565b915050610454565b506040517fc3ed638c0e10b967891ee71bc361fabc770df50e93331cdf41fddc37deb28b5b90600090a1565b3360009081526003602052604090205460ff1661051957604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166105405760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa906020015b60405180910390a150565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561061657600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b0316606083015290835290920191016105b9565b50505050905090565b6005818154811061062f57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491935091906001600160a01b031684565b3360009081526003602052604090205460ff1661069257604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae4906044016103e2565b6106e1610d12565b6106eb6000610d6c565b565b6006546007546008546009546001600160a01b03165b90919293565b6002546000908190819081906001600160a01b0316331461073d57604051633d10446b60e21b815260040160405180910390fd5b60055460000361076057604051632e12ccb760e11b815260040160405180910390fd5b6006541561078b575050600654600754600854600954929450909250906001600160a01b0316610703565b60055460408051426020820152449181019190915260608101829052600091906080016040516020818303038152906040528051906020012060001c6107d19190610f6e565b9050600581815481106107e6576107e6610f31565b60009182526020909120600490910201805460068190556001820154600781905560028301546008819055600390930154600980546001600160a01b0319166001600160a01b0390921691821790556040517f314d0f2749f4f47e45bd658d5f379146bedd6ac53f8e6f0f63c5fe4ab14bc2aa946108869493929091938452602084019290925260408301526001600160a01b0316606082015260800190565b60405180910390a15050600654600754600854600954929691955093506001600160a01b039091169150565b3360009081526003602052604090205460ff166108e257604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166109095760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f9060200161058a565b6001600160a01b0381166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b828210156109ec57600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b03166060830152908352909201910161098f565b505050509050919050565b6109ff610d12565b6001600160a01b0382161580610a1c57506001600160a01b038116155b15610a3a5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b039384166001600160a01b03199182161790915560018054929093169116178155336000908152600360205260409020805460ff19169091179055565b610a8a610d12565b6001600160a01b038116610af45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610afd81610d6c565b50565b6001546001600160a01b03163314610b2b57604051633d10446b60e21b815260040160405180910390fd5b600b54604080514260208201819052918101839052606084811b6bffffffffffffffffffffffff19169082015260009060740160408051601f1981840301815282825280516020918201206080840183528584528382018181528484018881526001600160a01b03808b1660608801818152600580546001818101835560009283528b5160049283027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081019190915588517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db182015587517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db282015584517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db390910180549188166001600160a01b0319928316179055948352600a8a529982208054808c0182559083529882208b519990910201978855945197870197909755915160028601559451600394909401805494909516931692909217909255600b805492945090610cba83610f47565b909155505060408051848152602081018490529081018590526001600160a01b038616907f0493d9379fb7ffa47303ca5a377a34a8034f42db6d986fe1f57b0b800fd210919060600160405180910390a25050505050565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610aeb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080546000825560040290600052602060002090810190610afd91905b80821115610e0c5760008082556001820181905560028201556003810180546001600160a01b0319169055600401610dd9565b5090565b80356001600160a01b0381168114610e2757600080fd5b919050565b60008060408385031215610e3f57600080fd5b610e4883610e10565b946020939093013593505050565b600060208284031215610e6857600080fd5b610e7182610e10565b9392505050565b602080825282518282018190526000919060409081850190868401855b82811015610ed857815180518552868101518786015285810151868601526060908101516001600160a01b03169085015260809093019290850190600101610e95565b5091979650505050505050565b600060208284031215610ef757600080fd5b5035919050565b60008060408385031215610f1157600080fd5b610f1a83610e10565b9150610f2860208401610e10565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b600060018201610f6757634e487b7160e01b600052601160045260246000fd5b5060010190565b600082610f8b57634e487b7160e01b600052601260045260246000fd5b50069056fea26469706673582212200b27afe2f53eb51a780c414a34d035477c7e269e22008960598c6789cc86e79164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x137 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xDFBF53AE GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xDFBF53AE EQ PUSH2 0x29E JUMPI DUP1 PUSH4 0xE5B0B100 EQ PUSH2 0x2BD JUMPI DUP1 PUSH4 0xE6AFE6BC EQ PUSH2 0x2D0 JUMPI DUP1 PUSH4 0xF09A4016 EQ PUSH2 0x2E7 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2FA JUMPI DUP1 PUSH4 0xFA8213D3 EQ PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x257 JUMPI DUP1 PUSH4 0x8E7EA5B2 EQ PUSH2 0x268 JUMPI DUP1 PUSH4 0xB2D55C1C EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0xCAFAA473 EQ PUSH2 0x278 JUMPI DUP1 PUSH4 0xD250F03A EQ PUSH2 0x28B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4C7A7AD3 GT PUSH2 0xFF JUMPI DUP1 PUSH4 0x4C7A7AD3 EQ PUSH2 0x201 JUMPI DUP1 PUSH4 0x4ED02622 EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x50B44712 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x23C JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x24F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4AC05CF EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x17D JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x2F9E026A EQ PUSH2 0x1CE JUMPI DUP1 PUSH4 0x306E4118 EQ PUSH2 0x1F9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xE2C JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP5 DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE SWAP2 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH2 0x18B CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x36F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BE PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x174 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x1E1 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x174 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x415 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x20F CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x4E9 JUMP JUMPDEST PUSH2 0x21C PUSH2 0x595 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x174 SWAP2 SWAP1 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x237 CALLDATASIZE PUSH1 0x4 PUSH2 0xEE5 JUMP JUMPDEST PUSH2 0x61F JUMP JUMPDEST PUSH2 0x190 PUSH2 0x24A CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x662 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x6D9 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1E1 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x6ED JUMP JUMPDEST PUSH2 0x14F PUSH2 0x709 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x286 CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x8B2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x1E1 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD PUSH2 0x14F SWAP4 SWAP3 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 JUMP JUMPDEST PUSH2 0x21C PUSH2 0x2CB CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0x957 JUMP JUMPDEST PUSH2 0x2D9 PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x174 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x2F5 CALLDATASIZE PUSH1 0x4 PUSH2 0xEFE JUMP JUMPDEST PUSH2 0x9F7 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x308 CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0xA82 JUMP JUMPDEST PUSH2 0x190 PUSH2 0x31B CALLDATASIZE PUSH1 0x4 PUSH2 0xE56 JUMP JUMPDEST PUSH2 0xB00 JUMP JUMPDEST PUSH1 0xA PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x33C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x4 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP5 POP SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x39F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x40E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x440 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3D10446B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x44C PUSH1 0x5 PUSH1 0x0 PUSH2 0xDBC JUMP JUMPDEST PUSH1 0x0 PUSH1 0xB DUP2 SWAP1 SSTORE JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x4BD JUMPI PUSH1 0xA PUSH1 0x0 PUSH1 0x5 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x475 JUMPI PUSH2 0x475 PUSH2 0xF31 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 PUSH1 0x3 PUSH1 0x4 SWAP1 SWAP4 MUL ADD SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD DUP2 KECCAK256 PUSH2 0x4AB SWAP2 PUSH2 0xDBC JUMP JUMPDEST DUP1 PUSH2 0x4B5 DUP2 PUSH2 0xF47 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x454 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0xC3ED638C0E10B967891EE71BC361FABC770DF50E93331CDF41FDDC37DEB28B5B SWAP1 PUSH1 0x0 SWAP1 LOG1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x519 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x540 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x45C9EBA39B5AE3E7A6650B0A57BCB8E5D135936D56D111983DBC5860AE6760FA SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x5 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x616 JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x80 DUP2 ADD DUP3 MSTORE PUSH1 0x4 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP1 DUP3 ADD SLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP4 ADD MSTORE SWAP1 DUP4 MSTORE SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x5B9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x62F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x4 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP4 POP SWAP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x692 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x3 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x3E2 JUMP JUMPDEST PUSH2 0x6E1 PUSH2 0xD12 JUMP JUMPDEST PUSH2 0x6EB PUSH1 0x0 PUSH2 0xD6C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST SWAP1 SWAP2 SWAP3 SWAP4 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP2 SWAP1 DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x73D JUMPI PUSH1 0x40 MLOAD PUSH4 0x3D10446B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SUB PUSH2 0x760 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2E12CCB7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD ISZERO PUSH2 0x78B JUMPI POP POP PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD SWAP3 SWAP5 POP SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x703 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 DUP1 MLOAD TIMESTAMP PUSH1 0x20 DUP3 ADD MSTORE PREVRANDAO SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x80 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x0 SHR PUSH2 0x7D1 SWAP2 SWAP1 PUSH2 0xF6E JUMP JUMPDEST SWAP1 POP PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x7E6 JUMPI PUSH2 0x7E6 PUSH2 0xF31 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x4 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x6 DUP2 SWAP1 SSTORE PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x7 DUP2 SWAP1 SSTORE PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x8 DUP2 SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 DUP3 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x314D0F2749F4F47E45BD658D5F379146BEDD6AC53F8E6F0F63C5FE4AB14BC2AA SWAP5 PUSH2 0x886 SWAP5 SWAP4 SWAP3 SWAP1 SWAP2 SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP PUSH1 0x6 SLOAD PUSH1 0x7 SLOAD PUSH1 0x8 SLOAD PUSH1 0x9 SLOAD SWAP3 SWAP7 SWAP2 SWAP6 POP SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x8E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x909 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0x5A78287A942B8EA0DA8734A4EB919DF11E564CC48301FFCB582DC8612D98208F SWAP1 PUSH1 0x20 ADD PUSH2 0x58A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE PUSH1 0x60 SWAP5 SWAP3 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x9EC JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0x80 DUP2 ADD DUP3 MSTORE PUSH1 0x4 DUP7 MUL SWAP1 SWAP3 ADD DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP1 DUP3 ADD SLOAD DUP5 DUP7 ADD MSTORE PUSH1 0x2 DUP3 ADD SLOAD SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x60 DUP4 ADD MSTORE SWAP1 DUP4 MSTORE SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x98F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FF PUSH2 0xD12 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO DUP1 PUSH2 0xA1C JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND ISZERO JUMPDEST ISZERO PUSH2 0xA3A JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP2 AND OR DUP2 SSTORE CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0xA8A PUSH2 0xD12 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xAF4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAFD DUP2 PUSH2 0xD6C JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB2B JUMPI PUSH1 0x40 MLOAD PUSH4 0x3D10446B PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xB SLOAD PUSH1 0x40 DUP1 MLOAD TIMESTAMP PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP5 DUP2 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0x74 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x80 DUP5 ADD DUP4 MSTORE DUP6 DUP5 MSTORE DUP4 DUP3 ADD DUP2 DUP2 MSTORE DUP5 DUP5 ADD DUP9 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP12 AND PUSH1 0x60 DUP9 ADD DUP2 DUP2 MSTORE PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP4 SSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE DUP12 MLOAD PUSH1 0x4 SWAP3 DUP4 MUL PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB0 DUP2 ADD SWAP2 SWAP1 SWAP2 SSTORE DUP9 MLOAD PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB1 DUP3 ADD SSTORE DUP8 MLOAD PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB2 DUP3 ADD SSTORE DUP5 MLOAD PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB3 SWAP1 SWAP2 ADD DUP1 SLOAD SWAP2 DUP9 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SSTORE SWAP5 DUP4 MSTORE PUSH1 0xA DUP11 MSTORE SWAP10 DUP3 KECCAK256 DUP1 SLOAD DUP1 DUP13 ADD DUP3 SSTORE SWAP1 DUP4 MSTORE SWAP9 DUP3 KECCAK256 DUP12 MLOAD SWAP10 SWAP1 SWAP2 MUL ADD SWAP8 DUP9 SSTORE SWAP5 MLOAD SWAP8 DUP8 ADD SWAP8 SWAP1 SWAP8 SSTORE SWAP2 MLOAD PUSH1 0x2 DUP7 ADD SSTORE SWAP5 MLOAD PUSH1 0x3 SWAP5 SWAP1 SWAP5 ADD DUP1 SLOAD SWAP5 SWAP1 SWAP6 AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP3 SSTORE PUSH1 0xB DUP1 SLOAD SWAP3 SWAP5 POP SWAP1 PUSH2 0xCBA DUP4 PUSH2 0xF47 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP5 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0x493D9379FB7FFA47303CA5A377A34A8034F42DB6D986FE1F57B0B800FD21091 SWAP1 PUSH1 0x60 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x6EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xAEB JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH1 0x0 DUP3 SSTORE PUSH1 0x4 MUL SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0xAFD SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xE0C JUMPI PUSH1 0x0 DUP1 DUP3 SSTORE PUSH1 0x1 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x2 DUP3 ADD SSTORE PUSH1 0x3 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 ADD PUSH2 0xDD9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE48 DUP4 PUSH2 0xE10 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xE68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE71 DUP3 PUSH2 0xE10 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x40 SWAP1 DUP2 DUP6 ADD SWAP1 DUP7 DUP5 ADD DUP6 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xED8 JUMPI DUP2 MLOAD DUP1 MLOAD DUP6 MSTORE DUP7 DUP2 ADD MLOAD DUP8 DUP7 ADD MSTORE DUP6 DUP2 ADD MLOAD DUP7 DUP7 ADD MSTORE PUSH1 0x60 SWAP1 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 DUP6 ADD MSTORE PUSH1 0x80 SWAP1 SWAP4 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xE95 JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xF11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF1A DUP4 PUSH2 0xE10 JUMP JUMPDEST SWAP2 POP PUSH2 0xF28 PUSH1 0x20 DUP5 ADD PUSH2 0xE10 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0xF67 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0xF8B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP MOD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND 0x27 0xAF 0xE2 CREATE2 RETURNDATACOPY 0xB5 BYTE PUSH25 0xC414A34D035477C7E269E22008960598C6789CC86E7916473 PUSH16 0x6C634300081400330000000000000000 ","sourceMap":"405:4588:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;836:49;;;;;;:::i;:::-;;:::i;:::-;;;;682:25:31;;;738:2;723:18;;716:34;;;;766:18;;;759:34;-1:-1:-1;;;;;829:32:31;824:2;809:18;;802:60;669:3;654:19;836:49:25;;;;;;;;2213:120;;;;;;:::i;:::-;;:::i;:::-;;2919:107;;;;;;:::i;:::-;-1:-1:-1;;;;;2996:23:25;2973:4;2996:23;;;:10;:23;;;;;;;;;2919:107;;;;1229:14:31;;1222:22;1204:41;;1192:2;1177:18;2919:107:25;1064:187:31;551:45:25;;;;;-1:-1:-1;;;;;551:45:25;;;;;;-1:-1:-1;;;;;1448:32:31;;;1430:51;;1418:2;1403:18;551:45:25;1256:231:31;4718:273:25;;;:::i;2339:284::-;;;;;;:::i;:::-;;:::i;3032:93::-;;;:::i;:::-;;;;;;;:::i;781:23::-;;;;;;:::i;:::-;;:::i;2103:104::-;;;;;;:::i;:::-;;:::i;1824:101:0:-;;;:::i;1201:85::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;1201:85;;3260:212:25;;;:::i;3986:726::-;;;:::i;2629:284::-;;;;;;:::i;:::-;;:::i;500:45::-;;;;;-1:-1:-1;;;;;500:45:25;;;810:20;;;;;;;;;;;;;;-1:-1:-1;;;;;810:20:25;;;3131:123;;;;;;:::i;:::-;;:::i;891:38::-;;;;;;;;;3219:25:31;;;3207:2;3192:18;891:38:25;3073:177:31;1702:395:25;;;;;;:::i;:::-;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;3478:503:25:-;;;;;;:::i;:::-;;:::i;836:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;836:49:25;-1:-1:-1;;;;;;836:49:25;;:::o;2213:120::-;1646:10;1628:17;:29;;;:10;:29;;;;;;;;1624:54;;1666:12;;-1:-1:-1;;;1666:12:25;;;;;;;;;;;1624:54;2288:38:::1;::::0;-1:-1:-1;;;2288:38:25;;:10:::1;:38;::::0;::::1;3726:25:31::0;-1:-1:-1;;;;;3787:32:31;;3767:18;;;3760:60;2288:22:25::1;::::0;::::1;::::0;3699:18:31;;2288:38:25::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2213:120:::0;:::o;4718:273::-;1513:18;;-1:-1:-1;;;;;1513:18:25;1491:10;:41;1488:80;;1541:27;;-1:-1:-1;;;1541:27:25;;;;;;;;;;;1488:80;4787:14:::1;4794:7;;4787:14;:::i;:::-;4833:1;4811:19;:23:::0;;;4844:107:::1;4868:7;:14:::0;4864:18;::::1;4844:107;;;4910:13;:30;4924:7;4932:1;4924:10;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;:15:::1;:10;::::0;;::::1;;:15:::0;;;::::1;::::0;-1:-1:-1;;;;;4924:15:25::1;4910:30:::0;;;::::1;::::0;;;;;;;;4903:37:::1;::::0;::::1;:::i;:::-;4884:3:::0;::::1;::::0;::::1;:::i;:::-;;;;4844:107;;;-1:-1:-1::0;4965:19:25::1;::::0;::::1;::::0;;;::::1;4718:273::o:0;2339:284::-;1646:10;1628:17;:29;;;:10;:29;;;;;;;;1624:54;;1666:12;;-1:-1:-1;;;1666:12:25;;;;;;;;;;;1624:54;-1:-1:-1;;;;;2430:33:25;::::1;2427:61;;2472:16;;-1:-1:-1::0;;;2472:16:25::1;;;;;;;;;;;2427:61;2498:18;:61:::0;;-1:-1:-1;;;;;;2498:61:25::1;-1:-1:-1::0;;;;;2498:61:25;::::1;::::0;;::::1;::::0;;;2574:42:::1;::::0;1430:51:31;;;2574:42:25::1;::::0;1418:2:31;1403:18;2574:42:25::1;;;;;;;;2339:284:::0;:::o;3032:93::-;3077:15;3111:7;3104:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3104:14:25;;;;;;;;;;;;;;;;;;;;;;3032:93;:::o;781:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:23:25;;-1:-1:-1;;;;;781:23:25;;:::o;2103:104::-;1646:10;1628:17;:29;;;:10;:29;;;;;;;;1624:54;;1666:12;;-1:-1:-1;;;1666:12:25;;;;;;;;;;;1624:54;2170:30:::1;::::0;-1:-1:-1;;;2170:30:25;;:10:::1;:30;::::0;::::1;3726:25:31::0;-1:-1:-1;;;;;3787:32:31;;3767:18;;;3760:60;2170:19:25::1;::::0;::::1;::::0;3699:18:31;;2170:30:25::1;3520:306:31::0;1824:101:0;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;3260:212:25:-;3396:6;:16;3414:15;;3431:20;;3453:11;;-1:-1:-1;;;;;3453:11:25;3260:212;;;;;:::o;3986:726::-;1513:18;;4064:17;;;;;;;;-1:-1:-1;;;;;1513:18:25;1491:10;:41;1488:80;;1541:27;;-1:-1:-1;;;1541:27:25;;;;;;;;;;;1488:80;4151:7:::1;:14:::0;4169:1:::1;4151:19:::0;4148:51:::1;;4179:20;;-1:-1:-1::0;;;4179:20:25::1;;;;;;;;;;;4148:51;4214:6;:16:::0;:21;4210:129:::1;;-1:-1:-1::0;;4259:6:25::1;:16:::0;4277:15;;4294:20;;4316:11;;4259:16;;-1:-1:-1;4277:15:25;;-1:-1:-1;4294:20:25;-1:-1:-1;;;;;4316:11:25::1;4251:77;;4210:129;4456:7;:14:::0;4390:61:::1;::::0;;4401:15:::1;4390:61;::::0;::::1;4402:25:31::0;4418:16:25::1;4443:18:31::0;;;4436:34;;;;4486:18;;;4479:34;;;4349:20:25::1;::::0;4456:14;4375:18:31;;4390:61:25::1;;;;;;;;;;;;4380:72;;;;;;4372:81;;:98;;;;:::i;:::-;4349:121;;4489:7;4497:12;4489:21;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;4480:30:::0;;:6:::1;:30:::0;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;-1:-1:-1;;;;;;4480:30:25::1;-1:-1:-1::0;;;;;4480:30:25;;::::1;::::0;;::::1;::::0;;4534:84:::1;::::0;::::1;::::0;::::1;::::0;4480:30;;;;682:25:31;;;738:2;723:18;;716:34;;;;781:2;766:18;;759:34;-1:-1:-1;;;;;829:32:31;824:2;809:18;;802:60;669:3;654:19;;451:417;4534:84:25::1;;;;;;;;-1:-1:-1::0;;4636:6:25::1;:16:::0;4654:15;;4671:20;;4693:11;;4636:16;;4654:15;;-1:-1:-1;4671:20:25;-1:-1:-1;;;;;;4693:11:25;;::::1;::::0;-1:-1:-1;3986:726:25:o;2629:284::-;1646:10;1628:17;:29;;;:10;:29;;;;;;;;1624:54;;1666:12;;-1:-1:-1;;;1666:12:25;;;;;;;;;;;1624:54;-1:-1:-1;;;;;2720:33:25;::::1;2717:61;;2762:16;;-1:-1:-1::0;;;2762:16:25::1;;;;;;;;;;;2717:61;2788:18;:61:::0;;-1:-1:-1;;;;;;2788:61:25::1;-1:-1:-1::0;;;;;2788:61:25;::::1;::::0;;::::1;::::0;;;2864:42:::1;::::0;1430:51:31;;;2864:42:25::1;::::0;1418:2:31;1403:18;2864:42:25::1;1256:231:31::0;3131:123:25;-1:-1:-1;;;;;3228:19:25;;;;;;:13;:19;;;;;;;;3221:26;;;;;;;;;;;;;;;;;3194:15;;3221:26;;3228:19;;3221:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3221:26:25;;;;;;;;;;;;;;;;;;;;;;3131:123;;;:::o;1702:395::-;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;1807:33:25;::::1;::::0;;:70:::1;;-1:-1:-1::0;;;;;;1844:33:25;::::1;::::0;1807:70:::1;1804:98;;;1886:16;;-1:-1:-1::0;;;1886:16:25::1;;;;;;;;;;;1804:98;1912:18;:61:::0;;-1:-1:-1;;;;;1912:61:25;;::::1;-1:-1:-1::0;;;;;;1912:61:25;;::::1;;::::0;;;;1983;;;;;::::1;::::0;::::1;;::::0;;2072:10:::1;1912:18;2054:29:::0;;;:10:::1;:29;::::0;;;;:36;;-1:-1:-1;;2054:36:25::1;::::0;;::::1;::::0;;1702:395::o;2074:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;4940:2:31;2154:73:0::1;::::0;::::1;4922:21:31::0;4979:2;4959:18;;;4952:30;5018:34;4998:18;;;4991:62;-1:-1:-1;;;5069:18:31;;;5062:36;5115:19;;2154:73:0::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;3478:503:25:-;1367:18;;-1:-1:-1;;;;;1367:18:25;1345:10;:41;1342:80;;1395:27;;-1:-1:-1;;;1395:27:25;;;;;;;;;;;1342:80;3577:19:::1;::::0;3675:43:::1;::::0;;3621:15:::1;3675:43;::::0;::::1;5330:19:31::0;;;5365:12;;;5358:28;;;5424:2;5420:15;;;-1:-1:-1;;5416:53:31;5402:12;;;5395:75;-1:-1:-1;;5486:12:31;;3675:43:25::1;::::0;;-1:-1:-1;;3675:43:25;;::::1;::::0;;;;;;3665:54;;3675:43:::1;3665:54:::0;;::::1;::::0;3755:43:::1;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;3755:43:25;;::::1;::::0;;;;;;3808:7:::1;:23:::0;;::::1;::::0;;::::1;::::0;;3729::::1;3808::::0;;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;::::1;-1:-1:-1::0;;;;;;3808:23:25;;::::1;;::::0;;3841:19;;;:13:::1;:19:::0;;;;;:35;;;;::::1;::::0;;;;;;;;;;;;;::::1;;::::0;;;;;;;::::1;::::0;;;;;;3808:23:::1;3841:35:::0;::::1;::::0;;;3808:23:::1;3841:35:::0;;;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;3886:19:::1;:21:::0;;3665:54;;-1:-1:-1;3886:19:25;:21:::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;;3922:52:25::1;::::0;;4402:25:31;;;4458:2;4443:18;;4436:34;;;4486:18;;;4479:34;;;-1:-1:-1;;;;;3922:52:25;::::1;::::0;::::1;::::0;4390:2:31;4375:18;3922:52:25::1;;;;;;;3543:438;;;;3478:503:::0;:::o;1359:130:0:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;734:10:12;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;6035:2:31;1414:68:0;;;6017:21:31;;;6054:18;;;6047:30;6113:34;6093:18;;;6086:62;6165:18;;1414:68:0;5833:356:31;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:173:31:-;82:20;;-1:-1:-1;;;;;131:31:31;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:31:o;873:186::-;932:6;985:2;973:9;964:7;960:23;956:32;953:52;;;1001:1;998;991:12;953:52;1024:29;1043:9;1024:29;:::i;:::-;1014:39;873:186;-1:-1:-1;;;873:186:31:o;1492:947::-;1711:2;1763:21;;;1833:13;;1736:18;;;1855:22;;;1682:4;;1711:2;1896;;1914:18;;;;1955:15;;;1682:4;1998:415;2012:6;2009:1;2006:13;1998:415;;;2071:13;;2109:9;;2097:22;;2159:11;;;2153:18;2139:12;;;2132:40;2212:11;;;2206:18;2192:12;;;2185:40;2248:4;2296:11;;;2290:18;-1:-1:-1;;;;;2286:44:31;2272:12;;;2265:66;2360:4;2351:14;;;;2388:15;;;;2327:1;2027:9;1998:415;;;-1:-1:-1;2430:3:31;;1492:947;-1:-1:-1;;;;;;;1492:947:31:o;2444:180::-;2503:6;2556:2;2544:9;2535:7;2531:23;2527:32;2524:52;;;2572:1;2569;2562:12;2524:52;-1:-1:-1;2595:23:31;;2444:180;-1:-1:-1;2444:180:31:o;3255:260::-;3323:6;3331;3384:2;3372:9;3363:7;3359:23;3355:32;3352:52;;;3400:1;3397;3390:12;3352:52;3423:29;3442:9;3423:29;:::i;:::-;3413:39;;3471:38;3505:2;3494:9;3490:18;3471:38;:::i;:::-;3461:48;;3255:260;;;;;:::o;3831:127::-;3892:10;3887:3;3883:20;3880:1;3873:31;3923:4;3920:1;3913:15;3947:4;3944:1;3937:15;3963:232;4002:3;4023:17;;;4020:140;;4082:10;4077:3;4073:20;4070:1;4063:31;4117:4;4114:1;4107:15;4145:4;4142:1;4135:15;4020:140;-1:-1:-1;4187:1:31;4176:13;;3963:232::o;4524:209::-;4556:1;4582;4572:132;;4626:10;4621:3;4617:20;4614:1;4607:31;4661:4;4658:1;4651:15;4689:4;4686:1;4679:15;4572:132;-1:-1:-1;4718:9:31;;4524:209::o"},"methodIdentifiers":{"addOwner(address)":"7065cb48","deleteAllTickets()":"306e4118","gammaCardsContract()":"d250f03a","gammaPacksContract()":"2f9e026a","generateTicket(address)":"fa8213d3","getLotteryWinner()":"b2d55c1c","getTickets()":"4ed02622","getTicketsByUser(address)":"e5b0b100","getWinner()":"8e7ea5b2","init(address,address)":"f09a4016","isOwner(address)":"2f54bf6e","owner()":"8da5cb5b","removeOwner(address)":"173825d9","renounceOwnership()":"715018a6","setGammaCardsContract(address)":"4c7a7ad3","setGammaPacksContract(address)":"cafaa473","tickets(uint256)":"50b44712","ticketsByUser(address,uint256)":"04ac05cf","ticketsTotalCounter()":"e6afe6bc","transferOwnership(address)":"f2fde38b","winner()":"dfbf53ae"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoTicketsAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyGammaContractsCanCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOwners\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"AllTicketsRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGammaCardsContract\",\"type\":\"address\"}],\"name\":\"NewGammaCardsContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newGammaPacksContract\",\"type\":\"address\"}],\"name\":\"NewGammaPacksContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"TicketGenerated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"WinnerObtained\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteAllTickets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaCardsContract\",\"outputs\":[{\"internalType\":\"contract IGammaCardsContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaPacksContract\",\"outputs\":[{\"internalType\":\"contract IgammaPacksContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"generateTicket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLotteryWinner\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTickets\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"internalType\":\"struct NofGammaTicketsV1.Ticket[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getTicketsByUser\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"internalType\":\"struct NofGammaTicketsV1.Ticket[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWinner\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaPacksContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaCardsContract\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownerToRemove\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaCardsContract\",\"type\":\"address\"}],\"name\":\"setGammaCardsContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaPacksContract\",\"type\":\"address\"}],\"name\":\"setGammaPacksContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tickets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ticketsByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ticketsTotalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"winner\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"ticketId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"ticketCounter\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaTickets.v1.sol\":\"NofGammaTicketsV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"contracts/gamma/GammaTickets.v1.sol\":{\"keccak256\":\"0x9ae1ca1a10b9d9879f18780e421b2e40707b31451b59026e67c4c93dd8e707fd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a4d097b7fae6b7b3b28af5e6b6568771757097950e3fa3ee9a5c818be984300\",\"dweb:/ipfs/QmdTsDLeWFjbPUqkwC5qciNoziqwgyJjNBjJiuTPFRYkZp\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":7,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":9852,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"gammaCardsContract","offset":0,"slot":"1","type":"t_contract(IGammaCardsContract)9842"},{"astId":9855,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"gammaPacksContract","offset":0,"slot":"2","type":"t_contract(IgammaPacksContract)9843"},{"astId":9858,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"ownersData","offset":0,"slot":"3","type":"t_struct(Data)10343_storage"},{"astId":9871,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"tickets","offset":0,"slot":"5","type":"t_array(t_struct(Ticket)9867_storage)dyn_storage"},{"astId":9874,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"winner","offset":0,"slot":"6","type":"t_struct(Ticket)9867_storage"},{"astId":9880,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"ticketsByUser","offset":0,"slot":"10","type":"t_mapping(t_address,t_array(t_struct(Ticket)9867_storage)dyn_storage)"},{"astId":9883,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"ticketsTotalCounter","offset":0,"slot":"11","type":"t_uint256"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(Ticket)9867_storage)dyn_storage":{"base":"t_struct(Ticket)9867_storage","encoding":"dynamic_array","label":"struct NofGammaTicketsV1.Ticket[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IGammaCardsContract)9842":{"encoding":"inplace","label":"contract IGammaCardsContract","numberOfBytes":"20"},"t_contract(IgammaPacksContract)9843":{"encoding":"inplace","label":"contract IgammaPacksContract","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_struct(Ticket)9867_storage)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct NofGammaTicketsV1.Ticket[])","numberOfBytes":"32","value":"t_array(t_struct(Ticket)9867_storage)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_struct(Data)10343_storage":{"encoding":"inplace","label":"struct LibControlMgmt.Data","members":[{"astId":10338,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"owners","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":10342,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"signers","offset":0,"slot":"1","type":"t_mapping(t_address,t_bool)"}],"numberOfBytes":"64"},"t_struct(Ticket)9867_storage":{"encoding":"inplace","label":"struct NofGammaTicketsV1.Ticket","members":[{"astId":9860,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"timestamp","offset":0,"slot":"0","type":"t_uint256"},{"astId":9862,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"ticketId","offset":0,"slot":"1","type":"t_bytes32"},{"astId":9864,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"ticketCounter","offset":0,"slot":"2","type":"t_uint256"},{"astId":9866,"contract":"contracts/gamma/GammaTickets.v1.sol:NofGammaTicketsV1","label":"user","offset":0,"slot":"3","type":"t_address"}],"numberOfBytes":"128"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"NewOwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newSigner","type":"address"}],"name":"NewSignerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"signer","type":"address"}],"name":"SignerRemoved","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6105e461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063773b6d121461005b578063982088f01461007d578063b4d78ae41461009d578063b764b1a4146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004610548565b6100dd565b005b81801561008957600080fd5b5061007b610098366004610548565b6101d7565b8180156100a957600080fd5b5061007b6100b8366004610548565b610322565b8180156100c957600080fd5b5061007b6100d8366004610548565b610403565b6001600160a01b03811661010c5760405162461bcd60e51b815260040161010390610584565b60405180910390fd5b6001600160a01b038116600090815260018301602052604090205460ff16156101775760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c72656164792061207369676e65722e000000006044820152606401610103565b6001600160a01b038116600081815260018481016020908152604092839020805460ff191690921790915590519182527f72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa391015b60405180910390a15050565b6001600160a01b0381166101fd5760405162461bcd60e51b815260040161010390610584565b6001600160a01b038116600090815260018301602052604090205460ff166102675760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f742061207369676e65722e00000000000000006044820152606401610103565b336001600160a01b038216036102cf5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320612060448201526639b4b3b732b91760c91b6064820152608401610103565b6001600160a01b0381166000818152600184016020908152604091829020805460ff1916905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91016101cb565b6001600160a01b0381166103485760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff16156103b15760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c726561647920616e206f776e65722e000000006044820152606401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916600117905590519182527f6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d91016101cb565b6001600160a01b0381166104295760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff166104915760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e206f776e65722e00000000000000006044820152606401610103565b336001600160a01b038216036104f95760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661037bbb732b91760c91b6064820152608401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016101cb565b6000806040838503121561055b57600080fd5b8235915060208301356001600160a01b038116811461057957600080fd5b809150509250929050565b60208082526010908201526f24b73b30b634b21030b2323932b9b99760811b60408201526060019056fea2646970667358221220bdc1460ec011ae34a2585654bd65bedde11324faa34ee90f1e34a97f0e2fd3b764736f6c63430008140033","opcodes":"PUSH2 0x5E4 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x773B6D12 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x982088F0 EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB4D78AE4 EQ PUSH2 0x9D JUMPI DUP1 PUSH4 0xB764B1A4 EQ PUSH2 0xBD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x98 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x1D7 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x322 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xD8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x403 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x10C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C72656164792061207369676E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x72D4003E8F1AD99F4F488C703A1D183DEE364A6337CB77F8FBA50088CB0FBFA3 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x267 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F742061207369676E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x2CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C66206173206120 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x39B4B3B732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x3525E22824A8A7DF2C9A6029941C824CF95B6447F1E13D5128FD3826D35AFE8B SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x348 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C726561647920616E206F776E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x6E4E2A7C0E1576D48AEABD633D094F622D4F046286FEC8B9045DD7F5C9FB087D SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x429 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F7420616E206F776E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x4F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C6620617320616E PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1037BBB732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x58619076ADF5BB0943D100EF88D52D7C3FD691B19D3A9071B555B651FBF418DA SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x579 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21030B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD 0xC1 CHAINID 0xE 0xC0 GT 0xAE CALLVALUE LOG2 PC JUMP SLOAD 0xBD PUSH6 0xBEDDE11324FA LOG3 0x4E 0xE9 0xF 0x1E CALLVALUE 0xA9 PUSH32 0xE2FD3B764736F6C634300081400330000000000000000000000000000000000 ","sourceMap":"58:1693:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:1693:26;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@addOwner_10399":{"entryPoint":802,"id":10399,"parameterSlots":2,"returnSlots":0},"@addSigner_10486":{"entryPoint":221,"id":10486,"parameterSlots":2,"returnSlots":0},"@removeOwner_10446":{"entryPoint":1027,"id":10446,"parameterSlots":2,"returnSlots":0},"@removeSigner_10533":{"entryPoint":471,"id":10533,"parameterSlots":2,"returnSlots":0},"abi_decode_tuple_t_struct$_Data_$10343_storage_ptrt_address":{"entryPoint":1352,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1412,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3183:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"125:267:31","statements":[{"body":{"nodeType":"YulBlock","src":"171:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"180:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"183:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"173:6:31"},"nodeType":"YulFunctionCall","src":"173:12:31"},"nodeType":"YulExpressionStatement","src":"173:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"146:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"155:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:31"},"nodeType":"YulFunctionCall","src":"142:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"167:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"138:3:31"},"nodeType":"YulFunctionCall","src":"138:32:31"},"nodeType":"YulIf","src":"135:52:31"},{"nodeType":"YulAssignment","src":"196:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"219:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"206:12:31"},"nodeType":"YulFunctionCall","src":"206:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"196:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"238:45:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"268:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"279:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"264:3:31"},"nodeType":"YulFunctionCall","src":"264:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"251:12:31"},"nodeType":"YulFunctionCall","src":"251:32:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"242:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"346:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"355:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"358:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"348:6:31"},"nodeType":"YulFunctionCall","src":"348:12:31"},"nodeType":"YulExpressionStatement","src":"348:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"305:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"316:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"331:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"336:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"327:3:31"},"nodeType":"YulFunctionCall","src":"327:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"340:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"323:3:31"},"nodeType":"YulFunctionCall","src":"323:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"312:3:31"},"nodeType":"YulFunctionCall","src":"312:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"302:2:31"},"nodeType":"YulFunctionCall","src":"302:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"295:6:31"},"nodeType":"YulFunctionCall","src":"295:50:31"},"nodeType":"YulIf","src":"292:70:31"},{"nodeType":"YulAssignment","src":"371:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"381:5:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"371:6:31"}]}]},"name":"abi_decode_tuple_t_struct$_Data_$10343_storage_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"83:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"94:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"106:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"114:6:31","type":""}],"src":"14:378:31"},{"body":{"nodeType":"YulBlock","src":"571:166:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"588:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"599:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"581:6:31"},"nodeType":"YulFunctionCall","src":"581:21:31"},"nodeType":"YulExpressionStatement","src":"581:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"622:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"633:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"618:3:31"},"nodeType":"YulFunctionCall","src":"618:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"638:2:31","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"611:6:31"},"nodeType":"YulFunctionCall","src":"611:30:31"},"nodeType":"YulExpressionStatement","src":"611:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"661:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"672:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"657:3:31"},"nodeType":"YulFunctionCall","src":"657:18:31"},{"hexValue":"496e76616c696420616464726573732e","kind":"string","nodeType":"YulLiteral","src":"677:18:31","type":"","value":"Invalid address."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"650:6:31"},"nodeType":"YulFunctionCall","src":"650:46:31"},"nodeType":"YulExpressionStatement","src":"650:46:31"},{"nodeType":"YulAssignment","src":"705:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"717:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"728:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"713:3:31"},"nodeType":"YulFunctionCall","src":"713:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"705:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"548:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"562:4:31","type":""}],"src":"397:340:31"},{"body":{"nodeType":"YulBlock","src":"916:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"933:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"944:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"926:6:31"},"nodeType":"YulFunctionCall","src":"926:21:31"},"nodeType":"YulExpressionStatement","src":"926:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"967:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"978:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:31"},"nodeType":"YulFunctionCall","src":"963:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"983:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"956:6:31"},"nodeType":"YulFunctionCall","src":"956:30:31"},"nodeType":"YulExpressionStatement","src":"956:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1006:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1017:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1002:3:31"},"nodeType":"YulFunctionCall","src":"1002:18:31"},{"hexValue":"4164647265737320697320616c72656164792061207369676e65722e","kind":"string","nodeType":"YulLiteral","src":"1022:30:31","type":"","value":"Address is already a signer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"995:6:31"},"nodeType":"YulFunctionCall","src":"995:58:31"},"nodeType":"YulExpressionStatement","src":"995:58:31"},{"nodeType":"YulAssignment","src":"1062:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1074:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1085:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1070:3:31"},"nodeType":"YulFunctionCall","src":"1070:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1062:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"893:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"907:4:31","type":""}],"src":"742:352:31"},{"body":{"nodeType":"YulBlock","src":"1200:102:31","statements":[{"nodeType":"YulAssignment","src":"1210:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1222:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1233:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1218:3:31"},"nodeType":"YulFunctionCall","src":"1218:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1210:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1252:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1267:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1283:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1288:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1279:3:31"},"nodeType":"YulFunctionCall","src":"1279:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1292:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1275:3:31"},"nodeType":"YulFunctionCall","src":"1275:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1263:3:31"},"nodeType":"YulFunctionCall","src":"1263:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1245:6:31"},"nodeType":"YulFunctionCall","src":"1245:51:31"},"nodeType":"YulExpressionStatement","src":"1245:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1169:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1180:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1191:4:31","type":""}],"src":"1099:203:31"},{"body":{"nodeType":"YulBlock","src":"1481:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1498:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1509:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1491:6:31"},"nodeType":"YulFunctionCall","src":"1491:21:31"},"nodeType":"YulExpressionStatement","src":"1491:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1532:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1543:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1528:3:31"},"nodeType":"YulFunctionCall","src":"1528:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"1548:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1521:6:31"},"nodeType":"YulFunctionCall","src":"1521:30:31"},"nodeType":"YulExpressionStatement","src":"1521:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1571:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1582:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1567:3:31"},"nodeType":"YulFunctionCall","src":"1567:18:31"},{"hexValue":"41646472657373206973206e6f742061207369676e65722e","kind":"string","nodeType":"YulLiteral","src":"1587:26:31","type":"","value":"Address is not a signer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1560:6:31"},"nodeType":"YulFunctionCall","src":"1560:54:31"},"nodeType":"YulExpressionStatement","src":"1560:54:31"},{"nodeType":"YulAssignment","src":"1623:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1635:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1646:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1631:3:31"},"nodeType":"YulFunctionCall","src":"1631:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1623:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1458:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1472:4:31","type":""}],"src":"1307:348:31"},{"body":{"nodeType":"YulBlock","src":"1834:229:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1851:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1862:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1844:6:31"},"nodeType":"YulFunctionCall","src":"1844:21:31"},"nodeType":"YulExpressionStatement","src":"1844:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1885:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1896:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1881:3:31"},"nodeType":"YulFunctionCall","src":"1881:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"1901:2:31","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1874:6:31"},"nodeType":"YulFunctionCall","src":"1874:30:31"},"nodeType":"YulExpressionStatement","src":"1874:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1924:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1935:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1920:3:31"},"nodeType":"YulFunctionCall","src":"1920:18:31"},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c66206173206120","kind":"string","nodeType":"YulLiteral","src":"1940:34:31","type":"","value":"You cannot remove yourself as a "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1913:6:31"},"nodeType":"YulFunctionCall","src":"1913:62:31"},"nodeType":"YulExpressionStatement","src":"1913:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1995:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2006:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1991:3:31"},"nodeType":"YulFunctionCall","src":"1991:18:31"},{"hexValue":"7369676e65722e","kind":"string","nodeType":"YulLiteral","src":"2011:9:31","type":"","value":"signer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1984:6:31"},"nodeType":"YulFunctionCall","src":"1984:37:31"},"nodeType":"YulExpressionStatement","src":"1984:37:31"},{"nodeType":"YulAssignment","src":"2030:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2042:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2053:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2038:3:31"},"nodeType":"YulFunctionCall","src":"2038:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2030:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1811:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1825:4:31","type":""}],"src":"1660:403:31"},{"body":{"nodeType":"YulBlock","src":"2242:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2259:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2270:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2252:6:31"},"nodeType":"YulFunctionCall","src":"2252:21:31"},"nodeType":"YulExpressionStatement","src":"2252:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2293:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2304:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:31"},"nodeType":"YulFunctionCall","src":"2289:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"2309:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2282:6:31"},"nodeType":"YulFunctionCall","src":"2282:30:31"},"nodeType":"YulExpressionStatement","src":"2282:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2332:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2343:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2328:3:31"},"nodeType":"YulFunctionCall","src":"2328:18:31"},{"hexValue":"4164647265737320697320616c726561647920616e206f776e65722e","kind":"string","nodeType":"YulLiteral","src":"2348:30:31","type":"","value":"Address is already an owner."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2321:6:31"},"nodeType":"YulFunctionCall","src":"2321:58:31"},"nodeType":"YulExpressionStatement","src":"2321:58:31"},{"nodeType":"YulAssignment","src":"2388:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2400:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2411:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2396:3:31"},"nodeType":"YulFunctionCall","src":"2396:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2388:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2219:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2233:4:31","type":""}],"src":"2068:352:31"},{"body":{"nodeType":"YulBlock","src":"2599:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2616:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2627:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2609:6:31"},"nodeType":"YulFunctionCall","src":"2609:21:31"},"nodeType":"YulExpressionStatement","src":"2609:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2650:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2661:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2646:3:31"},"nodeType":"YulFunctionCall","src":"2646:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"2666:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2639:6:31"},"nodeType":"YulFunctionCall","src":"2639:30:31"},"nodeType":"YulExpressionStatement","src":"2639:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2689:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2700:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2685:3:31"},"nodeType":"YulFunctionCall","src":"2685:18:31"},{"hexValue":"41646472657373206973206e6f7420616e206f776e65722e","kind":"string","nodeType":"YulLiteral","src":"2705:26:31","type":"","value":"Address is not an owner."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2678:6:31"},"nodeType":"YulFunctionCall","src":"2678:54:31"},"nodeType":"YulExpressionStatement","src":"2678:54:31"},{"nodeType":"YulAssignment","src":"2741:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2753:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2764:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2749:3:31"},"nodeType":"YulFunctionCall","src":"2749:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2741:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2576:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2590:4:31","type":""}],"src":"2425:348:31"},{"body":{"nodeType":"YulBlock","src":"2952:229:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2969:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2980:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2962:6:31"},"nodeType":"YulFunctionCall","src":"2962:21:31"},"nodeType":"YulExpressionStatement","src":"2962:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3003:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3014:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2999:3:31"},"nodeType":"YulFunctionCall","src":"2999:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3019:2:31","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2992:6:31"},"nodeType":"YulFunctionCall","src":"2992:30:31"},"nodeType":"YulExpressionStatement","src":"2992:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3042:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3053:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3038:3:31"},"nodeType":"YulFunctionCall","src":"3038:18:31"},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e","kind":"string","nodeType":"YulLiteral","src":"3058:34:31","type":"","value":"You cannot remove yourself as an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3031:6:31"},"nodeType":"YulFunctionCall","src":"3031:62:31"},"nodeType":"YulExpressionStatement","src":"3031:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3113:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3124:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3109:3:31"},"nodeType":"YulFunctionCall","src":"3109:18:31"},{"hexValue":"206f776e65722e","kind":"string","nodeType":"YulLiteral","src":"3129:9:31","type":"","value":" owner."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3102:6:31"},"nodeType":"YulFunctionCall","src":"3102:37:31"},"nodeType":"YulExpressionStatement","src":"3102:37:31"},{"nodeType":"YulAssignment","src":"3148:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3160:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3171:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3156:3:31"},"nodeType":"YulFunctionCall","src":"3156:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3148:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2929:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2943:4:31","type":""}],"src":"2778:403:31"}]},"contents":"{\n { }\n function abi_decode_tuple_t_struct$_Data_$10343_storage_ptrt_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Invalid address.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Address is already a signer.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Address is not a signer.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"You cannot remove yourself as a \")\n mstore(add(headStart, 96), \"signer.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Address is already an owner.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Address is not an owner.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"You cannot remove yourself as an\")\n mstore(add(headStart, 96), \" owner.\")\n tail := add(headStart, 128)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063773b6d121461005b578063982088f01461007d578063b4d78ae41461009d578063b764b1a4146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004610548565b6100dd565b005b81801561008957600080fd5b5061007b610098366004610548565b6101d7565b8180156100a957600080fd5b5061007b6100b8366004610548565b610322565b8180156100c957600080fd5b5061007b6100d8366004610548565b610403565b6001600160a01b03811661010c5760405162461bcd60e51b815260040161010390610584565b60405180910390fd5b6001600160a01b038116600090815260018301602052604090205460ff16156101775760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c72656164792061207369676e65722e000000006044820152606401610103565b6001600160a01b038116600081815260018481016020908152604092839020805460ff191690921790915590519182527f72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa391015b60405180910390a15050565b6001600160a01b0381166101fd5760405162461bcd60e51b815260040161010390610584565b6001600160a01b038116600090815260018301602052604090205460ff166102675760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f742061207369676e65722e00000000000000006044820152606401610103565b336001600160a01b038216036102cf5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320612060448201526639b4b3b732b91760c91b6064820152608401610103565b6001600160a01b0381166000818152600184016020908152604091829020805460ff1916905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91016101cb565b6001600160a01b0381166103485760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff16156103b15760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c726561647920616e206f776e65722e000000006044820152606401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916600117905590519182527f6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d91016101cb565b6001600160a01b0381166104295760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff166104915760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e206f776e65722e00000000000000006044820152606401610103565b336001600160a01b038216036104f95760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661037bbb732b91760c91b6064820152608401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016101cb565b6000806040838503121561055b57600080fd5b8235915060208301356001600160a01b038116811461057957600080fd5b809150509250929050565b60208082526010908201526f24b73b30b634b21030b2323932b9b99760811b60408201526060019056fea2646970667358221220bdc1460ec011ae34a2585654bd65bedde11324faa34ee90f1e34a97f0e2fd3b764736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x773B6D12 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x982088F0 EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB4D78AE4 EQ PUSH2 0x9D JUMPI DUP1 PUSH4 0xB764B1A4 EQ PUSH2 0xBD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x98 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x1D7 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x322 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xD8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x403 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x10C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C72656164792061207369676E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x72D4003E8F1AD99F4F488C703A1D183DEE364A6337CB77F8FBA50088CB0FBFA3 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x267 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F742061207369676E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x2CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C66206173206120 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x39B4B3B732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x3525E22824A8A7DF2C9A6029941C824CF95B6447F1E13D5128FD3826D35AFE8B SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x348 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C726561647920616E206F776E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x6E4E2A7C0E1576D48AEABD633D094F622D4F046286FEC8B9045DD7F5C9FB087D SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x429 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F7420616E206F776E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x4F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C6620617320616E PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1037BBB732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x58619076ADF5BB0943D100EF88D52D7C3FD691B19D3A9071B555B651FBF418DA SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x579 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21030B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD 0xC1 CHAINID 0xE 0xC0 GT 0xAE CALLVALUE LOG2 PC JUMP SLOAD 0xBD PUSH6 0xBEDDE11324FA LOG3 0x4E 0xE9 0xF 0x1E CALLVALUE 0xA9 PUSH32 0xE2FD3B764736F6C634300081400330000000000000000000000000000000000 ","sourceMap":"58:1693:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:290;;;;;;;;;;-1:-1:-1;1050:290:26;;;;;:::i;:::-;;:::i;:::-;;1346:403;;;;;;;;;;-1:-1:-1;1346:403:26;;;;;:::i;:::-;;:::i;364:281::-;;;;;;;;;;-1:-1:-1;364:281:26;;;;;:::i;:::-;;:::i;651:393::-;;;;;;;;;;-1:-1:-1;651:393:26;;;;;:::i;:::-;;:::i;1050:290::-;-1:-1:-1;;;;;1134:23:26;;1126:52;;;;-1:-1:-1;;;1126:52:26;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1197:23:26;;;;;;:12;;;:23;;;;;;;;1196:24;1188:65;;;;-1:-1:-1;;;1188:65:26;;944:2:31;1188:65:26;;;926:21:31;983:2;963:18;;;956:30;1022;1002:18;;;995:58;1070:18;;1188:65:26;742:352:31;1188:65:26;-1:-1:-1;;;;;1263:23:26;;;;;;1289:4;1263:12;;;:23;;;;;;;;;:30;;-1:-1:-1;;1263:30:26;;;;;;;1308:25;;1245:51:31;;;1308:25:26;;1218:18:31;1308:25:26;;;;;;;;1050:290;;:::o;1346:403::-;-1:-1:-1;;;;;1438:28:26;;1430:57;;;;-1:-1:-1;;;1430:57:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;1505:28:26;;;;;;:12;;;:28;;;;;;;;1497:65;;;;-1:-1:-1;;;1497:65:26;;1509:2:31;1497:65:26;;;1491:21:31;1548:2;1528:18;;;1521:30;1587:26;1567:18;;;1560:54;1631:18;;1497:65:26;1307:348:31;1497:65:26;1598:10;-1:-1:-1;;;;;1580:28:26;;;1572:80;;;;-1:-1:-1;;;1572:80:26;;1862:2:31;1572:80:26;;;1844:21:31;1901:2;1881:18;;;1874:30;1940:34;1920:18;;;1913:62;-1:-1:-1;;;1991:18:31;;;1984:37;2038:19;;1572:80:26;1660:403:31;1572:80:26;-1:-1:-1;;;;;1662:28:26;;1693:5;1662:28;;;:12;;;:28;;;;;;;;;:36;;-1:-1:-1;;1662:36:26;;;1713:29;;1245:51:31;;;1713:29:26;;1218:18:31;1713:29:26;1099:203:31;364:281:26;-1:-1:-1;;;;;446:22:26;;438:51;;;;-1:-1:-1;;;438:51:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;508:21:26;;:11;:21;;;;;;;;;;;;;507:22;499:63;;;;-1:-1:-1;;;499:63:26;;2270:2:31;499:63:26;;;2252:21:31;2309:2;2289:18;;;2282:30;2348;2328:18;;;2321:58;2396:18;;499:63:26;2068:352:31;499:63:26;-1:-1:-1;;;;;572:21:26;;:11;:21;;;;;;;;;;;;:28;;-1:-1:-1;;572:28:26;596:4;572:28;;;615:23;;1245:51:31;;;615:23:26;;1218:18:31;615:23:26;1099:203:31;651:393:26;-1:-1:-1;;;;;741:27:26;;733:56;;;;-1:-1:-1;;;733:56:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;807:26:26;;:11;:26;;;;;;;;;;;;;799:63;;;;-1:-1:-1;;;799:63:26;;2627:2:31;799:63:26;;;2609:21:31;2666:2;2646:18;;;2639:30;2705:26;2685:18;;;2678:54;2749:18;;799:63:26;2425:348:31;799:63:26;897:10;-1:-1:-1;;;;;880:27:26;;;872:79;;;;-1:-1:-1;;;872:79:26;;2980:2:31;872:79:26;;;2962:21:31;3019:2;2999:18;;;2992:30;3058:34;3038:18;;;3031:62;-1:-1:-1;;;3109:18:31;;;3102:37;3156:19;;872:79:26;2778:403:31;872:79:26;-1:-1:-1;;;;;961:26:26;;990:5;961:26;;;;;;;;;;;;:34;;-1:-1:-1;;961:34:26;;;1010:27;;1245:51:31;;;1010:27:26;;1218:18:31;1010:27:26;1099:203:31;14:378;106:6;114;167:2;155:9;146:7;142:23;138:32;135:52;;;183:1;180;173:12;135:52;206:23;;;-1:-1:-1;279:2:31;264:18;;251:32;-1:-1:-1;;;;;312:31:31;;302:42;;292:70;;358:1;355;348:12;292:70;381:5;371:15;;;14:378;;;;;:::o;397:340::-;599:2;581:21;;;638:2;618:18;;;611:30;-1:-1:-1;;;672:2:31;657:18;;650:46;728:2;713:18;;397:340::o"},"methodIdentifiers":{"addOwner(LibControlMgmt.Data storage,address)":"b4d78ae4","addSigner(LibControlMgmt.Data storage,address)":"773b6d12","removeOwner(LibControlMgmt.Data storage,address)":"b764b1a4","removeSigner(LibControlMgmt.Data storage,address)":"982088f0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"NewOwnerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newSigner\",\"type\":\"address\"}],\"name\":\"NewSignerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"SignerRemoved\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/libs/LibControlMgmt.sol\":\"LibControlMgmt\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/gamma/libs/LibPackVerifier.sol":{"LibPackVerifier":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyPackSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6105fc61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806338fb7d8b1461003a575b600080fd5b61004d61004836600461040c565b610069565b6040516001600160a01b03909116815260200160405180910390f35b6000806100cd87878760405160200161008493929190610522565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b9050600061011385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061011f9050565b98975050505050505050565b600080600061012e8585610143565b9150915061013b81610188565b509392505050565b60008082516041036101795760208301516040840151606085015160001a61016d878285856102da565b94509450505050610181565b506000905060025b9250929050565b600081600481111561019c5761019c6105b0565b036101a45750565b60018160048111156101b8576101b86105b0565b0361020a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561021e5761021e6105b0565b0361026b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610201565b600381600481111561027f5761027f6105b0565b036102d75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610201565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156103115750600090506003610395565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610365573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661038e57600060019250925050610395565b9150600090505b94509492505050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146103c557600080fd5b919050565b60008083601f8401126103dc57600080fd5b50813567ffffffffffffffff8111156103f457600080fd5b60208301915083602082850101111561018157600080fd5b60008060008060006080868803121561042457600080fd5b85356001600160a01b038116811461043b57600080fd5b94506020868101359450604087013567ffffffffffffffff8082111561046057600080fd5b818901915089601f83011261047457600080fd5b8135818111156104865761048661039e565b8060051b604051601f19603f830116810181811085821117156104ab576104ab61039e565b6040529182528381018501918581018d8411156104c757600080fd5b948601945b838610156104ea576104dd866103b4565b81529486019486016104cc565b5097505050606089013592508083111561050357600080fd5b5050610511888289016103ca565b969995985093965092949392505050565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b8381101561056c57815160ff168552938201939082019060010161054d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202403adb3d5a58586f6f0122c27cfb786994f9734933a6198d0f0a3bec9cbbdf664736f6c63430008140033","opcodes":"PUSH2 0x5FC PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x38FB7D8B EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x40C JUMP JUMPDEST PUSH2 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCD DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x84 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x522 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3C SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x113 DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP7 SWAP4 SWAP3 POP POP PUSH2 0x11F SWAP1 POP JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x12E DUP6 DUP6 PUSH2 0x143 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x13B DUP2 PUSH2 0x188 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD PUSH1 0x41 SUB PUSH2 0x179 JUMPI PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x0 BYTE PUSH2 0x16D DUP8 DUP3 DUP6 DUP6 PUSH2 0x2DA JUMP JUMPDEST SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x181 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH1 0x2 JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x19C JUMPI PUSH2 0x19C PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x1A4 JUMPI POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x1B8 JUMPI PUSH2 0x1B8 PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x20A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E61747572650000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x21E JUMPI PUSH2 0x21E PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x26B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265206C656E67746800 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x201 JUMP JUMPDEST PUSH1 0x3 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x27F JUMPI PUSH2 0x27F PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x2D7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265202773272076616C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7565 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x201 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP4 GT ISZERO PUSH2 0x311 JUMPI POP PUSH1 0x0 SWAP1 POP PUSH1 0x3 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x365 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38E JUMPI PUSH1 0x0 PUSH1 0x1 SWAP3 POP SWAP3 POP POP PUSH2 0x395 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 DUP2 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x460 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x486 JUMPI PUSH2 0x486 PUSH2 0x39E JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x4AB JUMPI PUSH2 0x4AB PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD DUP14 DUP5 GT ISZERO PUSH2 0x4C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP7 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4DD DUP7 PUSH2 0x3B4 JUMP JUMPDEST DUP2 MSTORE SWAP5 DUP7 ADD SWAP5 DUP7 ADD PUSH2 0x4CC JUMP JUMPDEST POP SWAP8 POP POP POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x511 DUP9 DUP3 DUP10 ADD PUSH2 0x3CA JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP5 PUSH1 0x60 SHL AND DUP2 MSTORE DUP3 PUSH1 0x14 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x34 DUP3 ADD DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x56C JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x54D JUMP JUMPDEST POP POP PUSH32 0x3078663164443731383935653439623135363336393339363964653530383938 DUP4 MSTORE PUSH10 0x31393763444633343831 PUSH1 0xB0 SHL SWAP1 DUP4 ADD MSTORE POP PUSH1 0x2A ADD SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SUB 0xAD 0xB3 0xD5 0xA5 DUP6 DUP7 0xF6 CREATE SLT 0x2C 0x27 0xCF 0xB7 DUP7 SWAP10 0x4F SWAP8 CALLVALUE SWAP4 GASPRICE PUSH2 0x98D0 CREATE LOG3 0xBE 0xC9 0xCB 0xBD 0xF6 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"122:531:27:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;122:531:27;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_throwError_2135":{"entryPoint":392,"id":2135,"parameterSlots":1,"returnSlots":0},"@recover_2208":{"entryPoint":287,"id":2208,"parameterSlots":2,"returnSlots":1},"@toEthSignedMessageHash_2392":{"entryPoint":null,"id":2392,"parameterSlots":1,"returnSlots":1},"@tryRecover_2181":{"entryPoint":323,"id":2181,"parameterSlots":2,"returnSlots":2},"@tryRecover_2349":{"entryPoint":730,"id":2349,"parameterSlots":4,"returnSlots":2},"@verifyPackSigner_10578":{"entryPoint":105,"id":10578,"parameterSlots":5,"returnSlots":1},"abi_decode_bytes_calldata":{"entryPoint":970,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr":{"entryPoint":1036,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_uint8":{"entryPoint":948,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1314,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x21":{"entryPoint":1456,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":926,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5122:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"193:109:31","statements":[{"nodeType":"YulAssignment","src":"203:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"225:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"212:12:31"},"nodeType":"YulFunctionCall","src":"212:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"203:5:31"}]},{"body":{"nodeType":"YulBlock","src":"280:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"289:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"292:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"282:6:31"},"nodeType":"YulFunctionCall","src":"282:12:31"},"nodeType":"YulExpressionStatement","src":"282:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"254:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"265:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"272:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"261:3:31"},"nodeType":"YulFunctionCall","src":"261:16:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"251:2:31"},"nodeType":"YulFunctionCall","src":"251:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"244:6:31"},"nodeType":"YulFunctionCall","src":"244:35:31"},"nodeType":"YulIf","src":"241:55:31"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"172:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"183:5:31","type":""}],"src":"146:156:31"},{"body":{"nodeType":"YulBlock","src":"379:275:31","statements":[{"body":{"nodeType":"YulBlock","src":"428:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"440:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"430:6:31"},"nodeType":"YulFunctionCall","src":"430:12:31"},"nodeType":"YulExpressionStatement","src":"430:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"407:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"415:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:31"},"nodeType":"YulFunctionCall","src":"403:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"422:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"399:3:31"},"nodeType":"YulFunctionCall","src":"399:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"392:6:31"},"nodeType":"YulFunctionCall","src":"392:35:31"},"nodeType":"YulIf","src":"389:55:31"},{"nodeType":"YulAssignment","src":"453:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"476:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"463:12:31"},"nodeType":"YulFunctionCall","src":"463:20:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"453:6:31"}]},{"body":{"nodeType":"YulBlock","src":"526:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"535:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"538:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"528:6:31"},"nodeType":"YulFunctionCall","src":"528:12:31"},"nodeType":"YulExpressionStatement","src":"528:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"498:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"506:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"495:2:31"},"nodeType":"YulFunctionCall","src":"495:30:31"},"nodeType":"YulIf","src":"492:50:31"},{"nodeType":"YulAssignment","src":"551:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"567:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"575:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"563:3:31"},"nodeType":"YulFunctionCall","src":"563:17:31"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"551:8:31"}]},{"body":{"nodeType":"YulBlock","src":"632:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"641:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"644:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"634:6:31"},"nodeType":"YulFunctionCall","src":"634:12:31"},"nodeType":"YulExpressionStatement","src":"634:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"603:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"611:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"599:3:31"},"nodeType":"YulFunctionCall","src":"599:19:31"},{"kind":"number","nodeType":"YulLiteral","src":"620:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"595:3:31"},"nodeType":"YulFunctionCall","src":"595:30:31"},{"name":"end","nodeType":"YulIdentifier","src":"627:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"592:2:31"},"nodeType":"YulFunctionCall","src":"592:39:31"},"nodeType":"YulIf","src":"589:59:31"}]},"name":"abi_decode_bytes_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"342:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"350:3:31","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"358:8:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"368:6:31","type":""}],"src":"307:347:31"},{"body":{"nodeType":"YulBlock","src":"822:1484:31","statements":[{"body":{"nodeType":"YulBlock","src":"869:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"878:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"881:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"871:6:31"},"nodeType":"YulFunctionCall","src":"871:12:31"},"nodeType":"YulExpressionStatement","src":"871:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"843:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"852:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"839:3:31"},"nodeType":"YulFunctionCall","src":"839:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"864:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"835:3:31"},"nodeType":"YulFunctionCall","src":"835:33:31"},"nodeType":"YulIf","src":"832:53:31"},{"nodeType":"YulVariableDeclaration","src":"894:36:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"920:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"907:12:31"},"nodeType":"YulFunctionCall","src":"907:23:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"898:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"993:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1002:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1005:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"995:6:31"},"nodeType":"YulFunctionCall","src":"995:12:31"},"nodeType":"YulExpressionStatement","src":"995:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"952:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"963:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"978:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"983:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"974:3:31"},"nodeType":"YulFunctionCall","src":"974:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"987:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"970:3:31"},"nodeType":"YulFunctionCall","src":"970:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"959:3:31"},"nodeType":"YulFunctionCall","src":"959:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"949:2:31"},"nodeType":"YulFunctionCall","src":"949:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"942:6:31"},"nodeType":"YulFunctionCall","src":"942:50:31"},"nodeType":"YulIf","src":"939:70:31"},{"nodeType":"YulAssignment","src":"1018:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"1028:5:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1018:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1042:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1052:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1046:2:31","type":""}]},{"nodeType":"YulAssignment","src":"1063:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1090:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1101:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1086:3:31"},"nodeType":"YulFunctionCall","src":"1086:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1073:12:31"},"nodeType":"YulFunctionCall","src":"1073:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1063:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1114:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1145:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1156:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1141:3:31"},"nodeType":"YulFunctionCall","src":"1141:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1128:12:31"},"nodeType":"YulFunctionCall","src":"1128:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1118:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1169:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1179:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1173:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1224:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1233:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1236:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1226:6:31"},"nodeType":"YulFunctionCall","src":"1226:12:31"},"nodeType":"YulExpressionStatement","src":"1226:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1212:6:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1220:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1209:2:31"},"nodeType":"YulFunctionCall","src":"1209:14:31"},"nodeType":"YulIf","src":"1206:34:31"},{"nodeType":"YulVariableDeclaration","src":"1249:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1263:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"1274:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1259:3:31"},"nodeType":"YulFunctionCall","src":"1259:22:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1253:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1329:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1338:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1341:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1331:6:31"},"nodeType":"YulFunctionCall","src":"1331:12:31"},"nodeType":"YulExpressionStatement","src":"1331:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1308:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1312:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1304:3:31"},"nodeType":"YulFunctionCall","src":"1304:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1319:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1300:3:31"},"nodeType":"YulFunctionCall","src":"1300:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1293:6:31"},"nodeType":"YulFunctionCall","src":"1293:35:31"},"nodeType":"YulIf","src":"1290:55:31"},{"nodeType":"YulVariableDeclaration","src":"1354:26:31","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1377:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1364:12:31"},"nodeType":"YulFunctionCall","src":"1364:16:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1358:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1403:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1405:16:31"},"nodeType":"YulFunctionCall","src":"1405:18:31"},"nodeType":"YulExpressionStatement","src":"1405:18:31"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1395:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1399:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1392:2:31"},"nodeType":"YulFunctionCall","src":"1392:10:31"},"nodeType":"YulIf","src":"1389:36:31"},{"nodeType":"YulVariableDeclaration","src":"1434:20:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1448:1:31","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"1451:2:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1444:3:31"},"nodeType":"YulFunctionCall","src":"1444:10:31"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"1438:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1463:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1483:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1477:5:31"},"nodeType":"YulFunctionCall","src":"1477:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1467:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1495:56:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1517:6:31"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"1533:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1537:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1529:3:31"},"nodeType":"YulFunctionCall","src":"1529:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1546:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1542:3:31"},"nodeType":"YulFunctionCall","src":"1542:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1525:3:31"},"nodeType":"YulFunctionCall","src":"1525:25:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1513:3:31"},"nodeType":"YulFunctionCall","src":"1513:38:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1499:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1610:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1612:16:31"},"nodeType":"YulFunctionCall","src":"1612:18:31"},"nodeType":"YulExpressionStatement","src":"1612:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1569:10:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1581:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1566:2:31"},"nodeType":"YulFunctionCall","src":"1566:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1589:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1601:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1586:2:31"},"nodeType":"YulFunctionCall","src":"1586:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1563:2:31"},"nodeType":"YulFunctionCall","src":"1563:46:31"},"nodeType":"YulIf","src":"1560:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1648:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1652:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1641:6:31"},"nodeType":"YulFunctionCall","src":"1641:22:31"},"nodeType":"YulExpressionStatement","src":"1641:22:31"},{"nodeType":"YulVariableDeclaration","src":"1672:17:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1683:6:31"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1676:3:31","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1705:6:31"},{"name":"_4","nodeType":"YulIdentifier","src":"1713:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1698:6:31"},"nodeType":"YulFunctionCall","src":"1698:18:31"},"nodeType":"YulExpressionStatement","src":"1698:18:31"},{"nodeType":"YulAssignment","src":"1725:22:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1736:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1744:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1732:3:31"},"nodeType":"YulFunctionCall","src":"1732:15:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1725:3:31"}]},{"nodeType":"YulVariableDeclaration","src":"1756:34:31","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1778:2:31"},{"name":"_5","nodeType":"YulIdentifier","src":"1782:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1774:3:31"},"nodeType":"YulFunctionCall","src":"1774:11:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1787:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1770:3:31"},"nodeType":"YulFunctionCall","src":"1770:20:31"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1760:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1822:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1831:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1834:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1824:6:31"},"nodeType":"YulFunctionCall","src":"1824:12:31"},"nodeType":"YulExpressionStatement","src":"1824:12:31"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1805:6:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1813:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1802:2:31"},"nodeType":"YulFunctionCall","src":"1802:19:31"},"nodeType":"YulIf","src":"1799:39:31"},{"nodeType":"YulVariableDeclaration","src":"1847:22:31","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1862:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1866:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:11:31"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1851:3:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1934:90:31","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1955:3:31"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1977:3:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"1960:16:31"},"nodeType":"YulFunctionCall","src":"1960:21:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1948:6:31"},"nodeType":"YulFunctionCall","src":"1948:34:31"},"nodeType":"YulExpressionStatement","src":"1948:34:31"},{"nodeType":"YulAssignment","src":"1995:19:31","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2006:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2011:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2002:3:31"},"nodeType":"YulFunctionCall","src":"2002:12:31"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1995:3:31"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1889:3:31"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1894:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1886:2:31"},"nodeType":"YulFunctionCall","src":"1886:15:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1902:23:31","statements":[{"nodeType":"YulAssignment","src":"1904:19:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1915:3:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1920:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1911:3:31"},"nodeType":"YulFunctionCall","src":"1911:12:31"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1904:3:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1882:3:31","statements":[]},"src":"1878:146:31"},{"nodeType":"YulAssignment","src":"2033:16:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2043:6:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2033:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"2058:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:31"},"nodeType":"YulFunctionCall","src":"2087:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2074:12:31"},"nodeType":"YulFunctionCall","src":"2074:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"2062:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2135:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2144:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2147:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2137:6:31"},"nodeType":"YulFunctionCall","src":"2137:12:31"},"nodeType":"YulExpressionStatement","src":"2137:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"2121:8:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2131:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2118:2:31"},"nodeType":"YulFunctionCall","src":"2118:16:31"},"nodeType":"YulIf","src":"2115:36:31"},{"nodeType":"YulVariableDeclaration","src":"2160:86:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2216:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"2227:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2212:3:31"},"nodeType":"YulFunctionCall","src":"2212:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2238:7:31"}],"functionName":{"name":"abi_decode_bytes_calldata","nodeType":"YulIdentifier","src":"2186:25:31"},"nodeType":"YulFunctionCall","src":"2186:60:31"},"variables":[{"name":"value3_1","nodeType":"YulTypedName","src":"2164:8:31","type":""},{"name":"value4_1","nodeType":"YulTypedName","src":"2174:8:31","type":""}]},{"nodeType":"YulAssignment","src":"2255:18:31","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"2265:8:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2255:6:31"}]},{"nodeType":"YulAssignment","src":"2282:18:31","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"2292:8:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2282:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"756:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"767:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"779:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"787:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"795:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"803:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"811:6:31","type":""}],"src":"659:1647:31"},{"body":{"nodeType":"YulBlock","src":"2420:102:31","statements":[{"nodeType":"YulAssignment","src":"2430:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2442:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2453:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2438:3:31"},"nodeType":"YulFunctionCall","src":"2438:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2430:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2472:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2487:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2503:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2508:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2499:3:31"},"nodeType":"YulFunctionCall","src":"2499:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"2512:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2495:3:31"},"nodeType":"YulFunctionCall","src":"2495:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2483:3:31"},"nodeType":"YulFunctionCall","src":"2483:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2465:6:31"},"nodeType":"YulFunctionCall","src":"2465:51:31"},"nodeType":"YulExpressionStatement","src":"2465:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2389:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2400:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2411:4:31","type":""}],"src":"2311:211:31"},{"body":{"nodeType":"YulBlock","src":"2849:620:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2866:3:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2879:2:31","type":"","value":"96"},{"name":"value0","nodeType":"YulIdentifier","src":"2883:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2875:3:31"},"nodeType":"YulFunctionCall","src":"2875:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2896:26:31","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2892:3:31"},"nodeType":"YulFunctionCall","src":"2892:31:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2871:3:31"},"nodeType":"YulFunctionCall","src":"2871:53:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2859:6:31"},"nodeType":"YulFunctionCall","src":"2859:66:31"},"nodeType":"YulExpressionStatement","src":"2859:66:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2945:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2950:2:31","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2941:3:31"},"nodeType":"YulFunctionCall","src":"2941:12:31"},{"name":"value1","nodeType":"YulIdentifier","src":"2955:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2934:6:31"},"nodeType":"YulFunctionCall","src":"2934:28:31"},"nodeType":"YulExpressionStatement","src":"2934:28:31"},{"nodeType":"YulVariableDeclaration","src":"2971:25:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2988:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2993:2:31","type":"","value":"52"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2984:3:31"},"nodeType":"YulFunctionCall","src":"2984:12:31"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"2975:5:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3005:27:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3025:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3019:5:31"},"nodeType":"YulFunctionCall","src":"3019:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3009:6:31","type":""}]},{"nodeType":"YulAssignment","src":"3041:14:31","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"3050:5:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3041:5:31"}]},{"nodeType":"YulVariableDeclaration","src":"3064:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3074:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3068:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3087:29:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3105:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3113:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3101:3:31"},"nodeType":"YulFunctionCall","src":"3101:15:31"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3091:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3125:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3134:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3129:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3193:137:31","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3214:5:31"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3231:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3225:5:31"},"nodeType":"YulFunctionCall","src":"3225:13:31"},{"kind":"number","nodeType":"YulLiteral","src":"3240:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3221:3:31"},"nodeType":"YulFunctionCall","src":"3221:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3207:6:31"},"nodeType":"YulFunctionCall","src":"3207:39:31"},"nodeType":"YulExpressionStatement","src":"3207:39:31"},{"nodeType":"YulAssignment","src":"3259:23:31","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3272:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3279:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3268:3:31"},"nodeType":"YulFunctionCall","src":"3268:14:31"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3259:5:31"}]},{"nodeType":"YulAssignment","src":"3295:25:31","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3309:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3317:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3305:3:31"},"nodeType":"YulFunctionCall","src":"3305:15:31"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3295:6:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3155:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"3158:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3152:2:31"},"nodeType":"YulFunctionCall","src":"3152:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3166:18:31","statements":[{"nodeType":"YulAssignment","src":"3168:14:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3177:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"3180:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3173:3:31"},"nodeType":"YulFunctionCall","src":"3173:9:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3168:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"3148:3:31","statements":[]},"src":"3144:186:31"},{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3346:5:31"},{"hexValue":"3078663164443731383935653439623135363336393339363964653530383938","kind":"string","nodeType":"YulLiteral","src":"3353:34:31","type":"","value":"0xf1dD71895e49b1563693969de50898"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3339:6:31"},"nodeType":"YulFunctionCall","src":"3339:49:31"},"nodeType":"YulExpressionStatement","src":"3339:49:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3408:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3415:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3404:3:31"},"nodeType":"YulFunctionCall","src":"3404:14:31"},{"hexValue":"31393763444633343831","kind":"string","nodeType":"YulLiteral","src":"3420:12:31","type":"","value":"197cDF3481"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3397:6:31"},"nodeType":"YulFunctionCall","src":"3397:36:31"},"nodeType":"YulExpressionStatement","src":"3397:36:31"},{"nodeType":"YulAssignment","src":"3442:21:31","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3453:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"3460:2:31","type":"","value":"42"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3449:3:31"},"nodeType":"YulFunctionCall","src":"3449:14:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3442:3:31"}]}]},"name":"abi_encode_tuple_packed_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2809:3:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2814:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2822:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2830:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2841:3:31","type":""}],"src":"2527:942:31"},{"body":{"nodeType":"YulBlock","src":"3506:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3523:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3530:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3535:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3526:3:31"},"nodeType":"YulFunctionCall","src":"3526:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3516:6:31"},"nodeType":"YulFunctionCall","src":"3516:31:31"},"nodeType":"YulExpressionStatement","src":"3516:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3563:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3566:4:31","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3556:6:31"},"nodeType":"YulFunctionCall","src":"3556:15:31"},"nodeType":"YulExpressionStatement","src":"3556:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3587:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3590:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3580:6:31"},"nodeType":"YulFunctionCall","src":"3580:15:31"},"nodeType":"YulExpressionStatement","src":"3580:15:31"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"3474:127:31"},{"body":{"nodeType":"YulBlock","src":"3780:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3797:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3808:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3790:6:31"},"nodeType":"YulFunctionCall","src":"3790:21:31"},"nodeType":"YulExpressionStatement","src":"3790:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3831:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3842:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3827:3:31"},"nodeType":"YulFunctionCall","src":"3827:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3847:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3820:6:31"},"nodeType":"YulFunctionCall","src":"3820:30:31"},"nodeType":"YulExpressionStatement","src":"3820:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3870:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3881:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3866:3:31"},"nodeType":"YulFunctionCall","src":"3866:18:31"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","kind":"string","nodeType":"YulLiteral","src":"3886:26:31","type":"","value":"ECDSA: invalid signature"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3859:6:31"},"nodeType":"YulFunctionCall","src":"3859:54:31"},"nodeType":"YulExpressionStatement","src":"3859:54:31"},{"nodeType":"YulAssignment","src":"3922:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3934:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3945:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3930:3:31"},"nodeType":"YulFunctionCall","src":"3930:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3922:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3757:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3771:4:31","type":""}],"src":"3606:348:31"},{"body":{"nodeType":"YulBlock","src":"4133:181:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4150:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4161:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4143:6:31"},"nodeType":"YulFunctionCall","src":"4143:21:31"},"nodeType":"YulExpressionStatement","src":"4143:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4184:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4195:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4180:3:31"},"nodeType":"YulFunctionCall","src":"4180:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4200:2:31","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4173:6:31"},"nodeType":"YulFunctionCall","src":"4173:30:31"},"nodeType":"YulExpressionStatement","src":"4173:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4223:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4234:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4219:3:31"},"nodeType":"YulFunctionCall","src":"4219:18:31"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","kind":"string","nodeType":"YulLiteral","src":"4239:33:31","type":"","value":"ECDSA: invalid signature length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4212:6:31"},"nodeType":"YulFunctionCall","src":"4212:61:31"},"nodeType":"YulExpressionStatement","src":"4212:61:31"},{"nodeType":"YulAssignment","src":"4282:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4294:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4305:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4290:3:31"},"nodeType":"YulFunctionCall","src":"4290:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4282:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4110:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4124:4:31","type":""}],"src":"3959:355:31"},{"body":{"nodeType":"YulBlock","src":"4493:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4510:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4521:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4503:6:31"},"nodeType":"YulFunctionCall","src":"4503:21:31"},"nodeType":"YulExpressionStatement","src":"4503:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4544:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4555:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4540:3:31"},"nodeType":"YulFunctionCall","src":"4540:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4560:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4533:6:31"},"nodeType":"YulFunctionCall","src":"4533:30:31"},"nodeType":"YulExpressionStatement","src":"4533:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4583:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4594:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4579:3:31"},"nodeType":"YulFunctionCall","src":"4579:18:31"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c","kind":"string","nodeType":"YulLiteral","src":"4599:34:31","type":"","value":"ECDSA: invalid signature 's' val"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4572:6:31"},"nodeType":"YulFunctionCall","src":"4572:62:31"},"nodeType":"YulExpressionStatement","src":"4572:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4654:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4665:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4650:3:31"},"nodeType":"YulFunctionCall","src":"4650:18:31"},{"hexValue":"7565","kind":"string","nodeType":"YulLiteral","src":"4670:4:31","type":"","value":"ue"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4643:6:31"},"nodeType":"YulFunctionCall","src":"4643:32:31"},"nodeType":"YulExpressionStatement","src":"4643:32:31"},{"nodeType":"YulAssignment","src":"4684:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4696:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4707:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4692:3:31"},"nodeType":"YulFunctionCall","src":"4692:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4684:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4470:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4484:4:31","type":""}],"src":"4319:398:31"},{"body":{"nodeType":"YulBlock","src":"4903:217:31","statements":[{"nodeType":"YulAssignment","src":"4913:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4925:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4936:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4921:3:31"},"nodeType":"YulFunctionCall","src":"4921:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4913:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4956:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"4967:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4949:6:31"},"nodeType":"YulFunctionCall","src":"4949:25:31"},"nodeType":"YulExpressionStatement","src":"4949:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4994:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5005:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4990:3:31"},"nodeType":"YulFunctionCall","src":"4990:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5014:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5022:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5010:3:31"},"nodeType":"YulFunctionCall","src":"5010:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4983:6:31"},"nodeType":"YulFunctionCall","src":"4983:45:31"},"nodeType":"YulExpressionStatement","src":"4983:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5048:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5059:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5044:3:31"},"nodeType":"YulFunctionCall","src":"5044:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"5064:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5037:6:31"},"nodeType":"YulFunctionCall","src":"5037:34:31"},"nodeType":"YulExpressionStatement","src":"5037:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5091:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5102:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5087:3:31"},"nodeType":"YulFunctionCall","src":"5087:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"5107:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5080:6:31"},"nodeType":"YulFunctionCall","src":"5080:34:31"},"nodeType":"YulExpressionStatement","src":"5080:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4848:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4859:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4867:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4875:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4883:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4894:4:31","type":""}],"src":"4722:398:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let _1 := 32\n value1 := calldataload(add(headStart, _1))\n let offset := calldataload(add(headStart, 64))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _4)\n dst := add(memPtr, _1)\n let srcEnd := add(add(_3, _5), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, abi_decode_uint8(src))\n dst := add(dst, _1)\n }\n value2 := memPtr\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _2) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_packed_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n let pos_1 := add(pos, 52)\n let length := mload(value2)\n pos_1 := pos_1\n let _1 := 0x20\n let srcPtr := add(value2, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos_1, and(mload(srcPtr), 0xff))\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n mstore(pos_1, \"0xf1dD71895e49b1563693969de50898\")\n mstore(add(pos_1, _1), \"197cDF3481\")\n end := add(pos_1, 42)\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ECDSA: invalid signature\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ECDSA: invalid signature length\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 's' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806338fb7d8b1461003a575b600080fd5b61004d61004836600461040c565b610069565b6040516001600160a01b03909116815260200160405180910390f35b6000806100cd87878760405160200161008493929190610522565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b9050600061011385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061011f9050565b98975050505050505050565b600080600061012e8585610143565b9150915061013b81610188565b509392505050565b60008082516041036101795760208301516040840151606085015160001a61016d878285856102da565b94509450505050610181565b506000905060025b9250929050565b600081600481111561019c5761019c6105b0565b036101a45750565b60018160048111156101b8576101b86105b0565b0361020a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561021e5761021e6105b0565b0361026b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610201565b600381600481111561027f5761027f6105b0565b036102d75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610201565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156103115750600090506003610395565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610365573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661038e57600060019250925050610395565b9150600090505b94509492505050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146103c557600080fd5b919050565b60008083601f8401126103dc57600080fd5b50813567ffffffffffffffff8111156103f457600080fd5b60208301915083602082850101111561018157600080fd5b60008060008060006080868803121561042457600080fd5b85356001600160a01b038116811461043b57600080fd5b94506020868101359450604087013567ffffffffffffffff8082111561046057600080fd5b818901915089601f83011261047457600080fd5b8135818111156104865761048661039e565b8060051b604051601f19603f830116810181811085821117156104ab576104ab61039e565b6040529182528381018501918581018d8411156104c757600080fd5b948601945b838610156104ea576104dd866103b4565b81529486019486016104cc565b5097505050606089013592508083111561050357600080fd5b5050610511888289016103ca565b969995985093965092949392505050565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b8381101561056c57815160ff168552938201939082019060010161054d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202403adb3d5a58586f6f0122c27cfb786994f9734933a6198d0f0a3bec9cbbdf664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x38FB7D8B EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x40C JUMP JUMPDEST PUSH2 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCD DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x84 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x522 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3C SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x113 DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP7 SWAP4 SWAP3 POP POP PUSH2 0x11F SWAP1 POP JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x12E DUP6 DUP6 PUSH2 0x143 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x13B DUP2 PUSH2 0x188 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD PUSH1 0x41 SUB PUSH2 0x179 JUMPI PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x0 BYTE PUSH2 0x16D DUP8 DUP3 DUP6 DUP6 PUSH2 0x2DA JUMP JUMPDEST SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x181 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH1 0x2 JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x19C JUMPI PUSH2 0x19C PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x1A4 JUMPI POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x1B8 JUMPI PUSH2 0x1B8 PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x20A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E61747572650000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x21E JUMPI PUSH2 0x21E PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x26B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265206C656E67746800 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x201 JUMP JUMPDEST PUSH1 0x3 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x27F JUMPI PUSH2 0x27F PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x2D7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265202773272076616C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7565 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x201 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP4 GT ISZERO PUSH2 0x311 JUMPI POP PUSH1 0x0 SWAP1 POP PUSH1 0x3 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x365 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38E JUMPI PUSH1 0x0 PUSH1 0x1 SWAP3 POP SWAP3 POP POP PUSH2 0x395 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 DUP2 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x460 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x486 JUMPI PUSH2 0x486 PUSH2 0x39E JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x4AB JUMPI PUSH2 0x4AB PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD DUP14 DUP5 GT ISZERO PUSH2 0x4C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP7 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4DD DUP7 PUSH2 0x3B4 JUMP JUMPDEST DUP2 MSTORE SWAP5 DUP7 ADD SWAP5 DUP7 ADD PUSH2 0x4CC JUMP JUMPDEST POP SWAP8 POP POP POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x511 DUP9 DUP3 DUP10 ADD PUSH2 0x3CA JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP5 PUSH1 0x60 SHL AND DUP2 MSTORE DUP3 PUSH1 0x14 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x34 DUP3 ADD DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x56C JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x54D JUMP JUMPDEST POP POP PUSH32 0x3078663164443731383935653439623135363336393339363964653530383938 DUP4 MSTORE PUSH10 0x31393763444633343831 PUSH1 0xB0 SHL SWAP1 DUP4 ADD MSTORE POP PUSH1 0x2A ADD SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SUB 0xAD 0xB3 0xD5 0xA5 DUP6 DUP7 0xF6 CREATE SLT 0x2C 0x27 0xCF 0xB7 DUP7 SWAP10 0x4F SWAP8 CALLVALUE SWAP4 GASPRICE PUSH2 0x98D0 CREATE LOG3 0xBE 0xC9 0xCB 0xBD 0xF6 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"122:531:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;182:469;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2483:32:31;;;2465:51;;2453:2;2438:18;182:469:27;;;;;;;;354:7;373:19;395:150;435:6;443:10;455:8;418:92;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;395:125;;;;;;7389:34:14;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;395:150:27;373:172;;556:23;582:30;602:9;;582:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;582:11:27;;:30;-1:-1:-1;;582:19:27;:30;-1:-1:-1;582:30:27:i;:::-;556:56;182:469;-1:-1:-1;;;;;;;;182:469:27:o;3661:227:14:-;3739:7;3759:17;3778:18;3800:27;3811:4;3817:9;3800:10;:27::i;:::-;3758:69;;;;3837:18;3849:5;3837:11;:18::i;:::-;-1:-1:-1;3872:9:14;3661:227;-1:-1:-1;;;3661:227:14:o;2145:730::-;2226:7;2235:12;2263:9;:16;2283:2;2263:22;2259:610;;2599:4;2584:20;;2578:27;2648:4;2633:20;;2627:27;2705:4;2690:20;;2684:27;2301:9;2676:36;2746:25;2757:4;2676:36;2578:27;2627;2746:10;:25::i;:::-;2739:32;;;;;;;;;2259:610;-1:-1:-1;2818:1:14;;-1:-1:-1;2822:35:14;2259:610;2145:730;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:14;;3808:2:31;788:34:14;;;3790:21:31;3847:2;3827:18;;;3820:30;3886:26;3866:18;;;3859:54;3930:18;;788:34:14;;;;;;;;730:345;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:14;;4161:2:31;903:41:14;;;4143:21:31;4200:2;4180:18;;;4173:30;4239:33;4219:18;;;4212:61;4290:18;;903:41:14;3959:355:31;839:236:14;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:14;;4521:2:31;1020:44:14;;;4503:21:31;4560:2;4540:18;;;4533:30;4599:34;4579:18;;;4572:62;-1:-1:-1;;;4650:18:31;;;4643:32;4692:19;;1020:44:14;4319:398:31;961:114:14;570:511;:::o;5009:1456::-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:14;;-1:-1:-1;6123:30:14;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;4949:25:31;;;5022:4;5010:17;;4990:18;;;4983:45;;;;5044:18;;;5037:34;;;5087:18;;;5080:34;;;6276:24:14;;4921:19:31;;6276:24:14;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:14;;-1:-1:-1;;6276:24:14;;;-1:-1:-1;;;;;;;6314:20:14;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:14;;-1:-1:-1;5009:1456:14;;;;;;;;:::o;14:127:31:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:156;212:20;;272:4;261:16;;251:27;;241:55;;292:1;289;282:12;241:55;146:156;;;:::o;307:347::-;358:8;368:6;422:3;415:4;407:6;403:17;399:27;389:55;;440:1;437;430:12;389:55;-1:-1:-1;463:20:31;;506:18;495:30;;492:50;;;538:1;535;528:12;492:50;575:4;567:6;563:17;551:29;;627:3;620:4;611:6;603;599:19;595:30;592:39;589:59;;;644:1;641;634:12;659:1647;779:6;787;795;803;811;864:3;852:9;843:7;839:23;835:33;832:53;;;881:1;878;871:12;832:53;907:23;;-1:-1:-1;;;;;959:31:31;;949:42;;939:70;;1005:1;1002;995:12;939:70;1028:5;-1:-1:-1;1052:2:31;1086:18;;;1073:32;;-1:-1:-1;1156:2:31;1141:18;;1128:32;1179:18;1209:14;;;1206:34;;;1236:1;1233;1226:12;1206:34;1274:6;1263:9;1259:22;1249:32;;1319:7;1312:4;1308:2;1304:13;1300:27;1290:55;;1341:1;1338;1331:12;1290:55;1377:2;1364:16;1399:2;1395;1392:10;1389:36;;;1405:18;;:::i;:::-;1451:2;1448:1;1444:10;1483:2;1477:9;1546:2;1542:7;1537:2;1533;1529:11;1525:25;1517:6;1513:38;1601:6;1589:10;1586:22;1581:2;1569:10;1566:18;1563:46;1560:72;;;1612:18;;:::i;:::-;1648:2;1641:22;1698:18;;;1774:11;;;1770:20;;;1732:15;;;1802:19;;;1799:39;;;1834:1;1831;1824:12;1799:39;1858:11;;;;1878:146;1894:6;1889:3;1886:15;1878:146;;;1960:21;1977:3;1960:21;:::i;:::-;1948:34;;1911:12;;;;2002;;1878:146;;;-1:-1:-1;2043:6:31;-1:-1:-1;;;2102:2:31;2087:18;;2074:32;;-1:-1:-1;2118:16:31;;;2115:36;;;2147:1;2144;2137:12;2115:36;;;2186:60;2238:7;2227:8;2216:9;2212:24;2186:60;:::i;:::-;659:1647;;;;-1:-1:-1;659:1647:31;;-1:-1:-1;2265:8:31;;2160:86;659:1647;-1:-1:-1;;;659:1647:31:o;2527:942::-;2896:26;2892:31;2883:6;2879:2;2875:15;2871:53;2866:3;2859:66;2955:6;2950:2;2945:3;2941:12;2934:28;2841:3;2993:2;2988:3;2984:12;3025:6;3019:13;3074:4;3113:2;3105:6;3101:15;3134:1;3144:186;3158:6;3155:1;3152:13;3144:186;;;3225:13;;3240:4;3221:24;3207:39;;3268:14;;;;3305:15;;;;3180:1;3173:9;3144:186;;;-1:-1:-1;;3353:34:31;3339:49;;-1:-1:-1;;;3404:14:31;;;3397:36;-1:-1:-1;3460:2:31;3449:14;;2527:942;-1:-1:-1;;;;;2527:942:31:o;3474:127::-;3535:10;3530:3;3526:20;3523:1;3516:31;3566:4;3563:1;3556:15;3590:4;3587:1;3580:15"},"methodIdentifiers":{"verifyPackSigner(address,uint256,uint8[],bytes)":"38fb7d8b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyPackSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/libs/LibPackVerifier.sol\":\"LibPackVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/gamma/libs/LibStringUtils.sol":{"LibStringUtils":{"abi":[{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"toString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6102ce61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636900a3ae1461003a575b600080fd5b61004d61004836600461016c565b610063565b60405161005a9190610185565b60405180910390f35b60608160000361008a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156100b4578061009e816101e9565b91506100ad9050600a83610218565b915061008e565b60008167ffffffffffffffff8111156100cf576100cf61022c565b6040519080825280601f01601f1916602001820160405280156100f9576020820181803683370190505b5090505b84156101645761010e600183610242565b915061011b600a8661025b565b61012690603061026f565b60f81b81838151811061013b5761013b610282565b60200101906001600160f81b031916908160001a90535061015d600a86610218565b94506100fd565b949350505050565b60006020828403121561017e57600080fd5b5035919050565b600060208083528351808285015260005b818110156101b257858101830151858201604001528201610196565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016101fb576101fb6101d3565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261022757610227610202565b500490565b634e487b7160e01b600052604160045260246000fd5b81810381811115610255576102556101d3565b92915050565b60008261026a5761026a610202565b500690565b80820180821115610255576102556101d3565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220e9777e20a0452e201d3312dd3a508695794a6a7fc48e20c536fd52f14927c5a964736f6c63430008140033","opcodes":"PUSH2 0x2CE PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6900A3AE EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x185 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x8A JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xB4 JUMPI DUP1 PUSH2 0x9E DUP2 PUSH2 0x1E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xAD SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x218 JUMP JUMPDEST SWAP2 POP PUSH2 0x8E JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xCF JUMPI PUSH2 0xCF PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF9 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x164 JUMPI PUSH2 0x10E PUSH1 0x1 DUP4 PUSH2 0x242 JUMP JUMPDEST SWAP2 POP PUSH2 0x11B PUSH1 0xA DUP7 PUSH2 0x25B JUMP JUMPDEST PUSH2 0x126 SWAP1 PUSH1 0x30 PUSH2 0x26F JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x13B JUMPI PUSH2 0x13B PUSH2 0x282 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x15D PUSH1 0xA DUP7 PUSH2 0x218 JUMP JUMPDEST SWAP5 POP PUSH2 0xFD JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x196 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1FB JUMPI PUSH2 0x1FB PUSH2 0x1D3 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x227 JUMPI PUSH2 0x227 PUSH2 0x202 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x26A JUMPI PUSH2 0x26A PUSH2 0x202 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 PUSH24 0x7E20A0452E201D3312DD3A508695794A6A7FC48E20C536FD MSTORE CALL 0x49 0x27 0xC5 0xA9 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"58:647:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:647:28;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@toString_10659":{"entryPoint":99,"id":10659,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":364,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":389,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":623,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":536,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":578,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":489,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":603,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":467,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":514,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":642,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":556,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1930:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:31"},"nodeType":"YulFunctionCall","src":"132:12:31"},"nodeType":"YulExpressionStatement","src":"132:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:31"},"nodeType":"YulFunctionCall","src":"101:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:31"},"nodeType":"YulFunctionCall","src":"97:32:31"},"nodeType":"YulIf","src":"94:52:31"},{"nodeType":"YulAssignment","src":"155:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:31"},"nodeType":"YulFunctionCall","src":"165:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:31","type":""}],"src":"14:180:31"},{"body":{"nodeType":"YulBlock","src":"328:427:31","statements":[{"nodeType":"YulVariableDeclaration","src":"338:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"348:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"342:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"366:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"377:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"359:6:31"},"nodeType":"YulFunctionCall","src":"359:21:31"},"nodeType":"YulExpressionStatement","src":"359:21:31"},{"nodeType":"YulVariableDeclaration","src":"389:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"409:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"403:5:31"},"nodeType":"YulFunctionCall","src":"403:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"393:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"436:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"447:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"432:3:31"},"nodeType":"YulFunctionCall","src":"432:18:31"},{"name":"length","nodeType":"YulIdentifier","src":"452:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"425:6:31"},"nodeType":"YulFunctionCall","src":"425:34:31"},"nodeType":"YulExpressionStatement","src":"425:34:31"},{"nodeType":"YulVariableDeclaration","src":"468:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"477:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"472:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"537:90:31","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"566:9:31"},{"name":"i","nodeType":"YulIdentifier","src":"577:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"562:3:31"},"nodeType":"YulFunctionCall","src":"562:17:31"},{"kind":"number","nodeType":"YulLiteral","src":"581:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"558:3:31"},"nodeType":"YulFunctionCall","src":"558:26:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"600:6:31"},{"name":"i","nodeType":"YulIdentifier","src":"608:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"596:3:31"},"nodeType":"YulFunctionCall","src":"596:14:31"},{"name":"_1","nodeType":"YulIdentifier","src":"612:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"592:3:31"},"nodeType":"YulFunctionCall","src":"592:23:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"586:5:31"},"nodeType":"YulFunctionCall","src":"586:30:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"551:6:31"},"nodeType":"YulFunctionCall","src":"551:66:31"},"nodeType":"YulExpressionStatement","src":"551:66:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"498:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"501:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"495:2:31"},"nodeType":"YulFunctionCall","src":"495:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"509:19:31","statements":[{"nodeType":"YulAssignment","src":"511:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"520:1:31"},{"name":"_1","nodeType":"YulIdentifier","src":"523:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"516:3:31"},"nodeType":"YulFunctionCall","src":"516:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"511:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"491:3:31","statements":[]},"src":"487:140:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"651:9:31"},{"name":"length","nodeType":"YulIdentifier","src":"662:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"647:3:31"},"nodeType":"YulFunctionCall","src":"647:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"671:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"643:3:31"},"nodeType":"YulFunctionCall","src":"643:31:31"},{"kind":"number","nodeType":"YulLiteral","src":"676:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"636:6:31"},"nodeType":"YulFunctionCall","src":"636:42:31"},"nodeType":"YulExpressionStatement","src":"636:42:31"},{"nodeType":"YulAssignment","src":"687:62:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"703:9:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"722:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"730:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"718:3:31"},"nodeType":"YulFunctionCall","src":"718:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"739:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"735:3:31"},"nodeType":"YulFunctionCall","src":"735:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"714:3:31"},"nodeType":"YulFunctionCall","src":"714:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"699:3:31"},"nodeType":"YulFunctionCall","src":"699:45:31"},{"kind":"number","nodeType":"YulLiteral","src":"746:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"695:3:31"},"nodeType":"YulFunctionCall","src":"695:54:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"687:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"297:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"308:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"319:4:31","type":""}],"src":"199:556:31"},{"body":{"nodeType":"YulBlock","src":"792:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"809:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"816:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"821:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"812:3:31"},"nodeType":"YulFunctionCall","src":"812:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"802:6:31"},"nodeType":"YulFunctionCall","src":"802:31:31"},"nodeType":"YulExpressionStatement","src":"802:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"849:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"852:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"842:6:31"},"nodeType":"YulFunctionCall","src":"842:15:31"},"nodeType":"YulExpressionStatement","src":"842:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"873:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"876:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"866:6:31"},"nodeType":"YulFunctionCall","src":"866:15:31"},"nodeType":"YulExpressionStatement","src":"866:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"760:127:31"},{"body":{"nodeType":"YulBlock","src":"939:88:31","statements":[{"body":{"nodeType":"YulBlock","src":"970:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"972:16:31"},"nodeType":"YulFunctionCall","src":"972:18:31"},"nodeType":"YulExpressionStatement","src":"972:18:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"955:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"966:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"962:3:31"},"nodeType":"YulFunctionCall","src":"962:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"952:2:31"},"nodeType":"YulFunctionCall","src":"952:17:31"},"nodeType":"YulIf","src":"949:43:31"},{"nodeType":"YulAssignment","src":"1001:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1012:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1019:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1008:3:31"},"nodeType":"YulFunctionCall","src":"1008:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"1001:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"921:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"931:3:31","type":""}],"src":"892:135:31"},{"body":{"nodeType":"YulBlock","src":"1064:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1081:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1088:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1093:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1084:3:31"},"nodeType":"YulFunctionCall","src":"1084:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1074:6:31"},"nodeType":"YulFunctionCall","src":"1074:31:31"},"nodeType":"YulExpressionStatement","src":"1074:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1121:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1124:4:31","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1114:6:31"},"nodeType":"YulFunctionCall","src":"1114:15:31"},"nodeType":"YulExpressionStatement","src":"1114:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1145:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1148:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1138:6:31"},"nodeType":"YulFunctionCall","src":"1138:15:31"},"nodeType":"YulExpressionStatement","src":"1138:15:31"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"1032:127:31"},{"body":{"nodeType":"YulBlock","src":"1210:74:31","statements":[{"body":{"nodeType":"YulBlock","src":"1233:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"1235:16:31"},"nodeType":"YulFunctionCall","src":"1235:18:31"},"nodeType":"YulExpressionStatement","src":"1235:18:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1230:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1223:6:31"},"nodeType":"YulFunctionCall","src":"1223:9:31"},"nodeType":"YulIf","src":"1220:35:31"},{"nodeType":"YulAssignment","src":"1264:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1273:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"1276:1:31"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"1269:3:31"},"nodeType":"YulFunctionCall","src":"1269:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"1264:1:31"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1195:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"1198:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"1204:1:31","type":""}],"src":"1164:120:31"},{"body":{"nodeType":"YulBlock","src":"1321:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1338:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1345:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1350:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1341:3:31"},"nodeType":"YulFunctionCall","src":"1341:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1331:6:31"},"nodeType":"YulFunctionCall","src":"1331:31:31"},"nodeType":"YulExpressionStatement","src":"1331:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1378:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1381:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1371:6:31"},"nodeType":"YulFunctionCall","src":"1371:15:31"},"nodeType":"YulExpressionStatement","src":"1371:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1402:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1405:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1395:6:31"},"nodeType":"YulFunctionCall","src":"1395:15:31"},"nodeType":"YulExpressionStatement","src":"1395:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1289:127:31"},{"body":{"nodeType":"YulBlock","src":"1470:79:31","statements":[{"nodeType":"YulAssignment","src":"1480:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1492:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"1495:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1488:3:31"},"nodeType":"YulFunctionCall","src":"1488:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"1480:4:31"}]},{"body":{"nodeType":"YulBlock","src":"1521:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1523:16:31"},"nodeType":"YulFunctionCall","src":"1523:18:31"},"nodeType":"YulExpressionStatement","src":"1523:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"1512:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"1518:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1509:2:31"},"nodeType":"YulFunctionCall","src":"1509:11:31"},"nodeType":"YulIf","src":"1506:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1452:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"1455:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"1461:4:31","type":""}],"src":"1421:128:31"},{"body":{"nodeType":"YulBlock","src":"1592:74:31","statements":[{"body":{"nodeType":"YulBlock","src":"1615:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"1617:16:31"},"nodeType":"YulFunctionCall","src":"1617:18:31"},"nodeType":"YulExpressionStatement","src":"1617:18:31"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1612:1:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1605:6:31"},"nodeType":"YulFunctionCall","src":"1605:9:31"},"nodeType":"YulIf","src":"1602:35:31"},{"nodeType":"YulAssignment","src":"1646:14:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1655:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"1658:1:31"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"1651:3:31"},"nodeType":"YulFunctionCall","src":"1651:9:31"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"1646:1:31"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1577:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"1580:1:31","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"1586:1:31","type":""}],"src":"1554:112:31"},{"body":{"nodeType":"YulBlock","src":"1719:77:31","statements":[{"nodeType":"YulAssignment","src":"1729:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1740:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"1743:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1736:3:31"},"nodeType":"YulFunctionCall","src":"1736:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1729:3:31"}]},{"body":{"nodeType":"YulBlock","src":"1768:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1770:16:31"},"nodeType":"YulFunctionCall","src":"1770:18:31"},"nodeType":"YulExpressionStatement","src":"1770:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1760:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"1763:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1757:2:31"},"nodeType":"YulFunctionCall","src":"1757:10:31"},"nodeType":"YulIf","src":"1754:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1702:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"1705:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1711:3:31","type":""}],"src":"1671:125:31"},{"body":{"nodeType":"YulBlock","src":"1833:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1850:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1857:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1862:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1853:3:31"},"nodeType":"YulFunctionCall","src":"1853:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1843:6:31"},"nodeType":"YulFunctionCall","src":"1843:31:31"},"nodeType":"YulExpressionStatement","src":"1843:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1890:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1893:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1883:6:31"},"nodeType":"YulFunctionCall","src":"1883:15:31"},"nodeType":"YulExpressionStatement","src":"1883:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1914:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1917:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1907:6:31"},"nodeType":"YulFunctionCall","src":"1907:15:31"},"nodeType":"YulExpressionStatement","src":"1907:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"1801:127:31"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636900a3ae1461003a575b600080fd5b61004d61004836600461016c565b610063565b60405161005a9190610185565b60405180910390f35b60608160000361008a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156100b4578061009e816101e9565b91506100ad9050600a83610218565b915061008e565b60008167ffffffffffffffff8111156100cf576100cf61022c565b6040519080825280601f01601f1916602001820160405280156100f9576020820181803683370190505b5090505b84156101645761010e600183610242565b915061011b600a8661025b565b61012690603061026f565b60f81b81838151811061013b5761013b610282565b60200101906001600160f81b031916908160001a90535061015d600a86610218565b94506100fd565b949350505050565b60006020828403121561017e57600080fd5b5035919050565b600060208083528351808285015260005b818110156101b257858101830151858201604001528201610196565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016101fb576101fb6101d3565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261022757610227610202565b500490565b634e487b7160e01b600052604160045260246000fd5b81810381811115610255576102556101d3565b92915050565b60008261026a5761026a610202565b500690565b80820180821115610255576102556101d3565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220e9777e20a0452e201d3312dd3a508695794a6a7fc48e20c536fd52f14927c5a964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6900A3AE EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x185 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x8A JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xB4 JUMPI DUP1 PUSH2 0x9E DUP2 PUSH2 0x1E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xAD SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x218 JUMP JUMPDEST SWAP2 POP PUSH2 0x8E JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xCF JUMPI PUSH2 0xCF PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF9 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x164 JUMPI PUSH2 0x10E PUSH1 0x1 DUP4 PUSH2 0x242 JUMP JUMPDEST SWAP2 POP PUSH2 0x11B PUSH1 0xA DUP7 PUSH2 0x25B JUMP JUMPDEST PUSH2 0x126 SWAP1 PUSH1 0x30 PUSH2 0x26F JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x13B JUMPI PUSH2 0x13B PUSH2 0x282 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x15D PUSH1 0xA DUP7 PUSH2 0x218 JUMP JUMPDEST SWAP5 POP PUSH2 0xFD JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x196 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1FB JUMPI PUSH2 0x1FB PUSH2 0x1D3 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x227 JUMPI PUSH2 0x227 PUSH2 0x202 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x26A JUMPI PUSH2 0x26A PUSH2 0x202 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 PUSH24 0x7E20A0452E201D3312DD3A508695794A6A7FC48E20C536FD MSTORE CALL 0x49 0x27 0xC5 0xA9 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"58:647:28:-:0;;;;;;;;;;;;;;;;;;;;;;;;254:448;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;308:13;334:5;343:1;334:10;330:43;;-1:-1:-1;;356:10:28;;;;;;;;;;;;-1:-1:-1;;;356:10:28;;;;;254:448::o;330:43::-;393:5;378:12;424:63;431:9;;424:63;;452:8;;;;:::i;:::-;;-1:-1:-1;470:10:28;;-1:-1:-1;478:2:28;470:10;;:::i;:::-;;;424:63;;;492:19;524:6;514:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;514:17:28;;492:39;;537:134;544:10;;537:134;;566:11;576:1;566:11;;:::i;:::-;;-1:-1:-1;630:10:28;638:2;630:5;:10;:::i;:::-;617:24;;:2;:24;:::i;:::-;604:39;;587:6;594;587:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;587:56:28;;;;;;;;-1:-1:-1;653:11:28;662:2;653:11;;:::i;:::-;;;537:134;;;690:6;254:448;-1:-1:-1;;;;254:448:28:o;14:180:31:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:31;;14:180;-1:-1:-1;14:180:31:o;199:556::-;319:4;348:2;377;366:9;359:21;409:6;403:13;452:6;447:2;436:9;432:18;425:34;477:1;487:140;501:6;498:1;495:13;487:140;;;596:14;;;592:23;;586:30;562:17;;;581:2;558:26;551:66;516:10;;487:140;;;491:3;676:1;671:2;662:6;651:9;647:22;643:31;636:42;746:2;739;735:7;730:2;722:6;718:15;714:29;703:9;699:45;695:54;687:62;;;;199:556;;;;:::o;760:127::-;821:10;816:3;812:20;809:1;802:31;852:4;849:1;842:15;876:4;873:1;866:15;892:135;931:3;952:17;;;949:43;;972:18;;:::i;:::-;-1:-1:-1;1019:1:31;1008:13;;892:135::o;1032:127::-;1093:10;1088:3;1084:20;1081:1;1074:31;1124:4;1121:1;1114:15;1148:4;1145:1;1138:15;1164:120;1204:1;1230;1220:35;;1235:18;;:::i;:::-;-1:-1:-1;1269:9:31;;1164:120::o;1289:127::-;1350:10;1345:3;1341:20;1338:1;1331:31;1381:4;1378:1;1371:15;1405:4;1402:1;1395:15;1421:128;1488:9;;;1509:11;;;1506:37;;;1523:18;;:::i;:::-;1421:128;;;;:::o;1554:112::-;1586:1;1612;1602:35;;1617:18;;:::i;:::-;-1:-1:-1;1651:9:31;;1554:112::o;1671:125::-;1736:9;;;1757:10;;;1754:36;;;1770:18;;:::i;1801:127::-;1862:10;1857:3;1853:20;1850:1;1843:31;1893:4;1890:1;1883:15;1917:4;1914:1;1907:15"},"methodIdentifiers":{"toString(uint256)":"6900a3ae"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/libs/LibStringUtils.sol\":\"LibStringUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/testDai/TestDAI.v3.sol":{"AccessControl":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"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":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"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\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ``` bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ``` function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296 for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"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`.\"},\"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 granted `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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":12141,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControl","label":"_roles","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)"}],"types":{"t_array(t_bytes32)dyn_storage":{"base":"t_bytes32","encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControl.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)12136_storage"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_struct(AddressSet)11892_storage":{"encoding":"inplace","label":"struct EnumerableSet.AddressSet","members":[{"astId":11891,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControl","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)11706_storage"}],"numberOfBytes":"64"},"t_struct(RoleData)12136_storage":{"encoding":"inplace","label":"struct AccessControl.RoleData","members":[{"astId":12133,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControl","label":"members","offset":0,"slot":"0","type":"t_struct(AddressSet)11892_storage"},{"astId":12135,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControl","label":"adminRole","offset":0,"slot":"2","type":"t_bytes32"}],"numberOfBytes":"96"},"t_struct(Set)11706_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","members":[{"astId":11701,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControl","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":11705,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControl","label":"_indexes","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}},"AccessControlMixin":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"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":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610736806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806391d148541161005b57806391d1485414610116578063a217fddf14610139578063ca15c87314610141578063d547741f1461015457600080fd5b8063248a9ca31461008d5780632f2ff15d146100c357806336568abe146100d85780639010d07c146100eb575b600080fd5b6100b061009b366004610621565b60009081526020819052604090206002015490565b6040519081526020015b60405180910390f35b6100d66100d136600461063a565b610167565b005b6100d66100e636600461063a565b6101fa565b6100fe6100f9366004610676565b610274565b6040516001600160a01b0390911681526020016100ba565b61012961012436600461063a565b610295565b60405190151581526020016100ba565b6100b0600081565b6100b061014f366004610621565b6102ad565b6100d661016236600461063a565b6102c4565b6000828152602081905260409020600201546101839033610295565b6101ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084015b60405180910390fd5b6101f68282610345565b5050565b6001600160a01b038116331461026a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016101e3565b6101f6828261039e565b600082815260208190526040812061028c90836103f7565b90505b92915050565b600082815260208190526040812061028c9083610403565b600081815260208190526040812061028f90610425565b6000828152602081905260409020600201546102e09033610295565b61026a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016101e3565b600082815260208190526040902061035d908261042f565b156101f65760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008281526020819052604090206103b69082610444565b156101f65760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b600061028c8383610459565b6001600160a01b0381166000908152600183016020526040812054151561028c565b600061028f825490565b600061028c836001600160a01b0384166104df565b600061028c836001600160a01b03841661052e565b815460009082106104b75760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016101e3565b8260000182815481106104cc576104cc610698565b9060005260206000200154905092915050565b60008181526001830160205260408120546105265750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561028f565b50600061028f565b600081815260018301602052604081205480156106175760006105526001836106c4565b8554909150600090610566906001906106c4565b9050600086600001828154811061057f5761057f610698565b90600052602060002001549050808760000184815481106105a2576105a2610698565b6000918252602090912001556105b98360016106d7565b600082815260018901602052604090205586548790806105db576105db6106ea565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061028f565b600091505061028f565b60006020828403121561063357600080fd5b5035919050565b6000806040838503121561064d57600080fd5b8235915060208301356001600160a01b038116811461066b57600080fd5b809150509250929050565b6000806040838503121561068957600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f6106ae565b8082018082111561028f5761028f6106ae565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a15be5456a96593c6edd3802a275e3dd7756d3a52b4a74c13dea4acd9b77592864736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x736 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x91D14854 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x141 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x154 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0xC3 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0xD8 JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0xEB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB0 PUSH2 0x9B CALLDATASIZE PUSH1 0x4 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH2 0xD1 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x167 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD6 PUSH2 0xE6 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x1FA JUMP JUMPDEST PUSH2 0xFE PUSH2 0xF9 CALLDATASIZE PUSH1 0x4 PUSH2 0x676 JUMP JUMPDEST PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBA JUMP JUMPDEST PUSH2 0x129 PUSH2 0x124 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBA JUMP JUMPDEST PUSH2 0xB0 PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0xB0 PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x621 JUMP JUMPDEST PUSH2 0x2AD JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x162 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x2C4 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x183 SWAP1 CALLER PUSH2 0x295 JUMP JUMPDEST PUSH2 0x1EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F6 DUP3 DUP3 PUSH2 0x345 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x26A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH2 0x1F6 DUP3 DUP3 PUSH2 0x39E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x28C SWAP1 DUP4 PUSH2 0x3F7 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x28C SWAP1 DUP4 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x28F SWAP1 PUSH2 0x425 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x2E0 SWAP1 CALLER PUSH2 0x295 JUMP JUMPDEST PUSH2 0x26A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x2061646D696E20746F207265766F6B65 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x35D SWAP1 DUP3 PUSH2 0x42F JUMP JUMPDEST ISZERO PUSH2 0x1F6 JUMPI PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP5 SWAP1 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x3B6 SWAP1 DUP3 PUSH2 0x444 JUMP JUMPDEST ISZERO PUSH2 0x1F6 JUMPI PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP5 SWAP1 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C DUP4 DUP4 PUSH2 0x459 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO PUSH2 0x28C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x4DF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x52E JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x4B7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E756D657261626C655365743A20696E646578206F7574206F6620626F756E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6473 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x4CC JUMPI PUSH2 0x4CC PUSH2 0x698 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x526 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x28F JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x28F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 PUSH2 0x552 PUSH1 0x1 DUP4 PUSH2 0x6C4 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x566 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x6C4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x57F JUMPI PUSH2 0x57F PUSH2 0x698 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x5A2 JUMPI PUSH2 0x5A2 PUSH2 0x698 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x5B9 DUP4 PUSH1 0x1 PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x5DB JUMPI PUSH2 0x5DB PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x28F JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x28F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x633 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x64D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x66B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x689 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x6AE JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x6AE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 JUMPDEST 0xE5 GASLIMIT PUSH11 0x96593C6EDD3802A275E3DD PUSH24 0x56D3A52B4A74C13DEA4ACD9B77592864736F6C6343000814 STOP CALLER ","sourceMap":"41320:385:29:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_ADMIN_ROLE_12144":{"entryPoint":null,"id":12144,"parameterSlots":0,"returnSlots":0},"@_add_11748":{"entryPoint":1247,"id":11748,"parameterSlots":2,"returnSlots":1},"@_at_11888":{"entryPoint":1113,"id":11888,"parameterSlots":2,"returnSlots":1},"@_contains_11848":{"entryPoint":null,"id":11848,"parameterSlots":2,"returnSlots":1},"@_grantRole_12376":{"entryPoint":837,"id":12376,"parameterSlots":2,"returnSlots":0},"@_length_11862":{"entryPoint":null,"id":11862,"parameterSlots":1,"returnSlots":1},"@_msgSender_10677":{"entryPoint":null,"id":10677,"parameterSlots":0,"returnSlots":1},"@_remove_11829":{"entryPoint":1326,"id":11829,"parameterSlots":2,"returnSlots":1},"@_revokeRole_12400":{"entryPoint":926,"id":12400,"parameterSlots":2,"returnSlots":0},"@add_11919":{"entryPoint":1071,"id":11919,"parameterSlots":2,"returnSlots":1},"@at_12015":{"entryPoint":1015,"id":12015,"parameterSlots":2,"returnSlots":1},"@contains_11973":{"entryPoint":1027,"id":11973,"parameterSlots":2,"returnSlots":1},"@getRoleAdmin_12239":{"entryPoint":null,"id":12239,"parameterSlots":1,"returnSlots":1},"@getRoleMemberCount_12206":{"entryPoint":685,"id":12206,"parameterSlots":1,"returnSlots":1},"@getRoleMember_12225":{"entryPoint":628,"id":12225,"parameterSlots":2,"returnSlots":1},"@grantRole_12265":{"entryPoint":359,"id":12265,"parameterSlots":2,"returnSlots":0},"@hasRole_12190":{"entryPoint":661,"id":12190,"parameterSlots":2,"returnSlots":1},"@length_11988":{"entryPoint":1061,"id":11988,"parameterSlots":1,"returnSlots":1},"@remove_11946":{"entryPoint":1092,"id":11946,"parameterSlots":2,"returnSlots":1},"@renounceRole_12313":{"entryPoint":506,"id":12313,"parameterSlots":2,"returnSlots":0},"@revokeRole_12291":{"entryPoint":708,"id":12291,"parameterSlots":2,"returnSlots":0},"abi_decode_tuple_t_bytes32":{"entryPoint":1569,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":1594,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":1654,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1751,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":1732,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":1710,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":1770,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":1688,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3883:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:31"},"nodeType":"YulFunctionCall","src":"132:12:31"},"nodeType":"YulExpressionStatement","src":"132:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:31"},"nodeType":"YulFunctionCall","src":"101:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:31"},"nodeType":"YulFunctionCall","src":"97:32:31"},"nodeType":"YulIf","src":"94:52:31"},{"nodeType":"YulAssignment","src":"155:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:31"},"nodeType":"YulFunctionCall","src":"165:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:31","type":""}],"src":"14:180:31"},{"body":{"nodeType":"YulBlock","src":"300:76:31","statements":[{"nodeType":"YulAssignment","src":"310:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"322:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"333:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"318:3:31"},"nodeType":"YulFunctionCall","src":"318:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"310:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"352:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"363:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"345:6:31"},"nodeType":"YulFunctionCall","src":"345:25:31"},"nodeType":"YulExpressionStatement","src":"345:25:31"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"269:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"280:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"291:4:31","type":""}],"src":"199:177:31"},{"body":{"nodeType":"YulBlock","src":"468:267:31","statements":[{"body":{"nodeType":"YulBlock","src":"514:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"523:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"526:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"516:6:31"},"nodeType":"YulFunctionCall","src":"516:12:31"},"nodeType":"YulExpressionStatement","src":"516:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"489:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"498:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"485:3:31"},"nodeType":"YulFunctionCall","src":"485:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"510:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"481:3:31"},"nodeType":"YulFunctionCall","src":"481:32:31"},"nodeType":"YulIf","src":"478:52:31"},{"nodeType":"YulAssignment","src":"539:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"562:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"549:12:31"},"nodeType":"YulFunctionCall","src":"549:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"539:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"581:45:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"611:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"622:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"607:3:31"},"nodeType":"YulFunctionCall","src":"607:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"594:12:31"},"nodeType":"YulFunctionCall","src":"594:32:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"585:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"689:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"698:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"701:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"691:6:31"},"nodeType":"YulFunctionCall","src":"691:12:31"},"nodeType":"YulExpressionStatement","src":"691:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"648:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"659:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"674:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"679:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"670:3:31"},"nodeType":"YulFunctionCall","src":"670:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"683:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"666:3:31"},"nodeType":"YulFunctionCall","src":"666:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"655:3:31"},"nodeType":"YulFunctionCall","src":"655:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"645:2:31"},"nodeType":"YulFunctionCall","src":"645:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"638:6:31"},"nodeType":"YulFunctionCall","src":"638:50:31"},"nodeType":"YulIf","src":"635:70:31"},{"nodeType":"YulAssignment","src":"714:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"724:5:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"714:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"426:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"437:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"449:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"457:6:31","type":""}],"src":"381:354:31"},{"body":{"nodeType":"YulBlock","src":"827:161:31","statements":[{"body":{"nodeType":"YulBlock","src":"873:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"882:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"885:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"875:6:31"},"nodeType":"YulFunctionCall","src":"875:12:31"},"nodeType":"YulExpressionStatement","src":"875:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"848:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"857:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"844:3:31"},"nodeType":"YulFunctionCall","src":"844:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"869:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"840:3:31"},"nodeType":"YulFunctionCall","src":"840:32:31"},"nodeType":"YulIf","src":"837:52:31"},{"nodeType":"YulAssignment","src":"898:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"921:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"908:12:31"},"nodeType":"YulFunctionCall","src":"908:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"898:6:31"}]},{"nodeType":"YulAssignment","src":"940:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"967:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"978:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"963:3:31"},"nodeType":"YulFunctionCall","src":"963:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"950:12:31"},"nodeType":"YulFunctionCall","src":"950:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"940:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"785:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"796:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"808:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"816:6:31","type":""}],"src":"740:248:31"},{"body":{"nodeType":"YulBlock","src":"1094:102:31","statements":[{"nodeType":"YulAssignment","src":"1104:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1116:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1127:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1112:3:31"},"nodeType":"YulFunctionCall","src":"1112:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1104:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1146:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1161:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1177:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1182:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1173:3:31"},"nodeType":"YulFunctionCall","src":"1173:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1186:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1169:3:31"},"nodeType":"YulFunctionCall","src":"1169:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1157:3:31"},"nodeType":"YulFunctionCall","src":"1157:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1139:6:31"},"nodeType":"YulFunctionCall","src":"1139:51:31"},"nodeType":"YulExpressionStatement","src":"1139:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1063:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1074:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1085:4:31","type":""}],"src":"993:203:31"},{"body":{"nodeType":"YulBlock","src":"1296:92:31","statements":[{"nodeType":"YulAssignment","src":"1306:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1318:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1329:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1314:3:31"},"nodeType":"YulFunctionCall","src":"1314:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1306:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1348:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1373:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1366:6:31"},"nodeType":"YulFunctionCall","src":"1366:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1359:6:31"},"nodeType":"YulFunctionCall","src":"1359:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1341:6:31"},"nodeType":"YulFunctionCall","src":"1341:41:31"},"nodeType":"YulExpressionStatement","src":"1341:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1265:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1276:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1287:4:31","type":""}],"src":"1201:187:31"},{"body":{"nodeType":"YulBlock","src":"1494:76:31","statements":[{"nodeType":"YulAssignment","src":"1504:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1516:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1527:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1512:3:31"},"nodeType":"YulFunctionCall","src":"1512:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1504:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1546:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"1557:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1539:6:31"},"nodeType":"YulFunctionCall","src":"1539:25:31"},"nodeType":"YulExpressionStatement","src":"1539:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1463:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1474:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1485:4:31","type":""}],"src":"1393:177:31"},{"body":{"nodeType":"YulBlock","src":"1749:237:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1766:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1777:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1759:6:31"},"nodeType":"YulFunctionCall","src":"1759:21:31"},"nodeType":"YulExpressionStatement","src":"1759:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1800:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1811:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1796:3:31"},"nodeType":"YulFunctionCall","src":"1796:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"1816:2:31","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1789:6:31"},"nodeType":"YulFunctionCall","src":"1789:30:31"},"nodeType":"YulExpressionStatement","src":"1789:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1839:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1850:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1835:3:31"},"nodeType":"YulFunctionCall","src":"1835:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e","kind":"string","nodeType":"YulLiteral","src":"1855:34:31","type":"","value":"AccessControl: sender must be an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1828:6:31"},"nodeType":"YulFunctionCall","src":"1828:62:31"},"nodeType":"YulExpressionStatement","src":"1828:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1910:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1921:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1906:3:31"},"nodeType":"YulFunctionCall","src":"1906:18:31"},{"hexValue":"2061646d696e20746f206772616e74","kind":"string","nodeType":"YulLiteral","src":"1926:17:31","type":"","value":" admin to grant"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1899:6:31"},"nodeType":"YulFunctionCall","src":"1899:45:31"},"nodeType":"YulExpressionStatement","src":"1899:45:31"},{"nodeType":"YulAssignment","src":"1953:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1965:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1976:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1961:3:31"},"nodeType":"YulFunctionCall","src":"1961:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1953:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1726:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1740:4:31","type":""}],"src":"1575:411:31"},{"body":{"nodeType":"YulBlock","src":"2165:237:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2182:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2193:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2175:6:31"},"nodeType":"YulFunctionCall","src":"2175:21:31"},"nodeType":"YulExpressionStatement","src":"2175:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2216:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2227:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2212:3:31"},"nodeType":"YulFunctionCall","src":"2212:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"2232:2:31","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2205:6:31"},"nodeType":"YulFunctionCall","src":"2205:30:31"},"nodeType":"YulExpressionStatement","src":"2205:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2255:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2266:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2251:3:31"},"nodeType":"YulFunctionCall","src":"2251:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"2271:34:31","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2244:6:31"},"nodeType":"YulFunctionCall","src":"2244:62:31"},"nodeType":"YulExpressionStatement","src":"2244:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2326:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2337:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2322:3:31"},"nodeType":"YulFunctionCall","src":"2322:18:31"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"2342:17:31","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2315:6:31"},"nodeType":"YulFunctionCall","src":"2315:45:31"},"nodeType":"YulExpressionStatement","src":"2315:45:31"},{"nodeType":"YulAssignment","src":"2369:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2381:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2392:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2377:3:31"},"nodeType":"YulFunctionCall","src":"2377:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2369:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2142:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2156:4:31","type":""}],"src":"1991:411:31"},{"body":{"nodeType":"YulBlock","src":"2581:238:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2598:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2609:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2591:6:31"},"nodeType":"YulFunctionCall","src":"2591:21:31"},"nodeType":"YulExpressionStatement","src":"2591:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2632:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2643:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2628:3:31"},"nodeType":"YulFunctionCall","src":"2628:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"2648:2:31","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2621:6:31"},"nodeType":"YulFunctionCall","src":"2621:30:31"},"nodeType":"YulExpressionStatement","src":"2621:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2671:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2682:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2667:3:31"},"nodeType":"YulFunctionCall","src":"2667:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e","kind":"string","nodeType":"YulLiteral","src":"2687:34:31","type":"","value":"AccessControl: sender must be an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2660:6:31"},"nodeType":"YulFunctionCall","src":"2660:62:31"},"nodeType":"YulExpressionStatement","src":"2660:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2742:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2753:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2738:3:31"},"nodeType":"YulFunctionCall","src":"2738:18:31"},{"hexValue":"2061646d696e20746f207265766f6b65","kind":"string","nodeType":"YulLiteral","src":"2758:18:31","type":"","value":" admin to revoke"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2731:6:31"},"nodeType":"YulFunctionCall","src":"2731:46:31"},"nodeType":"YulExpressionStatement","src":"2731:46:31"},{"nodeType":"YulAssignment","src":"2786:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2798:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2809:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2794:3:31"},"nodeType":"YulFunctionCall","src":"2794:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2786:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2558:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2572:4:31","type":""}],"src":"2407:412:31"},{"body":{"nodeType":"YulBlock","src":"2998:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3015:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3026:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3008:6:31"},"nodeType":"YulFunctionCall","src":"3008:21:31"},"nodeType":"YulExpressionStatement","src":"3008:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3049:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3060:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3045:3:31"},"nodeType":"YulFunctionCall","src":"3045:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3065:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3038:6:31"},"nodeType":"YulFunctionCall","src":"3038:30:31"},"nodeType":"YulExpressionStatement","src":"3038:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3088:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3099:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3084:3:31"},"nodeType":"YulFunctionCall","src":"3084:18:31"},{"hexValue":"456e756d657261626c655365743a20696e646578206f7574206f6620626f756e","kind":"string","nodeType":"YulLiteral","src":"3104:34:31","type":"","value":"EnumerableSet: index out of boun"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3077:6:31"},"nodeType":"YulFunctionCall","src":"3077:62:31"},"nodeType":"YulExpressionStatement","src":"3077:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3159:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3170:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3155:3:31"},"nodeType":"YulFunctionCall","src":"3155:18:31"},{"hexValue":"6473","kind":"string","nodeType":"YulLiteral","src":"3175:4:31","type":"","value":"ds"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3148:6:31"},"nodeType":"YulFunctionCall","src":"3148:32:31"},"nodeType":"YulExpressionStatement","src":"3148:32:31"},{"nodeType":"YulAssignment","src":"3189:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3201:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3212:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3197:3:31"},"nodeType":"YulFunctionCall","src":"3197:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3189:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2975:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2989:4:31","type":""}],"src":"2824:398:31"},{"body":{"nodeType":"YulBlock","src":"3259:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3276:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3283:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3288:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3279:3:31"},"nodeType":"YulFunctionCall","src":"3279:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3269:6:31"},"nodeType":"YulFunctionCall","src":"3269:31:31"},"nodeType":"YulExpressionStatement","src":"3269:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3316:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3319:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3309:6:31"},"nodeType":"YulFunctionCall","src":"3309:15:31"},"nodeType":"YulExpressionStatement","src":"3309:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3340:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3343:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3333:6:31"},"nodeType":"YulFunctionCall","src":"3333:15:31"},"nodeType":"YulExpressionStatement","src":"3333:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"3227:127:31"},{"body":{"nodeType":"YulBlock","src":"3391:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3408:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3415:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3420:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3411:3:31"},"nodeType":"YulFunctionCall","src":"3411:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3401:6:31"},"nodeType":"YulFunctionCall","src":"3401:31:31"},"nodeType":"YulExpressionStatement","src":"3401:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3448:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3451:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3441:6:31"},"nodeType":"YulFunctionCall","src":"3441:15:31"},"nodeType":"YulExpressionStatement","src":"3441:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3472:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3475:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3465:6:31"},"nodeType":"YulFunctionCall","src":"3465:15:31"},"nodeType":"YulExpressionStatement","src":"3465:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"3359:127:31"},{"body":{"nodeType":"YulBlock","src":"3540:79:31","statements":[{"nodeType":"YulAssignment","src":"3550:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3562:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"3565:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3558:3:31"},"nodeType":"YulFunctionCall","src":"3558:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"3550:4:31"}]},{"body":{"nodeType":"YulBlock","src":"3591:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3593:16:31"},"nodeType":"YulFunctionCall","src":"3593:18:31"},"nodeType":"YulExpressionStatement","src":"3593:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"3582:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"3588:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3579:2:31"},"nodeType":"YulFunctionCall","src":"3579:11:31"},"nodeType":"YulIf","src":"3576:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3522:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"3525:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"3531:4:31","type":""}],"src":"3491:128:31"},{"body":{"nodeType":"YulBlock","src":"3672:77:31","statements":[{"nodeType":"YulAssignment","src":"3682:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3693:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"3696:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3689:3:31"},"nodeType":"YulFunctionCall","src":"3689:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"3682:3:31"}]},{"body":{"nodeType":"YulBlock","src":"3721:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"3723:16:31"},"nodeType":"YulFunctionCall","src":"3723:18:31"},"nodeType":"YulExpressionStatement","src":"3723:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3713:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"3716:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3710:2:31"},"nodeType":"YulFunctionCall","src":"3710:10:31"},"nodeType":"YulIf","src":"3707:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"3655:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"3658:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"3664:3:31","type":""}],"src":"3624:125:31"},{"body":{"nodeType":"YulBlock","src":"3786:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3803:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3810:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3815:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3806:3:31"},"nodeType":"YulFunctionCall","src":"3806:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3796:6:31"},"nodeType":"YulFunctionCall","src":"3796:31:31"},"nodeType":"YulExpressionStatement","src":"3796:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3843:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3846:4:31","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3836:6:31"},"nodeType":"YulFunctionCall","src":"3836:15:31"},"nodeType":"YulExpressionStatement","src":"3836:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3867:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3870:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3860:6:31"},"nodeType":"YulFunctionCall","src":"3860:15:31"},"nodeType":"YulExpressionStatement","src":"3860:15:31"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"3754:127:31"}]},"contents":"{\n { }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"EnumerableSet: index out of boun\")\n mstore(add(headStart, 96), \"ds\")\n tail := add(headStart, 128)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100885760003560e01c806391d148541161005b57806391d1485414610116578063a217fddf14610139578063ca15c87314610141578063d547741f1461015457600080fd5b8063248a9ca31461008d5780632f2ff15d146100c357806336568abe146100d85780639010d07c146100eb575b600080fd5b6100b061009b366004610621565b60009081526020819052604090206002015490565b6040519081526020015b60405180910390f35b6100d66100d136600461063a565b610167565b005b6100d66100e636600461063a565b6101fa565b6100fe6100f9366004610676565b610274565b6040516001600160a01b0390911681526020016100ba565b61012961012436600461063a565b610295565b60405190151581526020016100ba565b6100b0600081565b6100b061014f366004610621565b6102ad565b6100d661016236600461063a565b6102c4565b6000828152602081905260409020600201546101839033610295565b6101ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084015b60405180910390fd5b6101f68282610345565b5050565b6001600160a01b038116331461026a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016101e3565b6101f6828261039e565b600082815260208190526040812061028c90836103f7565b90505b92915050565b600082815260208190526040812061028c9083610403565b600081815260208190526040812061028f90610425565b6000828152602081905260409020600201546102e09033610295565b61026a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016101e3565b600082815260208190526040902061035d908261042f565b156101f65760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008281526020819052604090206103b69082610444565b156101f65760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b600061028c8383610459565b6001600160a01b0381166000908152600183016020526040812054151561028c565b600061028f825490565b600061028c836001600160a01b0384166104df565b600061028c836001600160a01b03841661052e565b815460009082106104b75760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016101e3565b8260000182815481106104cc576104cc610698565b9060005260206000200154905092915050565b60008181526001830160205260408120546105265750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561028f565b50600061028f565b600081815260018301602052604081205480156106175760006105526001836106c4565b8554909150600090610566906001906106c4565b9050600086600001828154811061057f5761057f610698565b90600052602060002001549050808760000184815481106105a2576105a2610698565b6000918252602090912001556105b98360016106d7565b600082815260018901602052604090205586548790806105db576105db6106ea565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061028f565b600091505061028f565b60006020828403121561063357600080fd5b5035919050565b6000806040838503121561064d57600080fd5b8235915060208301356001600160a01b038116811461066b57600080fd5b809150509250929050565b6000806040838503121561068957600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f6106ae565b8082018082111561028f5761028f6106ae565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a15be5456a96593c6edd3802a275e3dd7756d3a52b4a74c13dea4acd9b77592864736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x91D14854 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x116 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x139 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x141 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x154 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0xC3 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0xD8 JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0xEB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB0 PUSH2 0x9B CALLDATASIZE PUSH1 0x4 PUSH2 0x621 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD6 PUSH2 0xD1 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x167 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xD6 PUSH2 0xE6 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x1FA JUMP JUMPDEST PUSH2 0xFE PUSH2 0xF9 CALLDATASIZE PUSH1 0x4 PUSH2 0x676 JUMP JUMPDEST PUSH2 0x274 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBA JUMP JUMPDEST PUSH2 0x129 PUSH2 0x124 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xBA JUMP JUMPDEST PUSH2 0xB0 PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0xB0 PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x621 JUMP JUMPDEST PUSH2 0x2AD JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x162 CALLDATASIZE PUSH1 0x4 PUSH2 0x63A JUMP JUMPDEST PUSH2 0x2C4 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x183 SWAP1 CALLER PUSH2 0x295 JUMP JUMPDEST PUSH2 0x1EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1F6 DUP3 DUP3 PUSH2 0x345 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x26A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH2 0x1F6 DUP3 DUP3 PUSH2 0x39E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x28C SWAP1 DUP4 PUSH2 0x3F7 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x28C SWAP1 DUP4 PUSH2 0x403 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x28F SWAP1 PUSH2 0x425 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x2E0 SWAP1 CALLER PUSH2 0x295 JUMP JUMPDEST PUSH2 0x26A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x2061646D696E20746F207265766F6B65 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x35D SWAP1 DUP3 PUSH2 0x42F JUMP JUMPDEST ISZERO PUSH2 0x1F6 JUMPI PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP5 SWAP1 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x3B6 SWAP1 DUP3 PUSH2 0x444 JUMP JUMPDEST ISZERO PUSH2 0x1F6 JUMPI PUSH1 0x40 MLOAD CALLER SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 DUP5 SWAP1 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C DUP4 DUP4 PUSH2 0x459 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO PUSH2 0x28C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x4DF JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28C DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x52E JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x4B7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E756D657261626C655365743A20696E646578206F7574206F6620626F756E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6473 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x1E3 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x4CC JUMPI PUSH2 0x4CC PUSH2 0x698 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x526 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x28F JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x28F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x617 JUMPI PUSH1 0x0 PUSH2 0x552 PUSH1 0x1 DUP4 PUSH2 0x6C4 JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x566 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x6C4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x57F JUMPI PUSH2 0x57F PUSH2 0x698 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x5A2 JUMPI PUSH2 0x5A2 PUSH2 0x698 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x5B9 DUP4 PUSH1 0x1 PUSH2 0x6D7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x5DB JUMPI PUSH2 0x5DB PUSH2 0x6EA JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x28F JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x28F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x633 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x64D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x66B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x689 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x6AE JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x6AE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG1 JUMPDEST 0xE5 GASLIMIT PUSH11 0x96593C6EDD3802A275E3DD PUSH24 0x56D3A52B4A74C13DEA4ACD9B77592864736F6C6343000814 STOP CALLER ","sourceMap":"41320:385:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38118:112;;;;;;:::i;:::-;38175:7;38201:12;;;;;;;;;;:22;;;;38118:112;;;;345:25:31;;;333:2;318:18;38118:112:29;;;;;;;;38480:223;;;;;;:::i;:::-;;:::i;:::-;;39654:205;;;;;;:::i;:::-;;:::i;37801:136::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1157:32:31;;;1139:51;;1127:2;1112:18;37801:136:29;993:203:31;36798:137:29;;;;;;:::i;:::-;;:::i;:::-;;;1366:14:31;;1359:22;1341:41;;1329:2;1314:18;36798:137:29;1201:187:31;35575:49:29;;35620:4;35575:49;;37103:125;;;;;;:::i;:::-;;:::i;38937:226::-;;;;;;:::i;:::-;;:::i;38480:223::-;38571:6;:12;;;;;;;;;;:22;;;38563:45;;693:10;36798:137;:::i;38563:45::-;38555:105;;;;-1:-1:-1;;;38555:105:29;;1777:2:31;38555:105:29;;;1759:21:31;1816:2;1796:18;;;1789:30;1855:34;1835:18;;;1828:62;-1:-1:-1;;;1906:18:31;;;1899:45;1961:19;;38555:105:29;;;;;;;;;38671:25;38682:4;38688:7;38671:10;:25::i;:::-;38480:223;;:::o;39654:205::-;-1:-1:-1;;;;;39740:23:29;;693:10;39740:23;39732:83;;;;-1:-1:-1;;;39732:83:29;;2193:2:31;39732:83:29;;;2175:21:31;2232:2;2212:18;;;2205:30;2271:34;2251:18;;;2244:62;-1:-1:-1;;;2322:18:31;;;2315:45;2377:19;;39732:83:29;1991:411:31;39732:83:29;39826:26;39838:4;39844:7;39826:11;:26::i;37801:136::-;37874:7;37900:12;;;;;;;;;;:30;;37924:5;37900:23;:30::i;:::-;37893:37;;37801:136;;;;;:::o;36798:137::-;36867:4;36890:12;;;;;;;;;;:38;;36920:7;36890:29;:38::i;37103:125::-;37166:7;37192:12;;;;;;;;;;:29;;:27;:29::i;38937:226::-;39029:6;:12;;;;;;;;;;:22;;;39021:45;;693:10;36798:137;:::i;39021:45::-;39013:106;;;;-1:-1:-1;;;39013:106:29;;2609:2:31;39013:106:29;;;2591:21:31;2648:2;2628:18;;;2621:30;2687:34;2667:18;;;2660:62;-1:-1:-1;;;2738:18:31;;;2731:46;2794:19;;39013:106:29;2407:412:31;40861:184:29;40934:6;:12;;;;;;;;;;:33;;40959:7;40934:24;:33::i;:::-;40930:109;;;40988:40;;693:10;;-1:-1:-1;;;;;40988:40:29;;;41000:4;;40988:40;;;;;40861:184;;:::o;41051:188::-;41125:6;:12;;;;;;;;;;:36;;41153:7;41125:27;:36::i;:::-;41121:112;;;41182:40;;693:10;;-1:-1:-1;;;;;41182:40:29;;;41194:4;;41182:40;;;;;41051:188;;:::o;32212:156::-;32286:7;32336:22;32340:3;32352:5;32336:3;:22::i;31519:165::-;-1:-1:-1;;;;;31652:23:29;;31599:4;29972:19;;;:12;;;:19;;;;;;:24;;31622:55;29876:127;31765:115;31828:7;31854:19;31862:3;30166:18;;30084:107;30964:150;31034:4;31057:50;31062:3;-1:-1:-1;;;;;31082:23:29;;31057:4;:50::i;31282:156::-;31355:4;31378:53;31386:3;-1:-1:-1;;;;;31406:23:29;;31378:7;:53::i;30523:201::-;30617:18;;30590:7;;30617:26;-1:-1:-1;30609:73:29;;;;-1:-1:-1;;;30609:73:29;;3026:2:31;30609:73:29;;;3008:21:31;3065:2;3045:18;;;3038:30;3104:34;3084:18;;;3077:62;-1:-1:-1;;;3155:18:31;;;3148:32;3197:19;;30609:73:29;2824:398:31;30609:73:29;30699:3;:11;;30711:5;30699:18;;;;;;;;:::i;:::-;;;;;;;;;30692:25;;30523:201;;;;:::o;27711:404::-;27774:4;29972:19;;;:12;;;:19;;;;;;27790:319;;-1:-1:-1;27832:23:29;;;;;;;;:11;:23;;;;;;;;;;;;;28012:18;;27990:19;;;:12;;;:19;;;;;;:40;;;;28044:11;;27790:319;-1:-1:-1;28093:5:29;28086:12;;28283:1512;28349:4;28486:19;;;:12;;;:19;;;;;;28520:15;;28516:1273;;28877:21;28901:14;28914:1;28901:10;:14;:::i;:::-;28949:18;;28877:38;;-1:-1:-1;28929:17:29;;28949:22;;28970:1;;28949:22;:::i;:::-;28929:42;;29211:17;29231:3;:11;;29243:9;29231:22;;;;;;;;:::i;:::-;;;;;;;;;29211:42;;29374:9;29345:3;:11;;29357:13;29345:26;;;;;;;;:::i;:::-;;;;;;;;;;:38;29475:17;:13;29491:1;29475:17;:::i;:::-;29449:23;;;;:12;;;:23;;;;;:43;29598:17;;29449:3;;29598:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;29690:3;:12;;:19;29703:5;29690:19;;;;;;;;;;;29683:26;;;29731:4;29724:11;;;;;;;;28516:1273;29773:5;29766:12;;;;;14:180:31;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:31;;14:180;-1:-1:-1;14:180:31:o;381:354::-;449:6;457;510:2;498:9;489:7;485:23;481:32;478:52;;;526:1;523;516:12;478:52;549:23;;;-1:-1:-1;622:2:31;607:18;;594:32;-1:-1:-1;;;;;655:31:31;;645:42;;635:70;;701:1;698;691:12;635:70;724:5;714:15;;;381:354;;;;;:::o;740:248::-;808:6;816;869:2;857:9;848:7;844:23;840:32;837:52;;;885:1;882;875:12;837:52;-1:-1:-1;;908:23:31;;;978:2;963:18;;;950:32;;-1:-1:-1;740:248:31:o;3227:127::-;3288:10;3283:3;3279:20;3276:1;3269:31;3319:4;3316:1;3309:15;3343:4;3340:1;3333:15;3359:127;3420:10;3415:3;3411:20;3408:1;3401:31;3451:4;3448:1;3441:15;3475:4;3472:1;3465:15;3491:128;3558:9;;;3579:11;;;3576:37;;;3593:18;;:::i;3624:125::-;3689:9;;;3710:10;;;3707:36;;;3723:18;;:::i;3754:127::-;3815:10;3810:3;3806:20;3803:1;3796:31;3846:4;3843:1;3836:15;3870:4;3867:1;3860:15"},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"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\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296 for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"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`.\"},\"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 granted `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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"AccessControlMixin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":12141,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"_roles","offset":0,"slot":"0","type":"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)"},{"astId":12406,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"_revertMsg","offset":0,"slot":"1","type":"t_string_storage"}],"types":{"t_array(t_bytes32)dyn_storage":{"base":"t_bytes32","encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControl.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)12136_storage"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(AddressSet)11892_storage":{"encoding":"inplace","label":"struct EnumerableSet.AddressSet","members":[{"astId":11891,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)11706_storage"}],"numberOfBytes":"64"},"t_struct(RoleData)12136_storage":{"encoding":"inplace","label":"struct AccessControl.RoleData","members":[{"astId":12133,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"members","offset":0,"slot":"0","type":"t_struct(AddressSet)11892_storage"},{"astId":12135,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"adminRole","offset":0,"slot":"2","type":"t_bytes32"}],"numberOfBytes":"96"},"t_struct(Set)11706_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","members":[{"astId":11701,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":11705,"contract":"contracts/testDai/TestDAI.v3.sol:AccessControlMixin","label":"_indexes","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}},"Address":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba44ff2089cbdffae47eceb71e52deb302b976abfe56e47fe5e9436ad0b91d5664736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA PREVRANDAO SELFDESTRUCT KECCAK256 DUP10 0xCB 0xDF STATICCALL 0xE4 PUSH31 0xCEB71E52DEB302B976ABFE56E47FE5E9436AD0B91D5664736F6C6343000814 STOP CALLER ","sourceMap":"9077:5688:29:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;9077:5688:29;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba44ff2089cbdffae47eceb71e52deb302b976abfe56e47fe5e9436ad0b91d5664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBA PREVRANDAO SELFDESTRUCT KECCAK256 DUP10 0xCB 0xDF STATICCALL 0xE4 PUSH31 0xCEB71E52DEB302B976ABFE56E47FE5E9436AD0B91D5664736F6C6343000814 STOP CALLER ","sourceMap":"9077:5688:29:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"ChainConstants":{"abi":[{"inputs":[],"name":"CHILD_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CHILD_CHAIN_ID_BYTES","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ERC712_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_CHAIN_ID_BYTES","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610186806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630b54817c1461005c5780630dd7531a146100925780630f7e5970146100b2578063626381a0146100d25780638acfcaf7146100e8575b600080fd5b61007c604051806040016040528060018152602001608960f81b81525081565b6040516100899190610136565b60405180910390f35b61007c604051806040016040528060018152602001600160f81b81525081565b61007c604051806040016040528060018152602001603160f81b81525081565b6100da608981565b604051908152602001610089565b6100da600181565b6000815180845260005b81811015610116576020818501810151868301820152016100fa565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061014960208301846100f0565b939250505056fea264697066735822122013d8edecaf1a0124f99febd40e957609ded7aec8d6345c33bfc4711b57e0822f64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x186 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB54817C EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0xDD7531A EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0xF7E5970 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x626381A0 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0x8ACFCAF7 EQ PUSH2 0xE8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x89 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x89 SWAP2 SWAP1 PUSH2 0x136 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x7C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x31 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0xDA PUSH1 0x89 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x89 JUMP JUMPDEST PUSH2 0xDA PUSH1 0x1 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x116 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0xFA JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x149 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT 0xD8 0xED 0xEC 0xAF BYTE ADD 0x24 0xF9 SWAP16 0xEB 0xD4 0xE SWAP6 PUSH23 0x9DED7AEC8D6345C33BFC4711B57E0822F64736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"47280:290:29:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CHILD_CHAIN_ID_12789":{"entryPoint":null,"id":12789,"parameterSlots":0,"returnSlots":0},"@CHILD_CHAIN_ID_BYTES_12792":{"entryPoint":null,"id":12792,"parameterSlots":0,"returnSlots":0},"@ERC712_VERSION_12780":{"entryPoint":null,"id":12780,"parameterSlots":0,"returnSlots":0},"@ROOT_CHAIN_ID_12783":{"entryPoint":null,"id":12783,"parameterSlots":0,"returnSlots":0},"@ROOT_CHAIN_ID_BYTES_12786":{"entryPoint":null,"id":12786,"parameterSlots":0,"returnSlots":0},"abi_encode_bytes":{"entryPoint":240,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":310,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1066:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:373:31","statements":[{"nodeType":"YulVariableDeclaration","src":"73:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"93:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"87:5:31"},"nodeType":"YulFunctionCall","src":"87:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"77:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"115:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"120:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"108:6:31"},"nodeType":"YulFunctionCall","src":"108:19:31"},"nodeType":"YulExpressionStatement","src":"108:19:31"},{"nodeType":"YulVariableDeclaration","src":"136:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"145:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"140:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"207:110:31","statements":[{"nodeType":"YulVariableDeclaration","src":"221:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"231:4:31","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"225:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"263:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"268:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"259:3:31"},"nodeType":"YulFunctionCall","src":"259:11:31"},{"name":"_1","nodeType":"YulIdentifier","src":"272:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:31"},"nodeType":"YulFunctionCall","src":"255:20:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"291:5:31"},{"name":"i","nodeType":"YulIdentifier","src":"298:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"287:3:31"},"nodeType":"YulFunctionCall","src":"287:13:31"},{"name":"_1","nodeType":"YulIdentifier","src":"302:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"283:3:31"},"nodeType":"YulFunctionCall","src":"283:22:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"277:5:31"},"nodeType":"YulFunctionCall","src":"277:29:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"248:6:31"},"nodeType":"YulFunctionCall","src":"248:59:31"},"nodeType":"YulExpressionStatement","src":"248:59:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"166:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"169:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"163:2:31"},"nodeType":"YulFunctionCall","src":"163:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"177:21:31","statements":[{"nodeType":"YulAssignment","src":"179:17:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"188:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"191:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"184:3:31"},"nodeType":"YulFunctionCall","src":"184:12:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"179:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"159:3:31","statements":[]},"src":"155:162:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"341:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"346:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"337:3:31"},"nodeType":"YulFunctionCall","src":"337:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"355:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"333:3:31"},"nodeType":"YulFunctionCall","src":"333:27:31"},{"kind":"number","nodeType":"YulLiteral","src":"362:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"326:6:31"},"nodeType":"YulFunctionCall","src":"326:38:31"},"nodeType":"YulExpressionStatement","src":"326:38:31"},{"nodeType":"YulAssignment","src":"373:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"388:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"401:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"409:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"397:3:31"},"nodeType":"YulFunctionCall","src":"397:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"418:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"414:3:31"},"nodeType":"YulFunctionCall","src":"414:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"393:3:31"},"nodeType":"YulFunctionCall","src":"393:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"384:3:31"},"nodeType":"YulFunctionCall","src":"384:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"425:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"380:3:31"},"nodeType":"YulFunctionCall","src":"380:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"373:3:31"}]}]},"name":"abi_encode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"40:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"47:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"55:3:31","type":""}],"src":"14:422:31"},{"body":{"nodeType":"YulBlock","src":"560:98:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"577:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"588:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"570:6:31"},"nodeType":"YulFunctionCall","src":"570:21:31"},"nodeType":"YulExpressionStatement","src":"570:21:31"},{"nodeType":"YulAssignment","src":"600:52:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"625:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"637:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"648:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"633:3:31"},"nodeType":"YulFunctionCall","src":"633:18:31"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"608:16:31"},"nodeType":"YulFunctionCall","src":"608:44:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"600:4:31"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"529:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"540:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"551:4:31","type":""}],"src":"441:217:31"},{"body":{"nodeType":"YulBlock","src":"784:98:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"801:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"812:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"794:6:31"},"nodeType":"YulFunctionCall","src":"794:21:31"},"nodeType":"YulExpressionStatement","src":"794:21:31"},{"nodeType":"YulAssignment","src":"824:52:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"849:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"861:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"872:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"857:3:31"},"nodeType":"YulFunctionCall","src":"857:18:31"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"832:16:31"},"nodeType":"YulFunctionCall","src":"832:44:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"824:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"753:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"764:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"775:4:31","type":""}],"src":"663:219:31"},{"body":{"nodeType":"YulBlock","src":"988:76:31","statements":[{"nodeType":"YulAssignment","src":"998:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1010:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1021:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1006:3:31"},"nodeType":"YulFunctionCall","src":"1006:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"998:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1040:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"1051:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1033:6:31"},"nodeType":"YulFunctionCall","src":"1033:25:31"},"nodeType":"YulExpressionStatement","src":"1033:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"957:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"968:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"979:4:31","type":""}],"src":"887:177:31"}]},"contents":"{\n { }\n function abi_encode_bytes(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n mstore(add(add(pos, length), 0x20), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100575760003560e01c80630b54817c1461005c5780630dd7531a146100925780630f7e5970146100b2578063626381a0146100d25780638acfcaf7146100e8575b600080fd5b61007c604051806040016040528060018152602001608960f81b81525081565b6040516100899190610136565b60405180910390f35b61007c604051806040016040528060018152602001600160f81b81525081565b61007c604051806040016040528060018152602001603160f81b81525081565b6100da608981565b604051908152602001610089565b6100da600181565b6000815180845260005b81811015610116576020818501810151868301820152016100fa565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061014960208301846100f0565b939250505056fea264697066735822122013d8edecaf1a0124f99febd40e957609ded7aec8d6345c33bfc4711b57e0822f64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB54817C EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0xDD7531A EQ PUSH2 0x92 JUMPI DUP1 PUSH4 0xF7E5970 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x626381A0 EQ PUSH2 0xD2 JUMPI DUP1 PUSH4 0x8ACFCAF7 EQ PUSH2 0xE8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x89 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x89 SWAP2 SWAP1 PUSH2 0x136 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x7C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x7C PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x31 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0xDA PUSH1 0x89 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x89 JUMP JUMPDEST PUSH2 0xDA PUSH1 0x1 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x116 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0xFA JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x149 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SGT 0xD8 0xED 0xEC 0xAF BYTE ADD 0x24 0xF9 SWAP16 0xEB 0xD4 0xE SWAP6 PUSH23 0x9DED7AEC8D6345C33BFC4711B57E0822F64736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"47280:290:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47515:52;;;;;;;;;;;;;;;-1:-1:-1;;;47515:52:29;;;;;;;;;;;;:::i;:::-;;;;;;;;47407:51;;;;;;;;;;;;;;;-1:-1:-1;;;47407:51:29;;;;;47310:43;;;;;;;;;;;;;;;-1:-1:-1;;;47310:43:29;;;;;47465:44;;47506:3;47465:44;;;;;1033:25:31;;;1021:2;1006:18;47465:44:29;887:177:31;47360:41:29;;47400:1;47360:41;;14:422:31;55:3;93:5;87:12;120:6;115:3;108:19;145:1;155:162;169:6;166:1;163:13;155:162;;;231:4;287:13;;;283:22;;277:29;259:11;;;255:20;;248:59;184:12;155:162;;;159:3;362:1;355:4;346:6;341:3;337:16;333:27;326:38;425:4;418:2;414:7;409:2;401:6;397:15;393:29;388:3;384:39;380:50;373:57;;;14:422;;;;:::o;441:217::-;588:2;577:9;570:21;551:4;608:44;648:2;637:9;633:18;625:6;608:44;:::i;:::-;600:52;441:217;-1:-1:-1;;;441:217:31:o"},"methodIdentifiers":{"CHILD_CHAIN_ID()":"626381a0","CHILD_CHAIN_ID_BYTES()":"0b54817c","ERC712_VERSION()":"0f7e5970","ROOT_CHAIN_ID()":"8acfcaf7","ROOT_CHAIN_ID_BYTES()":"0dd7531a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CHILD_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CHILD_CHAIN_ID_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ERC712_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROOT_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROOT_CHAIN_ID_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"ChainConstants\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"ContextMixin":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"ContextMixin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"EIP712Base":{"abi":[{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeperator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60806040526000805460ff19169055348015601957600080fd5b506088806100286000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806320379ee51460375780633408e47014604d575b600080fd5b6001545b60405190815260200160405180910390f35b46603b56fea264697066735822122093acaaafccca74552ebb6eccdc6d2772e6fe4dd002d3f162cf673ed5842407e164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH1 0x19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x88 DUP1 PUSH2 0x28 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x20379EE5 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH1 0x4D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CHAINID PUSH1 0x3B JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 0xAC 0xAA 0xAF 0xCC 0xCA PUSH21 0x552EBB6ECCDC6D2772E6FE4DD002D3F162CF673ED5 DUP5 0x24 SMOD 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"42193:2032:29:-:0;;;42000:5;41986:19;;-1:-1:-1;;41986:19:29;;;42193:2032;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@getChainId_12562":{"entryPoint":null,"id":12562,"parameterSlots":0,"returnSlots":1},"@getDomainSeperator_12550":{"entryPoint":null,"id":12550,"parameterSlots":0,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:375:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"115:76:31","statements":[{"nodeType":"YulAssignment","src":"125:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"137:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"148:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"133:3:31"},"nodeType":"YulFunctionCall","src":"133:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"125:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"167:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"178:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"160:6:31"},"nodeType":"YulFunctionCall","src":"160:25:31"},"nodeType":"YulExpressionStatement","src":"160:25:31"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"84:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"95:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"106:4:31","type":""}],"src":"14:177:31"},{"body":{"nodeType":"YulBlock","src":"297:76:31","statements":[{"nodeType":"YulAssignment","src":"307:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"319:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"330:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"315:3:31"},"nodeType":"YulFunctionCall","src":"315:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"307:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"349:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"360:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"342:6:31"},"nodeType":"YulFunctionCall","src":"342:25:31"},"nodeType":"YulExpressionStatement","src":"342:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"266:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"277:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"288:4:31","type":""}],"src":"196:177:31"}]},"contents":"{\n { }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052348015600f57600080fd5b506004361060325760003560e01c806320379ee51460375780633408e47014604d575b600080fd5b6001545b60405190815260200160405180910390f35b46603b56fea264697066735822122093acaaafccca74552ebb6eccdc6d2772e6fe4dd002d3f162cf673ed5842407e164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x32 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x20379EE5 EQ PUSH1 0x37 JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH1 0x4D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CHAINID PUSH1 0x3B JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP4 0xAC 0xAA 0xAF 0xCC 0xCA PUSH21 0x552EBB6ECCDC6D2772E6FE4DD002D3F162CF673ED5 DUP5 0x24 SMOD 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"42193:2032:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;43354:99;43431:15;;43354:99;;;160:25:31;;;148:2;133:18;43354:99:29;;;;;;;43459:155;43570:9;43459:155;"},"methodIdentifiers":{"getChainId()":"3408e470","getDomainSeperator()":"20379ee5"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeperator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"EIP712Base\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":12452,"contract":"contracts/testDai/TestDAI.v3.sol:EIP712Base","label":"inited","offset":0,"slot":"0","type":"t_bool"},{"astId":12489,"contract":"contracts/testDai/TestDAI.v3.sol:EIP712Base","label":"domainSeperator","offset":0,"slot":"1","type":"t_bytes32"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"}}}},"ERC20":{"abi":[{"inputs":[{"internalType":"string","name":"__name","type":"string"},{"internalType":"string","name":"__symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_11215":{"entryPoint":null,"id":11215,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":125,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":300,"id":null,"parameterSlots":2,"returnSlots":2},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":466,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":549,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":406,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":103,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4144:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"210:776:31","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:31"},"nodeType":"YulFunctionCall","src":"261:12:31"},"nodeType":"YulExpressionStatement","src":"261:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:31"},"nodeType":"YulFunctionCall","src":"234:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:31"},"nodeType":"YulFunctionCall","src":"230:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:31"},"nodeType":"YulFunctionCall","src":"223:35:31"},"nodeType":"YulIf","src":"220:55:31"},{"nodeType":"YulVariableDeclaration","src":"284:23:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:31"},"nodeType":"YulFunctionCall","src":"294:13:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:31"},"nodeType":"YulFunctionCall","src":"330:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:31"},"nodeType":"YulFunctionCall","src":"326:18:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:31"},"nodeType":"YulFunctionCall","src":"369:18:31"},"nodeType":"YulExpressionStatement","src":"369:18:31"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:31"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:31"},"nodeType":"YulFunctionCall","src":"356:10:31"},"nodeType":"YulIf","src":"353:36:31"},{"nodeType":"YulVariableDeclaration","src":"398:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:31"},"nodeType":"YulFunctionCall","src":"408:7:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:31"},"nodeType":"YulFunctionCall","src":"438:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:31"},"nodeType":"YulFunctionCall","src":"498:13:31"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:31"},"nodeType":"YulFunctionCall","src":"494:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:31"},"nodeType":"YulFunctionCall","src":"490:31:31"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:31"},"nodeType":"YulFunctionCall","src":"486:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:31"},"nodeType":"YulFunctionCall","src":"474:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:31"},"nodeType":"YulFunctionCall","src":"588:18:31"},"nodeType":"YulExpressionStatement","src":"588:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:31"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:31"},"nodeType":"YulFunctionCall","src":"542:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:31"},"nodeType":"YulFunctionCall","src":"562:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:31"},"nodeType":"YulFunctionCall","src":"539:46:31"},"nodeType":"YulIf","src":"536:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:31"},"nodeType":"YulFunctionCall","src":"617:22:31"},"nodeType":"YulExpressionStatement","src":"617:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:31"},"nodeType":"YulFunctionCall","src":"648:18:31"},"nodeType":"YulExpressionStatement","src":"648:18:31"},{"nodeType":"YulVariableDeclaration","src":"675:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:31","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:31"},"nodeType":"YulFunctionCall","src":"737:12:31"},"nodeType":"YulExpressionStatement","src":"737:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:31"},"nodeType":"YulFunctionCall","src":"708:15:31"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:31"},"nodeType":"YulFunctionCall","src":"704:24:31"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:31"},"nodeType":"YulFunctionCall","src":"701:33:31"},"nodeType":"YulIf","src":"698:53:31"},{"nodeType":"YulVariableDeclaration","src":"760:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:31","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:31"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:31"},"nodeType":"YulFunctionCall","src":"850:14:31"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:31"},"nodeType":"YulFunctionCall","src":"846:23:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:31"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:31"},"nodeType":"YulFunctionCall","src":"881:14:31"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:31"},"nodeType":"YulFunctionCall","src":"877:23:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:31"},"nodeType":"YulFunctionCall","src":"871:30:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:31"},"nodeType":"YulFunctionCall","src":"839:63:31"},"nodeType":"YulExpressionStatement","src":"839:63:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:31"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:31"},"nodeType":"YulFunctionCall","src":"787:9:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:31","statements":[{"nodeType":"YulAssignment","src":"799:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:31"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:31"},"nodeType":"YulFunctionCall","src":"804:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:31","statements":[]},"src":"779:133:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"936:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"944:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"932:3:31"},"nodeType":"YulFunctionCall","src":"932:15:31"},{"name":"_4","nodeType":"YulIdentifier","src":"949:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"928:3:31"},"nodeType":"YulFunctionCall","src":"928:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"954:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"921:6:31"},"nodeType":"YulFunctionCall","src":"921:35:31"},"nodeType":"YulExpressionStatement","src":"921:35:31"},{"nodeType":"YulAssignment","src":"965:15:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"974:6:31"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"965:5:31"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:31","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:31","type":""}],"src":"146:840:31"},{"body":{"nodeType":"YulBlock","src":"1109:444:31","statements":[{"body":{"nodeType":"YulBlock","src":"1155:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1164:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1167:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1157:6:31"},"nodeType":"YulFunctionCall","src":"1157:12:31"},"nodeType":"YulExpressionStatement","src":"1157:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1130:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1139:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1126:3:31"},"nodeType":"YulFunctionCall","src":"1126:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1151:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1122:3:31"},"nodeType":"YulFunctionCall","src":"1122:32:31"},"nodeType":"YulIf","src":"1119:52:31"},{"nodeType":"YulVariableDeclaration","src":"1180:30:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1194:5:31"},"nodeType":"YulFunctionCall","src":"1194:16:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1184:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1219:28:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1237:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1241:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1233:3:31"},"nodeType":"YulFunctionCall","src":"1233:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1245:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1229:3:31"},"nodeType":"YulFunctionCall","src":"1229:18:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1223:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1274:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1283:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1276:6:31"},"nodeType":"YulFunctionCall","src":"1276:12:31"},"nodeType":"YulExpressionStatement","src":"1276:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1262:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1270:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1259:2:31"},"nodeType":"YulFunctionCall","src":"1259:14:31"},"nodeType":"YulIf","src":"1256:34:31"},{"nodeType":"YulAssignment","src":"1299:71:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1342:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"1353:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1338:3:31"},"nodeType":"YulFunctionCall","src":"1338:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1362:7:31"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1309:28:31"},"nodeType":"YulFunctionCall","src":"1309:61:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1299:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1379:41:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1405:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1416:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1401:3:31"},"nodeType":"YulFunctionCall","src":"1401:18:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1395:5:31"},"nodeType":"YulFunctionCall","src":"1395:25:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1383:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1449:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1458:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1461:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1451:6:31"},"nodeType":"YulFunctionCall","src":"1451:12:31"},"nodeType":"YulExpressionStatement","src":"1451:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1435:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1445:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1432:2:31"},"nodeType":"YulFunctionCall","src":"1432:16:31"},"nodeType":"YulIf","src":"1429:36:31"},{"nodeType":"YulAssignment","src":"1474:73:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1517:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1528:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1513:3:31"},"nodeType":"YulFunctionCall","src":"1513:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1539:7:31"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1484:28:31"},"nodeType":"YulFunctionCall","src":"1484:63:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1474:6:31"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1067:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1078:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1090:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1098:6:31","type":""}],"src":"991:562:31"},{"body":{"nodeType":"YulBlock","src":"1613:325:31","statements":[{"nodeType":"YulAssignment","src":"1623:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1637:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1640:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1633:3:31"},"nodeType":"YulFunctionCall","src":"1633:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1623:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"1654:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1684:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"1690:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1680:3:31"},"nodeType":"YulFunctionCall","src":"1680:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1658:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1731:31:31","statements":[{"nodeType":"YulAssignment","src":"1733:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1747:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1755:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1743:3:31"},"nodeType":"YulFunctionCall","src":"1743:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1733:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1711:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1704:6:31"},"nodeType":"YulFunctionCall","src":"1704:26:31"},"nodeType":"YulIf","src":"1701:61:31"},{"body":{"nodeType":"YulBlock","src":"1821:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1842:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1849:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1854:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1845:3:31"},"nodeType":"YulFunctionCall","src":"1845:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1835:6:31"},"nodeType":"YulFunctionCall","src":"1835:31:31"},"nodeType":"YulExpressionStatement","src":"1835:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1886:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1889:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1879:6:31"},"nodeType":"YulFunctionCall","src":"1879:15:31"},"nodeType":"YulExpressionStatement","src":"1879:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1914:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1917:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1907:6:31"},"nodeType":"YulFunctionCall","src":"1907:15:31"},"nodeType":"YulExpressionStatement","src":"1907:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1777:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1800:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1808:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1797:2:31"},"nodeType":"YulFunctionCall","src":"1797:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1774:2:31"},"nodeType":"YulFunctionCall","src":"1774:38:31"},"nodeType":"YulIf","src":"1771:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1593:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1602:6:31","type":""}],"src":"1558:380:31"},{"body":{"nodeType":"YulBlock","src":"1999:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2016:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"2019:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2009:6:31"},"nodeType":"YulFunctionCall","src":"2009:14:31"},"nodeType":"YulExpressionStatement","src":"2009:14:31"},{"nodeType":"YulAssignment","src":"2032:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2050:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2053:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2040:9:31"},"nodeType":"YulFunctionCall","src":"2040:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"2032:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"1982:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"1990:4:31","type":""}],"src":"1943:121:31"},{"body":{"nodeType":"YulBlock","src":"2150:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"2183:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2197:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2207:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2201:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2228:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"2232:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2221:6:31"},"nodeType":"YulFunctionCall","src":"2221:17:31"},"nodeType":"YulExpressionStatement","src":"2221:17:31"},{"nodeType":"YulVariableDeclaration","src":"2251:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2273:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2277:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2263:9:31"},"nodeType":"YulFunctionCall","src":"2263:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"2255:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2295:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2318:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2328:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"2335:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"2347:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2331:3:31"},"nodeType":"YulFunctionCall","src":"2331:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2324:3:31"},"nodeType":"YulFunctionCall","src":"2324:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:31"},"nodeType":"YulFunctionCall","src":"2314:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"2299:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2389:23:31","statements":[{"nodeType":"YulAssignment","src":"2391:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"2406:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"2391:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"2371:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"2383:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2368:2:31"},"nodeType":"YulFunctionCall","src":"2368:20:31"},"nodeType":"YulIf","src":"2365:47:31"},{"nodeType":"YulVariableDeclaration","src":"2425:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2439:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2449:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"2456:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2461:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2452:3:31"},"nodeType":"YulFunctionCall","src":"2452:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2445:3:31"},"nodeType":"YulFunctionCall","src":"2445:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2435:3:31"},"nodeType":"YulFunctionCall","src":"2435:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2429:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2479:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"2492:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"2483:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2577:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2586:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2593:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2579:6:31"},"nodeType":"YulFunctionCall","src":"2579:17:31"},"nodeType":"YulExpressionStatement","src":"2579:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2527:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"2534:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2524:2:31"},"nodeType":"YulFunctionCall","src":"2524:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2538:26:31","statements":[{"nodeType":"YulAssignment","src":"2540:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2553:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"2560:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2549:3:31"},"nodeType":"YulFunctionCall","src":"2549:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"2540:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"2520:3:31","statements":[]},"src":"2516:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"2166:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2171:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2163:2:31"},"nodeType":"YulFunctionCall","src":"2163:11:31"},"nodeType":"YulIf","src":"2160:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"2122:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"2129:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"2134:10:31","type":""}],"src":"2069:545:31"},{"body":{"nodeType":"YulBlock","src":"2704:81:31","statements":[{"nodeType":"YulAssignment","src":"2714:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2729:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2747:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"2750:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2743:3:31"},"nodeType":"YulFunctionCall","src":"2743:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2760:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2756:3:31"},"nodeType":"YulFunctionCall","src":"2756:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2739:3:31"},"nodeType":"YulFunctionCall","src":"2739:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2735:3:31"},"nodeType":"YulFunctionCall","src":"2735:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2725:3:31"},"nodeType":"YulFunctionCall","src":"2725:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2771:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"2774:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2767:3:31"},"nodeType":"YulFunctionCall","src":"2767:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2722:2:31"},"nodeType":"YulFunctionCall","src":"2722:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"2714:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2681:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"2687:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"2695:4:31","type":""}],"src":"2619:166:31"},{"body":{"nodeType":"YulBlock","src":"2886:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2896:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2916:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2910:5:31"},"nodeType":"YulFunctionCall","src":"2910:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"2900:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2963:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2965:16:31"},"nodeType":"YulFunctionCall","src":"2965:18:31"},"nodeType":"YulExpressionStatement","src":"2965:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"2935:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2951:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2955:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2947:3:31"},"nodeType":"YulFunctionCall","src":"2947:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"2959:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2943:3:31"},"nodeType":"YulFunctionCall","src":"2943:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2932:2:31"},"nodeType":"YulFunctionCall","src":"2932:30:31"},"nodeType":"YulIf","src":"2929:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3038:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3076:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"3070:5:31"},"nodeType":"YulFunctionCall","src":"3070:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"3044:25:31"},"nodeType":"YulFunctionCall","src":"3044:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"3084:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"2994:43:31"},"nodeType":"YulFunctionCall","src":"2994:97:31"},"nodeType":"YulExpressionStatement","src":"2994:97:31"},{"nodeType":"YulVariableDeclaration","src":"3100:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3117:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"3104:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3127:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3146:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"3131:11:31","type":""}]},{"nodeType":"YulAssignment","src":"3159:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3172:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3159:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"3229:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3243:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"3262:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3274:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3270:3:31"},"nodeType":"YulFunctionCall","src":"3270:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3258:3:31"},"nodeType":"YulFunctionCall","src":"3258:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"3247:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3291:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3335:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"3305:29:31"},"nodeType":"YulFunctionCall","src":"3305:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"3295:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3353:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3362:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3357:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3440:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3465:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3483:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"3488:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3479:3:31"},"nodeType":"YulFunctionCall","src":"3479:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3473:5:31"},"nodeType":"YulFunctionCall","src":"3473:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3458:6:31"},"nodeType":"YulFunctionCall","src":"3458:42:31"},"nodeType":"YulExpressionStatement","src":"3458:42:31"},{"nodeType":"YulAssignment","src":"3517:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3531:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"3539:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3527:3:31"},"nodeType":"YulFunctionCall","src":"3527:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3517:6:31"}]},{"nodeType":"YulAssignment","src":"3558:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3575:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3586:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3571:3:31"},"nodeType":"YulFunctionCall","src":"3571:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3558:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3387:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"3390:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3384:2:31"},"nodeType":"YulFunctionCall","src":"3384:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3399:28:31","statements":[{"nodeType":"YulAssignment","src":"3401:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3410:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3413:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3406:3:31"},"nodeType":"YulFunctionCall","src":"3406:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3401:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"3380:3:31","statements":[]},"src":"3376:236:31"},{"body":{"nodeType":"YulBlock","src":"3660:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3678:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3705:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"3710:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3701:3:31"},"nodeType":"YulFunctionCall","src":"3701:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3695:5:31"},"nodeType":"YulFunctionCall","src":"3695:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"3682:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3745:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"3757:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3784:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"3787:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3780:3:31"},"nodeType":"YulFunctionCall","src":"3780:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"3796:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3776:3:31"},"nodeType":"YulFunctionCall","src":"3776:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3806:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3802:3:31"},"nodeType":"YulFunctionCall","src":"3802:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"3772:3:31"},"nodeType":"YulFunctionCall","src":"3772:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3768:3:31"},"nodeType":"YulFunctionCall","src":"3768:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3753:3:31"},"nodeType":"YulFunctionCall","src":"3753:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3738:6:31"},"nodeType":"YulFunctionCall","src":"3738:74:31"},"nodeType":"YulExpressionStatement","src":"3738:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"3631:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"3640:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3628:2:31"},"nodeType":"YulFunctionCall","src":"3628:19:31"},"nodeType":"YulIf","src":"3625:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3846:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3860:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"3863:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3856:3:31"},"nodeType":"YulFunctionCall","src":"3856:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"3872:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3852:3:31"},"nodeType":"YulFunctionCall","src":"3852:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3839:6:31"},"nodeType":"YulFunctionCall","src":"3839:36:31"},"nodeType":"YulExpressionStatement","src":"3839:36:31"}]},"nodeType":"YulCase","src":"3222:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3227:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"3902:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3916:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"3929:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3920:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"3965:67:31","statements":[{"nodeType":"YulAssignment","src":"3983:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4002:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"4007:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3998:3:31"},"nodeType":"YulFunctionCall","src":"3998:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3992:5:31"},"nodeType":"YulFunctionCall","src":"3992:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3983:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"3946:6:31"},"nodeType":"YulIf","src":"3943:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"4052:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4111:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"4118:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"4058:52:31"},"nodeType":"YulFunctionCall","src":"4058:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"4045:6:31"},"nodeType":"YulFunctionCall","src":"4045:81:31"},"nodeType":"YulExpressionStatement","src":"4045:81:31"}]},"nodeType":"YulCase","src":"3894:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"3202:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"3210:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3199:2:31"},"nodeType":"YulFunctionCall","src":"3199:14:31"},"nodeType":"YulSwitch","src":"3192:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"2871:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"2877:3:31","type":""}],"src":"2790:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n mstore(add(add(memPtr, _1), _4), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060405162000d0838038062000d0883398101604081905262000034916200012c565b600362000042838262000225565b50600462000051828262000225565b50506005805460ff1916601217905550620002f1565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008f57600080fd5b81516001600160401b0380821115620000ac57620000ac62000067565b604051601f8301601f19908116603f01168101908282118183101715620000d757620000d762000067565b81604052838152602092508683858801011115620000f457600080fd5b600091505b83821015620001185785820183015181830184015290820190620000f9565b600093810190920192909252949350505050565b600080604083850312156200014057600080fd5b82516001600160401b03808211156200015857600080fd5b62000166868387016200007d565b935060208501519150808211156200017d57600080fd5b506200018c858286016200007d565b9150509250929050565b600181811c90821680620001ab57607f821691505b602082108103620001cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022057600081815260208120601f850160051c81016020861015620001fb5750805b601f850160051c820191505b818110156200021c5782815560010162000207565b5050505b505050565b81516001600160401b0381111562000241576200024162000067565b620002598162000252845462000196565b84620001d2565b602080601f831160018114620002915760008415620002785750858301515b600019600386901b1c1916600185901b1785556200021c565b600085815260208120601f198616915b82811015620002c257888601518255948401946001909101908401620002a1565b5085821015620002e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610a0780620003016000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80634e6ec247116100715780634e6ec2471461014757806370a082311461015c57806395d89b4114610185578063a457c2d71461018d578063a9059cbb146101a0578063dd62ed3e146101b357600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f5780633950935114610134575b600080fd5b6100c16101ec565b6040516100ce91906107ca565b60405180910390f35b6100ea6100e5366004610834565b61027e565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a36600461085e565b610295565b60055460405160ff90911681526020016100ce565b6100ea610142366004610834565b6102fe565b61015a610155366004610834565b610334565b005b6100fe61016a36600461089a565b6001600160a01b031660009081526020819052604090205490565b6100c1610417565b6100ea61019b366004610834565b610426565b6100ea6101ae366004610834565b610475565b6100fe6101c13660046108b5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101fb906108e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610227906108e8565b80156102745780601f1061024957610100808354040283529160200191610274565b820191906000526020600020905b81548152906001019060200180831161025757829003601f168201915b5050505050905090565b600061028b338484610482565b5060015b92915050565b60006102a28484846105a7565b6102f484336102ef85604051806060016040528060288152602001610985602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061072a565b610482565b5060019392505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161028b9185906102ef9086610764565b6001600160a01b03821661038f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b60025461039c9082610764565b6002556001600160a01b0382166000908152602081905260409020546103c29082610764565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6060600480546101fb906108e8565b600061028b33846102ef856040518060600160405280602581526020016109ad602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061072a565b600061028b3384846105a7565b6001600160a01b0383166104e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610386565b6001600160a01b0382166105455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610386565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661060b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610386565b6001600160a01b03821661066d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610386565b6106aa8160405180606001604052806026815260200161095f602691396001600160a01b038616600090815260208190526040902054919061072a565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106d99082610764565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161059a565b6000818484111561074e5760405162461bcd60e51b815260040161038691906107ca565b50600061075b8486610938565b95945050505050565b600080610771838561094b565b9050838110156107c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610386565b9392505050565b600060208083528351808285015260005b818110156107f7578581018301518582016040015282016107db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082f57600080fd5b919050565b6000806040838503121561084757600080fd5b61085083610818565b946020939093013593505050565b60008060006060848603121561087357600080fd5b61087c84610818565b925061088a60208501610818565b9150604084013590509250925092565b6000602082840312156108ac57600080fd5b6107c382610818565b600080604083850312156108c857600080fd5b6108d183610818565b91506108df60208401610818565b90509250929050565b600181811c908216806108fc57607f821691505b60208210810361091c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f610922565b8082018082111561028f5761028f61092256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208098355556e06117134b1244f355d02195dd43058369f2ab5f33ef72720cd90064736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xD08 CODESIZE SUB DUP1 PUSH3 0xD08 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x12C JUMP JUMPDEST PUSH1 0x3 PUSH3 0x42 DUP4 DUP3 PUSH3 0x225 JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x51 DUP3 DUP3 PUSH3 0x225 JUMP JUMPDEST POP POP PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x12 OR SWAP1 SSTORE POP PUSH3 0x2F1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0xAC JUMPI PUSH3 0xAC PUSH3 0x67 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xD7 JUMPI PUSH3 0xD7 PUSH3 0x67 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x118 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xF9 JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP2 ADD SWAP1 SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x166 DUP7 DUP4 DUP8 ADD PUSH3 0x7D JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x17D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x18C DUP6 DUP3 DUP7 ADD PUSH3 0x7D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x1AB JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1CC JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x220 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1FB JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x21C JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x207 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x241 JUMPI PUSH3 0x241 PUSH3 0x67 JUMP JUMPDEST PUSH3 0x259 DUP2 PUSH3 0x252 DUP5 SLOAD PUSH3 0x196 JUMP JUMPDEST DUP5 PUSH3 0x1D2 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x291 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x278 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x21C JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2C2 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x2A1 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2E1 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0xA07 DUP1 PUSH3 0x301 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E6EC247 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x4E6EC247 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x134 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x1EC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x7CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x27E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0xEA PUSH2 0x11A CALLDATASIZE PUSH1 0x4 PUSH2 0x85E JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0xEA PUSH2 0x142 CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x2FE JUMP JUMPDEST PUSH2 0x15A PUSH2 0x155 CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x334 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFE PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x89A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x417 JUMP JUMPDEST PUSH2 0xEA PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x426 JUMP JUMPDEST PUSH2 0xEA PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x475 JUMP JUMPDEST PUSH2 0xFE PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x8B5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1FB SWAP1 PUSH2 0x8E8 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x227 SWAP1 PUSH2 0x8E8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x274 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x249 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x274 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x257 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28B CALLER DUP5 DUP5 PUSH2 0x482 JUMP JUMPDEST POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A2 DUP5 DUP5 DUP5 PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2F4 DUP5 CALLER PUSH2 0x2EF DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x985 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x72A JUMP JUMPDEST PUSH2 0x482 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x28B SWAP2 DUP6 SWAP1 PUSH2 0x2EF SWAP1 DUP7 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x38F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x39C SWAP1 DUP3 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x3C2 SWAP1 DUP3 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE SWAP3 MLOAD DUP5 DUP2 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1FB SWAP1 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28B CALLER DUP5 PUSH2 0x2EF DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x9AD PUSH1 0x25 SWAP2 CODECOPY CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP14 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x72A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28B CALLER DUP5 DUP5 PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x545 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x60B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x66D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH2 0x6AA DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x95F PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x72A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x6D9 SWAP1 DUP3 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE MLOAD DUP5 DUP2 MSTORE SWAP1 SWAP3 SWAP2 DUP7 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x59A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP5 GT ISZERO PUSH2 0x74E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x386 SWAP2 SWAP1 PUSH2 0x7CA JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x75B DUP5 DUP7 PUSH2 0x938 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x771 DUP4 DUP6 PUSH2 0x94B JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x386 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7F7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x7DB JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x847 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x850 DUP4 PUSH2 0x818 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x873 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87C DUP5 PUSH2 0x818 JUMP JUMPDEST SWAP3 POP PUSH2 0x88A PUSH1 0x20 DUP6 ADD PUSH2 0x818 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7C3 DUP3 PUSH2 0x818 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8D1 DUP4 PUSH2 0x818 JUMP JUMPDEST SWAP2 POP PUSH2 0x8DF PUSH1 0x20 DUP5 ADD PUSH2 0x818 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x8FC JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x91C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x922 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x922 JUMP INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220616D6F756E7420657863656564 PUSH20 0x2062616C616E636545524332303A207472616E73 PUSH7 0x657220616D6F75 PUSH15 0x74206578636565647320616C6C6F77 PUSH2 0x6E63 PUSH6 0x45524332303A KECCAK256 PUSH5 0x6563726561 PUSH20 0x656420616C6C6F77616E63652062656C6F77207A PUSH6 0x726FA2646970 PUSH7 0x73582212208098 CALLDATALOAD SSTORE JUMP 0xE0 PUSH2 0x1713 0x4B SLT PREVRANDAO RETURN SSTORE 0xD0 0x21 SWAP6 0xDD NUMBER SDIV DUP4 PUSH10 0xF2AB5F33EF72720CD900 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"16326:9744:29:-:0;;;16994:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17063:5;:14;17071:6;17063:5;:14;:::i;:::-;-1:-1:-1;17087:7:29;:18;17097:8;17087:7;:18;:::i;:::-;-1:-1:-1;;17115:9:29;:14;;-1:-1:-1;;17115:14:29;17127:2;17115:14;;;-1:-1:-1;16326:9744:29;;14:127:31;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:31;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:31;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:31:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:31;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:31;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:31;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:31;;;3992:26;3943:89;-1:-1:-1;;2747:1:31;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:31;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:31;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:31;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:31:o;:::-;16326:9744:29;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_approve_11673":{"entryPoint":1154,"id":11673,"parameterSlots":3,"returnSlots":0},"@_beforeTokenTransfer_11695":{"entryPoint":null,"id":11695,"parameterSlots":3,"returnSlots":0},"@_mint_11572":{"entryPoint":820,"id":11572,"parameterSlots":2,"returnSlots":0},"@_msgSender_10677":{"entryPoint":null,"id":10677,"parameterSlots":0,"returnSlots":1},"@_transfer_11517":{"entryPoint":1447,"id":11517,"parameterSlots":3,"returnSlots":0},"@add_10794":{"entryPoint":1892,"id":10794,"parameterSlots":2,"returnSlots":1},"@allowance_11335":{"entryPoint":null,"id":11335,"parameterSlots":2,"returnSlots":1},"@approve_11356":{"entryPoint":638,"id":11356,"parameterSlots":2,"returnSlots":1},"@balanceOf_11296":{"entryPoint":null,"id":11296,"parameterSlots":1,"returnSlots":1},"@decimals_11262":{"entryPoint":null,"id":11262,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_11451":{"entryPoint":1062,"id":11451,"parameterSlots":2,"returnSlots":1},"@increaseAllowance_11422":{"entryPoint":766,"id":11422,"parameterSlots":2,"returnSlots":1},"@name_11224":{"entryPoint":492,"id":11224,"parameterSlots":0,"returnSlots":1},"@sub_10839":{"entryPoint":1834,"id":10839,"parameterSlots":3,"returnSlots":1},"@symbol_11243":{"entryPoint":1047,"id":11243,"parameterSlots":0,"returnSlots":1},"@totalSupply_11282":{"entryPoint":null,"id":11282,"parameterSlots":0,"returnSlots":1},"@transferFrom_11394":{"entryPoint":661,"id":11394,"parameterSlots":3,"returnSlots":1},"@transfer_11317":{"entryPoint":1141,"id":11317,"parameterSlots":2,"returnSlots":1},"abi_decode_address":{"entryPoint":2072,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":2202,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":2229,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":2142,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":2100,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1994,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":2379,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":2360,"id":null,"parameterSlots":2,"returnSlots":1},"extract_byte_array_length":{"entryPoint":2280,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":2338,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5467:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"135:427:31","statements":[{"nodeType":"YulVariableDeclaration","src":"145:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"155:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"149:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"173:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"184:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"166:6:31"},"nodeType":"YulFunctionCall","src":"166:21:31"},"nodeType":"YulExpressionStatement","src":"166:21:31"},{"nodeType":"YulVariableDeclaration","src":"196:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"216:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"210:5:31"},"nodeType":"YulFunctionCall","src":"210:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"200:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"243:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"254:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"239:3:31"},"nodeType":"YulFunctionCall","src":"239:18:31"},{"name":"length","nodeType":"YulIdentifier","src":"259:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"232:6:31"},"nodeType":"YulFunctionCall","src":"232:34:31"},"nodeType":"YulExpressionStatement","src":"232:34:31"},{"nodeType":"YulVariableDeclaration","src":"275:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"284:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"279:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"344:90:31","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"373:9:31"},{"name":"i","nodeType":"YulIdentifier","src":"384:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"369:3:31"},"nodeType":"YulFunctionCall","src":"369:17:31"},{"kind":"number","nodeType":"YulLiteral","src":"388:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:31"},"nodeType":"YulFunctionCall","src":"365:26:31"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"407:6:31"},{"name":"i","nodeType":"YulIdentifier","src":"415:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:31"},"nodeType":"YulFunctionCall","src":"403:14:31"},{"name":"_1","nodeType":"YulIdentifier","src":"419:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"399:3:31"},"nodeType":"YulFunctionCall","src":"399:23:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"393:5:31"},"nodeType":"YulFunctionCall","src":"393:30:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"358:6:31"},"nodeType":"YulFunctionCall","src":"358:66:31"},"nodeType":"YulExpressionStatement","src":"358:66:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"305:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"308:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"302:2:31"},"nodeType":"YulFunctionCall","src":"302:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"316:19:31","statements":[{"nodeType":"YulAssignment","src":"318:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"327:1:31"},{"name":"_1","nodeType":"YulIdentifier","src":"330:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"323:3:31"},"nodeType":"YulFunctionCall","src":"323:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"318:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"298:3:31","statements":[]},"src":"294:140:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"458:9:31"},{"name":"length","nodeType":"YulIdentifier","src":"469:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"454:3:31"},"nodeType":"YulFunctionCall","src":"454:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"478:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"450:3:31"},"nodeType":"YulFunctionCall","src":"450:31:31"},{"kind":"number","nodeType":"YulLiteral","src":"483:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"443:6:31"},"nodeType":"YulFunctionCall","src":"443:42:31"},"nodeType":"YulExpressionStatement","src":"443:42:31"},{"nodeType":"YulAssignment","src":"494:62:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"510:9:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"529:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"537:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"525:3:31"},"nodeType":"YulFunctionCall","src":"525:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"546:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"542:3:31"},"nodeType":"YulFunctionCall","src":"542:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"521:3:31"},"nodeType":"YulFunctionCall","src":"521:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"506:3:31"},"nodeType":"YulFunctionCall","src":"506:45:31"},{"kind":"number","nodeType":"YulLiteral","src":"553:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"502:3:31"},"nodeType":"YulFunctionCall","src":"502:54:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"494:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"104:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"115:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"126:4:31","type":""}],"src":"14:548:31"},{"body":{"nodeType":"YulBlock","src":"616:124:31","statements":[{"nodeType":"YulAssignment","src":"626:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"648:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"635:12:31"},"nodeType":"YulFunctionCall","src":"635:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"626:5:31"}]},{"body":{"nodeType":"YulBlock","src":"718:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"727:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"730:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"720:6:31"},"nodeType":"YulFunctionCall","src":"720:12:31"},"nodeType":"YulExpressionStatement","src":"720:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"677:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"688:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"703:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"708:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"699:3:31"},"nodeType":"YulFunctionCall","src":"699:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"712:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"695:3:31"},"nodeType":"YulFunctionCall","src":"695:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"684:3:31"},"nodeType":"YulFunctionCall","src":"684:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"674:2:31"},"nodeType":"YulFunctionCall","src":"674:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"667:6:31"},"nodeType":"YulFunctionCall","src":"667:50:31"},"nodeType":"YulIf","src":"664:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"595:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"606:5:31","type":""}],"src":"567:173:31"},{"body":{"nodeType":"YulBlock","src":"832:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"878:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"887:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"890:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"880:6:31"},"nodeType":"YulFunctionCall","src":"880:12:31"},"nodeType":"YulExpressionStatement","src":"880:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"853:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"862:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"849:3:31"},"nodeType":"YulFunctionCall","src":"849:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"874:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"845:3:31"},"nodeType":"YulFunctionCall","src":"845:32:31"},"nodeType":"YulIf","src":"842:52:31"},{"nodeType":"YulAssignment","src":"903:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"932:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"913:18:31"},"nodeType":"YulFunctionCall","src":"913:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"903:6:31"}]},{"nodeType":"YulAssignment","src":"951:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"978:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"989:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"974:3:31"},"nodeType":"YulFunctionCall","src":"974:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"961:12:31"},"nodeType":"YulFunctionCall","src":"961:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"951:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"790:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"801:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"813:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"821:6:31","type":""}],"src":"745:254:31"},{"body":{"nodeType":"YulBlock","src":"1099:92:31","statements":[{"nodeType":"YulAssignment","src":"1109:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1121:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1132:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1117:3:31"},"nodeType":"YulFunctionCall","src":"1117:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1109:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1151:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1176:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1169:6:31"},"nodeType":"YulFunctionCall","src":"1169:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1162:6:31"},"nodeType":"YulFunctionCall","src":"1162:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1144:6:31"},"nodeType":"YulFunctionCall","src":"1144:41:31"},"nodeType":"YulExpressionStatement","src":"1144:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1068:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1079:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1090:4:31","type":""}],"src":"1004:187:31"},{"body":{"nodeType":"YulBlock","src":"1297:76:31","statements":[{"nodeType":"YulAssignment","src":"1307:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1319:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1330:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1315:3:31"},"nodeType":"YulFunctionCall","src":"1315:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1307:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1349:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"1360:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1342:6:31"},"nodeType":"YulFunctionCall","src":"1342:25:31"},"nodeType":"YulExpressionStatement","src":"1342:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1266:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1277:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1288:4:31","type":""}],"src":"1196:177:31"},{"body":{"nodeType":"YulBlock","src":"1482:224:31","statements":[{"body":{"nodeType":"YulBlock","src":"1528:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1537:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1540:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1530:6:31"},"nodeType":"YulFunctionCall","src":"1530:12:31"},"nodeType":"YulExpressionStatement","src":"1530:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1503:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1499:3:31"},"nodeType":"YulFunctionCall","src":"1499:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1524:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1495:3:31"},"nodeType":"YulFunctionCall","src":"1495:32:31"},"nodeType":"YulIf","src":"1492:52:31"},{"nodeType":"YulAssignment","src":"1553:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1582:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1563:18:31"},"nodeType":"YulFunctionCall","src":"1563:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1553:6:31"}]},{"nodeType":"YulAssignment","src":"1601:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1634:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1645:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1630:3:31"},"nodeType":"YulFunctionCall","src":"1630:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1611:18:31"},"nodeType":"YulFunctionCall","src":"1611:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1601:6:31"}]},{"nodeType":"YulAssignment","src":"1658:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1685:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1696:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1681:3:31"},"nodeType":"YulFunctionCall","src":"1681:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1668:12:31"},"nodeType":"YulFunctionCall","src":"1668:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1658:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1432:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1443:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1455:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1463:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1471:6:31","type":""}],"src":"1378:328:31"},{"body":{"nodeType":"YulBlock","src":"1808:87:31","statements":[{"nodeType":"YulAssignment","src":"1818:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1830:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1841:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1826:3:31"},"nodeType":"YulFunctionCall","src":"1826:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1818:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1860:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1875:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1883:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1871:3:31"},"nodeType":"YulFunctionCall","src":"1871:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1853:6:31"},"nodeType":"YulFunctionCall","src":"1853:36:31"},"nodeType":"YulExpressionStatement","src":"1853:36:31"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1777:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1788:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1799:4:31","type":""}],"src":"1711:184:31"},{"body":{"nodeType":"YulBlock","src":"1970:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"2016:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2025:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2028:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2018:6:31"},"nodeType":"YulFunctionCall","src":"2018:12:31"},"nodeType":"YulExpressionStatement","src":"2018:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1991:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2000:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1987:3:31"},"nodeType":"YulFunctionCall","src":"1987:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2012:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1983:3:31"},"nodeType":"YulFunctionCall","src":"1983:32:31"},"nodeType":"YulIf","src":"1980:52:31"},{"nodeType":"YulAssignment","src":"2041:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2070:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2051:18:31"},"nodeType":"YulFunctionCall","src":"2051:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2041:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1936:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1947:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1959:6:31","type":""}],"src":"1900:186:31"},{"body":{"nodeType":"YulBlock","src":"2178:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"2224:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2233:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2236:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2226:6:31"},"nodeType":"YulFunctionCall","src":"2226:12:31"},"nodeType":"YulExpressionStatement","src":"2226:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2199:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2208:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2195:3:31"},"nodeType":"YulFunctionCall","src":"2195:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2220:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2191:3:31"},"nodeType":"YulFunctionCall","src":"2191:32:31"},"nodeType":"YulIf","src":"2188:52:31"},{"nodeType":"YulAssignment","src":"2249:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2278:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2259:18:31"},"nodeType":"YulFunctionCall","src":"2259:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2249:6:31"}]},{"nodeType":"YulAssignment","src":"2297:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2330:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2341:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2326:3:31"},"nodeType":"YulFunctionCall","src":"2326:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2307:18:31"},"nodeType":"YulFunctionCall","src":"2307:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2297:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2136:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2147:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2159:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2167:6:31","type":""}],"src":"2091:260:31"},{"body":{"nodeType":"YulBlock","src":"2411:325:31","statements":[{"nodeType":"YulAssignment","src":"2421:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2435:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"2438:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2431:3:31"},"nodeType":"YulFunctionCall","src":"2431:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2421:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"2452:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2482:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"2488:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2478:3:31"},"nodeType":"YulFunctionCall","src":"2478:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"2456:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2529:31:31","statements":[{"nodeType":"YulAssignment","src":"2531:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2545:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2553:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2541:3:31"},"nodeType":"YulFunctionCall","src":"2541:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"2531:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2509:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2502:6:31"},"nodeType":"YulFunctionCall","src":"2502:26:31"},"nodeType":"YulIf","src":"2499:61:31"},{"body":{"nodeType":"YulBlock","src":"2619:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2640:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2647:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2652:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2643:3:31"},"nodeType":"YulFunctionCall","src":"2643:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2633:6:31"},"nodeType":"YulFunctionCall","src":"2633:31:31"},"nodeType":"YulExpressionStatement","src":"2633:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2684:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2687:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2677:6:31"},"nodeType":"YulFunctionCall","src":"2677:15:31"},"nodeType":"YulExpressionStatement","src":"2677:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2712:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2715:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2705:6:31"},"nodeType":"YulFunctionCall","src":"2705:15:31"},"nodeType":"YulExpressionStatement","src":"2705:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"2575:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2598:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2606:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2595:2:31"},"nodeType":"YulFunctionCall","src":"2595:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2572:2:31"},"nodeType":"YulFunctionCall","src":"2572:38:31"},"nodeType":"YulIf","src":"2569:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2391:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"2400:6:31","type":""}],"src":"2356:380:31"},{"body":{"nodeType":"YulBlock","src":"2915:181:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2932:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2943:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2925:6:31"},"nodeType":"YulFunctionCall","src":"2925:21:31"},"nodeType":"YulExpressionStatement","src":"2925:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2966:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2977:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2962:3:31"},"nodeType":"YulFunctionCall","src":"2962:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"2982:2:31","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2955:6:31"},"nodeType":"YulFunctionCall","src":"2955:30:31"},"nodeType":"YulExpressionStatement","src":"2955:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3005:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3016:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3001:3:31"},"nodeType":"YulFunctionCall","src":"3001:18:31"},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"3021:33:31","type":"","value":"ERC20: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2994:6:31"},"nodeType":"YulFunctionCall","src":"2994:61:31"},"nodeType":"YulExpressionStatement","src":"2994:61:31"},{"nodeType":"YulAssignment","src":"3064:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3076:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3087:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3072:3:31"},"nodeType":"YulFunctionCall","src":"3072:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3064:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2892:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2906:4:31","type":""}],"src":"2741:355:31"},{"body":{"nodeType":"YulBlock","src":"3275:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3292:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3303:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3285:6:31"},"nodeType":"YulFunctionCall","src":"3285:21:31"},"nodeType":"YulExpressionStatement","src":"3285:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3326:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3337:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3322:3:31"},"nodeType":"YulFunctionCall","src":"3322:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3342:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3315:6:31"},"nodeType":"YulFunctionCall","src":"3315:30:31"},"nodeType":"YulExpressionStatement","src":"3315:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3365:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3376:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3361:3:31"},"nodeType":"YulFunctionCall","src":"3361:18:31"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"3381:34:31","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3354:6:31"},"nodeType":"YulFunctionCall","src":"3354:62:31"},"nodeType":"YulExpressionStatement","src":"3354:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3436:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3447:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3432:3:31"},"nodeType":"YulFunctionCall","src":"3432:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"3452:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3425:6:31"},"nodeType":"YulFunctionCall","src":"3425:34:31"},"nodeType":"YulExpressionStatement","src":"3425:34:31"},{"nodeType":"YulAssignment","src":"3468:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3480:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3491:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3476:3:31"},"nodeType":"YulFunctionCall","src":"3476:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3468:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3252:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3266:4:31","type":""}],"src":"3101:400:31"},{"body":{"nodeType":"YulBlock","src":"3680:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3697:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3708:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3690:6:31"},"nodeType":"YulFunctionCall","src":"3690:21:31"},"nodeType":"YulExpressionStatement","src":"3690:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3731:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3742:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3727:3:31"},"nodeType":"YulFunctionCall","src":"3727:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3747:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3720:6:31"},"nodeType":"YulFunctionCall","src":"3720:30:31"},"nodeType":"YulExpressionStatement","src":"3720:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3770:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3781:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3766:3:31"},"nodeType":"YulFunctionCall","src":"3766:18:31"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"3786:34:31","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3759:6:31"},"nodeType":"YulFunctionCall","src":"3759:62:31"},"nodeType":"YulExpressionStatement","src":"3759:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3841:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3852:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3837:3:31"},"nodeType":"YulFunctionCall","src":"3837:18:31"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"3857:4:31","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3830:6:31"},"nodeType":"YulFunctionCall","src":"3830:32:31"},"nodeType":"YulExpressionStatement","src":"3830:32:31"},{"nodeType":"YulAssignment","src":"3871:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3883:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3894:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3879:3:31"},"nodeType":"YulFunctionCall","src":"3879:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3871:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3657:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3671:4:31","type":""}],"src":"3506:398:31"},{"body":{"nodeType":"YulBlock","src":"4083:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4100:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4111:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4093:6:31"},"nodeType":"YulFunctionCall","src":"4093:21:31"},"nodeType":"YulExpressionStatement","src":"4093:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4134:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4145:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4130:3:31"},"nodeType":"YulFunctionCall","src":"4130:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4150:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4123:6:31"},"nodeType":"YulFunctionCall","src":"4123:30:31"},"nodeType":"YulExpressionStatement","src":"4123:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4173:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4184:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4169:3:31"},"nodeType":"YulFunctionCall","src":"4169:18:31"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"4189:34:31","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4162:6:31"},"nodeType":"YulFunctionCall","src":"4162:62:31"},"nodeType":"YulExpressionStatement","src":"4162:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4244:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4255:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4240:3:31"},"nodeType":"YulFunctionCall","src":"4240:18:31"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"4260:7:31","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4233:6:31"},"nodeType":"YulFunctionCall","src":"4233:35:31"},"nodeType":"YulExpressionStatement","src":"4233:35:31"},{"nodeType":"YulAssignment","src":"4277:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4289:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4300:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4285:3:31"},"nodeType":"YulFunctionCall","src":"4285:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4277:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4060:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4074:4:31","type":""}],"src":"3909:401:31"},{"body":{"nodeType":"YulBlock","src":"4489:225:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4506:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4517:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4499:6:31"},"nodeType":"YulFunctionCall","src":"4499:21:31"},"nodeType":"YulExpressionStatement","src":"4499:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4540:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4551:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4536:3:31"},"nodeType":"YulFunctionCall","src":"4536:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4556:2:31","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4529:6:31"},"nodeType":"YulFunctionCall","src":"4529:30:31"},"nodeType":"YulExpressionStatement","src":"4529:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4579:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4590:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4575:3:31"},"nodeType":"YulFunctionCall","src":"4575:18:31"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"4595:34:31","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4568:6:31"},"nodeType":"YulFunctionCall","src":"4568:62:31"},"nodeType":"YulExpressionStatement","src":"4568:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4650:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4661:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4646:3:31"},"nodeType":"YulFunctionCall","src":"4646:18:31"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"4666:5:31","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4639:6:31"},"nodeType":"YulFunctionCall","src":"4639:33:31"},"nodeType":"YulExpressionStatement","src":"4639:33:31"},{"nodeType":"YulAssignment","src":"4681:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4693:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4704:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4689:3:31"},"nodeType":"YulFunctionCall","src":"4689:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4681:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4466:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4480:4:31","type":""}],"src":"4315:399:31"},{"body":{"nodeType":"YulBlock","src":"4751:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4768:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4775:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4780:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4771:3:31"},"nodeType":"YulFunctionCall","src":"4771:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4761:6:31"},"nodeType":"YulFunctionCall","src":"4761:31:31"},"nodeType":"YulExpressionStatement","src":"4761:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4808:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4811:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4801:6:31"},"nodeType":"YulFunctionCall","src":"4801:15:31"},"nodeType":"YulExpressionStatement","src":"4801:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4832:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4835:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4825:6:31"},"nodeType":"YulFunctionCall","src":"4825:15:31"},"nodeType":"YulExpressionStatement","src":"4825:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"4719:127:31"},{"body":{"nodeType":"YulBlock","src":"4900:79:31","statements":[{"nodeType":"YulAssignment","src":"4910:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4922:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"4925:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4918:3:31"},"nodeType":"YulFunctionCall","src":"4918:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"4910:4:31"}]},{"body":{"nodeType":"YulBlock","src":"4951:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4953:16:31"},"nodeType":"YulFunctionCall","src":"4953:18:31"},"nodeType":"YulExpressionStatement","src":"4953:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"4942:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"4948:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4939:2:31"},"nodeType":"YulFunctionCall","src":"4939:11:31"},"nodeType":"YulIf","src":"4936:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4882:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"4885:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"4891:4:31","type":""}],"src":"4851:128:31"},{"body":{"nodeType":"YulBlock","src":"5032:77:31","statements":[{"nodeType":"YulAssignment","src":"5042:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5053:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"5056:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5049:3:31"},"nodeType":"YulFunctionCall","src":"5049:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5042:3:31"}]},{"body":{"nodeType":"YulBlock","src":"5081:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5083:16:31"},"nodeType":"YulFunctionCall","src":"5083:18:31"},"nodeType":"YulExpressionStatement","src":"5083:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5073:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"5076:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5070:2:31"},"nodeType":"YulFunctionCall","src":"5070:10:31"},"nodeType":"YulIf","src":"5067:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5015:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"5018:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5024:3:31","type":""}],"src":"4984:125:31"},{"body":{"nodeType":"YulBlock","src":"5288:177:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5305:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5316:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5298:6:31"},"nodeType":"YulFunctionCall","src":"5298:21:31"},"nodeType":"YulExpressionStatement","src":"5298:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5339:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5350:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5335:3:31"},"nodeType":"YulFunctionCall","src":"5335:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"5355:2:31","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5328:6:31"},"nodeType":"YulFunctionCall","src":"5328:30:31"},"nodeType":"YulExpressionStatement","src":"5328:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5378:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5389:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5374:3:31"},"nodeType":"YulFunctionCall","src":"5374:18:31"},{"hexValue":"536166654d6174683a206164646974696f6e206f766572666c6f77","kind":"string","nodeType":"YulLiteral","src":"5394:29:31","type":"","value":"SafeMath: addition overflow"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5367:6:31"},"nodeType":"YulFunctionCall","src":"5367:57:31"},"nodeType":"YulExpressionStatement","src":"5367:57:31"},{"nodeType":"YulAssignment","src":"5433:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5445:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5456:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5441:3:31"},"nodeType":"YulFunctionCall","src":"5441:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5433:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5265:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5279:4:31","type":""}],"src":"5114:351:31"}]},"contents":"{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"SafeMath: addition overflow\")\n tail := add(headStart, 96)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100b45760003560e01c80634e6ec247116100715780634e6ec2471461014757806370a082311461015c57806395d89b4114610185578063a457c2d71461018d578063a9059cbb146101a0578063dd62ed3e146101b357600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f5780633950935114610134575b600080fd5b6100c16101ec565b6040516100ce91906107ca565b60405180910390f35b6100ea6100e5366004610834565b61027e565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a36600461085e565b610295565b60055460405160ff90911681526020016100ce565b6100ea610142366004610834565b6102fe565b61015a610155366004610834565b610334565b005b6100fe61016a36600461089a565b6001600160a01b031660009081526020819052604090205490565b6100c1610417565b6100ea61019b366004610834565b610426565b6100ea6101ae366004610834565b610475565b6100fe6101c13660046108b5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101fb906108e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610227906108e8565b80156102745780601f1061024957610100808354040283529160200191610274565b820191906000526020600020905b81548152906001019060200180831161025757829003601f168201915b5050505050905090565b600061028b338484610482565b5060015b92915050565b60006102a28484846105a7565b6102f484336102ef85604051806060016040528060288152602001610985602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061072a565b610482565b5060019392505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161028b9185906102ef9086610764565b6001600160a01b03821661038f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b60025461039c9082610764565b6002556001600160a01b0382166000908152602081905260409020546103c29082610764565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6060600480546101fb906108e8565b600061028b33846102ef856040518060600160405280602581526020016109ad602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061072a565b600061028b3384846105a7565b6001600160a01b0383166104e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610386565b6001600160a01b0382166105455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610386565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661060b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610386565b6001600160a01b03821661066d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610386565b6106aa8160405180606001604052806026815260200161095f602691396001600160a01b038616600090815260208190526040902054919061072a565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106d99082610764565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161059a565b6000818484111561074e5760405162461bcd60e51b815260040161038691906107ca565b50600061075b8486610938565b95945050505050565b600080610771838561094b565b9050838110156107c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610386565b9392505050565b600060208083528351808285015260005b818110156107f7578581018301518582016040015282016107db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082f57600080fd5b919050565b6000806040838503121561084757600080fd5b61085083610818565b946020939093013593505050565b60008060006060848603121561087357600080fd5b61087c84610818565b925061088a60208501610818565b9150604084013590509250925092565b6000602082840312156108ac57600080fd5b6107c382610818565b600080604083850312156108c857600080fd5b6108d183610818565b91506108df60208401610818565b90509250929050565b600181811c908216806108fc57607f821691505b60208210810361091c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f610922565b8082018082111561028f5761028f61092256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208098355556e06117134b1244f355d02195dd43058369f2ab5f33ef72720cd90064736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E6EC247 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x4E6EC247 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x15C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x134 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x1EC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x7CA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x27E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0xEA PUSH2 0x11A CALLDATASIZE PUSH1 0x4 PUSH2 0x85E JUMP JUMPDEST PUSH2 0x295 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0xEA PUSH2 0x142 CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x2FE JUMP JUMPDEST PUSH2 0x15A PUSH2 0x155 CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x334 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xFE PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x89A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x417 JUMP JUMPDEST PUSH2 0xEA PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x426 JUMP JUMPDEST PUSH2 0xEA PUSH2 0x1AE CALLDATASIZE PUSH1 0x4 PUSH2 0x834 JUMP JUMPDEST PUSH2 0x475 JUMP JUMPDEST PUSH2 0xFE PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x8B5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1FB SWAP1 PUSH2 0x8E8 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x227 SWAP1 PUSH2 0x8E8 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x274 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x249 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x274 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x257 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28B CALLER DUP5 DUP5 PUSH2 0x482 JUMP JUMPDEST POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A2 DUP5 DUP5 DUP5 PUSH2 0x5A7 JUMP JUMPDEST PUSH2 0x2F4 DUP5 CALLER PUSH2 0x2EF DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x985 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x72A JUMP JUMPDEST PUSH2 0x482 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x28B SWAP2 DUP6 SWAP1 PUSH2 0x2EF SWAP1 DUP7 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x38F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD PUSH2 0x39C SWAP1 DUP3 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x3C2 SWAP1 DUP3 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE SWAP3 MLOAD DUP5 DUP2 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1FB SWAP1 PUSH2 0x8E8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28B CALLER DUP5 PUSH2 0x2EF DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x9AD PUSH1 0x25 SWAP2 CODECOPY CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP14 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x72A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28B CALLER DUP5 DUP5 PUSH2 0x5A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x4E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x545 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x60B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x66D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x386 JUMP JUMPDEST PUSH2 0x6AA DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x95F PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x72A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x6D9 SWAP1 DUP3 PUSH2 0x764 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE MLOAD DUP5 DUP2 MSTORE SWAP1 SWAP3 SWAP2 DUP7 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x59A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP5 GT ISZERO PUSH2 0x74E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x386 SWAP2 SWAP1 PUSH2 0x7CA JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x75B DUP5 DUP7 PUSH2 0x938 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x771 DUP4 DUP6 PUSH2 0x94B JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x7C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x386 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7F7 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x7DB JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x847 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x850 DUP4 PUSH2 0x818 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x873 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x87C DUP5 PUSH2 0x818 JUMP JUMPDEST SWAP3 POP PUSH2 0x88A PUSH1 0x20 DUP6 ADD PUSH2 0x818 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7C3 DUP3 PUSH2 0x818 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8D1 DUP4 PUSH2 0x818 JUMP JUMPDEST SWAP2 POP PUSH2 0x8DF PUSH1 0x20 DUP5 ADD PUSH2 0x818 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x8FC JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x91C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x922 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x28F JUMPI PUSH2 0x28F PUSH2 0x922 JUMP INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220616D6F756E7420657863656564 PUSH20 0x2062616C616E636545524332303A207472616E73 PUSH7 0x657220616D6F75 PUSH15 0x74206578636565647320616C6C6F77 PUSH2 0x6E63 PUSH6 0x45524332303A KECCAK256 PUSH5 0x6563726561 PUSH20 0x656420616C6C6F77616E63652062656C6F77207A PUSH6 0x726FA2646970 PUSH7 0x73582212208098 CALLDATALOAD SSTORE JUMP 0xE0 PUSH2 0x1713 0x4B SLT PREVRANDAO RETURN SSTORE 0xD0 0x21 SWAP6 0xDD NUMBER SDIV DUP4 PUSH10 0xF2AB5F33EF72720CD900 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"16326:9744:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19508:166;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:31;;1162:22;1144:41;;1132:2;1117:18;19508:166:29;1004:187:31;18515:98:29;18594:12;;18515:98;;;1342:25:31;;;1330:2;1315:18;18515:98:29;1196:177:31;20134:330:29;;;;;;:::i;:::-;;:::i;18281:81::-;18346:9;;18281:81;;18346:9;;;;1853:36:31;;1841:2;1826:18;18281:81:29;1711:184:31;20859:215:29;;;;;;:::i;:::-;;:::i;23115:369::-;;;;;;:::i;:::-;;:::i;:::-;;18671:117;;;;;;:::i;:::-;-1:-1:-1;;;;;18763:18:29;18737:7;18763:18;;;;;;;;;;;;18671:117;17480:85;;;:::i;21561:279::-;;;;;;:::i;:::-;;:::i;18991:172::-;;;;;;:::i;:::-;;:::i;19221:149::-;;;;;;:::i;:::-;-1:-1:-1;;;;;19336:18:29;;;19310:7;19336:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;19221:149;17201:81;17238:13;17270:5;17263:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:81;:::o;19508:166::-;19591:4;19607:39;693:10;19630:7;19639:6;19607:8;:39::i;:::-;-1:-1:-1;19663:4:29;19508:166;;;;;:::o;20134:330::-;20240:4;20256:36;20266:6;20274:9;20285:6;20256:9;:36::i;:::-;20302:134;20311:6;693:10;20333:102;20371:6;20333:102;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20333:19:29;;;;;;:11;:19;;;;;;;;693:10;20333:33;;;;;;;;;;:37;:102::i;:::-;20302:8;:134::i;:::-;-1:-1:-1;20453:4:29;20134:330;;;;;:::o;20859:215::-;693:10;20947:4;20995:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20995:34:29;;;;;;;;;;20947:4;;20963:83;;20986:7;;20995:50;;21034:10;20995:38;:50::i;23115:369::-;-1:-1:-1;;;;;23197:21:29;;23189:65;;;;-1:-1:-1;;;23189:65:29;;2943:2:31;23189:65:29;;;2925:21:31;2982:2;2962:18;;;2955:30;3021:33;3001:18;;;2994:61;3072:18;;23189:65:29;;;;;;;;;23340:12;;:24;;23357:6;23340:16;:24::i;:::-;23325:12;:39;-1:-1:-1;;;;;23395:18:29;;:9;:18;;;;;;;;;;;:30;;23418:6;23395:22;:30::i;:::-;-1:-1:-1;;;;;23374:18:29;;:9;:18;;;;;;;;;;;:51;;;;23440:37;;1342:25:31;;;23374:18:29;;:9;;23440:37;;1315:18:31;23440:37:29;;;;;;;23115:369;;:::o;17480:85::-;17519:13;17551:7;17544:14;;;;;:::i;21561:279::-;21654:4;21670:142;693:10;21693:7;21702:109;21741:15;21702:109;;;;;;;;;;;;;;;;;693:10;21702:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21702:34:29;;;;;;;;;;;;:38;:109::i;18991:172::-;19077:4;19093:42;693:10;19117:9;19128:6;19093:9;:42::i;24638:340::-;-1:-1:-1;;;;;24739:19:29;;24731:68;;;;-1:-1:-1;;;24731:68:29;;3303:2:31;24731:68:29;;;3285:21:31;3342:2;3322:18;;;3315:30;3381:34;3361:18;;;3354:62;-1:-1:-1;;;3432:18:31;;;3425:34;3476:19;;24731:68:29;3101:400:31;24731:68:29;-1:-1:-1;;;;;24817:21:29;;24809:68;;;;-1:-1:-1;;;24809:68:29;;3708:2:31;24809:68:29;;;3690:21:31;3747:2;3727:18;;;3720:30;3786:34;3766:18;;;3759:62;-1:-1:-1;;;3837:18:31;;;3830:32;3879:19;;24809:68:29;3506:398:31;24809:68:29;-1:-1:-1;;;;;24888:18:29;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;24939:32;;1342:25:31;;;24939:32:29;;1315:18:31;24939:32:29;;;;;;;;24638:340;;;:::o;22314:530::-;-1:-1:-1;;;;;22419:20:29;;22411:70;;;;-1:-1:-1;;;22411:70:29;;4111:2:31;22411:70:29;;;4093:21:31;4150:2;4130:18;;;4123:30;4189:34;4169:18;;;4162:62;-1:-1:-1;;;4240:18:31;;;4233:35;4285:19;;22411:70:29;3909:401:31;22411:70:29;-1:-1:-1;;;;;22499:23:29;;22491:71;;;;-1:-1:-1;;;22491:71:29;;4517:2:31;22491:71:29;;;4499:21:31;4556:2;4536:18;;;4529:30;4595:34;4575:18;;;4568:62;-1:-1:-1;;;4646:18:31;;;4639:33;4689:19;;22491:71:29;4315:399:31;22491:71:29;22651;22673:6;22651:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22651:17:29;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;22631:17:29;;;:9;:17;;;;;;;;;;;:91;;;;22755:20;;;;;;;:32;;22780:6;22755:24;:32::i;:::-;-1:-1:-1;;;;;22732:20:29;;;:9;:20;;;;;;;;;;;;:55;;;;22802:35;1342:25:31;;;22732:20:29;;22802:35;;;;;;1315:18:31;22802:35:29;1196:177:31;5473:187:29;5559:7;5594:12;5586:6;;;;5578:29;;;;-1:-1:-1;;;5578:29:29;;;;;;;;:::i;:::-;-1:-1:-1;5617:9:29;5629:5;5633:1;5629;:5;:::i;:::-;5617:17;5473:187;-1:-1:-1;;;;;5473:187:29:o;4601:176::-;4659:7;;4690:5;4694:1;4690;:5;:::i;:::-;4678:17;;4718:1;4713;:6;;4705:46;;;;-1:-1:-1;;;4705:46:29;;5316:2:31;4705:46:29;;;5298:21:31;5355:2;5335:18;;;5328:30;5394:29;5374:18;;;5367:57;5441:18;;4705:46:29;5114:351:31;4705:46:29;4769:1;4601:176;-1:-1:-1;;;4601:176:29:o;14:548:31:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:31;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:31:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;4719:127::-;4780:10;4775:3;4771:20;4768:1;4761:31;4811:4;4808:1;4801:15;4835:4;4832:1;4825:15;4851:128;4918:9;;;4939:11;;;4936:37;;;4953:18;;:::i;4984:125::-;5049:9;;;5070:10;;;5067:36;;;5083:18;;:::i"},"methodIdentifiers":{"_mint(address,uint256)":"4e6ec247","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"__name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"__symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"_mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"openzeppelin Implementation of the {IERC20} interface. Modified to add setters for name, symbol and decimals. This was needed because This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"_mint(address,uint256)\":{\"details\":\"Creates `amount` tokens and assigns them to `account`, increasing the total supply. Emits a {Transfer} event with `from` set to the zero address. Requirements - `to` cannot be the zero address. \"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. To select a different value for {decimals}, use {_setupDecimals}. All three of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` 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}; Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":11180,"contract":"contracts/testDai/TestDAI.v3.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":11186,"contract":"contracts/testDai/TestDAI.v3.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":11188,"contract":"contracts/testDai/TestDAI.v3.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":11190,"contract":"contracts/testDai/TestDAI.v3.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":11192,"contract":"contracts/testDai/TestDAI.v3.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"},{"astId":11194,"contract":"contracts/testDai/TestDAI.v3.sol:ERC20","label":"_decimals","offset":0,"slot":"5","type":"t_uint8"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}},"EnumerableSet":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122083d93bc05e783660ef6780c03c0499434d413b270ae596394de469a21ddb681a64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 0xD9 EXTCODESIZE 0xC0 0x5E PUSH25 0x3660EF6780C03C0499434D413B270AE596394DE469A21DDB68 BYTE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"26824:7098:29:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;26824:7098:29;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122083d93bc05e783660ef6780c03c0499434d413b270ae596394de469a21ddb681a64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 0xD9 EXTCODESIZE 0xC0 0x5E PUSH25 0x3660EF6780C03C0499434D413B270AE596394DE469A21DDB68 BYTE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"26824:7098:29:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` As of v3.0.0, only sets of type `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"EnumerableSet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IChildToken":{"abi":[{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes","name":"depositData","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"deposit(address,bytes)":"cf2c52cb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"depositData\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"IChildToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"Initializable":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60806040526000805460ff19169055348015601957600080fd5b50603f8060276000396000f3fe6080604052600080fdfea2646970667358221220029c0ee9872f011e39d3674c6d194add1b2123446bb854f67245e42794e0d91964736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH1 0x19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x27 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL SWAP13 0xE 0xE9 DUP8 0x2F ADD 0x1E CODECOPY 0xD3 PUSH8 0x4C6D194ADD1B2123 PREVRANDAO PUSH12 0xB854F67245E42794E0D91964 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"41957:165:29:-:0;;;42000:5;41986:19;;-1:-1:-1;;41986:19:29;;;41957:165;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea2646970667358221220029c0ee9872f011e39d3674c6d194add1b2123446bb854f67245e42794e0d91964736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL SWAP13 0xE 0xE9 DUP8 0x2F ADD 0x1E CODECOPY 0xD3 PUSH8 0x4C6D194ADD1B2123 PREVRANDAO PUSH12 0xB854F67245E42794E0D91964 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"41957:165:29:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"Initializable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":12452,"contract":"contracts/testDai/TestDAI.v3.sol:Initializable","label":"inited","offset":0,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}}},"NativeMetaTransaction":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address payable","name":"relayerAddress","type":"address"},{"indexed":false,"internalType":"bytes","name":"functionSignature","type":"bytes"}],"name":"MetaTransactionExecuted","type":"event"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bytes","name":"functionSignature","type":"bytes"},{"internalType":"bytes32","name":"sigR","type":"bytes32"},{"internalType":"bytes32","name":"sigS","type":"bytes32"},{"internalType":"uint8","name":"sigV","type":"uint8"}],"name":"executeMetaTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeperator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60806040526000805460ff1916905534801561001a57600080fd5b506107998061002a6000396000f3fe60806040526004361061003f5760003560e01c80630c53c51c1461004457806320379ee51461006d5780632d0335ab1461008c5780633408e470146100c2575b600080fd5b61005761005236600461050c565b6100d5565b6040516100649190610642565b60405180910390f35b34801561007957600080fd5b506001545b604051908152602001610064565b34801561009857600080fd5b5061007e6100a736600461065c565b6001600160a01b031660009081526002602052604090205490565b3480156100ce57600080fd5b504661007e565b60408051606081810183526001600160a01b0388166000818152600260209081529085902054845283015291810186905261011387828787876102c4565b61016e5760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600260205260409020546101929060016103b4565b6001600160a01b0388166000908152600260205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b906101e290899033908a90610677565b60405180910390a1600080306001600160a01b0316888a60405160200161020a9291906106ac565b60408051601f1981840301815290829052610224916106e3565b6000604051808303816000865af19150503d8060008114610261576040519150601f19603f3d011682016040523d82523d6000602084013e610266565b606091505b5091509150816102b85760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610165565b98975050505050505050565b60006001600160a01b03861661032a5760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610165565b600161033d6103388761041c565b610499565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa15801561038b573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806103c183856106ff565b9050838110156104135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610165565b90505b92915050565b6000604051806080016040528060438152602001610721604391398051602091820120835184830151604080870151805190860120905161047c950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006104a460015490565b60405161190160f01b602082015260228101919091526042810183905260620161047c565b80356001600160a01b03811681146104e057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146104e057600080fd5b600080600080600060a0868803121561052457600080fd5b61052d866104c9565b9450602086013567ffffffffffffffff8082111561054a57600080fd5b818801915088601f83011261055e57600080fd5b813581811115610570576105706104e5565b604051601f8201601f19908116603f01168101908382118183101715610598576105986104e5565b816040528281528b60208487010111156105b157600080fd5b82602086016020830137600060208483010152809850505050505060408601359250606086013591506105e6608087016104fb565b90509295509295909350565b60005b8381101561060d5781810151838201526020016105f5565b50506000910152565b6000815180845261062e8160208601602086016105f2565b601f01601f19169290920160200192915050565b6020815260006106556020830184610616565b9392505050565b60006020828403121561066e57600080fd5b610655826104c9565b6001600160a01b038481168252831660208201526060604082018190526000906106a390830184610616565b95945050505050565b600083516106be8184602088016105f2565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516106f58184602087016105f2565b9190910192915050565b8082018082111561041657634e487b7160e01b600052601160045260246000fdfe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a2646970667358221220c0ef7d9248999f2285eff1b86e454abed25b72d6cc6591610a4bbbe450aa744364736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x799 DUP1 PUSH2 0x2A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC53C51C EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x20379EE5 EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH2 0xC2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57 PUSH2 0x52 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C JUMP JUMPDEST PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x642 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x64 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E PUSH2 0xA7 CALLDATASIZE PUSH1 0x4 PUSH2 0x65C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CHAINID PUSH2 0x7E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 DUP2 ADD DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE SWAP1 DUP6 SWAP1 KECCAK256 SLOAD DUP5 MSTORE DUP4 ADD MSTORE SWAP2 DUP2 ADD DUP7 SWAP1 MSTORE PUSH2 0x113 DUP8 DUP3 DUP8 DUP8 DUP8 PUSH2 0x2C4 JUMP JUMPDEST PUSH2 0x16E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5369676E657220616E64207369676E617475726520646F206E6F74206D617463 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0xFB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x192 SWAP1 PUSH1 0x1 PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH32 0x5845892132946850460BFF5A0083F71031BC5BF9AADCD40F1DE79423EAC9B10B SWAP1 PUSH2 0x1E2 SWAP1 DUP10 SWAP1 CALLER SWAP1 DUP11 SWAP1 PUSH2 0x677 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP11 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x20A SWAP3 SWAP2 SWAP1 PUSH2 0x6AC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x224 SWAP2 PUSH2 0x6E3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x266 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x2B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756E6374696F6E2063616C6C206E6F74207375636365737366756C00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x165 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x32A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E61746976654D6574615472616E73616374696F6E3A20494E56414C49445F53 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x24A3A722A9 PUSH1 0xD9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x165 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x33D PUSH2 0x338 DUP8 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x499 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 DUP4 MSTORE SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF DUP6 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3C1 DUP4 DUP6 PUSH2 0x6FF JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x413 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x165 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x43 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x721 PUSH1 0x43 SWAP2 CODECOPY DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 DUP4 MLOAD DUP5 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD DUP1 MLOAD SWAP1 DUP7 ADD KECCAK256 SWAP1 MLOAD PUSH2 0x47C SWAP6 ADD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A4 PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x42 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x62 ADD PUSH2 0x47C JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x524 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x52D DUP7 PUSH2 0x4C9 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x54A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x55E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x570 JUMPI PUSH2 0x570 PUSH2 0x4E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x598 JUMPI PUSH2 0x598 PUSH2 0x4E5 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP12 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x5B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP9 POP POP POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH2 0x5E6 PUSH1 0x80 DUP8 ADD PUSH2 0x4FB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x60D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x5F5 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x62E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x5F2 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x655 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x616 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x66E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x655 DUP3 PUSH2 0x4C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x6A3 SWAP1 DUP4 ADD DUP5 PUSH2 0x616 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x6BE DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x5F2 JUMP JUMPDEST PUSH1 0x60 SWAP4 SWAP1 SWAP4 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x6F5 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x5F2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x416 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0x4D PUSH6 0x74615472616E PUSH20 0x616374696F6E2875696E74323536206E6F6E6365 0x2C PUSH2 0x6464 PUSH19 0x6573732066726F6D2C62797465732066756E63 PUSH21 0x696F6E5369676E617475726529A264697066735822 SLT KECCAK256 0xC0 0xEF PUSH30 0x9248999F2285EFF1B86E454ABED25B72D6CC6591610A4BBBE450AA744364 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"44308:2905:29:-:0;;;42000:5;41986:19;;-1:-1:-1;;41986:19:29;;;44308:2905;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@add_10794":{"entryPoint":948,"id":10794,"parameterSlots":2,"returnSlots":1},"@executeMetaTransaction_12697":{"entryPoint":213,"id":12697,"parameterSlots":5,"returnSlots":1},"@getChainId_12562":{"entryPoint":null,"id":12562,"parameterSlots":0,"returnSlots":1},"@getDomainSeperator_12550":{"entryPoint":null,"id":12550,"parameterSlots":0,"returnSlots":1},"@getNonce_12735":{"entryPoint":null,"id":12735,"parameterSlots":1,"returnSlots":1},"@hashMetaTransaction_12721":{"entryPoint":1052,"id":12721,"parameterSlots":1,"returnSlots":1},"@toTypedMessageHash_12581":{"entryPoint":1177,"id":12581,"parameterSlots":1,"returnSlots":1},"@verify_12775":{"entryPoint":708,"id":12775,"parameterSlots":5,"returnSlots":1},"abi_decode_address":{"entryPoint":1225,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":1628,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8":{"entryPoint":1292,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_uint8":{"entryPoint":1275,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_bytes":{"entryPoint":1558,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1763,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed":{"entryPoint":1708,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":1655,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":1602,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1791,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":1522,"id":null,"parameterSlots":3,"returnSlots":0},"panic_error_0x41":{"entryPoint":1253,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7128:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"63:124:31","statements":[{"nodeType":"YulAssignment","src":"73:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"95:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"82:12:31"},"nodeType":"YulFunctionCall","src":"82:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"73:5:31"}]},{"body":{"nodeType":"YulBlock","src":"165:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"174:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"177:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"167:6:31"},"nodeType":"YulFunctionCall","src":"167:12:31"},"nodeType":"YulExpressionStatement","src":"167:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"124:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"135:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"155:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"146:3:31"},"nodeType":"YulFunctionCall","src":"146:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"159:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"142:3:31"},"nodeType":"YulFunctionCall","src":"142:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"131:3:31"},"nodeType":"YulFunctionCall","src":"131:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"121:2:31"},"nodeType":"YulFunctionCall","src":"121:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"114:6:31"},"nodeType":"YulFunctionCall","src":"114:50:31"},"nodeType":"YulIf","src":"111:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"42:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:31","type":""}],"src":"14:173:31"},{"body":{"nodeType":"YulBlock","src":"224:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"241:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"248:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"253:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"244:3:31"},"nodeType":"YulFunctionCall","src":"244:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"234:6:31"},"nodeType":"YulFunctionCall","src":"234:31:31"},"nodeType":"YulExpressionStatement","src":"234:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"281:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"284:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"274:6:31"},"nodeType":"YulFunctionCall","src":"274:15:31"},"nodeType":"YulExpressionStatement","src":"274:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"305:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"308:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"298:6:31"},"nodeType":"YulFunctionCall","src":"298:15:31"},"nodeType":"YulExpressionStatement","src":"298:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"192:127:31"},{"body":{"nodeType":"YulBlock","src":"371:109:31","statements":[{"nodeType":"YulAssignment","src":"381:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"403:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"390:12:31"},"nodeType":"YulFunctionCall","src":"390:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"381:5:31"}]},{"body":{"nodeType":"YulBlock","src":"458:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"467:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"470:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"460:6:31"},"nodeType":"YulFunctionCall","src":"460:12:31"},"nodeType":"YulExpressionStatement","src":"460:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"432:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"443:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"450:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"439:3:31"},"nodeType":"YulFunctionCall","src":"439:16:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"429:2:31"},"nodeType":"YulFunctionCall","src":"429:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"422:6:31"},"nodeType":"YulFunctionCall","src":"422:35:31"},"nodeType":"YulIf","src":"419:55:31"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"350:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"361:5:31","type":""}],"src":"324:156:31"},{"body":{"nodeType":"YulBlock","src":"630:1058:31","statements":[{"body":{"nodeType":"YulBlock","src":"677:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"686:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"689:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"679:6:31"},"nodeType":"YulFunctionCall","src":"679:12:31"},"nodeType":"YulExpressionStatement","src":"679:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"651:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"660:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"647:3:31"},"nodeType":"YulFunctionCall","src":"647:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"672:3:31","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"643:3:31"},"nodeType":"YulFunctionCall","src":"643:33:31"},"nodeType":"YulIf","src":"640:53:31"},{"nodeType":"YulAssignment","src":"702:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"731:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"712:18:31"},"nodeType":"YulFunctionCall","src":"712:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"702:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"750:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"781:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"792:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:31"},"nodeType":"YulFunctionCall","src":"777:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"764:12:31"},"nodeType":"YulFunctionCall","src":"764:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"754:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"805:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"815:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"809:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"860:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"869:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"872:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"862:6:31"},"nodeType":"YulFunctionCall","src":"862:12:31"},"nodeType":"YulExpressionStatement","src":"862:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"848:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"856:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"845:2:31"},"nodeType":"YulFunctionCall","src":"845:14:31"},"nodeType":"YulIf","src":"842:34:31"},{"nodeType":"YulVariableDeclaration","src":"885:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"899:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"910:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"895:3:31"},"nodeType":"YulFunctionCall","src":"895:22:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"889:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"965:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"974:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"977:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"967:6:31"},"nodeType":"YulFunctionCall","src":"967:12:31"},"nodeType":"YulExpressionStatement","src":"967:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"944:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"948:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"940:3:31"},"nodeType":"YulFunctionCall","src":"940:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"955:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"936:3:31"},"nodeType":"YulFunctionCall","src":"936:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"929:6:31"},"nodeType":"YulFunctionCall","src":"929:35:31"},"nodeType":"YulIf","src":"926:55:31"},{"nodeType":"YulVariableDeclaration","src":"990:26:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1013:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1000:12:31"},"nodeType":"YulFunctionCall","src":"1000:16:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"994:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1039:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1041:16:31"},"nodeType":"YulFunctionCall","src":"1041:18:31"},"nodeType":"YulExpressionStatement","src":"1041:18:31"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1031:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1035:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1028:2:31"},"nodeType":"YulFunctionCall","src":"1028:10:31"},"nodeType":"YulIf","src":"1025:36:31"},{"nodeType":"YulVariableDeclaration","src":"1070:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1084:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1080:3:31"},"nodeType":"YulFunctionCall","src":"1080:7:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1074:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1096:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1116:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1110:5:31"},"nodeType":"YulFunctionCall","src":"1110:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1100:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1128:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1150:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1174:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1178:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1170:3:31"},"nodeType":"YulFunctionCall","src":"1170:13:31"},{"name":"_4","nodeType":"YulIdentifier","src":"1185:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1166:3:31"},"nodeType":"YulFunctionCall","src":"1166:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"1190:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1162:3:31"},"nodeType":"YulFunctionCall","src":"1162:31:31"},{"name":"_4","nodeType":"YulIdentifier","src":"1195:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1158:3:31"},"nodeType":"YulFunctionCall","src":"1158:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1146:3:31"},"nodeType":"YulFunctionCall","src":"1146:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1132:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1258:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1260:16:31"},"nodeType":"YulFunctionCall","src":"1260:18:31"},"nodeType":"YulExpressionStatement","src":"1260:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1217:10:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1229:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1214:2:31"},"nodeType":"YulFunctionCall","src":"1214:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1237:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1249:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1234:2:31"},"nodeType":"YulFunctionCall","src":"1234:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1211:2:31"},"nodeType":"YulFunctionCall","src":"1211:46:31"},"nodeType":"YulIf","src":"1208:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1296:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1300:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1289:6:31"},"nodeType":"YulFunctionCall","src":"1289:22:31"},"nodeType":"YulExpressionStatement","src":"1289:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1327:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"1335:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1320:6:31"},"nodeType":"YulFunctionCall","src":"1320:18:31"},"nodeType":"YulExpressionStatement","src":"1320:18:31"},{"body":{"nodeType":"YulBlock","src":"1384:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1393:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1396:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1386:6:31"},"nodeType":"YulFunctionCall","src":"1386:12:31"},"nodeType":"YulExpressionStatement","src":"1386:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1361:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"1365:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1357:3:31"},"nodeType":"YulFunctionCall","src":"1357:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"1370:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1353:3:31"},"nodeType":"YulFunctionCall","src":"1353:20:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1375:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1350:2:31"},"nodeType":"YulFunctionCall","src":"1350:33:31"},"nodeType":"YulIf","src":"1347:53:31"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1426:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1434:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1422:3:31"},"nodeType":"YulFunctionCall","src":"1422:15:31"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"1443:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"1447:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1439:3:31"},"nodeType":"YulFunctionCall","src":"1439:11:31"},{"name":"_3","nodeType":"YulIdentifier","src":"1452:2:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1409:12:31"},"nodeType":"YulFunctionCall","src":"1409:46:31"},"nodeType":"YulExpressionStatement","src":"1409:46:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1479:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"1487:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1475:3:31"},"nodeType":"YulFunctionCall","src":"1475:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"1492:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1471:3:31"},"nodeType":"YulFunctionCall","src":"1471:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"1497:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1464:6:31"},"nodeType":"YulFunctionCall","src":"1464:35:31"},"nodeType":"YulExpressionStatement","src":"1464:35:31"},{"nodeType":"YulAssignment","src":"1508:16:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1518:6:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1508:6:31"}]},{"nodeType":"YulAssignment","src":"1533:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1560:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1571:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1556:3:31"},"nodeType":"YulFunctionCall","src":"1556:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1543:12:31"},"nodeType":"YulFunctionCall","src":"1543:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1533:6:31"}]},{"nodeType":"YulAssignment","src":"1584:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1611:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1622:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1607:3:31"},"nodeType":"YulFunctionCall","src":"1607:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1594:12:31"},"nodeType":"YulFunctionCall","src":"1594:32:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1584:6:31"}]},{"nodeType":"YulAssignment","src":"1635:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1666:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1677:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1662:3:31"},"nodeType":"YulFunctionCall","src":"1662:19:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"1645:16:31"},"nodeType":"YulFunctionCall","src":"1645:37:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"1635:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"564:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"575:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"587:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"595:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"603:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"611:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"619:6:31","type":""}],"src":"485:1203:31"},{"body":{"nodeType":"YulBlock","src":"1759:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1769:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1778:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1773:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1838:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1863:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"1868:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1859:3:31"},"nodeType":"YulFunctionCall","src":"1859:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1882:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"1887:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1878:3:31"},"nodeType":"YulFunctionCall","src":"1878:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1872:5:31"},"nodeType":"YulFunctionCall","src":"1872:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1852:6:31"},"nodeType":"YulFunctionCall","src":"1852:39:31"},"nodeType":"YulExpressionStatement","src":"1852:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1799:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"1802:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1796:2:31"},"nodeType":"YulFunctionCall","src":"1796:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1810:19:31","statements":[{"nodeType":"YulAssignment","src":"1812:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1821:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"1824:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1817:3:31"},"nodeType":"YulFunctionCall","src":"1817:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1812:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1792:3:31","statements":[]},"src":"1788:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1921:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"1926:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1917:3:31"},"nodeType":"YulFunctionCall","src":"1917:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"1935:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1910:6:31"},"nodeType":"YulFunctionCall","src":"1910:27:31"},"nodeType":"YulExpressionStatement","src":"1910:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"1737:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"1742:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"1747:6:31","type":""}],"src":"1693:250:31"},{"body":{"nodeType":"YulBlock","src":"1997:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2007:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2027:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2021:5:31"},"nodeType":"YulFunctionCall","src":"2021:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2011:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2049:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"2054:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2042:6:31"},"nodeType":"YulFunctionCall","src":"2042:19:31"},"nodeType":"YulExpressionStatement","src":"2042:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2109:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"2116:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2105:3:31"},"nodeType":"YulFunctionCall","src":"2105:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2127:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"2132:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2123:3:31"},"nodeType":"YulFunctionCall","src":"2123:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"2139:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2070:34:31"},"nodeType":"YulFunctionCall","src":"2070:76:31"},"nodeType":"YulExpressionStatement","src":"2070:76:31"},{"nodeType":"YulAssignment","src":"2155:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2170:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2183:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2191:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2179:3:31"},"nodeType":"YulFunctionCall","src":"2179:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2200:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2196:3:31"},"nodeType":"YulFunctionCall","src":"2196:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2175:3:31"},"nodeType":"YulFunctionCall","src":"2175:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2166:3:31"},"nodeType":"YulFunctionCall","src":"2166:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"2207:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2162:3:31"},"nodeType":"YulFunctionCall","src":"2162:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2155:3:31"}]}]},"name":"abi_encode_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1974:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1981:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1989:3:31","type":""}],"src":"1948:270:31"},{"body":{"nodeType":"YulBlock","src":"2342:98:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2359:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2370:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2352:6:31"},"nodeType":"YulFunctionCall","src":"2352:21:31"},"nodeType":"YulExpressionStatement","src":"2352:21:31"},{"nodeType":"YulAssignment","src":"2382:52:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2407:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2419:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2430:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2415:3:31"},"nodeType":"YulFunctionCall","src":"2415:18:31"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"2390:16:31"},"nodeType":"YulFunctionCall","src":"2390:44:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2382:4:31"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2311:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2322:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2333:4:31","type":""}],"src":"2223:217:31"},{"body":{"nodeType":"YulBlock","src":"2546:76:31","statements":[{"nodeType":"YulAssignment","src":"2556:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2568:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2579:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2564:3:31"},"nodeType":"YulFunctionCall","src":"2564:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2556:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2598:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"2609:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2591:6:31"},"nodeType":"YulFunctionCall","src":"2591:25:31"},"nodeType":"YulExpressionStatement","src":"2591:25:31"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2515:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2526:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2537:4:31","type":""}],"src":"2445:177:31"},{"body":{"nodeType":"YulBlock","src":"2697:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"2743:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2752:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2755:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2745:6:31"},"nodeType":"YulFunctionCall","src":"2745:12:31"},"nodeType":"YulExpressionStatement","src":"2745:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2718:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2727:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2714:3:31"},"nodeType":"YulFunctionCall","src":"2714:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2739:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2710:3:31"},"nodeType":"YulFunctionCall","src":"2710:32:31"},"nodeType":"YulIf","src":"2707:52:31"},{"nodeType":"YulAssignment","src":"2768:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2797:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2778:18:31"},"nodeType":"YulFunctionCall","src":"2778:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2768:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2663:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2674:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2686:6:31","type":""}],"src":"2627:186:31"},{"body":{"nodeType":"YulBlock","src":"2919:76:31","statements":[{"nodeType":"YulAssignment","src":"2929:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2941:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2952:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2937:3:31"},"nodeType":"YulFunctionCall","src":"2937:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2929:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2971:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"2982:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2964:6:31"},"nodeType":"YulFunctionCall","src":"2964:25:31"},"nodeType":"YulExpressionStatement","src":"2964:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2888:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2899:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2910:4:31","type":""}],"src":"2818:177:31"},{"body":{"nodeType":"YulBlock","src":"3174:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3191:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3202:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3184:6:31"},"nodeType":"YulFunctionCall","src":"3184:21:31"},"nodeType":"YulExpressionStatement","src":"3184:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3225:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3236:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3221:3:31"},"nodeType":"YulFunctionCall","src":"3221:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3241:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3214:6:31"},"nodeType":"YulFunctionCall","src":"3214:30:31"},"nodeType":"YulExpressionStatement","src":"3214:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3264:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3275:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3260:3:31"},"nodeType":"YulFunctionCall","src":"3260:18:31"},{"hexValue":"5369676e657220616e64207369676e617475726520646f206e6f74206d617463","kind":"string","nodeType":"YulLiteral","src":"3280:34:31","type":"","value":"Signer and signature do not matc"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3253:6:31"},"nodeType":"YulFunctionCall","src":"3253:62:31"},"nodeType":"YulExpressionStatement","src":"3253:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3335:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3346:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3331:3:31"},"nodeType":"YulFunctionCall","src":"3331:18:31"},{"hexValue":"68","kind":"string","nodeType":"YulLiteral","src":"3351:3:31","type":"","value":"h"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3324:6:31"},"nodeType":"YulFunctionCall","src":"3324:31:31"},"nodeType":"YulExpressionStatement","src":"3324:31:31"},{"nodeType":"YulAssignment","src":"3364:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3376:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3387:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3372:3:31"},"nodeType":"YulFunctionCall","src":"3372:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3364:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3151:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3165:4:31","type":""}],"src":"3000:397:31"},{"body":{"nodeType":"YulBlock","src":"3593:240:31","statements":[{"nodeType":"YulVariableDeclaration","src":"3603:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3621:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3626:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3617:3:31"},"nodeType":"YulFunctionCall","src":"3617:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"3630:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3613:3:31"},"nodeType":"YulFunctionCall","src":"3613:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3607:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3648:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3663:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3671:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3659:3:31"},"nodeType":"YulFunctionCall","src":"3659:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3641:6:31"},"nodeType":"YulFunctionCall","src":"3641:34:31"},"nodeType":"YulExpressionStatement","src":"3641:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3695:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3706:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3691:3:31"},"nodeType":"YulFunctionCall","src":"3691:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3715:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"3723:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3711:3:31"},"nodeType":"YulFunctionCall","src":"3711:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3684:6:31"},"nodeType":"YulFunctionCall","src":"3684:43:31"},"nodeType":"YulExpressionStatement","src":"3684:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3747:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3758:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3743:3:31"},"nodeType":"YulFunctionCall","src":"3743:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"3763:2:31","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3736:6:31"},"nodeType":"YulFunctionCall","src":"3736:30:31"},"nodeType":"YulExpressionStatement","src":"3736:30:31"},{"nodeType":"YulAssignment","src":"3775:52:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3800:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3812:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3823:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3808:3:31"},"nodeType":"YulFunctionCall","src":"3808:18:31"}],"functionName":{"name":"abi_encode_bytes","nodeType":"YulIdentifier","src":"3783:16:31"},"nodeType":"YulFunctionCall","src":"3783:44:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3775:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3546:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3557:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3565:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3573:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3584:4:31","type":""}],"src":"3402:431:31"},{"body":{"nodeType":"YulBlock","src":"4003:263:31","statements":[{"nodeType":"YulVariableDeclaration","src":"4013:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4033:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4027:5:31"},"nodeType":"YulFunctionCall","src":"4027:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4017:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4088:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4096:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4084:3:31"},"nodeType":"YulFunctionCall","src":"4084:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"4103:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"4108:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"4049:34:31"},"nodeType":"YulFunctionCall","src":"4049:66:31"},"nodeType":"YulExpressionStatement","src":"4049:66:31"},{"nodeType":"YulVariableDeclaration","src":"4124:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4141:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"4146:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4137:3:31"},"nodeType":"YulFunctionCall","src":"4137:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"4128:5:31","type":""}]},{"expression":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"4169:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4184:2:31","type":"","value":"96"},{"name":"value1","nodeType":"YulIdentifier","src":"4188:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4180:3:31"},"nodeType":"YulFunctionCall","src":"4180:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4201:26:31","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4197:3:31"},"nodeType":"YulFunctionCall","src":"4197:31:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4176:3:31"},"nodeType":"YulFunctionCall","src":"4176:53:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4162:6:31"},"nodeType":"YulFunctionCall","src":"4162:68:31"},"nodeType":"YulExpressionStatement","src":"4162:68:31"},{"nodeType":"YulAssignment","src":"4239:21:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"4250:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"4257:2:31","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4246:3:31"},"nodeType":"YulFunctionCall","src":"4246:14:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4239:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"3971:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3976:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3984:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3995:3:31","type":""}],"src":"3838:428:31"},{"body":{"nodeType":"YulBlock","src":"4408:150:31","statements":[{"nodeType":"YulVariableDeclaration","src":"4418:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4438:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4432:5:31"},"nodeType":"YulFunctionCall","src":"4432:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4422:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4493:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4501:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4489:3:31"},"nodeType":"YulFunctionCall","src":"4489:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"4508:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"4513:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"4454:34:31"},"nodeType":"YulFunctionCall","src":"4454:66:31"},"nodeType":"YulExpressionStatement","src":"4454:66:31"},{"nodeType":"YulAssignment","src":"4529:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4540:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"4545:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4536:3:31"},"nodeType":"YulFunctionCall","src":"4536:16:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4529:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4384:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4389:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4400:3:31","type":""}],"src":"4271:287:31"},{"body":{"nodeType":"YulBlock","src":"4737:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4754:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4765:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4747:6:31"},"nodeType":"YulFunctionCall","src":"4747:21:31"},"nodeType":"YulExpressionStatement","src":"4747:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4788:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4799:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4784:3:31"},"nodeType":"YulFunctionCall","src":"4784:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"4804:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4777:6:31"},"nodeType":"YulFunctionCall","src":"4777:30:31"},"nodeType":"YulExpressionStatement","src":"4777:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4827:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4838:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4823:3:31"},"nodeType":"YulFunctionCall","src":"4823:18:31"},{"hexValue":"46756e6374696f6e2063616c6c206e6f74207375636365737366756c","kind":"string","nodeType":"YulLiteral","src":"4843:30:31","type":"","value":"Function call not successful"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4816:6:31"},"nodeType":"YulFunctionCall","src":"4816:58:31"},"nodeType":"YulExpressionStatement","src":"4816:58:31"},{"nodeType":"YulAssignment","src":"4883:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4895:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4906:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4891:3:31"},"nodeType":"YulFunctionCall","src":"4891:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4883:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4714:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4728:4:31","type":""}],"src":"4563:352:31"},{"body":{"nodeType":"YulBlock","src":"5094:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5111:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5122:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5104:6:31"},"nodeType":"YulFunctionCall","src":"5104:21:31"},"nodeType":"YulExpressionStatement","src":"5104:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5145:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5156:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5141:3:31"},"nodeType":"YulFunctionCall","src":"5141:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"5161:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5134:6:31"},"nodeType":"YulFunctionCall","src":"5134:30:31"},"nodeType":"YulExpressionStatement","src":"5134:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5184:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5195:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5180:3:31"},"nodeType":"YulFunctionCall","src":"5180:18:31"},{"hexValue":"4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f53","kind":"string","nodeType":"YulLiteral","src":"5200:34:31","type":"","value":"NativeMetaTransaction: INVALID_S"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5173:6:31"},"nodeType":"YulFunctionCall","src":"5173:62:31"},"nodeType":"YulExpressionStatement","src":"5173:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5255:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5266:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5251:3:31"},"nodeType":"YulFunctionCall","src":"5251:18:31"},{"hexValue":"49474e4552","kind":"string","nodeType":"YulLiteral","src":"5271:7:31","type":"","value":"IGNER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5244:6:31"},"nodeType":"YulFunctionCall","src":"5244:35:31"},"nodeType":"YulExpressionStatement","src":"5244:35:31"},{"nodeType":"YulAssignment","src":"5288:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5300:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5311:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5296:3:31"},"nodeType":"YulFunctionCall","src":"5296:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5288:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5071:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5085:4:31","type":""}],"src":"4920:401:31"},{"body":{"nodeType":"YulBlock","src":"5507:217:31","statements":[{"nodeType":"YulAssignment","src":"5517:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5529:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5540:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5525:3:31"},"nodeType":"YulFunctionCall","src":"5525:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5517:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5560:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"5571:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5553:6:31"},"nodeType":"YulFunctionCall","src":"5553:25:31"},"nodeType":"YulExpressionStatement","src":"5553:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5598:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5609:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5594:3:31"},"nodeType":"YulFunctionCall","src":"5594:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5618:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5626:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5614:3:31"},"nodeType":"YulFunctionCall","src":"5614:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5587:6:31"},"nodeType":"YulFunctionCall","src":"5587:45:31"},"nodeType":"YulExpressionStatement","src":"5587:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5652:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5663:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5648:3:31"},"nodeType":"YulFunctionCall","src":"5648:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"5668:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5641:6:31"},"nodeType":"YulFunctionCall","src":"5641:34:31"},"nodeType":"YulExpressionStatement","src":"5641:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5695:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5706:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5691:3:31"},"nodeType":"YulFunctionCall","src":"5691:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"5711:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5684:6:31"},"nodeType":"YulFunctionCall","src":"5684:34:31"},"nodeType":"YulExpressionStatement","src":"5684:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5452:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5463:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5471:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5479:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5487:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5498:4:31","type":""}],"src":"5326:398:31"},{"body":{"nodeType":"YulBlock","src":"5777:174:31","statements":[{"nodeType":"YulAssignment","src":"5787:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5798:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"5801:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5794:3:31"},"nodeType":"YulFunctionCall","src":"5794:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5787:3:31"}]},{"body":{"nodeType":"YulBlock","src":"5834:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5855:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5862:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5867:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5858:3:31"},"nodeType":"YulFunctionCall","src":"5858:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5848:6:31"},"nodeType":"YulFunctionCall","src":"5848:31:31"},"nodeType":"YulExpressionStatement","src":"5848:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5899:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5902:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5892:6:31"},"nodeType":"YulFunctionCall","src":"5892:15:31"},"nodeType":"YulExpressionStatement","src":"5892:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5927:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5930:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5920:6:31"},"nodeType":"YulFunctionCall","src":"5920:15:31"},"nodeType":"YulExpressionStatement","src":"5920:15:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5818:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"5821:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5815:2:31"},"nodeType":"YulFunctionCall","src":"5815:10:31"},"nodeType":"YulIf","src":"5812:133:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5760:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"5763:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5769:3:31","type":""}],"src":"5729:222:31"},{"body":{"nodeType":"YulBlock","src":"6130:177:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6147:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6158:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6140:6:31"},"nodeType":"YulFunctionCall","src":"6140:21:31"},"nodeType":"YulExpressionStatement","src":"6140:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6181:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6192:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6177:3:31"},"nodeType":"YulFunctionCall","src":"6177:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"6197:2:31","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6170:6:31"},"nodeType":"YulFunctionCall","src":"6170:30:31"},"nodeType":"YulExpressionStatement","src":"6170:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6220:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6231:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6216:3:31"},"nodeType":"YulFunctionCall","src":"6216:18:31"},{"hexValue":"536166654d6174683a206164646974696f6e206f766572666c6f77","kind":"string","nodeType":"YulLiteral","src":"6236:29:31","type":"","value":"SafeMath: addition overflow"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6209:6:31"},"nodeType":"YulFunctionCall","src":"6209:57:31"},"nodeType":"YulExpressionStatement","src":"6209:57:31"},{"nodeType":"YulAssignment","src":"6275:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6287:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6298:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6283:3:31"},"nodeType":"YulFunctionCall","src":"6283:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6275:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6107:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6121:4:31","type":""}],"src":"5956:351:31"},{"body":{"nodeType":"YulBlock","src":"6497:232:31","statements":[{"nodeType":"YulAssignment","src":"6507:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6519:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6530:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6515:3:31"},"nodeType":"YulFunctionCall","src":"6515:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6507:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6550:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"6561:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6543:6:31"},"nodeType":"YulFunctionCall","src":"6543:25:31"},"nodeType":"YulExpressionStatement","src":"6543:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6588:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6599:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6584:3:31"},"nodeType":"YulFunctionCall","src":"6584:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"6604:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6577:6:31"},"nodeType":"YulFunctionCall","src":"6577:34:31"},"nodeType":"YulExpressionStatement","src":"6577:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6631:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6642:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6627:3:31"},"nodeType":"YulFunctionCall","src":"6627:18:31"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"6651:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6667:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6672:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6663:3:31"},"nodeType":"YulFunctionCall","src":"6663:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"6676:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6659:3:31"},"nodeType":"YulFunctionCall","src":"6659:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6647:3:31"},"nodeType":"YulFunctionCall","src":"6647:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6620:6:31"},"nodeType":"YulFunctionCall","src":"6620:60:31"},"nodeType":"YulExpressionStatement","src":"6620:60:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6700:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6711:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6696:3:31"},"nodeType":"YulFunctionCall","src":"6696:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"6716:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6689:6:31"},"nodeType":"YulFunctionCall","src":"6689:34:31"},"nodeType":"YulExpressionStatement","src":"6689:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6442:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6453:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6461:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6469:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6477:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6488:4:31","type":""}],"src":"6312:417:31"},{"body":{"nodeType":"YulBlock","src":"6982:144:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6999:3:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7008:3:31","type":"","value":"240"},{"kind":"number","nodeType":"YulLiteral","src":"7013:4:31","type":"","value":"6401"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7004:3:31"},"nodeType":"YulFunctionCall","src":"7004:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6992:6:31"},"nodeType":"YulFunctionCall","src":"6992:27:31"},"nodeType":"YulExpressionStatement","src":"6992:27:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7039:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"7044:1:31","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7035:3:31"},"nodeType":"YulFunctionCall","src":"7035:11:31"},{"name":"value0","nodeType":"YulIdentifier","src":"7048:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7028:6:31"},"nodeType":"YulFunctionCall","src":"7028:27:31"},"nodeType":"YulExpressionStatement","src":"7028:27:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7075:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"7080:2:31","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7071:3:31"},"nodeType":"YulFunctionCall","src":"7071:12:31"},{"name":"value1","nodeType":"YulIdentifier","src":"7085:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7064:6:31"},"nodeType":"YulFunctionCall","src":"7064:28:31"},"nodeType":"YulExpressionStatement","src":"7064:28:31"},{"nodeType":"YulAssignment","src":"7101:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7112:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"7117:2:31","type":"","value":"66"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7108:3:31"},"nodeType":"YulFunctionCall","src":"7108:12:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7101:3:31"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6950:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6955:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6963:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"6974:3:31","type":""}],"src":"6734:392:31"}]},"contents":"{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value1 := memPtr\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n value4 := abi_decode_uint8(add(headStart, 128))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_bytes(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_bytes(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"Signer and signature do not matc\")\n mstore(add(headStart, 96), \"h\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), 96)\n tail := abi_encode_bytes(value2, add(headStart, 96))\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n end := add(end_1, 20)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Function call not successful\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"NativeMetaTransaction: INVALID_S\")\n mstore(add(headStart, 96), \"IGNER\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"SafeMath: addition overflow\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), and(value2, sub(shl(160, 1), 1)))\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, shl(240, 6401))\n mstore(add(pos, 2), value0)\n mstore(add(pos, 34), value1)\n end := add(pos, 66)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061003f5760003560e01c80630c53c51c1461004457806320379ee51461006d5780632d0335ab1461008c5780633408e470146100c2575b600080fd5b61005761005236600461050c565b6100d5565b6040516100649190610642565b60405180910390f35b34801561007957600080fd5b506001545b604051908152602001610064565b34801561009857600080fd5b5061007e6100a736600461065c565b6001600160a01b031660009081526002602052604090205490565b3480156100ce57600080fd5b504661007e565b60408051606081810183526001600160a01b0388166000818152600260209081529085902054845283015291810186905261011387828787876102c4565b61016e5760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600260205260409020546101929060016103b4565b6001600160a01b0388166000908152600260205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b906101e290899033908a90610677565b60405180910390a1600080306001600160a01b0316888a60405160200161020a9291906106ac565b60408051601f1981840301815290829052610224916106e3565b6000604051808303816000865af19150503d8060008114610261576040519150601f19603f3d011682016040523d82523d6000602084013e610266565b606091505b5091509150816102b85760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610165565b98975050505050505050565b60006001600160a01b03861661032a5760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610165565b600161033d6103388761041c565b610499565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa15801561038b573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806103c183856106ff565b9050838110156104135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610165565b90505b92915050565b6000604051806080016040528060438152602001610721604391398051602091820120835184830151604080870151805190860120905161047c950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006104a460015490565b60405161190160f01b602082015260228101919091526042810183905260620161047c565b80356001600160a01b03811681146104e057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146104e057600080fd5b600080600080600060a0868803121561052457600080fd5b61052d866104c9565b9450602086013567ffffffffffffffff8082111561054a57600080fd5b818801915088601f83011261055e57600080fd5b813581811115610570576105706104e5565b604051601f8201601f19908116603f01168101908382118183101715610598576105986104e5565b816040528281528b60208487010111156105b157600080fd5b82602086016020830137600060208483010152809850505050505060408601359250606086013591506105e6608087016104fb565b90509295509295909350565b60005b8381101561060d5781810151838201526020016105f5565b50506000910152565b6000815180845261062e8160208601602086016105f2565b601f01601f19169290920160200192915050565b6020815260006106556020830184610616565b9392505050565b60006020828403121561066e57600080fd5b610655826104c9565b6001600160a01b038481168252831660208201526060604082018190526000906106a390830184610616565b95945050505050565b600083516106be8184602088016105f2565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516106f58184602087016105f2565b9190910192915050565b8082018082111561041657634e487b7160e01b600052601160045260246000fdfe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a2646970667358221220c0ef7d9248999f2285eff1b86e454abed25b72d6cc6591610a4bbbe450aa744364736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC53C51C EQ PUSH2 0x44 JUMPI DUP1 PUSH4 0x20379EE5 EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x8C JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH2 0xC2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57 PUSH2 0x52 CALLDATASIZE PUSH1 0x4 PUSH2 0x50C JUMP JUMPDEST PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x64 SWAP2 SWAP1 PUSH2 0x642 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x64 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7E PUSH2 0xA7 CALLDATASIZE PUSH1 0x4 PUSH2 0x65C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CHAINID PUSH2 0x7E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 DUP2 ADD DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE SWAP1 DUP6 SWAP1 KECCAK256 SLOAD DUP5 MSTORE DUP4 ADD MSTORE SWAP2 DUP2 ADD DUP7 SWAP1 MSTORE PUSH2 0x113 DUP8 DUP3 DUP8 DUP8 DUP8 PUSH2 0x2C4 JUMP JUMPDEST PUSH2 0x16E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5369676E657220616E64207369676E617475726520646F206E6F74206D617463 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0xFB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x192 SWAP1 PUSH1 0x1 PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH32 0x5845892132946850460BFF5A0083F71031BC5BF9AADCD40F1DE79423EAC9B10B SWAP1 PUSH2 0x1E2 SWAP1 DUP10 SWAP1 CALLER SWAP1 DUP11 SWAP1 PUSH2 0x677 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP11 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x20A SWAP3 SWAP2 SWAP1 PUSH2 0x6AC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x224 SWAP2 PUSH2 0x6E3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x266 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x2B8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756E6374696F6E2063616C6C206E6F74207375636365737366756C00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x165 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x32A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E61746976654D6574615472616E73616374696F6E3A20494E56414C49445F53 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x24A3A722A9 PUSH1 0xD9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x165 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x33D PUSH2 0x338 DUP8 PUSH2 0x41C JUMP JUMPDEST PUSH2 0x499 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 DUP4 MSTORE SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF DUP6 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x38B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3C1 DUP4 DUP6 PUSH2 0x6FF JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x413 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x165 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x43 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x721 PUSH1 0x43 SWAP2 CODECOPY DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 DUP4 MLOAD DUP5 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD DUP1 MLOAD SWAP1 DUP7 ADD KECCAK256 SWAP1 MLOAD PUSH2 0x47C SWAP6 ADD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A4 PUSH1 0x1 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x42 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x62 ADD PUSH2 0x47C JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x524 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x52D DUP7 PUSH2 0x4C9 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x54A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x55E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x570 JUMPI PUSH2 0x570 PUSH2 0x4E5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x598 JUMPI PUSH2 0x598 PUSH2 0x4E5 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP12 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x5B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP9 POP POP POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH2 0x5E6 PUSH1 0x80 DUP8 ADD PUSH2 0x4FB JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x60D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x5F5 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x62E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x5F2 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x655 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x616 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x66E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x655 DUP3 PUSH2 0x4C9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x6A3 SWAP1 DUP4 ADD DUP5 PUSH2 0x616 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x6BE DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x5F2 JUMP JUMPDEST PUSH1 0x60 SWAP4 SWAP1 SWAP4 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x6F5 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x5F2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x416 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0x4D PUSH6 0x74615472616E PUSH20 0x616374696F6E2875696E74323536206E6F6E6365 0x2C PUSH2 0x6464 PUSH19 0x6573732066726F6D2C62797465732066756E63 PUSH21 0x696F6E5369676E617475726529A264697066735822 SLT KECCAK256 0xC0 0xEF PUSH30 0x9248999F2285EFF1B86E454ABED25B72D6CC6591610A4BBBE450AA744364 PUSH20 0x6F6C634300081400330000000000000000000000 ","sourceMap":"44308:2905:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45105:1117;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43354:99;;;;;;;;;;-1:-1:-1;43431:15:29;;43354:99;;;2591:25:31;;;2579:2;2564:18;43354:99:29;2445:177:31;46630:105:29;;;;;;;;;;-1:-1:-1;46630:105:29;;;;;:::i;:::-;-1:-1:-1;;;;;46716:12:29;46683:13;46716:12;;;:6;:12;;;;;;;46630:105;43459:155;;;;;;;;;;-1:-1:-1;43570:9:29;43459:155;;45105:1117;45356:148;;;45300:12;45356:148;;;;;-1:-1:-1;;;;;45393:19:29;;45324:29;45393:19;;;:6;:19;;;;;;;;;45356:148;;;;;;;;;;;45536:45;45400:11;45356:148;45564:4;45570;45576;45536:6;:45::i;:::-;45515:125;;;;-1:-1:-1;;;45515:125:29;;3202:2:31;45515:125:29;;;3184:21:31;3241:2;3221:18;;;3214:30;3280:34;3260:18;;;3253:62;-1:-1:-1;;;3331:18:31;;;3324:31;3372:19;;45515:125:29;;;;;;;;;-1:-1:-1;;;;;45726:19:29;;;;;;:6;:19;;;;;;:26;;45750:1;45726:23;:26::i;:::-;-1:-1:-1;;;;;45704:19:29;;;;;;:6;:19;;;;;;;:48;;;;45768:122;;;;;45711:11;;45838:10;;45863:17;;45768:122;:::i;:::-;;;;;;;;45998:12;46012:23;46047:4;-1:-1:-1;;;;;46039:18:29;46088:17;46107:11;46071:48;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;46071:48:29;;;;;;;;;;46039:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45997:132;;;;46147:7;46139:48;;;;-1:-1:-1;;;46139:48:29;;4765:2:31;46139:48:29;;;4747:21:31;4804:2;4784:18;;;4777:30;4843;4823:18;;;4816:58;4891:18;;46139:48:29;4563:352:31;46139:48:29;46205:10;45105:1117;-1:-1:-1;;;;;;;;45105:1117:29:o;46741:470::-;46913:4;-1:-1:-1;;;;;46937:20:29;;46929:70;;;;-1:-1:-1;;;46929:70:29;;5122:2:31;46929:70:29;;;5104:21:31;5161:2;5141:18;;;5134:30;5200:34;5180:18;;;5173:62;-1:-1:-1;;;5251:18:31;;;5244:35;5296:19;;46929:70:29;4920:401:31;46929:70:29;47050:154;47077:47;47096:27;47116:6;47096:19;:27::i;:::-;47077:18;:47::i;:::-;47050:154;;;;;;;;;;;;5553:25:31;;;;5626:4;5614:17;;5594:18;;;5587:45;5648:18;;;5641:34;;;5691:18;;;5684:34;;;5525:19;;47050:154:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;47028:176:29;:6;-1:-1:-1;;;;;47028:176:29;;47009:195;;46741:470;;;;;;;:::o;4601:176::-;4659:7;;4690:5;4694:1;4690;:5;:::i;:::-;4678:17;;4718:1;4713;:6;;4705:46;;;;-1:-1:-1;;;4705:46:29;;6158:2:31;4705:46:29;;;6140:21:31;6197:2;6177:18;;;6170:30;6236:29;6216:18;;;6209:57;6283:18;;4705:46:29;5956:351:31;4705:46:29;4769:1;-1:-1:-1;4601:176:29;;;;;:::o;46228:396::-;46335:7;44463:98;;;;;;;;;;;;;;;;;44444:123;;;;;;;46483:12;;46517:11;;;;46560:24;;;;;46550:35;;;;;;46404:199;;;;;6543:25:31;;;6599:2;6584:18;;6577:34;;;;-1:-1:-1;;;;;6647:32:31;6642:2;6627:18;;6620:60;6711:2;6696:18;;6689:34;6530:3;6515:19;;6312:417;46404:199:29;;;;;;;;;;;;;46377:240;;;;;;46358:259;;46228:396;;;:::o;43974:249::-;44070:7;44168:20;43431:15;;;43354:99;44168:20;44139:63;;-1:-1:-1;;;44139:63:29;;;6992:27:31;7035:11;;;7028:27;;;;7071:12;;;7064:28;;;7108:12;;44139:63:29;6734:392:31;14:173;82:20;;-1:-1:-1;;;;;131:31:31;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:127::-;253:10;248:3;244:20;241:1;234:31;284:4;281:1;274:15;308:4;305:1;298:15;324:156;390:20;;450:4;439:16;;429:27;;419:55;;470:1;467;460:12;485:1203;587:6;595;603;611;619;672:3;660:9;651:7;647:23;643:33;640:53;;;689:1;686;679:12;640:53;712:29;731:9;712:29;:::i;:::-;702:39;;792:2;781:9;777:18;764:32;815:18;856:2;848:6;845:14;842:34;;;872:1;869;862:12;842:34;910:6;899:9;895:22;885:32;;955:7;948:4;944:2;940:13;936:27;926:55;;977:1;974;967:12;926:55;1013:2;1000:16;1035:2;1031;1028:10;1025:36;;;1041:18;;:::i;:::-;1116:2;1110:9;1084:2;1170:13;;-1:-1:-1;;1166:22:31;;;1190:2;1162:31;1158:40;1146:53;;;1214:18;;;1234:22;;;1211:46;1208:72;;;1260:18;;:::i;:::-;1300:10;1296:2;1289:22;1335:2;1327:6;1320:18;1375:7;1370:2;1365;1361;1357:11;1353:20;1350:33;1347:53;;;1396:1;1393;1386:12;1347:53;1452:2;1447;1443;1439:11;1434:2;1426:6;1422:15;1409:46;1497:1;1492:2;1487;1479:6;1475:15;1471:24;1464:35;1518:6;1508:16;;;;;;;1571:2;1560:9;1556:18;1543:32;1533:42;;1622:2;1611:9;1607:18;1594:32;1584:42;;1645:37;1677:3;1666:9;1662:19;1645:37;:::i;:::-;1635:47;;485:1203;;;;;;;;:::o;1693:250::-;1778:1;1788:113;1802:6;1799:1;1796:13;1788:113;;;1878:11;;;1872:18;1859:11;;;1852:39;1824:2;1817:10;1788:113;;;-1:-1:-1;;1935:1:31;1917:16;;1910:27;1693:250::o;1948:270::-;1989:3;2027:5;2021:12;2054:6;2049:3;2042:19;2070:76;2139:6;2132:4;2127:3;2123:14;2116:4;2109:5;2105:16;2070:76;:::i;:::-;2200:2;2179:15;-1:-1:-1;;2175:29:31;2166:39;;;;2207:4;2162:50;;1948:270;-1:-1:-1;;1948:270:31:o;2223:217::-;2370:2;2359:9;2352:21;2333:4;2390:44;2430:2;2419:9;2415:18;2407:6;2390:44;:::i;:::-;2382:52;2223:217;-1:-1:-1;;;2223:217:31:o;2627:186::-;2686:6;2739:2;2727:9;2718:7;2714:23;2710:32;2707:52;;;2755:1;2752;2745:12;2707:52;2778:29;2797:9;2778:29;:::i;3402:431::-;-1:-1:-1;;;;;3659:15:31;;;3641:34;;3711:15;;3706:2;3691:18;;3684:43;3763:2;3758;3743:18;;3736:30;;;3584:4;;3783:44;;3808:18;;3800:6;3783:44;:::i;:::-;3775:52;3402:431;-1:-1:-1;;;;;3402:431:31:o;3838:428::-;3995:3;4033:6;4027:13;4049:66;4108:6;4103:3;4096:4;4088:6;4084:17;4049:66;:::i;:::-;4184:2;4180:15;;;;-1:-1:-1;;4176:53:31;4137:16;;;;4162:68;;;4257:2;4246:14;;3838:428;-1:-1:-1;;3838:428:31:o;4271:287::-;4400:3;4438:6;4432:13;4454:66;4513:6;4508:3;4501:4;4493:6;4489:17;4454:66;:::i;:::-;4536:16;;;;;4271:287;-1:-1:-1;;4271:287:31:o;5729:222::-;5794:9;;;5815:10;;;5812:133;;;5867:10;5862:3;5858:20;5855:1;5848:31;5902:4;5899:1;5892:15;5930:4;5927:1;5920:15"},"methodIdentifiers":{"executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)":"0c53c51c","getChainId()":"3408e470","getDomainSeperator()":"20379ee5","getNonce(address)":"2d0335ab"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"relayerAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"}],\"name\":\"MetaTransactionExecuted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"}],\"name\":\"executeMetaTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeperator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"NativeMetaTransaction\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":12452,"contract":"contracts/testDai/TestDAI.v3.sol:NativeMetaTransaction","label":"inited","offset":0,"slot":"0","type":"t_bool"},{"astId":12489,"contract":"contracts/testDai/TestDAI.v3.sol:NativeMetaTransaction","label":"domainSeperator","offset":0,"slot":"1","type":"t_bytes32"},{"astId":12608,"contract":"contracts/testDai/TestDAI.v3.sol:NativeMetaTransaction","label":"nonces","offset":0,"slot":"2","type":"t_mapping(t_address,t_uint256)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}},"NofTestDAIV3":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address payable","name":"relayerAddress","type":"address"},{"indexed":false,"internalType":"bytes","name":"functionSignature","type":"bytes"}],"name":"MetaTransactionExecuted","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"},{"inputs":[],"name":"CHILD_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CHILD_CHAIN_ID_BYTES","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSITOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ERC712_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_CHAIN_ID_BYTES","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"}],"name":"changeName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes","name":"depositData","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bytes","name":"functionSignature","type":"bytes"},{"internalType":"bytes32","name":"sigR","type":"bytes32"},{"internalType":"bytes32","name":"sigS","type":"bytes32"},{"internalType":"uint8","name":"sigV","type":"uint8"}],"name":"executeMetaTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeperator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"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":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address","name":"childChainManager","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"move","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"allowed","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"pull","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"usr","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"push","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":[],"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_11215":{"entryPoint":null,"id":11215,"parameterSlots":2,"returnSlots":0},"@_12859":{"entryPoint":null,"id":12859,"parameterSlots":0,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":205,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":288,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":145,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":123,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"201:325:31","statements":[{"nodeType":"YulAssignment","src":"211:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:31"},"nodeType":"YulFunctionCall","src":"221:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:31"},"nodeType":"YulFunctionCall","src":"268:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:31","statements":[{"nodeType":"YulAssignment","src":"321:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:31"},"nodeType":"YulFunctionCall","src":"331:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:31"},"nodeType":"YulFunctionCall","src":"292:26:31"},"nodeType":"YulIf","src":"289:61:31"},{"body":{"nodeType":"YulBlock","src":"409:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:31"},"nodeType":"YulFunctionCall","src":"433:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:31"},"nodeType":"YulFunctionCall","src":"423:31:31"},"nodeType":"YulExpressionStatement","src":"423:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:31"},"nodeType":"YulFunctionCall","src":"467:15:31"},"nodeType":"YulExpressionStatement","src":"467:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:31"},"nodeType":"YulFunctionCall","src":"495:15:31"},"nodeType":"YulExpressionStatement","src":"495:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:31"},"nodeType":"YulFunctionCall","src":"385:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:31"},"nodeType":"YulFunctionCall","src":"362:38:31"},"nodeType":"YulIf","src":"359:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:31","type":""}],"src":"146:380:31"},{"body":{"nodeType":"YulBlock","src":"587:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:31"},"nodeType":"YulFunctionCall","src":"597:14:31"},"nodeType":"YulExpressionStatement","src":"597:14:31"},{"nodeType":"YulAssignment","src":"620:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:31"},"nodeType":"YulFunctionCall","src":"628:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:31","type":""}],"src":"531:121:31"},{"body":{"nodeType":"YulBlock","src":"738:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:17:31"},"nodeType":"YulExpressionStatement","src":"809:17:31"},{"nodeType":"YulVariableDeclaration","src":"839:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:31"},"nodeType":"YulFunctionCall","src":"851:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:31"},"nodeType":"YulFunctionCall","src":"919:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:31"},"nodeType":"YulFunctionCall","src":"912:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:31","statements":[{"nodeType":"YulAssignment","src":"979:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:31"},"nodeType":"YulFunctionCall","src":"956:20:31"},"nodeType":"YulIf","src":"953:47:31"},{"nodeType":"YulVariableDeclaration","src":"1013:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:31"},"nodeType":"YulFunctionCall","src":"1040:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:31"},"nodeType":"YulFunctionCall","src":"1033:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:31"},"nodeType":"YulFunctionCall","src":"1167:17:31"},"nodeType":"YulExpressionStatement","src":"1167:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:31"},"nodeType":"YulFunctionCall","src":"1112:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:31","statements":[{"nodeType":"YulAssignment","src":"1128:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:31"},"nodeType":"YulFunctionCall","src":"1137:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:31","statements":[]},"src":"1104:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:31"},"nodeType":"YulFunctionCall","src":"751:11:31"},"nodeType":"YulIf","src":"748:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:31","type":""}],"src":"657:545:31"},{"body":{"nodeType":"YulBlock","src":"1292:81:31","statements":[{"nodeType":"YulAssignment","src":"1302:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:31"},"nodeType":"YulFunctionCall","src":"1331:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:31"},"nodeType":"YulFunctionCall","src":"1344:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:31"},"nodeType":"YulFunctionCall","src":"1327:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:31"},"nodeType":"YulFunctionCall","src":"1323:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:31"},"nodeType":"YulFunctionCall","src":"1313:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:31"},"nodeType":"YulFunctionCall","src":"1355:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:31"},"nodeType":"YulFunctionCall","src":"1310:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:31","type":""}],"src":"1207:166:31"},{"body":{"nodeType":"YulBlock","src":"1474:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:31"},"nodeType":"YulFunctionCall","src":"1498:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:31"},"nodeType":"YulFunctionCall","src":"1553:18:31"},"nodeType":"YulExpressionStatement","src":"1553:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:31"},"nodeType":"YulFunctionCall","src":"1535:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:31"},"nodeType":"YulFunctionCall","src":"1531:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:31"},"nodeType":"YulFunctionCall","src":"1520:30:31"},"nodeType":"YulIf","src":"1517:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:31"},"nodeType":"YulFunctionCall","src":"1658:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:31"},"nodeType":"YulFunctionCall","src":"1632:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:31"},"nodeType":"YulFunctionCall","src":"1582:97:31"},"nodeType":"YulExpressionStatement","src":"1582:97:31"},{"nodeType":"YulVariableDeclaration","src":"1688:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:31","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:31"},"nodeType":"YulFunctionCall","src":"1846:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:31"},"nodeType":"YulFunctionCall","src":"1893:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:31"},"nodeType":"YulFunctionCall","src":"2067:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:31"},"nodeType":"YulFunctionCall","src":"2061:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:31"},"nodeType":"YulFunctionCall","src":"2046:42:31"},"nodeType":"YulExpressionStatement","src":"2046:42:31"},{"nodeType":"YulAssignment","src":"2105:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:31"},"nodeType":"YulFunctionCall","src":"2115:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:31"}]},{"nodeType":"YulAssignment","src":"2146:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:31"},"nodeType":"YulFunctionCall","src":"2159:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:31"},"nodeType":"YulFunctionCall","src":"1972:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:31","statements":[{"nodeType":"YulAssignment","src":"1989:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:31"},"nodeType":"YulFunctionCall","src":"1994:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:31","statements":[]},"src":"1964:236:31"},{"body":{"nodeType":"YulBlock","src":"2248:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:31"},"nodeType":"YulFunctionCall","src":"2289:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:31"},"nodeType":"YulFunctionCall","src":"2283:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:31"},"nodeType":"YulFunctionCall","src":"2368:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:31"},"nodeType":"YulFunctionCall","src":"2364:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:31"},"nodeType":"YulFunctionCall","src":"2390:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:31"},"nodeType":"YulFunctionCall","src":"2360:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:31"},"nodeType":"YulFunctionCall","src":"2356:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:31"},"nodeType":"YulFunctionCall","src":"2341:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:31"},"nodeType":"YulFunctionCall","src":"2326:74:31"},"nodeType":"YulExpressionStatement","src":"2326:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:31"},"nodeType":"YulFunctionCall","src":"2216:19:31"},"nodeType":"YulIf","src":"2213:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:31"},"nodeType":"YulFunctionCall","src":"2444:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:31"},"nodeType":"YulFunctionCall","src":"2440:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:31"},"nodeType":"YulFunctionCall","src":"2427:36:31"},"nodeType":"YulExpressionStatement","src":"2427:36:31"}]},"nodeType":"YulCase","src":"1810:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:31","statements":[{"nodeType":"YulAssignment","src":"2571:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:31"},"nodeType":"YulFunctionCall","src":"2586:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:31"},"nodeType":"YulFunctionCall","src":"2580:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:31"},"nodeType":"YulIf","src":"2531:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:31"},"nodeType":"YulFunctionCall","src":"2646:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:31"},"nodeType":"YulFunctionCall","src":"2633:81:31"},"nodeType":"YulExpressionStatement","src":"2633:81:31"}]},"nodeType":"YulCase","src":"2482:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:31"},"nodeType":"YulFunctionCall","src":"1787:14:31"},"nodeType":"YulSwitch","src":"1780:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:31","type":""}],"src":"1378:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040526008805460ff191690553480156200001b57600080fd5b5060408051808201825260038082526244414960e81b6020808401829052845180860190955282855284015290919062000056838262000120565b50600462000065828262000120565b50506005805460ff1916601217905550620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6127d580620001fc6000396000f3fe6080604052600436106102305760003560e01c80635353a2d81161012e578063a457c2d7116100ab578063cf2c52cb1161006f578063cf2c52cb146106e5578063d547741f14610705578063dd62ed3e14610725578063de7ea79d1461076b578063f2d5d56b1461078b57600080fd5b8063a457c2d714610645578063a9059cbb14610665578063b753a98c14610685578063bb35783b146106a5578063ca15c873146106c557600080fd5b80639010d07c116100f25780639010d07c1461058f57806391d14854146105c757806395d89b41146105e7578063a217fddf146105fc578063a3b0b5a31461061157600080fd5b80635353a2d8146104ef578063626381a01461050f57806370a08231146105245780638acfcaf71461055a5780638fcbaf0c1461056f57600080fd5b8063248a9ca3116101bc578063313ce56711610180578063313ce5671461045a5780633408e4701461047c57806336568abe1461048f57806339509351146104af5780634e6ec247146104cf57600080fd5b8063248a9ca31461037e5780632d0335ab146103ae5780632e1a7d4d146103e45780632f2ff15d1461040657806330adf81f1461042657600080fd5b80630dd7531a116102035780630dd7531a146102d05780630f7e5970146102fd57806318160ddd1461032a57806320379ee51461034957806323b872dd1461035e57600080fd5b806306fdde0314610235578063095ea7b3146102605780630b54817c146102905780630c53c51c146102bd575b600080fd5b34801561024157600080fd5b5061024a6107ab565b6040516102579190611f05565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611f34565b61083d565b6040519015158152602001610257565b34801561029c57600080fd5b5061024a604051806040016040528060018152602001608960f81b81525081565b61024a6102cb366004611f85565b61085b565b3480156102dc57600080fd5b5061024a604051806040016040528060018152602001600160f81b81525081565b34801561030957600080fd5b5061024a604051806040016040528060018152602001603160f81b81525081565b34801561033657600080fd5b506002545b604051908152602001610257565b34801561035557600080fd5b5060095461033b565b34801561036a57600080fd5b5061028061037936600461206b565b610a4a565b34801561038a57600080fd5b5061033b6103993660046120a7565b60009081526006602052604090206002015490565b3480156103ba57600080fd5b5061033b6103c93660046120c0565b6001600160a01b03166000908152600a602052604090205490565b3480156103f057600080fd5b506104046103ff3660046120a7565b610ad1565b005b34801561041257600080fd5b506104046104213660046120db565b610ae5565b34801561043257600080fd5b5061033b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b34801561046657600080fd5b5060055460405160ff9091168152602001610257565b34801561048857600080fd5b504661033b565b34801561049b57600080fd5b506104046104aa3660046120db565b610b75565b3480156104bb57600080fd5b506102806104ca366004611f34565b610bff565b3480156104db57600080fd5b506104046104ea366004611f34565b610c4d565b3480156104fb57600080fd5b5061040461050a366004612150565b610d2c565b34801561051b57600080fd5b5061033b608981565b34801561053057600080fd5b5061033b61053f3660046120c0565b6001600160a01b031660009081526020819052604090205490565b34801561056657600080fd5b5061033b600181565b34801561057b57600080fd5b5061040461058a366004612192565b610df7565b34801561059b57600080fd5b506105af6105aa366004612214565b611068565b6040516001600160a01b039091168152602001610257565b3480156105d357600080fd5b506102806105e23660046120db565b611087565b3480156105f357600080fd5b5061024a61109f565b34801561060857600080fd5b5061033b600081565b34801561061d57600080fd5b5061033b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b34801561065157600080fd5b50610280610660366004611f34565b6110ae565b34801561067157600080fd5b50610280610680366004611f34565b611116565b34801561069157600080fd5b506104046106a0366004611f34565b61112a565b3480156106b157600080fd5b506104046106c036600461206b565b611135565b3480156106d157600080fd5b5061033b6106e03660046120a7565b611146565b3480156106f157600080fd5b50610404610700366004612236565b61115d565b34801561071157600080fd5b506104046107203660046120db565b6111cc565b34801561073157600080fd5b5061033b610740366004612289565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561077757600080fd5b506104046107863660046122b3565b61124f565b34801561079757600080fd5b506104046107a6366004611f34565b6113f3565b6060600380546107ba90612343565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690612343565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050905090565b600061085161084a6113fe565b848461140d565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526108998782878787611532565b6108f45760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a6020526040902054610918906001611622565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061096890899033908a9061237d565b60405180910390a1600080306001600160a01b0316888a6040516020016109909291906123a9565b60408051601f19818403018152908290526109aa916123e0565b6000604051808303816000865af19150503d80600081146109e7576040519150601f19603f3d011682016040523d82523d6000602084013e6109ec565b606091505b509150915081610a3e5760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000060448201526064016108eb565b98975050505050505050565b6000610a57848484611681565b610ac784610a636113fe565b610ac285604051806060016040528060288152602001612753602891396001600160a01b038a16600090815260016020526040812090610aa16113fe565b6001600160a01b031681526020810191909152604001600020549190611804565b61140d565b5060019392505050565b610ae2610adc6113fe565b8261183e565b50565b600082815260066020526040902060020154610b03906105e26113fe565b610b675760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084016108eb565b610b718282611942565b5050565b610b7d6113fe565b6001600160a01b0316816001600160a01b031614610bf55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108eb565b610b7182826119ab565b6000610851610c0c6113fe565b84610ac28560016000610c1d6113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611622565b6001600160a01b038216610ca35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108eb565b600254610cb09082611622565b6002556001600160a01b038216600090815260208190526040902054610cd69082611622565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610d3a816105e26113fe565b600790610d5a5760405162461bcd60e51b81526004016108eb91906123fc565b50610d9a83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b610df283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611a209050565b505050565b6000610e0260095490565b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810188905286151560c082015260e00160405160208183030381529060405280519060200120604051602001610e9c92919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa158015610f04573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610f6e5760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a20494e56414c49442d5045524d49540000000000000060448201526064016108eb565b851580610f7b5750854211155b610fc75760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a205045524d49542d455850495245440000000000000060448201526064016108eb565b6001600160a01b0389166000908152600a60205260408120805491610feb8361249d565b91905055871461103d5760405162461bcd60e51b815260206004820152601860248201527f554368696c644441493a20494e56414c49442d4e4f4e4345000000000000000060448201526064016108eb565b60008561104b57600061104f565b6000195b905061105c8a8a8361140d565b50505050505050505050565b60008281526006602052604081206110809083611aa7565b9392505050565b60008281526006602052604081206110809083611ab3565b6060600480546107ba90612343565b60006108516110bb6113fe565b84610ac28560405180606001604052806025815260200161277b60259139600160006110e56113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611804565b60006108516111236113fe565b8484611681565b610df2338383610a4a565b611140838383610a4a565b50505050565b600081815260066020526040812061085590611ad5565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a961118a816105e26113fe565b6007906111aa5760405162461bcd60e51b81526004016108eb91906123fc565b5060006111b9838501856120a7565b90506111c58582610c4d565b5050505050565b6000828152600660205260409020600201546111ea906105e26113fe565b610bf55760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016108eb565b60085460ff16156112935760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b6112d286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b61131184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611adf92505050565b6005805460ff191660ff841617905561134a84846040516020016113369291906124b6565b604051602081830303815290604052611aeb565b61135c60006113576113fe565b610b67565b6113867f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610b67565b6113de86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611b199050565b50506008805460ff1916600117905550505050565b610df2823383610a4a565b6000611408611b78565b905090565b6001600160a01b03831661146f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108eb565b6001600160a01b0382166114d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166115985760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b60648201526084016108eb565b60016115ab6115a687611bd4565b611c51565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156115f9573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b60008061162f83856124d7565b9050838110156110805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108eb565b6001600160a01b0383166116e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108eb565b6001600160a01b0382166117475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108eb565b6117848160405180606001604052806026815260200161272d602691396001600160a01b0386166000908152602081905260409020549190611804565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546117b39082611622565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611525565b600081848411156118285760405162461bcd60e51b81526004016108eb9190611f05565b50600061183584866124ea565b95945050505050565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108eb565b6118db81604051806060016040528060228152602001612679602291396001600160a01b0385166000908152602081905260409020549190611804565b6001600160a01b0383166000908152602081905260409020556002546119019082611c81565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610d20565b600082815260066020526040902061195a9082611cc3565b15610b71576119676113fe565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206119c39082611cd8565b15610b71576119d06113fe565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610b71828261254b565b6040518060800160405280604f81526020016126de604f9139805190602001208280519060200120828051906020012030611a584690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b60006110808383611ced565b6001600160a01b03811660009081526001830160205260408120541515611080565b6000610855825490565b6004610b71828261254b565b80604051602001611afc919061260b565b60405160208183030381529060405260079081610b71919061254b565b60085460ff1615611b5d5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b611b678282611a20565b50506008805460ff19166001179055565b6000303303611bce57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150611bd19050565b50335b90565b600060405180608001604052806043815260200161269b6043913980516020918201208351848301516040808701518051908601209051611c34950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000611c5c60095490565b60405161190160f01b6020820152602281019190915260428101839052606201611c34565b600061108083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611804565b6000611080836001600160a01b038416611d73565b6000611080836001600160a01b038416611dc2565b81546000908210611d4b5760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016108eb565b826000018281548110611d6057611d6061264c565b9060005260206000200154905092915050565b6000818152600183016020526040812054611dba57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610855565b506000610855565b60008181526001830160205260408120548015611eab576000611de66001836124ea565b8554909150600090611dfa906001906124ea565b90506000866000018281548110611e1357611e1361264c565b9060005260206000200154905080876000018481548110611e3657611e3661264c565b600091825260209091200155611e4d8360016124d7565b60008281526001890160205260409020558654879080611e6f57611e6f612662565b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610855565b6000915050610855565b60005b83811015611ed0578181015183820152602001611eb8565b50506000910152565b60008151808452611ef1816020860160208601611eb5565b601f01601f19169290920160200192915050565b6020815260006110806020830184611ed9565b80356001600160a01b0381168114611f2f57600080fd5b919050565b60008060408385031215611f4757600080fd5b611f5083611f18565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611f2f57600080fd5b600080600080600060a08688031215611f9d57600080fd5b611fa686611f18565b9450602086013567ffffffffffffffff80821115611fc357600080fd5b818801915088601f830112611fd757600080fd5b813581811115611fe957611fe9611f5e565b604051601f8201601f19908116603f0116810190838211818310171561201157612011611f5e565b816040528281528b602084870101111561202a57600080fd5b826020860160208301376000602084830101528098505050505050604086013592506060860135915061205f60808701611f74565b90509295509295909350565b60008060006060848603121561208057600080fd5b61208984611f18565b925061209760208501611f18565b9150604084013590509250925092565b6000602082840312156120b957600080fd5b5035919050565b6000602082840312156120d257600080fd5b61108082611f18565b600080604083850312156120ee57600080fd5b823591506120fe60208401611f18565b90509250929050565b60008083601f84011261211957600080fd5b50813567ffffffffffffffff81111561213157600080fd5b60208301915083602082850101111561214957600080fd5b9250929050565b6000806020838503121561216357600080fd5b823567ffffffffffffffff81111561217a57600080fd5b61218685828601612107565b90969095509350505050565b600080600080600080600080610100898b0312156121af57600080fd5b6121b889611f18565b97506121c660208a01611f18565b96506040890135955060608901359450608089013580151581146121e957600080fd5b93506121f760a08a01611f74565b925060c0890135915060e089013590509295985092959890939650565b6000806040838503121561222757600080fd5b50508035926020909101359150565b60008060006040848603121561224b57600080fd5b61225484611f18565b9250602084013567ffffffffffffffff81111561227057600080fd5b61227c86828701612107565b9497909650939450505050565b6000806040838503121561229c57600080fd5b6122a583611f18565b91506120fe60208401611f18565b600080600080600080608087890312156122cc57600080fd5b863567ffffffffffffffff808211156122e457600080fd5b6122f08a838b01612107565b9098509650602089013591508082111561230957600080fd5b5061231689828a01612107565b9095509350612329905060408801611f74565b915061233760608801611f18565b90509295509295509295565b600181811c9082168061235757607f821691505b60208210810361237757634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0384811682528316602082015260606040820181905260009061183590830184611ed9565b600083516123bb818460208801611eb5565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516123f2818460208701611eb5565b9190910192915050565b600060208083526000845461241081612343565b80848701526040600180841660008114612431576001811461244b57612479565b60ff1985168984015283151560051b890183019550612479565b896000528660002060005b858110156124715781548b8201860152908301908801612456565b8a0184019650505b509398975050505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016124af576124af612487565b5060010190565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b8082018082111561085557610855612487565b8181038181111561085557610855612487565b601f821115610df257600081815260208120601f850160051c810160208610156125245750805b601f850160051c820191505b8181101561254357828155600101612530565b505050505050565b815167ffffffffffffffff81111561256557612565611f5e565b612579816125738454612343565b846124fd565b602080601f8311600181146125ae57600084156125965750858301515b600019600386901b1c1916600185901b178555612543565b600085815260208120601f198616915b828110156125dd578886015182559484019460019091019084016125be565b50858210156125fb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161261d818460208701611eb5565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200b28813c898b058db947de197948e4a016de2d4eb44c0a299d2131490f4dba2564736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x3 DUP1 DUP3 MSTORE PUSH3 0x444149 PUSH1 0xE8 SHL PUSH1 0x20 DUP1 DUP5 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD DUP1 DUP7 ADD SWAP1 SWAP6 MSTORE DUP3 DUP6 MSTORE DUP5 ADD MSTORE SWAP1 SWAP2 SWAP1 PUSH3 0x56 DUP4 DUP3 PUSH3 0x120 JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x65 DUP3 DUP3 PUSH3 0x120 JUMP JUMPDEST POP POP PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x12 OR SWAP1 SSTORE POP PUSH3 0x1EC JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0xA6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0xC7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x11B JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0xF6 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x117 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x102 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x13C JUMPI PUSH3 0x13C PUSH3 0x7B JUMP JUMPDEST PUSH3 0x154 DUP2 PUSH3 0x14D DUP5 SLOAD PUSH3 0x91 JUMP JUMPDEST DUP5 PUSH3 0xCD JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x18C JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x173 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x117 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x1BD JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x19C JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x1DC JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x27D5 DUP1 PUSH3 0x1FC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x230 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5353A2D8 GT PUSH2 0x12E JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0xAB JUMPI DUP1 PUSH4 0xCF2C52CB GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xCF2C52CB EQ PUSH2 0x6E5 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x705 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0xDE7EA79D EQ PUSH2 0x76B JUMPI DUP1 PUSH4 0xF2D5D56B EQ PUSH2 0x78B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x645 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x665 JUMPI DUP1 PUSH4 0xB753A98C EQ PUSH2 0x685 JUMPI DUP1 PUSH4 0xBB35783B EQ PUSH2 0x6A5 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x6C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9010D07C GT PUSH2 0xF2 JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x58F JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x5C7 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x5E7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x5FC JUMPI DUP1 PUSH4 0xA3B0B5A3 EQ PUSH2 0x611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5353A2D8 EQ PUSH2 0x4EF JUMPI DUP1 PUSH4 0x626381A0 EQ PUSH2 0x50F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x524 JUMPI DUP1 PUSH4 0x8ACFCAF7 EQ PUSH2 0x55A JUMPI DUP1 PUSH4 0x8FCBAF0C EQ PUSH2 0x56F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x1BC JUMPI DUP1 PUSH4 0x313CE567 GT PUSH2 0x180 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x48F JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x4AF JUMPI DUP1 PUSH4 0x4E6EC247 EQ PUSH2 0x4CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x37E JUMPI DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x3AE JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x3E4 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x406 JUMPI DUP1 PUSH4 0x30ADF81F EQ PUSH2 0x426 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDD7531A GT PUSH2 0x203 JUMPI DUP1 PUSH4 0xDD7531A EQ PUSH2 0x2D0 JUMPI DUP1 PUSH4 0xF7E5970 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x32A JUMPI DUP1 PUSH4 0x20379EE5 EQ PUSH2 0x349 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x35E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0xB54817C EQ PUSH2 0x290 JUMPI DUP1 PUSH4 0xC53C51C EQ PUSH2 0x2BD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x241 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH2 0x7AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x257 SWAP2 SWAP1 PUSH2 0x1F05 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x83D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x89 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x2CB CALLDATASIZE PUSH1 0x4 PUSH2 0x1F85 JUMP JUMPDEST PUSH2 0x85B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x31 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x336 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x9 SLOAD PUSH2 0x33B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x379 CALLDATASIZE PUSH1 0x4 PUSH2 0x206B JUMP JUMPDEST PUSH2 0xA4A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x399 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A7 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x3C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x20C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x3FF CALLDATASIZE PUSH1 0x4 PUSH2 0x20A7 JUMP JUMPDEST PUSH2 0xAD1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x421 CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0xAE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x432 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH32 0xEA2AA0A1BE11A07ED86D755C93467F4F82362B452371D1BA94D1715123511ACB DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CHAINID PUSH2 0x33B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x4AA CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0xB75 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x4CA CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0xBFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x4EA CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0xC4D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x50A CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0xD2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH1 0x89 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x53F CALLDATASIZE PUSH1 0x4 PUSH2 0x20C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x566 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH1 0x1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x58A CALLDATASIZE PUSH1 0x4 PUSH2 0x2192 JUMP JUMPDEST PUSH2 0xDF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x5AA CALLDATASIZE PUSH1 0x4 PUSH2 0x2214 JUMP JUMPDEST PUSH2 0x1068 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x5E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0x1087 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH2 0x109F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x651 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x660 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x671 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x680 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x1116 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x691 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x6A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x112A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x6C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x206B JUMP JUMPDEST PUSH2 0x1135 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x6E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A7 JUMP JUMPDEST PUSH2 0x1146 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x700 CALLDATASIZE PUSH1 0x4 PUSH2 0x2236 JUMP JUMPDEST PUSH2 0x115D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x720 CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0x11CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x731 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x740 CALLDATASIZE PUSH1 0x4 PUSH2 0x2289 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x786 CALLDATASIZE PUSH1 0x4 PUSH2 0x22B3 JUMP JUMPDEST PUSH2 0x124F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x797 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x7A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x13F3 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x7BA SWAP1 PUSH2 0x2343 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E6 SWAP1 PUSH2 0x2343 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x833 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x808 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x833 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x816 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0x84A PUSH2 0x13FE JUMP JUMPDEST DUP5 DUP5 PUSH2 0x140D JUMP JUMPDEST POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 DUP2 ADD DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE SWAP1 DUP6 SWAP1 KECCAK256 SLOAD DUP5 MSTORE DUP4 ADD MSTORE SWAP2 DUP2 ADD DUP7 SWAP1 MSTORE PUSH2 0x899 DUP8 DUP3 DUP8 DUP8 DUP8 PUSH2 0x1532 JUMP JUMPDEST PUSH2 0x8F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5369676E657220616E64207369676E617475726520646F206E6F74206D617463 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0xFB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x918 SWAP1 PUSH1 0x1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH32 0x5845892132946850460BFF5A0083F71031BC5BF9AADCD40F1DE79423EAC9B10B SWAP1 PUSH2 0x968 SWAP1 DUP10 SWAP1 CALLER SWAP1 DUP11 SWAP1 PUSH2 0x237D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP11 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x990 SWAP3 SWAP2 SWAP1 PUSH2 0x23A9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x9AA SWAP2 PUSH2 0x23E0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x9E7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x9EC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0xA3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756E6374696F6E2063616C6C206E6F74207375636365737366756C00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA57 DUP5 DUP5 DUP5 PUSH2 0x1681 JUMP JUMPDEST PUSH2 0xAC7 DUP5 PUSH2 0xA63 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xAC2 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2753 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xAA1 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH2 0x140D JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xAE2 PUSH2 0xADC PUSH2 0x13FE JUMP JUMPDEST DUP3 PUSH2 0x183E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0xB03 SWAP1 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xB67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0xB71 DUP3 DUP3 PUSH2 0x1942 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xB7D PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0xB71 DUP3 DUP3 PUSH2 0x19AB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0xC0C PUSH2 0x13FE JUMP JUMPDEST DUP5 PUSH2 0xAC2 DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0xC1D PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP13 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xCA3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0xCB0 SWAP1 DUP3 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xCD6 SWAP1 DUP3 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE SWAP3 MLOAD DUP5 DUP2 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD3A DUP2 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0xD5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x23FC JUMP JUMPDEST POP PUSH2 0xD9A DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1A14 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xDF2 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x1A20 SWAP1 POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE02 PUSH1 0x9 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xEA2AA0A1BE11A07ED86D755C93467F4F82362B452371D1BA94D1715123511ACB PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP14 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP11 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0xA0 DUP2 ADD DUP9 SWAP1 MSTORE DUP7 ISZERO ISZERO PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE9C SWAP3 SWAP2 SWAP1 PUSH2 0x1901 PUSH1 0xF0 SHL DUP2 MSTORE PUSH1 0x2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x22 DUP3 ADD MSTORE PUSH1 0x42 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP5 MSTORE SWAP1 DUP4 ADD DUP1 DUP4 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP8 AND SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 DUP3 ADD DUP6 SWAP1 MSTORE PUSH1 0x80 DUP3 ADD DUP5 SWAP1 MSTORE SWAP2 POP PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF6E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x554368696C644441493A20494E56414C49442D5045524D495400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST DUP6 ISZERO DUP1 PUSH2 0xF7B JUMPI POP DUP6 TIMESTAMP GT ISZERO JUMPDEST PUSH2 0xFC7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x554368696C644441493A205045524D49542D4558504952454400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP2 PUSH2 0xFEB DUP4 PUSH2 0x249D JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE DUP8 EQ PUSH2 0x103D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x554368696C644441493A20494E56414C49442D4E4F4E43450000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x0 DUP6 PUSH2 0x104B JUMPI PUSH1 0x0 PUSH2 0x104F JUMP JUMPDEST PUSH1 0x0 NOT JUMPDEST SWAP1 POP PUSH2 0x105C DUP11 DUP11 DUP4 PUSH2 0x140D JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x1080 SWAP1 DUP4 PUSH2 0x1AA7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x1080 SWAP1 DUP4 PUSH2 0x1AB3 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x7BA SWAP1 PUSH2 0x2343 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0x10BB PUSH2 0x13FE JUMP JUMPDEST DUP5 PUSH2 0xAC2 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x277B PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x10E5 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP14 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0x1123 PUSH2 0x13FE JUMP JUMPDEST DUP5 DUP5 PUSH2 0x1681 JUMP JUMPDEST PUSH2 0xDF2 CALLER DUP4 DUP4 PUSH2 0xA4A JUMP JUMPDEST PUSH2 0x1140 DUP4 DUP4 DUP4 PUSH2 0xA4A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x855 SWAP1 PUSH2 0x1AD5 JUMP JUMPDEST PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 PUSH2 0x118A DUP2 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0x11AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x23FC JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x11B9 DUP4 DUP6 ADD DUP6 PUSH2 0x20A7 JUMP JUMPDEST SWAP1 POP PUSH2 0x11C5 DUP6 DUP3 PUSH2 0xC4D JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x11EA SWAP1 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xBF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x2061646D696E20746F207265766F6B65 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1293 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x12D2 DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1A14 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1311 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1ADF SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP5 AND OR SWAP1 SSTORE PUSH2 0x134A DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1336 SWAP3 SWAP2 SWAP1 PUSH2 0x24B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1AEB JUMP JUMPDEST PUSH2 0x135C PUSH1 0x0 PUSH2 0x1357 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xB67 JUMP JUMPDEST PUSH2 0x1386 PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP3 PUSH2 0xB67 JUMP JUMPDEST PUSH2 0x13DE DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x1B19 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH2 0xDF2 DUP3 CALLER DUP4 PUSH2 0xA4A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1408 PUSH2 0x1B78 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x146F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x14D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x1598 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E61746976654D6574615472616E73616374696F6E3A20494E56414C49445F53 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x24A3A722A9 PUSH1 0xD9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH2 0x15AB PUSH2 0x15A6 DUP8 PUSH2 0x1BD4 JUMP JUMPDEST PUSH2 0x1C51 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 DUP4 MSTORE SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF DUP6 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x162F DUP4 DUP6 PUSH2 0x24D7 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x1080 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x16E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1747 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x1784 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x272D PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x17B3 SWAP1 DUP3 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE MLOAD DUP5 DUP2 MSTORE SWAP1 SWAP3 SWAP2 DUP7 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x1525 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP5 GT ISZERO PUSH2 0x1828 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x1F05 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1835 DUP5 DUP7 PUSH2 0x24EA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x189E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x18DB DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2679 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH1 0x2 SLOAD PUSH2 0x1901 SWAP1 DUP3 PUSH2 0x1C81 JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xD20 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x195A SWAP1 DUP3 PUSH2 0x1CC3 JUMP JUMPDEST ISZERO PUSH2 0xB71 JUMPI PUSH2 0x1967 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x19C3 SWAP1 DUP3 PUSH2 0x1CD8 JUMP JUMPDEST ISZERO PUSH2 0xB71 JUMPI PUSH2 0x19D0 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH2 0xB71 DUP3 DUP3 PUSH2 0x254B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x26DE PUSH1 0x4F SWAP2 CODECOPY DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 ADDRESS PUSH2 0x1A58 CHAINID SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x60 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0x9 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 DUP4 PUSH2 0x1CED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO PUSH2 0x1080 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x855 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH2 0xB71 DUP3 DUP3 PUSH2 0x254B JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1AFC SWAP2 SWAP1 PUSH2 0x260B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x7 SWAP1 DUP2 PUSH2 0xB71 SWAP2 SWAP1 PUSH2 0x254B JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1B5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x1B67 DUP3 DUP3 PUSH2 0x1A20 JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH2 0x1BCE JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0x1BD1 SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x43 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x269B PUSH1 0x43 SWAP2 CODECOPY DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 DUP4 MLOAD DUP5 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD DUP1 MLOAD SWAP1 DUP7 ADD KECCAK256 SWAP1 MLOAD PUSH2 0x1C34 SWAP6 ADD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5C PUSH1 0x9 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x42 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x62 ADD PUSH2 0x1C34 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1DC2 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E756D657261626C655365743A20696E646578206F7574206F6620626F756E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6473 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1D60 JUMPI PUSH2 0x1D60 PUSH2 0x264C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1DBA JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x855 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x855 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1EAB JUMPI PUSH1 0x0 PUSH2 0x1DE6 PUSH1 0x1 DUP4 PUSH2 0x24EA JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1DFA SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x24EA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1E13 JUMPI PUSH2 0x1E13 PUSH2 0x264C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1E36 JUMPI PUSH2 0x1E36 PUSH2 0x264C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x1E4D DUP4 PUSH1 0x1 PUSH2 0x24D7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1E6F JUMPI PUSH2 0x1E6F PUSH2 0x2662 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x855 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x855 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1ED0 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1EB8 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1EF1 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1EB5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1080 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1ED9 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1F2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F50 DUP4 PUSH2 0x1F18 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1F2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1F9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FA6 DUP7 PUSH2 0x1F18 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1FC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1FD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1FE9 JUMPI PUSH2 0x1FE9 PUSH2 0x1F5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2011 JUMPI PUSH2 0x2011 PUSH2 0x1F5E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP12 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x202A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP9 POP POP POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH2 0x205F PUSH1 0x80 DUP8 ADD PUSH2 0x1F74 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2080 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2089 DUP5 PUSH2 0x1F18 JUMP JUMPDEST SWAP3 POP PUSH2 0x2097 PUSH1 0x20 DUP6 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1080 DUP3 PUSH2 0x1F18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x20FE PUSH1 0x20 DUP5 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2119 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2131 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x2149 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x217A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2186 DUP6 DUP3 DUP7 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x21AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21B8 DUP10 PUSH2 0x1F18 JUMP JUMPDEST SWAP8 POP PUSH2 0x21C6 PUSH1 0x20 DUP11 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP5 POP PUSH1 0x80 DUP10 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x21E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH2 0x21F7 PUSH1 0xA0 DUP11 ADD PUSH2 0x1F74 JUMP JUMPDEST SWAP3 POP PUSH1 0xC0 DUP10 ADD CALLDATALOAD SWAP2 POP PUSH1 0xE0 DUP10 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x224B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2254 DUP5 PUSH2 0x1F18 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x227C DUP7 DUP3 DUP8 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x229C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22A5 DUP4 PUSH2 0x1F18 JUMP JUMPDEST SWAP2 POP PUSH2 0x20FE PUSH1 0x20 DUP5 ADD PUSH2 0x1F18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x22CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22F0 DUP11 DUP4 DUP12 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2316 DUP10 DUP3 DUP11 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP1 SWAP6 POP SWAP4 POP PUSH2 0x2329 SWAP1 POP PUSH1 0x40 DUP9 ADD PUSH2 0x1F74 JUMP JUMPDEST SWAP2 POP PUSH2 0x2337 PUSH1 0x60 DUP9 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2357 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2377 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1835 SWAP1 DUP4 ADD DUP5 PUSH2 0x1ED9 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x23BB DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1EB5 JUMP JUMPDEST PUSH1 0x60 SWAP4 SWAP1 SWAP4 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x23F2 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1EB5 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH1 0x0 DUP5 SLOAD PUSH2 0x2410 DUP2 PUSH2 0x2343 JUMP JUMPDEST DUP1 DUP5 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x1 DUP1 DUP5 AND PUSH1 0x0 DUP2 EQ PUSH2 0x2431 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x244B JUMPI PUSH2 0x2479 JUMP JUMPDEST PUSH1 0xFF NOT DUP6 AND DUP10 DUP5 ADD MSTORE DUP4 ISZERO ISZERO PUSH1 0x5 SHL DUP10 ADD DUP4 ADD SWAP6 POP PUSH2 0x2479 JUMP JUMPDEST DUP10 PUSH1 0x0 MSTORE DUP7 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2471 JUMPI DUP2 SLOAD DUP12 DUP3 ADD DUP7 ADD MSTORE SWAP1 DUP4 ADD SWAP1 DUP9 ADD PUSH2 0x2456 JUMP JUMPDEST DUP11 ADD DUP5 ADD SWAP7 POP POP JUMPDEST POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x24AF JUMPI PUSH2 0x24AF PUSH2 0x2487 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH5 0x10DA1A5B19 PUSH1 0xDA SHL DUP2 MSTORE DUP2 DUP4 PUSH1 0x5 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 ADD PUSH1 0x5 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x855 JUMPI PUSH2 0x855 PUSH2 0x2487 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x855 JUMPI PUSH2 0x855 PUSH2 0x2487 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xDF2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2524 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2543 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2530 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2565 JUMPI PUSH2 0x2565 PUSH2 0x1F5E JUMP JUMPDEST PUSH2 0x2579 DUP2 PUSH2 0x2573 DUP5 SLOAD PUSH2 0x2343 JUMP JUMPDEST DUP5 PUSH2 0x24FD JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x25AE JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2596 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x25DD JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x25BE JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x25FB JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x261D DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1EB5 JUMP JUMPDEST PUSH32 0x3A20494E53554646494349454E545F5045524D495353494F4E53000000000000 SWAP3 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x1A ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654D657461 SLOAD PUSH19 0x616E73616374696F6E2875696E74323536206E PUSH16 0x6E63652C616464726573732066726F6D 0x2C PUSH3 0x797465 PUSH20 0x2066756E6374696F6E5369676E61747572652945 0x49 POP CALLDATACOPY BALANCE ORIGIN PREVRANDAO PUSH16 0x6D61696E28737472696E67206E616D65 0x2C PUSH20 0x7472696E672076657273696F6E2C616464726573 PUSH20 0x20766572696679696E67436F6E74726163742C62 PUSH26 0x74657333322073616C742945524332303A207472616E73666572 KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E636545524332 ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220616D6F756E7420657863656564 PUSH20 0x20616C6C6F77616E636545524332303A20646563 PUSH19 0x656173656420616C6C6F77616E63652062656C PUSH16 0x77207A65726FA2646970667358221220 SIGNEXTEND 0x28 DUP2 EXTCODECOPY DUP10 DUP12 SDIV DUP14 0xB9 SELFBALANCE 0xDE NOT PUSH26 0x48E4A016DE2D4EB44C0A299D2131490F4DBA2564736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"50794:1672:29:-:0;;;41986:19;;;-1:-1:-1;;41986:19:29;;;50794:1672;;;;;;;;;-1:-1:-1;16994:142:29;;;;;;;;;;;;-1:-1:-1;;;16994:142:29;;;;;;;;;;;;;;;;;;;;;;;;17063:14;16994:142;;17063:14;:::i;:::-;-1:-1:-1;17087:7:29;:18;17097:8;17087:7;:18;:::i;:::-;-1:-1:-1;;17115:9:29;:14;;-1:-1:-1;;17115:14:29;17127:2;17115:14;;;-1:-1:-1;50794:1672:29;;14:127:31;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:31;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:31;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:31;;;2580:26;2531:89;-1:-1:-1;;1335:1:31;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:31;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:31;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:31;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:31:o;:::-;50794:1672:29;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CHILD_CHAIN_ID_12789":{"entryPoint":null,"id":12789,"parameterSlots":0,"returnSlots":0},"@CHILD_CHAIN_ID_BYTES_12792":{"entryPoint":null,"id":12792,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_12144":{"entryPoint":null,"id":12144,"parameterSlots":0,"returnSlots":0},"@DEPOSITOR_ROLE_12851":{"entryPoint":null,"id":12851,"parameterSlots":0,"returnSlots":0},"@ERC712_VERSION_12780":{"entryPoint":null,"id":12780,"parameterSlots":0,"returnSlots":0},"@PERMIT_TYPEHASH_12990":{"entryPoint":null,"id":12990,"parameterSlots":0,"returnSlots":0},"@ROOT_CHAIN_ID_12783":{"entryPoint":null,"id":12783,"parameterSlots":0,"returnSlots":0},"@ROOT_CHAIN_ID_BYTES_12786":{"entryPoint":null,"id":12786,"parameterSlots":0,"returnSlots":0},"@_add_11748":{"entryPoint":7539,"id":11748,"parameterSlots":2,"returnSlots":1},"@_approve_11673":{"entryPoint":5133,"id":11673,"parameterSlots":3,"returnSlots":0},"@_at_11888":{"entryPoint":7405,"id":11888,"parameterSlots":2,"returnSlots":1},"@_beforeTokenTransfer_11695":{"entryPoint":null,"id":11695,"parameterSlots":3,"returnSlots":0},"@_burn_11628":{"entryPoint":6206,"id":11628,"parameterSlots":2,"returnSlots":0},"@_contains_11848":{"entryPoint":null,"id":11848,"parameterSlots":2,"returnSlots":1},"@_grantRole_12376":{"entryPoint":6466,"id":12376,"parameterSlots":2,"returnSlots":0},"@_initializeEIP712_12504":{"entryPoint":6937,"id":12504,"parameterSlots":2,"returnSlots":0},"@_length_11862":{"entryPoint":null,"id":11862,"parameterSlots":1,"returnSlots":1},"@_mint_11572":{"entryPoint":3149,"id":11572,"parameterSlots":2,"returnSlots":0},"@_msgSender_12924":{"entryPoint":5118,"id":12924,"parameterSlots":0,"returnSlots":1},"@_remove_11829":{"entryPoint":7618,"id":11829,"parameterSlots":2,"returnSlots":1},"@_revokeRole_12400":{"entryPoint":6571,"id":12400,"parameterSlots":2,"returnSlots":0},"@_setDomainSeperator_12542":{"entryPoint":6688,"id":12542,"parameterSlots":2,"returnSlots":0},"@_setupContractId_12423":{"entryPoint":6891,"id":12423,"parameterSlots":1,"returnSlots":0},"@_setupRole_12327":{"entryPoint":null,"id":12327,"parameterSlots":2,"returnSlots":0},"@_transfer_11517":{"entryPoint":5761,"id":11517,"parameterSlots":3,"returnSlots":0},"@add_10794":{"entryPoint":5666,"id":10794,"parameterSlots":2,"returnSlots":1},"@add_11919":{"entryPoint":7363,"id":11919,"parameterSlots":2,"returnSlots":1},"@allowance_11335":{"entryPoint":null,"id":11335,"parameterSlots":2,"returnSlots":1},"@approve_11356":{"entryPoint":2109,"id":11356,"parameterSlots":2,"returnSlots":1},"@at_12015":{"entryPoint":6823,"id":12015,"parameterSlots":2,"returnSlots":1},"@balanceOf_11296":{"entryPoint":null,"id":11296,"parameterSlots":1,"returnSlots":1},"@changeName_12942":{"entryPoint":3372,"id":12942,"parameterSlots":2,"returnSlots":0},"@contains_11973":{"entryPoint":6835,"id":11973,"parameterSlots":2,"returnSlots":1},"@decimals_11262":{"entryPoint":null,"id":11262,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_11451":{"entryPoint":4270,"id":11451,"parameterSlots":2,"returnSlots":1},"@deposit_12970":{"entryPoint":4445,"id":12970,"parameterSlots":3,"returnSlots":0},"@executeMetaTransaction_12697":{"entryPoint":2139,"id":12697,"parameterSlots":5,"returnSlots":1},"@getChainId_12562":{"entryPoint":null,"id":12562,"parameterSlots":0,"returnSlots":1},"@getDomainSeperator_12550":{"entryPoint":null,"id":12550,"parameterSlots":0,"returnSlots":1},"@getNonce_12735":{"entryPoint":null,"id":12735,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_12239":{"entryPoint":null,"id":12239,"parameterSlots":1,"returnSlots":1},"@getRoleMemberCount_12206":{"entryPoint":4422,"id":12206,"parameterSlots":1,"returnSlots":1},"@getRoleMember_12225":{"entryPoint":4200,"id":12225,"parameterSlots":2,"returnSlots":1},"@grantRole_12265":{"entryPoint":2789,"id":12265,"parameterSlots":2,"returnSlots":0},"@hasRole_12190":{"entryPoint":4231,"id":12190,"parameterSlots":2,"returnSlots":1},"@hashMetaTransaction_12721":{"entryPoint":7124,"id":12721,"parameterSlots":1,"returnSlots":1},"@increaseAllowance_11422":{"entryPoint":3071,"id":11422,"parameterSlots":2,"returnSlots":1},"@initialize_12913":{"entryPoint":4687,"id":12913,"parameterSlots":6,"returnSlots":0},"@length_11988":{"entryPoint":6869,"id":11988,"parameterSlots":1,"returnSlots":1},"@move_13036":{"entryPoint":4405,"id":13036,"parameterSlots":3,"returnSlots":0},"@msgSender_12832":{"entryPoint":7032,"id":12832,"parameterSlots":0,"returnSlots":1},"@name_11224":{"entryPoint":1963,"id":11224,"parameterSlots":0,"returnSlots":1},"@permit_13129":{"entryPoint":3575,"id":13129,"parameterSlots":8,"returnSlots":0},"@pull_13020":{"entryPoint":5107,"id":13020,"parameterSlots":2,"returnSlots":0},"@push_13005":{"entryPoint":4394,"id":13005,"parameterSlots":2,"returnSlots":0},"@remove_11946":{"entryPoint":7384,"id":11946,"parameterSlots":2,"returnSlots":1},"@renounceRole_12313":{"entryPoint":2933,"id":12313,"parameterSlots":2,"returnSlots":0},"@revokeRole_12291":{"entryPoint":4556,"id":12291,"parameterSlots":2,"returnSlots":0},"@setDecimals_11272":{"entryPoint":null,"id":11272,"parameterSlots":1,"returnSlots":0},"@setName_11234":{"entryPoint":6676,"id":11234,"parameterSlots":1,"returnSlots":0},"@setSymbol_11253":{"entryPoint":6879,"id":11253,"parameterSlots":1,"returnSlots":0},"@sub_10811":{"entryPoint":7297,"id":10811,"parameterSlots":2,"returnSlots":1},"@sub_10839":{"entryPoint":6148,"id":10839,"parameterSlots":3,"returnSlots":1},"@symbol_11243":{"entryPoint":4255,"id":11243,"parameterSlots":0,"returnSlots":1},"@toTypedMessageHash_12581":{"entryPoint":7249,"id":12581,"parameterSlots":1,"returnSlots":1},"@totalSupply_11282":{"entryPoint":null,"id":11282,"parameterSlots":0,"returnSlots":1},"@transferFrom_11394":{"entryPoint":2634,"id":11394,"parameterSlots":3,"returnSlots":1},"@transfer_11317":{"entryPoint":4374,"id":11317,"parameterSlots":2,"returnSlots":1},"@verify_12775":{"entryPoint":5426,"id":12775,"parameterSlots":5,"returnSlots":1},"@withdraw_12983":{"entryPoint":2769,"id":12983,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":7960,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":8455,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":8384,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":8841,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":8299,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_boolt_uint8t_bytes32t_bytes32":{"entryPoint":8594,"id":null,"parameterSlots":2,"returnSlots":8},"abi_decode_tuple_t_addresst_bytes_calldata_ptr":{"entryPoint":8758,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8":{"entryPoint":8069,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":7988,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":8359,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":8411,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":8724,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptr":{"entryPoint":8528,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_address":{"entryPoint":8883,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint8":{"entryPoint":8052,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string":{"entryPoint":7897,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":9184,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed":{"entryPoint":9129,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":9739,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":9398,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":9085,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_bool__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7941,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_storage__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":9212,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_32d2fdaddf3affb6008c1877cbfec30baf08bf9cac05b09144107f373dc1f3f5__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45370a5ff81ff8b69ed6d4f9504fc812f03a4070b510c274991c826bacdeee53__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_533bba907ed2fe60e99644310afa76db6b814f4474db6d59c2f8affde1941afe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":9431,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":9450,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":9469,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":9547,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":7861,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":9027,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":9373,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":9351,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":9826,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":9804,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":8030,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:24158:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"80:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"90:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"99:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"94:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"159:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"184:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"189:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"180:3:31"},"nodeType":"YulFunctionCall","src":"180:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"203:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"208:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"199:3:31"},"nodeType":"YulFunctionCall","src":"199:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"193:5:31"},"nodeType":"YulFunctionCall","src":"193:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"173:6:31"},"nodeType":"YulFunctionCall","src":"173:39:31"},"nodeType":"YulExpressionStatement","src":"173:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"120:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"123:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"117:2:31"},"nodeType":"YulFunctionCall","src":"117:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"131:19:31","statements":[{"nodeType":"YulAssignment","src":"133:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"142:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"145:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"138:3:31"},"nodeType":"YulFunctionCall","src":"138:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"133:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"113:3:31","statements":[]},"src":"109:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"242:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"247:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"238:3:31"},"nodeType":"YulFunctionCall","src":"238:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"256:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"231:6:31"},"nodeType":"YulFunctionCall","src":"231:27:31"},"nodeType":"YulExpressionStatement","src":"231:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"58:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"63:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:31","type":""}],"src":"14:250:31"},{"body":{"nodeType":"YulBlock","src":"319:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"329:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"349:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"343:5:31"},"nodeType":"YulFunctionCall","src":"343:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"333:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"371:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"376:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"364:6:31"},"nodeType":"YulFunctionCall","src":"364:19:31"},"nodeType":"YulExpressionStatement","src":"364:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"431:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"438:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"427:3:31"},"nodeType":"YulFunctionCall","src":"427:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"449:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"454:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"445:3:31"},"nodeType":"YulFunctionCall","src":"445:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"461:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"392:34:31"},"nodeType":"YulFunctionCall","src":"392:76:31"},"nodeType":"YulExpressionStatement","src":"392:76:31"},{"nodeType":"YulAssignment","src":"477:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"492:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"505:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"513:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"501:3:31"},"nodeType":"YulFunctionCall","src":"501:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"522:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"518:3:31"},"nodeType":"YulFunctionCall","src":"518:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"497:3:31"},"nodeType":"YulFunctionCall","src":"497:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"488:3:31"},"nodeType":"YulFunctionCall","src":"488:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"529:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"484:3:31"},"nodeType":"YulFunctionCall","src":"484:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"477:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"296:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"303:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"311:3:31","type":""}],"src":"269:271:31"},{"body":{"nodeType":"YulBlock","src":"666:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"683:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"694:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"676:6:31"},"nodeType":"YulFunctionCall","src":"676:21:31"},"nodeType":"YulExpressionStatement","src":"676:21:31"},{"nodeType":"YulAssignment","src":"706:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"732:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"744:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"755:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"740:3:31"},"nodeType":"YulFunctionCall","src":"740:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"714:17:31"},"nodeType":"YulFunctionCall","src":"714:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"706:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"635:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"646:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"657:4:31","type":""}],"src":"545:220:31"},{"body":{"nodeType":"YulBlock","src":"819:124:31","statements":[{"nodeType":"YulAssignment","src":"829:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"851:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"838:12:31"},"nodeType":"YulFunctionCall","src":"838:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"829:5:31"}]},{"body":{"nodeType":"YulBlock","src":"921:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"930:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"933:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"923:6:31"},"nodeType":"YulFunctionCall","src":"923:12:31"},"nodeType":"YulExpressionStatement","src":"923:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"880:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"891:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"906:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"911:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"915:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"898:3:31"},"nodeType":"YulFunctionCall","src":"898:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"887:3:31"},"nodeType":"YulFunctionCall","src":"887:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"877:2:31"},"nodeType":"YulFunctionCall","src":"877:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"870:6:31"},"nodeType":"YulFunctionCall","src":"870:50:31"},"nodeType":"YulIf","src":"867:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"798:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"809:5:31","type":""}],"src":"770:173:31"},{"body":{"nodeType":"YulBlock","src":"1035:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"1081:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1090:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1093:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1083:6:31"},"nodeType":"YulFunctionCall","src":"1083:12:31"},"nodeType":"YulExpressionStatement","src":"1083:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1056:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1065:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1052:3:31"},"nodeType":"YulFunctionCall","src":"1052:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1077:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1048:3:31"},"nodeType":"YulFunctionCall","src":"1048:32:31"},"nodeType":"YulIf","src":"1045:52:31"},{"nodeType":"YulAssignment","src":"1106:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1135:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1116:18:31"},"nodeType":"YulFunctionCall","src":"1116:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1106:6:31"}]},{"nodeType":"YulAssignment","src":"1154:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1181:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1192:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1177:3:31"},"nodeType":"YulFunctionCall","src":"1177:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1164:12:31"},"nodeType":"YulFunctionCall","src":"1164:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1154:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"993:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1004:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1016:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1024:6:31","type":""}],"src":"948:254:31"},{"body":{"nodeType":"YulBlock","src":"1302:92:31","statements":[{"nodeType":"YulAssignment","src":"1312:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1324:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1335:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1320:3:31"},"nodeType":"YulFunctionCall","src":"1320:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1312:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1354:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1379:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1372:6:31"},"nodeType":"YulFunctionCall","src":"1372:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1365:6:31"},"nodeType":"YulFunctionCall","src":"1365:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1347:6:31"},"nodeType":"YulFunctionCall","src":"1347:41:31"},"nodeType":"YulExpressionStatement","src":"1347:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1271:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1282:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1293:4:31","type":""}],"src":"1207:187:31"},{"body":{"nodeType":"YulBlock","src":"1518:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1535:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1546:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1528:6:31"},"nodeType":"YulFunctionCall","src":"1528:21:31"},"nodeType":"YulExpressionStatement","src":"1528:21:31"},{"nodeType":"YulAssignment","src":"1558:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1584:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1596:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1607:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1592:3:31"},"nodeType":"YulFunctionCall","src":"1592:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1566:17:31"},"nodeType":"YulFunctionCall","src":"1566:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1558:4:31"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1487:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1498:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1509:4:31","type":""}],"src":"1399:218:31"},{"body":{"nodeType":"YulBlock","src":"1654:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1671:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1678:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1683:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1674:3:31"},"nodeType":"YulFunctionCall","src":"1674:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1664:6:31"},"nodeType":"YulFunctionCall","src":"1664:31:31"},"nodeType":"YulExpressionStatement","src":"1664:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1711:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1714:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1704:6:31"},"nodeType":"YulFunctionCall","src":"1704:15:31"},"nodeType":"YulExpressionStatement","src":"1704:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1735:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1738:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1728:6:31"},"nodeType":"YulFunctionCall","src":"1728:15:31"},"nodeType":"YulExpressionStatement","src":"1728:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1622:127:31"},{"body":{"nodeType":"YulBlock","src":"1801:109:31","statements":[{"nodeType":"YulAssignment","src":"1811:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1833:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1820:12:31"},"nodeType":"YulFunctionCall","src":"1820:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1811:5:31"}]},{"body":{"nodeType":"YulBlock","src":"1888:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1897:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1900:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1890:6:31"},"nodeType":"YulFunctionCall","src":"1890:12:31"},"nodeType":"YulExpressionStatement","src":"1890:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1862:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1873:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1880:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1869:3:31"},"nodeType":"YulFunctionCall","src":"1869:16:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1859:2:31"},"nodeType":"YulFunctionCall","src":"1859:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1852:6:31"},"nodeType":"YulFunctionCall","src":"1852:35:31"},"nodeType":"YulIf","src":"1849:55:31"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1780:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1791:5:31","type":""}],"src":"1754:156:31"},{"body":{"nodeType":"YulBlock","src":"2060:1058:31","statements":[{"body":{"nodeType":"YulBlock","src":"2107:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2116:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2119:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2109:6:31"},"nodeType":"YulFunctionCall","src":"2109:12:31"},"nodeType":"YulExpressionStatement","src":"2109:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2081:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2090:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2077:3:31"},"nodeType":"YulFunctionCall","src":"2077:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2102:3:31","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2073:3:31"},"nodeType":"YulFunctionCall","src":"2073:33:31"},"nodeType":"YulIf","src":"2070:53:31"},{"nodeType":"YulAssignment","src":"2132:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2161:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2142:18:31"},"nodeType":"YulFunctionCall","src":"2142:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2132:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"2180:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2211:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2222:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2207:3:31"},"nodeType":"YulFunctionCall","src":"2207:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2194:12:31"},"nodeType":"YulFunctionCall","src":"2194:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2184:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2235:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2245:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2239:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2290:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2299:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2302:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2292:6:31"},"nodeType":"YulFunctionCall","src":"2292:12:31"},"nodeType":"YulExpressionStatement","src":"2292:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2278:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2286:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2275:2:31"},"nodeType":"YulFunctionCall","src":"2275:14:31"},"nodeType":"YulIf","src":"2272:34:31"},{"nodeType":"YulVariableDeclaration","src":"2315:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2329:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"2340:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2325:3:31"},"nodeType":"YulFunctionCall","src":"2325:22:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2319:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2395:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2404:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2407:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2397:6:31"},"nodeType":"YulFunctionCall","src":"2397:12:31"},"nodeType":"YulExpressionStatement","src":"2397:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2374:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2378:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2370:3:31"},"nodeType":"YulFunctionCall","src":"2370:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2385:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2366:3:31"},"nodeType":"YulFunctionCall","src":"2366:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2359:6:31"},"nodeType":"YulFunctionCall","src":"2359:35:31"},"nodeType":"YulIf","src":"2356:55:31"},{"nodeType":"YulVariableDeclaration","src":"2420:26:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2443:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2430:12:31"},"nodeType":"YulFunctionCall","src":"2430:16:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2424:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2469:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2471:16:31"},"nodeType":"YulFunctionCall","src":"2471:18:31"},"nodeType":"YulExpressionStatement","src":"2471:18:31"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2461:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2465:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2458:2:31"},"nodeType":"YulFunctionCall","src":"2458:10:31"},"nodeType":"YulIf","src":"2455:36:31"},{"nodeType":"YulVariableDeclaration","src":"2500:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2514:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2510:3:31"},"nodeType":"YulFunctionCall","src":"2510:7:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2504:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2526:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2546:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2540:5:31"},"nodeType":"YulFunctionCall","src":"2540:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2530:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2558:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2580:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2604:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2608:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2600:3:31"},"nodeType":"YulFunctionCall","src":"2600:13:31"},{"name":"_4","nodeType":"YulIdentifier","src":"2615:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2596:3:31"},"nodeType":"YulFunctionCall","src":"2596:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"2620:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2592:3:31"},"nodeType":"YulFunctionCall","src":"2592:31:31"},{"name":"_4","nodeType":"YulIdentifier","src":"2625:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2588:3:31"},"nodeType":"YulFunctionCall","src":"2588:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2576:3:31"},"nodeType":"YulFunctionCall","src":"2576:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2562:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2688:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2690:16:31"},"nodeType":"YulFunctionCall","src":"2690:18:31"},"nodeType":"YulExpressionStatement","src":"2690:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2647:10:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2659:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2644:2:31"},"nodeType":"YulFunctionCall","src":"2644:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2667:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2679:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2664:2:31"},"nodeType":"YulFunctionCall","src":"2664:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2641:2:31"},"nodeType":"YulFunctionCall","src":"2641:46:31"},"nodeType":"YulIf","src":"2638:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2726:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2730:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2719:6:31"},"nodeType":"YulFunctionCall","src":"2719:22:31"},"nodeType":"YulExpressionStatement","src":"2719:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2757:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2765:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2750:6:31"},"nodeType":"YulFunctionCall","src":"2750:18:31"},"nodeType":"YulExpressionStatement","src":"2750:18:31"},{"body":{"nodeType":"YulBlock","src":"2814:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2823:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2826:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2816:6:31"},"nodeType":"YulFunctionCall","src":"2816:12:31"},"nodeType":"YulExpressionStatement","src":"2816:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2791:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2795:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2787:3:31"},"nodeType":"YulFunctionCall","src":"2787:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"2800:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2783:3:31"},"nodeType":"YulFunctionCall","src":"2783:20:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2805:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2780:2:31"},"nodeType":"YulFunctionCall","src":"2780:33:31"},"nodeType":"YulIf","src":"2777:53:31"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2856:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2864:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2852:3:31"},"nodeType":"YulFunctionCall","src":"2852:15:31"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2873:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2877:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2869:3:31"},"nodeType":"YulFunctionCall","src":"2869:11:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2882:2:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2839:12:31"},"nodeType":"YulFunctionCall","src":"2839:46:31"},"nodeType":"YulExpressionStatement","src":"2839:46:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2909:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2917:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2905:3:31"},"nodeType":"YulFunctionCall","src":"2905:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"2922:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2901:3:31"},"nodeType":"YulFunctionCall","src":"2901:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"2927:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2894:6:31"},"nodeType":"YulFunctionCall","src":"2894:35:31"},"nodeType":"YulExpressionStatement","src":"2894:35:31"},{"nodeType":"YulAssignment","src":"2938:16:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2948:6:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2938:6:31"}]},{"nodeType":"YulAssignment","src":"2963:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2990:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3001:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2986:3:31"},"nodeType":"YulFunctionCall","src":"2986:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2973:12:31"},"nodeType":"YulFunctionCall","src":"2973:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2963:6:31"}]},{"nodeType":"YulAssignment","src":"3014:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3041:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3052:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3037:3:31"},"nodeType":"YulFunctionCall","src":"3037:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3024:12:31"},"nodeType":"YulFunctionCall","src":"3024:32:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3014:6:31"}]},{"nodeType":"YulAssignment","src":"3065:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3096:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3107:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3092:3:31"},"nodeType":"YulFunctionCall","src":"3092:19:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"3075:16:31"},"nodeType":"YulFunctionCall","src":"3075:37:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"3065:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1994:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2005:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2017:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2025:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2033:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2041:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2049:6:31","type":""}],"src":"1915:1203:31"},{"body":{"nodeType":"YulBlock","src":"3224:76:31","statements":[{"nodeType":"YulAssignment","src":"3234:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3246:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3257:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:31"},"nodeType":"YulFunctionCall","src":"3242:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3234:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3276:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3287:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3269:6:31"},"nodeType":"YulFunctionCall","src":"3269:25:31"},"nodeType":"YulExpressionStatement","src":"3269:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3193:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3204:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3215:4:31","type":""}],"src":"3123:177:31"},{"body":{"nodeType":"YulBlock","src":"3406:76:31","statements":[{"nodeType":"YulAssignment","src":"3416:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3428:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3439:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3424:3:31"},"nodeType":"YulFunctionCall","src":"3424:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3416:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3458:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3469:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3451:6:31"},"nodeType":"YulFunctionCall","src":"3451:25:31"},"nodeType":"YulExpressionStatement","src":"3451:25:31"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3375:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3386:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3397:4:31","type":""}],"src":"3305:177:31"},{"body":{"nodeType":"YulBlock","src":"3591:224:31","statements":[{"body":{"nodeType":"YulBlock","src":"3637:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3646:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3649:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3639:6:31"},"nodeType":"YulFunctionCall","src":"3639:12:31"},"nodeType":"YulExpressionStatement","src":"3639:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3612:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3621:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3608:3:31"},"nodeType":"YulFunctionCall","src":"3608:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3633:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3604:3:31"},"nodeType":"YulFunctionCall","src":"3604:32:31"},"nodeType":"YulIf","src":"3601:52:31"},{"nodeType":"YulAssignment","src":"3662:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3691:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3672:18:31"},"nodeType":"YulFunctionCall","src":"3672:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3662:6:31"}]},{"nodeType":"YulAssignment","src":"3710:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3743:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3754:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3739:3:31"},"nodeType":"YulFunctionCall","src":"3739:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3720:18:31"},"nodeType":"YulFunctionCall","src":"3720:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3710:6:31"}]},{"nodeType":"YulAssignment","src":"3767:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3794:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3805:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3790:3:31"},"nodeType":"YulFunctionCall","src":"3790:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3777:12:31"},"nodeType":"YulFunctionCall","src":"3777:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3767:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3541:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3552:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3564:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3572:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3580:6:31","type":""}],"src":"3487:328:31"},{"body":{"nodeType":"YulBlock","src":"3890:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"3936:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3945:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3948:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3938:6:31"},"nodeType":"YulFunctionCall","src":"3938:12:31"},"nodeType":"YulExpressionStatement","src":"3938:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3911:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3920:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3907:3:31"},"nodeType":"YulFunctionCall","src":"3907:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3932:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3903:3:31"},"nodeType":"YulFunctionCall","src":"3903:32:31"},"nodeType":"YulIf","src":"3900:52:31"},{"nodeType":"YulAssignment","src":"3961:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3984:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3971:12:31"},"nodeType":"YulFunctionCall","src":"3971:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3961:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3856:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3867:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3879:6:31","type":""}],"src":"3820:180:31"},{"body":{"nodeType":"YulBlock","src":"4075:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"4121:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4130:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4133:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4123:6:31"},"nodeType":"YulFunctionCall","src":"4123:12:31"},"nodeType":"YulExpressionStatement","src":"4123:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4096:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4105:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4092:3:31"},"nodeType":"YulFunctionCall","src":"4092:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4117:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4088:3:31"},"nodeType":"YulFunctionCall","src":"4088:32:31"},"nodeType":"YulIf","src":"4085:52:31"},{"nodeType":"YulAssignment","src":"4146:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4175:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4156:18:31"},"nodeType":"YulFunctionCall","src":"4156:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4146:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4041:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4052:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4064:6:31","type":""}],"src":"4005:186:31"},{"body":{"nodeType":"YulBlock","src":"4266:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"4312:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4321:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4324:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4314:6:31"},"nodeType":"YulFunctionCall","src":"4314:12:31"},"nodeType":"YulExpressionStatement","src":"4314:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4287:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4296:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4283:3:31"},"nodeType":"YulFunctionCall","src":"4283:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4308:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4279:3:31"},"nodeType":"YulFunctionCall","src":"4279:32:31"},"nodeType":"YulIf","src":"4276:52:31"},{"nodeType":"YulAssignment","src":"4337:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4360:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4347:12:31"},"nodeType":"YulFunctionCall","src":"4347:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4337:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4232:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4243:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4255:6:31","type":""}],"src":"4196:180:31"},{"body":{"nodeType":"YulBlock","src":"4468:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"4514:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4523:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4526:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4516:6:31"},"nodeType":"YulFunctionCall","src":"4516:12:31"},"nodeType":"YulExpressionStatement","src":"4516:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4489:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4498:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4485:3:31"},"nodeType":"YulFunctionCall","src":"4485:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4510:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4481:3:31"},"nodeType":"YulFunctionCall","src":"4481:32:31"},"nodeType":"YulIf","src":"4478:52:31"},{"nodeType":"YulAssignment","src":"4539:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4562:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4549:12:31"},"nodeType":"YulFunctionCall","src":"4549:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4539:6:31"}]},{"nodeType":"YulAssignment","src":"4581:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4614:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4625:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4610:3:31"},"nodeType":"YulFunctionCall","src":"4610:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4591:18:31"},"nodeType":"YulFunctionCall","src":"4591:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4581:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4426:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4437:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4449:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4457:6:31","type":""}],"src":"4381:254:31"},{"body":{"nodeType":"YulBlock","src":"4737:87:31","statements":[{"nodeType":"YulAssignment","src":"4747:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4759:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4770:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4755:3:31"},"nodeType":"YulFunctionCall","src":"4755:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4747:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4789:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4804:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4812:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4800:3:31"},"nodeType":"YulFunctionCall","src":"4800:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4782:6:31"},"nodeType":"YulFunctionCall","src":"4782:36:31"},"nodeType":"YulExpressionStatement","src":"4782:36:31"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4706:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4717:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4728:4:31","type":""}],"src":"4640:184:31"},{"body":{"nodeType":"YulBlock","src":"4902:275:31","statements":[{"body":{"nodeType":"YulBlock","src":"4951:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4960:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4963:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4953:6:31"},"nodeType":"YulFunctionCall","src":"4953:12:31"},"nodeType":"YulExpressionStatement","src":"4953:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4930:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4938:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4926:3:31"},"nodeType":"YulFunctionCall","src":"4926:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"4945:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4922:3:31"},"nodeType":"YulFunctionCall","src":"4922:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4915:6:31"},"nodeType":"YulFunctionCall","src":"4915:35:31"},"nodeType":"YulIf","src":"4912:55:31"},{"nodeType":"YulAssignment","src":"4976:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4999:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4986:12:31"},"nodeType":"YulFunctionCall","src":"4986:20:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4976:6:31"}]},{"body":{"nodeType":"YulBlock","src":"5049:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5058:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5061:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5051:6:31"},"nodeType":"YulFunctionCall","src":"5051:12:31"},"nodeType":"YulExpressionStatement","src":"5051:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5021:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5029:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5018:2:31"},"nodeType":"YulFunctionCall","src":"5018:30:31"},"nodeType":"YulIf","src":"5015:50:31"},{"nodeType":"YulAssignment","src":"5074:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5090:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5098:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5086:3:31"},"nodeType":"YulFunctionCall","src":"5086:17:31"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5074:8:31"}]},{"body":{"nodeType":"YulBlock","src":"5155:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5164:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5167:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5157:6:31"},"nodeType":"YulFunctionCall","src":"5157:12:31"},"nodeType":"YulExpressionStatement","src":"5157:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5126:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"5134:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5122:3:31"},"nodeType":"YulFunctionCall","src":"5122:19:31"},{"kind":"number","nodeType":"YulLiteral","src":"5143:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5118:3:31"},"nodeType":"YulFunctionCall","src":"5118:30:31"},{"name":"end","nodeType":"YulIdentifier","src":"5150:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5115:2:31"},"nodeType":"YulFunctionCall","src":"5115:39:31"},"nodeType":"YulIf","src":"5112:59:31"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4865:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"4873:3:31","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4881:8:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"4891:6:31","type":""}],"src":"4829:348:31"},{"body":{"nodeType":"YulBlock","src":"5272:321:31","statements":[{"body":{"nodeType":"YulBlock","src":"5318:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5327:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5330:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5320:6:31"},"nodeType":"YulFunctionCall","src":"5320:12:31"},"nodeType":"YulExpressionStatement","src":"5320:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5293:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5302:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5289:3:31"},"nodeType":"YulFunctionCall","src":"5289:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5314:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5285:3:31"},"nodeType":"YulFunctionCall","src":"5285:32:31"},"nodeType":"YulIf","src":"5282:52:31"},{"nodeType":"YulVariableDeclaration","src":"5343:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5370:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5357:12:31"},"nodeType":"YulFunctionCall","src":"5357:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5347:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5423:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5432:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5435:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5425:6:31"},"nodeType":"YulFunctionCall","src":"5425:12:31"},"nodeType":"YulExpressionStatement","src":"5425:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5395:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5403:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5392:2:31"},"nodeType":"YulFunctionCall","src":"5392:30:31"},"nodeType":"YulIf","src":"5389:50:31"},{"nodeType":"YulVariableDeclaration","src":"5448:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5505:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"5516:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5501:3:31"},"nodeType":"YulFunctionCall","src":"5501:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5525:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"5474:26:31"},"nodeType":"YulFunctionCall","src":"5474:59:31"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"5452:8:31","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"5462:8:31","type":""}]},{"nodeType":"YulAssignment","src":"5542:18:31","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"5552:8:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5542:6:31"}]},{"nodeType":"YulAssignment","src":"5569:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"5579:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5569:6:31"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5230:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5241:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5253:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5261:6:31","type":""}],"src":"5182:411:31"},{"body":{"nodeType":"YulBlock","src":"5782:584:31","statements":[{"body":{"nodeType":"YulBlock","src":"5829:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5838:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5841:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5831:6:31"},"nodeType":"YulFunctionCall","src":"5831:12:31"},"nodeType":"YulExpressionStatement","src":"5831:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5803:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5812:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5799:3:31"},"nodeType":"YulFunctionCall","src":"5799:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5824:3:31","type":"","value":"256"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5795:3:31"},"nodeType":"YulFunctionCall","src":"5795:33:31"},"nodeType":"YulIf","src":"5792:53:31"},{"nodeType":"YulAssignment","src":"5854:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5883:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5864:18:31"},"nodeType":"YulFunctionCall","src":"5864:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5854:6:31"}]},{"nodeType":"YulAssignment","src":"5902:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5935:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5946:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5931:3:31"},"nodeType":"YulFunctionCall","src":"5931:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"5912:18:31"},"nodeType":"YulFunctionCall","src":"5912:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5902:6:31"}]},{"nodeType":"YulAssignment","src":"5959:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5986:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5997:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5982:3:31"},"nodeType":"YulFunctionCall","src":"5982:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5969:12:31"},"nodeType":"YulFunctionCall","src":"5969:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5959:6:31"}]},{"nodeType":"YulAssignment","src":"6010:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6037:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6048:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6033:3:31"},"nodeType":"YulFunctionCall","src":"6033:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6020:12:31"},"nodeType":"YulFunctionCall","src":"6020:32:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6010:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"6061:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6091:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6102:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6087:3:31"},"nodeType":"YulFunctionCall","src":"6087:19:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6074:12:31"},"nodeType":"YulFunctionCall","src":"6074:33:31"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6065:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6160:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6169:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6172:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6162:6:31"},"nodeType":"YulFunctionCall","src":"6162:12:31"},"nodeType":"YulExpressionStatement","src":"6162:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6129:5:31"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6150:5:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6143:6:31"},"nodeType":"YulFunctionCall","src":"6143:13:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6136:6:31"},"nodeType":"YulFunctionCall","src":"6136:21:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6126:2:31"},"nodeType":"YulFunctionCall","src":"6126:32:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6119:6:31"},"nodeType":"YulFunctionCall","src":"6119:40:31"},"nodeType":"YulIf","src":"6116:60:31"},{"nodeType":"YulAssignment","src":"6185:15:31","value":{"name":"value","nodeType":"YulIdentifier","src":"6195:5:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"6185:6:31"}]},{"nodeType":"YulAssignment","src":"6209:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6240:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6251:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6236:3:31"},"nodeType":"YulFunctionCall","src":"6236:19:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"6219:16:31"},"nodeType":"YulFunctionCall","src":"6219:37:31"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"6209:6:31"}]},{"nodeType":"YulAssignment","src":"6265:43:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6292:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6303:3:31","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6288:3:31"},"nodeType":"YulFunctionCall","src":"6288:19:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6275:12:31"},"nodeType":"YulFunctionCall","src":"6275:33:31"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"6265:6:31"}]},{"nodeType":"YulAssignment","src":"6317:43:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6344:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6355:3:31","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6340:3:31"},"nodeType":"YulFunctionCall","src":"6340:19:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6327:12:31"},"nodeType":"YulFunctionCall","src":"6327:33:31"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"6317:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_boolt_uint8t_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5692:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5703:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5715:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5723:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5731:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5739:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"5747:6:31","type":""},{"name":"value5","nodeType":"YulTypedName","src":"5755:6:31","type":""},{"name":"value6","nodeType":"YulTypedName","src":"5763:6:31","type":""},{"name":"value7","nodeType":"YulTypedName","src":"5771:6:31","type":""}],"src":"5598:768:31"},{"body":{"nodeType":"YulBlock","src":"6458:161:31","statements":[{"body":{"nodeType":"YulBlock","src":"6504:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6513:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6516:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6506:6:31"},"nodeType":"YulFunctionCall","src":"6506:12:31"},"nodeType":"YulExpressionStatement","src":"6506:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6479:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6488:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6475:3:31"},"nodeType":"YulFunctionCall","src":"6475:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"6500:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6471:3:31"},"nodeType":"YulFunctionCall","src":"6471:32:31"},"nodeType":"YulIf","src":"6468:52:31"},{"nodeType":"YulAssignment","src":"6529:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6552:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6539:12:31"},"nodeType":"YulFunctionCall","src":"6539:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6529:6:31"}]},{"nodeType":"YulAssignment","src":"6571:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6598:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6609:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6594:3:31"},"nodeType":"YulFunctionCall","src":"6594:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6581:12:31"},"nodeType":"YulFunctionCall","src":"6581:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6571:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6416:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6427:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6439:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6447:6:31","type":""}],"src":"6371:248:31"},{"body":{"nodeType":"YulBlock","src":"6725:102:31","statements":[{"nodeType":"YulAssignment","src":"6735:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6747:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6758:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6743:3:31"},"nodeType":"YulFunctionCall","src":"6743:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6735:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6777:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6792:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6808:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6813:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6804:3:31"},"nodeType":"YulFunctionCall","src":"6804:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"6817:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6800:3:31"},"nodeType":"YulFunctionCall","src":"6800:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6788:3:31"},"nodeType":"YulFunctionCall","src":"6788:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6770:6:31"},"nodeType":"YulFunctionCall","src":"6770:51:31"},"nodeType":"YulExpressionStatement","src":"6770:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6694:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6705:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6716:4:31","type":""}],"src":"6624:203:31"},{"body":{"nodeType":"YulBlock","src":"6938:378:31","statements":[{"body":{"nodeType":"YulBlock","src":"6984:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6993:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6996:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6986:6:31"},"nodeType":"YulFunctionCall","src":"6986:12:31"},"nodeType":"YulExpressionStatement","src":"6986:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6959:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6968:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6955:3:31"},"nodeType":"YulFunctionCall","src":"6955:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"6980:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6951:3:31"},"nodeType":"YulFunctionCall","src":"6951:32:31"},"nodeType":"YulIf","src":"6948:52:31"},{"nodeType":"YulAssignment","src":"7009:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7038:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7019:18:31"},"nodeType":"YulFunctionCall","src":"7019:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7009:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"7057:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7088:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7099:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7084:3:31"},"nodeType":"YulFunctionCall","src":"7084:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7071:12:31"},"nodeType":"YulFunctionCall","src":"7071:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7061:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7146:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7155:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7158:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7148:6:31"},"nodeType":"YulFunctionCall","src":"7148:12:31"},"nodeType":"YulExpressionStatement","src":"7148:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7118:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7126:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7115:2:31"},"nodeType":"YulFunctionCall","src":"7115:30:31"},"nodeType":"YulIf","src":"7112:50:31"},{"nodeType":"YulVariableDeclaration","src":"7171:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7228:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"7239:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7224:3:31"},"nodeType":"YulFunctionCall","src":"7224:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7248:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"7197:26:31"},"nodeType":"YulFunctionCall","src":"7197:59:31"},"variables":[{"name":"value1_1","nodeType":"YulTypedName","src":"7175:8:31","type":""},{"name":"value2_1","nodeType":"YulTypedName","src":"7185:8:31","type":""}]},{"nodeType":"YulAssignment","src":"7265:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"7275:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7265:6:31"}]},{"nodeType":"YulAssignment","src":"7292:18:31","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"7302:8:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7292:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6888:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6899:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6911:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6919:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6927:6:31","type":""}],"src":"6832:484:31"},{"body":{"nodeType":"YulBlock","src":"7408:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"7454:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7463:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7466:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7456:6:31"},"nodeType":"YulFunctionCall","src":"7456:12:31"},"nodeType":"YulExpressionStatement","src":"7456:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7429:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"7438:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7425:3:31"},"nodeType":"YulFunctionCall","src":"7425:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"7450:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7421:3:31"},"nodeType":"YulFunctionCall","src":"7421:32:31"},"nodeType":"YulIf","src":"7418:52:31"},{"nodeType":"YulAssignment","src":"7479:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7508:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7489:18:31"},"nodeType":"YulFunctionCall","src":"7489:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7479:6:31"}]},{"nodeType":"YulAssignment","src":"7527:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7560:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7571:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7556:3:31"},"nodeType":"YulFunctionCall","src":"7556:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7537:18:31"},"nodeType":"YulFunctionCall","src":"7537:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7527:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7366:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7377:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7389:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7397:6:31","type":""}],"src":"7321:260:31"},{"body":{"nodeType":"YulBlock","src":"7745:707:31","statements":[{"body":{"nodeType":"YulBlock","src":"7792:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7801:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7804:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7794:6:31"},"nodeType":"YulFunctionCall","src":"7794:12:31"},"nodeType":"YulExpressionStatement","src":"7794:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"7766:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"7775:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7762:3:31"},"nodeType":"YulFunctionCall","src":"7762:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"7787:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7758:3:31"},"nodeType":"YulFunctionCall","src":"7758:33:31"},"nodeType":"YulIf","src":"7755:53:31"},{"nodeType":"YulVariableDeclaration","src":"7817:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7844:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7831:12:31"},"nodeType":"YulFunctionCall","src":"7831:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7821:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7863:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"7873:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7867:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7918:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7927:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7930:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7920:6:31"},"nodeType":"YulFunctionCall","src":"7920:12:31"},"nodeType":"YulExpressionStatement","src":"7920:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7906:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7914:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7903:2:31"},"nodeType":"YulFunctionCall","src":"7903:14:31"},"nodeType":"YulIf","src":"7900:34:31"},{"nodeType":"YulVariableDeclaration","src":"7943:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8000:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"8011:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7996:3:31"},"nodeType":"YulFunctionCall","src":"7996:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8020:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"7969:26:31"},"nodeType":"YulFunctionCall","src":"7969:59:31"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"7947:8:31","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"7957:8:31","type":""}]},{"nodeType":"YulAssignment","src":"8037:18:31","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"8047:8:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8037:6:31"}]},{"nodeType":"YulAssignment","src":"8064:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"8074:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"8064:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"8091:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8124:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8135:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8120:3:31"},"nodeType":"YulFunctionCall","src":"8120:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8107:12:31"},"nodeType":"YulFunctionCall","src":"8107:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"8095:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"8168:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8177:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8180:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8170:6:31"},"nodeType":"YulFunctionCall","src":"8170:12:31"},"nodeType":"YulExpressionStatement","src":"8170:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"8154:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"8164:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8151:2:31"},"nodeType":"YulFunctionCall","src":"8151:16:31"},"nodeType":"YulIf","src":"8148:36:31"},{"nodeType":"YulVariableDeclaration","src":"8193:87:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8250:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"8261:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8246:3:31"},"nodeType":"YulFunctionCall","src":"8246:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"8272:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"8219:26:31"},"nodeType":"YulFunctionCall","src":"8219:61:31"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"8197:8:31","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"8207:8:31","type":""}]},{"nodeType":"YulAssignment","src":"8289:18:31","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"8299:8:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"8289:6:31"}]},{"nodeType":"YulAssignment","src":"8316:18:31","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"8326:8:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"8316:6:31"}]},{"nodeType":"YulAssignment","src":"8343:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8374:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8385:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8370:3:31"},"nodeType":"YulFunctionCall","src":"8370:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"8353:16:31"},"nodeType":"YulFunctionCall","src":"8353:36:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"8343:6:31"}]},{"nodeType":"YulAssignment","src":"8398:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8431:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8442:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8427:3:31"},"nodeType":"YulFunctionCall","src":"8427:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"8408:18:31"},"nodeType":"YulFunctionCall","src":"8408:38:31"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"8398:6:31"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7671:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"7682:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"7694:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7702:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7710:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"7718:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"7726:6:31","type":""},{"name":"value5","nodeType":"YulTypedName","src":"7734:6:31","type":""}],"src":"7586:866:31"},{"body":{"nodeType":"YulBlock","src":"8512:325:31","statements":[{"nodeType":"YulAssignment","src":"8522:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8536:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"8539:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"8532:3:31"},"nodeType":"YulFunctionCall","src":"8532:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8522:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"8553:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"8583:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"8589:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8579:3:31"},"nodeType":"YulFunctionCall","src":"8579:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"8557:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"8630:31:31","statements":[{"nodeType":"YulAssignment","src":"8632:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8646:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8654:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8642:3:31"},"nodeType":"YulFunctionCall","src":"8642:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8632:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"8610:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8603:6:31"},"nodeType":"YulFunctionCall","src":"8603:26:31"},"nodeType":"YulIf","src":"8600:61:31"},{"body":{"nodeType":"YulBlock","src":"8720:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8741:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8748:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"8753:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8744:3:31"},"nodeType":"YulFunctionCall","src":"8744:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8734:6:31"},"nodeType":"YulFunctionCall","src":"8734:31:31"},"nodeType":"YulExpressionStatement","src":"8734:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8785:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8788:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8778:6:31"},"nodeType":"YulFunctionCall","src":"8778:15:31"},"nodeType":"YulExpressionStatement","src":"8778:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8813:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8816:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8806:6:31"},"nodeType":"YulFunctionCall","src":"8806:15:31"},"nodeType":"YulExpressionStatement","src":"8806:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"8676:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8699:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"8707:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8696:2:31"},"nodeType":"YulFunctionCall","src":"8696:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8673:2:31"},"nodeType":"YulFunctionCall","src":"8673:38:31"},"nodeType":"YulIf","src":"8670:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"8492:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"8501:6:31","type":""}],"src":"8457:380:31"},{"body":{"nodeType":"YulBlock","src":"9016:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9033:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9044:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9026:6:31"},"nodeType":"YulFunctionCall","src":"9026:21:31"},"nodeType":"YulExpressionStatement","src":"9026:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9067:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9078:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9063:3:31"},"nodeType":"YulFunctionCall","src":"9063:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"9083:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9056:6:31"},"nodeType":"YulFunctionCall","src":"9056:30:31"},"nodeType":"YulExpressionStatement","src":"9056:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9106:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9117:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9102:3:31"},"nodeType":"YulFunctionCall","src":"9102:18:31"},{"hexValue":"5369676e657220616e64207369676e617475726520646f206e6f74206d617463","kind":"string","nodeType":"YulLiteral","src":"9122:34:31","type":"","value":"Signer and signature do not matc"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9095:6:31"},"nodeType":"YulFunctionCall","src":"9095:62:31"},"nodeType":"YulExpressionStatement","src":"9095:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9177:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9188:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9173:3:31"},"nodeType":"YulFunctionCall","src":"9173:18:31"},{"hexValue":"68","kind":"string","nodeType":"YulLiteral","src":"9193:3:31","type":"","value":"h"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9166:6:31"},"nodeType":"YulFunctionCall","src":"9166:31:31"},"nodeType":"YulExpressionStatement","src":"9166:31:31"},{"nodeType":"YulAssignment","src":"9206:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9218:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9229:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9214:3:31"},"nodeType":"YulFunctionCall","src":"9214:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9206:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8993:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9007:4:31","type":""}],"src":"8842:397:31"},{"body":{"nodeType":"YulBlock","src":"9435:241:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9445:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9463:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9468:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9459:3:31"},"nodeType":"YulFunctionCall","src":"9459:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"9472:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9455:3:31"},"nodeType":"YulFunctionCall","src":"9455:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9449:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9490:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9505:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9513:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9501:3:31"},"nodeType":"YulFunctionCall","src":"9501:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9483:6:31"},"nodeType":"YulFunctionCall","src":"9483:34:31"},"nodeType":"YulExpressionStatement","src":"9483:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9537:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9548:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9533:3:31"},"nodeType":"YulFunctionCall","src":"9533:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9557:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"9565:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9553:3:31"},"nodeType":"YulFunctionCall","src":"9553:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9526:6:31"},"nodeType":"YulFunctionCall","src":"9526:43:31"},"nodeType":"YulExpressionStatement","src":"9526:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9589:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9600:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9585:3:31"},"nodeType":"YulFunctionCall","src":"9585:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"9605:2:31","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9578:6:31"},"nodeType":"YulFunctionCall","src":"9578:30:31"},"nodeType":"YulExpressionStatement","src":"9578:30:31"},{"nodeType":"YulAssignment","src":"9617:53:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"9643:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9655:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9666:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9651:3:31"},"nodeType":"YulFunctionCall","src":"9651:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9625:17:31"},"nodeType":"YulFunctionCall","src":"9625:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9617:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9388:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9399:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9407:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9415:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9426:4:31","type":""}],"src":"9244:432:31"},{"body":{"nodeType":"YulBlock","src":"9846:263:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9856:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9876:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9870:5:31"},"nodeType":"YulFunctionCall","src":"9870:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9860:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9931:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"9939:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9927:3:31"},"nodeType":"YulFunctionCall","src":"9927:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"9946:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9951:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"9892:34:31"},"nodeType":"YulFunctionCall","src":"9892:66:31"},"nodeType":"YulExpressionStatement","src":"9892:66:31"},{"nodeType":"YulVariableDeclaration","src":"9967:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9984:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9989:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9980:3:31"},"nodeType":"YulFunctionCall","src":"9980:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"9971:5:31","type":""}]},{"expression":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"10012:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10027:2:31","type":"","value":"96"},{"name":"value1","nodeType":"YulIdentifier","src":"10031:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10023:3:31"},"nodeType":"YulFunctionCall","src":"10023:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10044:26:31","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"10040:3:31"},"nodeType":"YulFunctionCall","src":"10040:31:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10019:3:31"},"nodeType":"YulFunctionCall","src":"10019:53:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10005:6:31"},"nodeType":"YulFunctionCall","src":"10005:68:31"},"nodeType":"YulExpressionStatement","src":"10005:68:31"},{"nodeType":"YulAssignment","src":"10082:21:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"10093:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"10100:2:31","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10089:3:31"},"nodeType":"YulFunctionCall","src":"10089:14:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10082:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9814:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9819:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9827:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9838:3:31","type":""}],"src":"9681:428:31"},{"body":{"nodeType":"YulBlock","src":"10251:150:31","statements":[{"nodeType":"YulVariableDeclaration","src":"10261:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10281:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10275:5:31"},"nodeType":"YulFunctionCall","src":"10275:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"10265:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10336:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"10344:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10332:3:31"},"nodeType":"YulFunctionCall","src":"10332:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"10351:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"10356:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"10297:34:31"},"nodeType":"YulFunctionCall","src":"10297:66:31"},"nodeType":"YulExpressionStatement","src":"10297:66:31"},{"nodeType":"YulAssignment","src":"10372:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10383:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"10388:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10379:3:31"},"nodeType":"YulFunctionCall","src":"10379:16:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10372:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"10227:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10232:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10243:3:31","type":""}],"src":"10114:287:31"},{"body":{"nodeType":"YulBlock","src":"10580:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10597:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10608:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10590:6:31"},"nodeType":"YulFunctionCall","src":"10590:21:31"},"nodeType":"YulExpressionStatement","src":"10590:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10631:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10642:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10627:3:31"},"nodeType":"YulFunctionCall","src":"10627:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"10647:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10620:6:31"},"nodeType":"YulFunctionCall","src":"10620:30:31"},"nodeType":"YulExpressionStatement","src":"10620:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10670:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10681:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10666:3:31"},"nodeType":"YulFunctionCall","src":"10666:18:31"},{"hexValue":"46756e6374696f6e2063616c6c206e6f74207375636365737366756c","kind":"string","nodeType":"YulLiteral","src":"10686:30:31","type":"","value":"Function call not successful"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10659:6:31"},"nodeType":"YulFunctionCall","src":"10659:58:31"},"nodeType":"YulExpressionStatement","src":"10659:58:31"},{"nodeType":"YulAssignment","src":"10726:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10738:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10749:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10734:3:31"},"nodeType":"YulFunctionCall","src":"10734:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10726:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10557:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10571:4:31","type":""}],"src":"10406:352:31"},{"body":{"nodeType":"YulBlock","src":"10937:237:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10954:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10965:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10947:6:31"},"nodeType":"YulFunctionCall","src":"10947:21:31"},"nodeType":"YulExpressionStatement","src":"10947:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10988:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10999:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10984:3:31"},"nodeType":"YulFunctionCall","src":"10984:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"11004:2:31","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10977:6:31"},"nodeType":"YulFunctionCall","src":"10977:30:31"},"nodeType":"YulExpressionStatement","src":"10977:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11027:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11038:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11023:3:31"},"nodeType":"YulFunctionCall","src":"11023:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e","kind":"string","nodeType":"YulLiteral","src":"11043:34:31","type":"","value":"AccessControl: sender must be an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11016:6:31"},"nodeType":"YulFunctionCall","src":"11016:62:31"},"nodeType":"YulExpressionStatement","src":"11016:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11098:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11109:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11094:3:31"},"nodeType":"YulFunctionCall","src":"11094:18:31"},{"hexValue":"2061646d696e20746f206772616e74","kind":"string","nodeType":"YulLiteral","src":"11114:17:31","type":"","value":" admin to grant"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11087:6:31"},"nodeType":"YulFunctionCall","src":"11087:45:31"},"nodeType":"YulExpressionStatement","src":"11087:45:31"},{"nodeType":"YulAssignment","src":"11141:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11153:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11164:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11149:3:31"},"nodeType":"YulFunctionCall","src":"11149:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11141:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10914:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10928:4:31","type":""}],"src":"10763:411:31"},{"body":{"nodeType":"YulBlock","src":"11353:237:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11370:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11381:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11363:6:31"},"nodeType":"YulFunctionCall","src":"11363:21:31"},"nodeType":"YulExpressionStatement","src":"11363:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11404:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11415:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11400:3:31"},"nodeType":"YulFunctionCall","src":"11400:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"11420:2:31","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11393:6:31"},"nodeType":"YulFunctionCall","src":"11393:30:31"},"nodeType":"YulExpressionStatement","src":"11393:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11443:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11454:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11439:3:31"},"nodeType":"YulFunctionCall","src":"11439:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"11459:34:31","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11432:6:31"},"nodeType":"YulFunctionCall","src":"11432:62:31"},"nodeType":"YulExpressionStatement","src":"11432:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11514:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11525:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11510:3:31"},"nodeType":"YulFunctionCall","src":"11510:18:31"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"11530:17:31","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11503:6:31"},"nodeType":"YulFunctionCall","src":"11503:45:31"},"nodeType":"YulExpressionStatement","src":"11503:45:31"},{"nodeType":"YulAssignment","src":"11557:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11569:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11580:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11565:3:31"},"nodeType":"YulFunctionCall","src":"11565:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11557:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11330:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11344:4:31","type":""}],"src":"11179:411:31"},{"body":{"nodeType":"YulBlock","src":"11769:181:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11786:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11797:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11779:6:31"},"nodeType":"YulFunctionCall","src":"11779:21:31"},"nodeType":"YulExpressionStatement","src":"11779:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11820:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11831:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11816:3:31"},"nodeType":"YulFunctionCall","src":"11816:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"11836:2:31","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11809:6:31"},"nodeType":"YulFunctionCall","src":"11809:30:31"},"nodeType":"YulExpressionStatement","src":"11809:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11859:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11870:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11855:3:31"},"nodeType":"YulFunctionCall","src":"11855:18:31"},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"11875:33:31","type":"","value":"ERC20: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11848:6:31"},"nodeType":"YulFunctionCall","src":"11848:61:31"},"nodeType":"YulExpressionStatement","src":"11848:61:31"},{"nodeType":"YulAssignment","src":"11918:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11930:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11941:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11926:3:31"},"nodeType":"YulFunctionCall","src":"11926:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11918:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11746:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11760:4:31","type":""}],"src":"11595:355:31"},{"body":{"nodeType":"YulBlock","src":"12011:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12028:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"12031:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12021:6:31"},"nodeType":"YulFunctionCall","src":"12021:14:31"},"nodeType":"YulExpressionStatement","src":"12021:14:31"},{"nodeType":"YulAssignment","src":"12044:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12062:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12065:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"12052:9:31"},"nodeType":"YulFunctionCall","src":"12052:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"12044:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11994:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"12002:4:31","type":""}],"src":"11955:121:31"},{"body":{"nodeType":"YulBlock","src":"12199:845:31","statements":[{"nodeType":"YulVariableDeclaration","src":"12209:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12219:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"12213:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12237:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12248:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12230:6:31"},"nodeType":"YulFunctionCall","src":"12230:21:31"},"nodeType":"YulExpressionStatement","src":"12230:21:31"},{"nodeType":"YulVariableDeclaration","src":"12260:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12271:1:31","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"12264:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12281:30:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12304:6:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"12298:5:31"},"nodeType":"YulFunctionCall","src":"12298:13:31"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"12285:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12320:50:31","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"12360:9:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"12334:25:31"},"nodeType":"YulFunctionCall","src":"12334:36:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12324:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12390:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12401:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12386:3:31"},"nodeType":"YulFunctionCall","src":"12386:18:31"},{"name":"length","nodeType":"YulIdentifier","src":"12406:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12379:6:31"},"nodeType":"YulFunctionCall","src":"12379:34:31"},"nodeType":"YulExpressionStatement","src":"12379:34:31"},{"nodeType":"YulVariableDeclaration","src":"12422:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12432:2:31","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"12426:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12443:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12453:1:31","type":"","value":"1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"12447:2:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"12504:151:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12529:9:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12540:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12525:3:31"},"nodeType":"YulFunctionCall","src":"12525:18:31"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"12549:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12564:3:31","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12560:3:31"},"nodeType":"YulFunctionCall","src":"12560:8:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12545:3:31"},"nodeType":"YulFunctionCall","src":"12545:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12518:6:31"},"nodeType":"YulFunctionCall","src":"12518:52:31"},"nodeType":"YulExpressionStatement","src":"12518:52:31"},{"nodeType":"YulAssignment","src":"12583:62:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12598:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12613:1:31","type":"","value":"5"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12630:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12623:6:31"},"nodeType":"YulFunctionCall","src":"12623:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12616:6:31"},"nodeType":"YulFunctionCall","src":"12616:22:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12609:3:31"},"nodeType":"YulFunctionCall","src":"12609:30:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12594:3:31"},"nodeType":"YulFunctionCall","src":"12594:46:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12642:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12590:3:31"},"nodeType":"YulFunctionCall","src":"12590:55:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"12583:3:31"}]}]},"nodeType":"YulCase","src":"12497:158:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12502:1:31","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"12671:347:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12692:1:31","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"12695:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12685:6:31"},"nodeType":"YulFunctionCall","src":"12685:17:31"},"nodeType":"YulExpressionStatement","src":"12685:17:31"},{"nodeType":"YulVariableDeclaration","src":"12715:31:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12740:1:31","type":"","value":"0"},{"name":"_1","nodeType":"YulIdentifier","src":"12743:2:31"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"12730:9:31"},"nodeType":"YulFunctionCall","src":"12730:16:31"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"12719:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"12759:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12768:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"12763:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"12836:126:31","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12869:9:31"},{"name":"i","nodeType":"YulIdentifier","src":"12880:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12865:3:31"},"nodeType":"YulFunctionCall","src":"12865:17:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12884:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12861:3:31"},"nodeType":"YulFunctionCall","src":"12861:26:31"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12895:7:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"12889:5:31"},"nodeType":"YulFunctionCall","src":"12889:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12854:6:31"},"nodeType":"YulFunctionCall","src":"12854:50:31"},"nodeType":"YulExpressionStatement","src":"12854:50:31"},{"nodeType":"YulAssignment","src":"12921:27:31","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12936:7:31"},{"name":"_3","nodeType":"YulIdentifier","src":"12945:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12932:3:31"},"nodeType":"YulFunctionCall","src":"12932:16:31"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12921:7:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12793:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"12796:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12790:2:31"},"nodeType":"YulFunctionCall","src":"12790:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12804:19:31","statements":[{"nodeType":"YulAssignment","src":"12806:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12815:1:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12818:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12811:3:31"},"nodeType":"YulFunctionCall","src":"12811:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12806:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"12786:3:31","statements":[]},"src":"12782:180:31"},{"nodeType":"YulAssignment","src":"12975:33:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12990:9:31"},{"name":"i","nodeType":"YulIdentifier","src":"13001:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12986:3:31"},"nodeType":"YulFunctionCall","src":"12986:17:31"},{"name":"_2","nodeType":"YulIdentifier","src":"13005:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12982:3:31"},"nodeType":"YulFunctionCall","src":"12982:26:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"12975:3:31"}]}]},"nodeType":"YulCase","src":"12664:354:31","value":{"kind":"number","nodeType":"YulLiteral","src":"12669:1:31","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"12474:9:31"},{"name":"_3","nodeType":"YulIdentifier","src":"12485:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12470:3:31"},"nodeType":"YulFunctionCall","src":"12470:18:31"},"nodeType":"YulSwitch","src":"12463:555:31"},{"nodeType":"YulAssignment","src":"13027:11:31","value":{"name":"ret","nodeType":"YulIdentifier","src":"13035:3:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13027:4:31"}]}]},"name":"abi_encode_tuple_t_string_storage__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12168:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12179:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12190:4:31","type":""}],"src":"12081:963:31"},{"body":{"nodeType":"YulBlock","src":"13284:366:31","statements":[{"nodeType":"YulAssignment","src":"13294:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13306:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13317:3:31","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13302:3:31"},"nodeType":"YulFunctionCall","src":"13302:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13294:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13337:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"13348:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13330:6:31"},"nodeType":"YulFunctionCall","src":"13330:25:31"},"nodeType":"YulExpressionStatement","src":"13330:25:31"},{"nodeType":"YulVariableDeclaration","src":"13364:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13382:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"13387:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13378:3:31"},"nodeType":"YulFunctionCall","src":"13378:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"13391:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13374:3:31"},"nodeType":"YulFunctionCall","src":"13374:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"13368:2:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13413:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13424:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13409:3:31"},"nodeType":"YulFunctionCall","src":"13409:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13433:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"13441:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13429:3:31"},"nodeType":"YulFunctionCall","src":"13429:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13402:6:31"},"nodeType":"YulFunctionCall","src":"13402:43:31"},"nodeType":"YulExpressionStatement","src":"13402:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13465:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13476:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13461:3:31"},"nodeType":"YulFunctionCall","src":"13461:18:31"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"13485:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"13493:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"13481:3:31"},"nodeType":"YulFunctionCall","src":"13481:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13454:6:31"},"nodeType":"YulFunctionCall","src":"13454:43:31"},"nodeType":"YulExpressionStatement","src":"13454:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13517:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13528:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13513:3:31"},"nodeType":"YulFunctionCall","src":"13513:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"13533:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13506:6:31"},"nodeType":"YulFunctionCall","src":"13506:34:31"},"nodeType":"YulExpressionStatement","src":"13506:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13560:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13571:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13556:3:31"},"nodeType":"YulFunctionCall","src":"13556:19:31"},{"name":"value4","nodeType":"YulIdentifier","src":"13577:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13549:6:31"},"nodeType":"YulFunctionCall","src":"13549:35:31"},"nodeType":"YulExpressionStatement","src":"13549:35:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13604:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13615:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13600:3:31"},"nodeType":"YulFunctionCall","src":"13600:19:31"},{"arguments":[{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"13635:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13628:6:31"},"nodeType":"YulFunctionCall","src":"13628:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13621:6:31"},"nodeType":"YulFunctionCall","src":"13621:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13593:6:31"},"nodeType":"YulFunctionCall","src":"13593:51:31"},"nodeType":"YulExpressionStatement","src":"13593:51:31"}]},"name":"abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_bool__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13213:9:31","type":""},{"name":"value5","nodeType":"YulTypedName","src":"13224:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"13232:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13240:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13248:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13256:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13264:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13275:4:31","type":""}],"src":"13049:601:31"},{"body":{"nodeType":"YulBlock","src":"13903:144:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13920:3:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13929:3:31","type":"","value":"240"},{"kind":"number","nodeType":"YulLiteral","src":"13934:4:31","type":"","value":"6401"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"13925:3:31"},"nodeType":"YulFunctionCall","src":"13925:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13913:6:31"},"nodeType":"YulFunctionCall","src":"13913:27:31"},"nodeType":"YulExpressionStatement","src":"13913:27:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13960:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"13965:1:31","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13956:3:31"},"nodeType":"YulFunctionCall","src":"13956:11:31"},{"name":"value0","nodeType":"YulIdentifier","src":"13969:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13949:6:31"},"nodeType":"YulFunctionCall","src":"13949:27:31"},"nodeType":"YulExpressionStatement","src":"13949:27:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13996:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"14001:2:31","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13992:3:31"},"nodeType":"YulFunctionCall","src":"13992:12:31"},{"name":"value1","nodeType":"YulIdentifier","src":"14006:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13985:6:31"},"nodeType":"YulFunctionCall","src":"13985:28:31"},"nodeType":"YulExpressionStatement","src":"13985:28:31"},{"nodeType":"YulAssignment","src":"14022:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14033:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"14038:2:31","type":"","value":"66"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14029:3:31"},"nodeType":"YulFunctionCall","src":"14029:12:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14022:3:31"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13871:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13876:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13884:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13895:3:31","type":""}],"src":"13655:392:31"},{"body":{"nodeType":"YulBlock","src":"14233:217:31","statements":[{"nodeType":"YulAssignment","src":"14243:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14255:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14266:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14251:3:31"},"nodeType":"YulFunctionCall","src":"14251:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14243:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14286:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"14297:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14279:6:31"},"nodeType":"YulFunctionCall","src":"14279:25:31"},"nodeType":"YulExpressionStatement","src":"14279:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14324:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14335:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14320:3:31"},"nodeType":"YulFunctionCall","src":"14320:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14344:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"14352:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14340:3:31"},"nodeType":"YulFunctionCall","src":"14340:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14313:6:31"},"nodeType":"YulFunctionCall","src":"14313:45:31"},"nodeType":"YulExpressionStatement","src":"14313:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14378:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14389:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14374:3:31"},"nodeType":"YulFunctionCall","src":"14374:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"14394:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14367:6:31"},"nodeType":"YulFunctionCall","src":"14367:34:31"},"nodeType":"YulExpressionStatement","src":"14367:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14421:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14432:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14417:3:31"},"nodeType":"YulFunctionCall","src":"14417:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"14437:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14410:6:31"},"nodeType":"YulFunctionCall","src":"14410:34:31"},"nodeType":"YulExpressionStatement","src":"14410:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14178:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14189:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14197:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14205:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14213:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14224:4:31","type":""}],"src":"14052:398:31"},{"body":{"nodeType":"YulBlock","src":"14629:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14646:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14657:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14639:6:31"},"nodeType":"YulFunctionCall","src":"14639:21:31"},"nodeType":"YulExpressionStatement","src":"14639:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14680:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14691:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14676:3:31"},"nodeType":"YulFunctionCall","src":"14676:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"14696:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14669:6:31"},"nodeType":"YulFunctionCall","src":"14669:30:31"},"nodeType":"YulExpressionStatement","src":"14669:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14719:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14730:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14715:3:31"},"nodeType":"YulFunctionCall","src":"14715:18:31"},{"hexValue":"554368696c644441493a20494e56414c49442d5045524d4954","kind":"string","nodeType":"YulLiteral","src":"14735:27:31","type":"","value":"UChildDAI: INVALID-PERMIT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14708:6:31"},"nodeType":"YulFunctionCall","src":"14708:55:31"},"nodeType":"YulExpressionStatement","src":"14708:55:31"},{"nodeType":"YulAssignment","src":"14772:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14784:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14795:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14780:3:31"},"nodeType":"YulFunctionCall","src":"14780:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14772:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_45370a5ff81ff8b69ed6d4f9504fc812f03a4070b510c274991c826bacdeee53__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14606:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14620:4:31","type":""}],"src":"14455:349:31"},{"body":{"nodeType":"YulBlock","src":"14983:175:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15000:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15011:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14993:6:31"},"nodeType":"YulFunctionCall","src":"14993:21:31"},"nodeType":"YulExpressionStatement","src":"14993:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15034:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15045:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15030:3:31"},"nodeType":"YulFunctionCall","src":"15030:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"15050:2:31","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15023:6:31"},"nodeType":"YulFunctionCall","src":"15023:30:31"},"nodeType":"YulExpressionStatement","src":"15023:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15073:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15084:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15069:3:31"},"nodeType":"YulFunctionCall","src":"15069:18:31"},{"hexValue":"554368696c644441493a205045524d49542d45585049524544","kind":"string","nodeType":"YulLiteral","src":"15089:27:31","type":"","value":"UChildDAI: PERMIT-EXPIRED"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15062:6:31"},"nodeType":"YulFunctionCall","src":"15062:55:31"},"nodeType":"YulExpressionStatement","src":"15062:55:31"},{"nodeType":"YulAssignment","src":"15126:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15138:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15149:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15134:3:31"},"nodeType":"YulFunctionCall","src":"15134:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15126:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_533bba907ed2fe60e99644310afa76db6b814f4474db6d59c2f8affde1941afe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14960:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14974:4:31","type":""}],"src":"14809:349:31"},{"body":{"nodeType":"YulBlock","src":"15195:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15212:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15219:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"15224:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15215:3:31"},"nodeType":"YulFunctionCall","src":"15215:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15205:6:31"},"nodeType":"YulFunctionCall","src":"15205:31:31"},"nodeType":"YulExpressionStatement","src":"15205:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15252:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"15255:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15245:6:31"},"nodeType":"YulFunctionCall","src":"15245:15:31"},"nodeType":"YulExpressionStatement","src":"15245:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15276:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15279:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15269:6:31"},"nodeType":"YulFunctionCall","src":"15269:15:31"},"nodeType":"YulExpressionStatement","src":"15269:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"15163:127:31"},{"body":{"nodeType":"YulBlock","src":"15342:88:31","statements":[{"body":{"nodeType":"YulBlock","src":"15373:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15375:16:31"},"nodeType":"YulFunctionCall","src":"15375:18:31"},"nodeType":"YulExpressionStatement","src":"15375:18:31"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15358:5:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15369:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"15365:3:31"},"nodeType":"YulFunctionCall","src":"15365:6:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"15355:2:31"},"nodeType":"YulFunctionCall","src":"15355:17:31"},"nodeType":"YulIf","src":"15352:43:31"},{"nodeType":"YulAssignment","src":"15404:20:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15415:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"15422:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15411:3:31"},"nodeType":"YulFunctionCall","src":"15411:13:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"15404:3:31"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15324:5:31","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"15334:3:31","type":""}],"src":"15295:135:31"},{"body":{"nodeType":"YulBlock","src":"15609:174:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15626:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15637:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15619:6:31"},"nodeType":"YulFunctionCall","src":"15619:21:31"},"nodeType":"YulExpressionStatement","src":"15619:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15660:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15671:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15656:3:31"},"nodeType":"YulFunctionCall","src":"15656:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"15676:2:31","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15649:6:31"},"nodeType":"YulFunctionCall","src":"15649:30:31"},"nodeType":"YulExpressionStatement","src":"15649:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15699:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15710:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15695:3:31"},"nodeType":"YulFunctionCall","src":"15695:18:31"},{"hexValue":"554368696c644441493a20494e56414c49442d4e4f4e4345","kind":"string","nodeType":"YulLiteral","src":"15715:26:31","type":"","value":"UChildDAI: INVALID-NONCE"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15688:6:31"},"nodeType":"YulFunctionCall","src":"15688:54:31"},"nodeType":"YulExpressionStatement","src":"15688:54:31"},{"nodeType":"YulAssignment","src":"15751:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15763:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15774:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15759:3:31"},"nodeType":"YulFunctionCall","src":"15759:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15751:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_32d2fdaddf3affb6008c1877cbfec30baf08bf9cac05b09144107f373dc1f3f5__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15586:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15600:4:31","type":""}],"src":"15435:348:31"},{"body":{"nodeType":"YulBlock","src":"15962:238:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15979:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15990:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15972:6:31"},"nodeType":"YulFunctionCall","src":"15972:21:31"},"nodeType":"YulExpressionStatement","src":"15972:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16013:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16024:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16009:3:31"},"nodeType":"YulFunctionCall","src":"16009:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"16029:2:31","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16002:6:31"},"nodeType":"YulFunctionCall","src":"16002:30:31"},"nodeType":"YulExpressionStatement","src":"16002:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16052:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16063:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16048:3:31"},"nodeType":"YulFunctionCall","src":"16048:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e","kind":"string","nodeType":"YulLiteral","src":"16068:34:31","type":"","value":"AccessControl: sender must be an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16041:6:31"},"nodeType":"YulFunctionCall","src":"16041:62:31"},"nodeType":"YulExpressionStatement","src":"16041:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16123:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16134:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16119:3:31"},"nodeType":"YulFunctionCall","src":"16119:18:31"},{"hexValue":"2061646d696e20746f207265766f6b65","kind":"string","nodeType":"YulLiteral","src":"16139:18:31","type":"","value":" admin to revoke"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16112:6:31"},"nodeType":"YulFunctionCall","src":"16112:46:31"},"nodeType":"YulExpressionStatement","src":"16112:46:31"},{"nodeType":"YulAssignment","src":"16167:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16179:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16190:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16175:3:31"},"nodeType":"YulFunctionCall","src":"16175:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16167:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15939:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15953:4:31","type":""}],"src":"15788:412:31"},{"body":{"nodeType":"YulBlock","src":"16379:164:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16396:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16407:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16389:6:31"},"nodeType":"YulFunctionCall","src":"16389:21:31"},"nodeType":"YulExpressionStatement","src":"16389:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16430:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16441:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16426:3:31"},"nodeType":"YulFunctionCall","src":"16426:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"16446:2:31","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16419:6:31"},"nodeType":"YulFunctionCall","src":"16419:30:31"},"nodeType":"YulExpressionStatement","src":"16419:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16469:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16480:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16465:3:31"},"nodeType":"YulFunctionCall","src":"16465:18:31"},{"hexValue":"616c726561647920696e69746564","kind":"string","nodeType":"YulLiteral","src":"16485:16:31","type":"","value":"already inited"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16458:6:31"},"nodeType":"YulFunctionCall","src":"16458:44:31"},"nodeType":"YulExpressionStatement","src":"16458:44:31"},{"nodeType":"YulAssignment","src":"16511:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16523:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16534:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16519:3:31"},"nodeType":"YulFunctionCall","src":"16519:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16511:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16356:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16370:4:31","type":""}],"src":"16205:338:31"},{"body":{"nodeType":"YulBlock","src":"16798:169:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16815:3:31"},{"hexValue":"4368696c64","kind":"string","nodeType":"YulLiteral","src":"16820:7:31","type":"","value":"Child"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16808:6:31"},"nodeType":"YulFunctionCall","src":"16808:20:31"},"nodeType":"YulExpressionStatement","src":"16808:20:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16854:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"16859:1:31","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16850:3:31"},"nodeType":"YulFunctionCall","src":"16850:11:31"},{"name":"value0","nodeType":"YulIdentifier","src":"16863:6:31"},{"name":"value1","nodeType":"YulIdentifier","src":"16871:6:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"16837:12:31"},"nodeType":"YulFunctionCall","src":"16837:41:31"},"nodeType":"YulExpressionStatement","src":"16837:41:31"},{"nodeType":"YulVariableDeclaration","src":"16887:34:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16905:3:31"},{"name":"value1","nodeType":"YulIdentifier","src":"16910:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16901:3:31"},"nodeType":"YulFunctionCall","src":"16901:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"16919:1:31","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16897:3:31"},"nodeType":"YulFunctionCall","src":"16897:24:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"16891:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"16937:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"16941:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16930:6:31"},"nodeType":"YulFunctionCall","src":"16930:13:31"},"nodeType":"YulExpressionStatement","src":"16930:13:31"},{"nodeType":"YulAssignment","src":"16952:9:31","value":{"name":"_1","nodeType":"YulIdentifier","src":"16959:2:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16952:3:31"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16766:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16771:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16779:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16790:3:31","type":""}],"src":"16548:419:31"},{"body":{"nodeType":"YulBlock","src":"17146:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17163:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17174:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17156:6:31"},"nodeType":"YulFunctionCall","src":"17156:21:31"},"nodeType":"YulExpressionStatement","src":"17156:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17197:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17208:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17193:3:31"},"nodeType":"YulFunctionCall","src":"17193:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"17213:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17186:6:31"},"nodeType":"YulFunctionCall","src":"17186:30:31"},"nodeType":"YulExpressionStatement","src":"17186:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17236:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17247:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17232:3:31"},"nodeType":"YulFunctionCall","src":"17232:18:31"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"17252:34:31","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17225:6:31"},"nodeType":"YulFunctionCall","src":"17225:62:31"},"nodeType":"YulExpressionStatement","src":"17225:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17307:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17318:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17303:3:31"},"nodeType":"YulFunctionCall","src":"17303:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"17323:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17296:6:31"},"nodeType":"YulFunctionCall","src":"17296:34:31"},"nodeType":"YulExpressionStatement","src":"17296:34:31"},{"nodeType":"YulAssignment","src":"17339:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17351:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17362:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17347:3:31"},"nodeType":"YulFunctionCall","src":"17347:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17339:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17123:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17137:4:31","type":""}],"src":"16972:400:31"},{"body":{"nodeType":"YulBlock","src":"17551:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17568:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17579:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17561:6:31"},"nodeType":"YulFunctionCall","src":"17561:21:31"},"nodeType":"YulExpressionStatement","src":"17561:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17602:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17613:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17598:3:31"},"nodeType":"YulFunctionCall","src":"17598:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"17618:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17591:6:31"},"nodeType":"YulFunctionCall","src":"17591:30:31"},"nodeType":"YulExpressionStatement","src":"17591:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17641:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17652:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17637:3:31"},"nodeType":"YulFunctionCall","src":"17637:18:31"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"17657:34:31","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17630:6:31"},"nodeType":"YulFunctionCall","src":"17630:62:31"},"nodeType":"YulExpressionStatement","src":"17630:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17712:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17723:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17708:3:31"},"nodeType":"YulFunctionCall","src":"17708:18:31"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"17728:4:31","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17701:6:31"},"nodeType":"YulFunctionCall","src":"17701:32:31"},"nodeType":"YulExpressionStatement","src":"17701:32:31"},{"nodeType":"YulAssignment","src":"17742:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17754:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17765:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17750:3:31"},"nodeType":"YulFunctionCall","src":"17750:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17742:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17528:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17542:4:31","type":""}],"src":"17377:398:31"},{"body":{"nodeType":"YulBlock","src":"17954:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17971:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17982:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17964:6:31"},"nodeType":"YulFunctionCall","src":"17964:21:31"},"nodeType":"YulExpressionStatement","src":"17964:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18005:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18016:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18001:3:31"},"nodeType":"YulFunctionCall","src":"18001:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"18021:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17994:6:31"},"nodeType":"YulFunctionCall","src":"17994:30:31"},"nodeType":"YulExpressionStatement","src":"17994:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18044:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18055:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18040:3:31"},"nodeType":"YulFunctionCall","src":"18040:18:31"},{"hexValue":"4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f53","kind":"string","nodeType":"YulLiteral","src":"18060:34:31","type":"","value":"NativeMetaTransaction: INVALID_S"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18033:6:31"},"nodeType":"YulFunctionCall","src":"18033:62:31"},"nodeType":"YulExpressionStatement","src":"18033:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18115:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18126:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18111:3:31"},"nodeType":"YulFunctionCall","src":"18111:18:31"},{"hexValue":"49474e4552","kind":"string","nodeType":"YulLiteral","src":"18131:7:31","type":"","value":"IGNER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18104:6:31"},"nodeType":"YulFunctionCall","src":"18104:35:31"},"nodeType":"YulExpressionStatement","src":"18104:35:31"},{"nodeType":"YulAssignment","src":"18148:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18160:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18171:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18156:3:31"},"nodeType":"YulFunctionCall","src":"18156:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18148:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17931:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17945:4:31","type":""}],"src":"17780:401:31"},{"body":{"nodeType":"YulBlock","src":"18234:77:31","statements":[{"nodeType":"YulAssignment","src":"18244:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18255:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"18258:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18251:3:31"},"nodeType":"YulFunctionCall","src":"18251:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"18244:3:31"}]},{"body":{"nodeType":"YulBlock","src":"18283:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18285:16:31"},"nodeType":"YulFunctionCall","src":"18285:18:31"},"nodeType":"YulExpressionStatement","src":"18285:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"18275:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"18278:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18272:2:31"},"nodeType":"YulFunctionCall","src":"18272:10:31"},"nodeType":"YulIf","src":"18269:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"18217:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"18220:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"18226:3:31","type":""}],"src":"18186:125:31"},{"body":{"nodeType":"YulBlock","src":"18490:177:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18507:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18518:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18500:6:31"},"nodeType":"YulFunctionCall","src":"18500:21:31"},"nodeType":"YulExpressionStatement","src":"18500:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18541:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18552:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18537:3:31"},"nodeType":"YulFunctionCall","src":"18537:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"18557:2:31","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18530:6:31"},"nodeType":"YulFunctionCall","src":"18530:30:31"},"nodeType":"YulExpressionStatement","src":"18530:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18580:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18591:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18576:3:31"},"nodeType":"YulFunctionCall","src":"18576:18:31"},{"hexValue":"536166654d6174683a206164646974696f6e206f766572666c6f77","kind":"string","nodeType":"YulLiteral","src":"18596:29:31","type":"","value":"SafeMath: addition overflow"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18569:6:31"},"nodeType":"YulFunctionCall","src":"18569:57:31"},"nodeType":"YulExpressionStatement","src":"18569:57:31"},{"nodeType":"YulAssignment","src":"18635:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18647:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18658:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18643:3:31"},"nodeType":"YulFunctionCall","src":"18643:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18635:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18467:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18481:4:31","type":""}],"src":"18316:351:31"},{"body":{"nodeType":"YulBlock","src":"18846:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18863:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18874:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18856:6:31"},"nodeType":"YulFunctionCall","src":"18856:21:31"},"nodeType":"YulExpressionStatement","src":"18856:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18897:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18908:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18893:3:31"},"nodeType":"YulFunctionCall","src":"18893:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"18913:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18886:6:31"},"nodeType":"YulFunctionCall","src":"18886:30:31"},"nodeType":"YulExpressionStatement","src":"18886:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18936:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"18947:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18932:3:31"},"nodeType":"YulFunctionCall","src":"18932:18:31"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"18952:34:31","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18925:6:31"},"nodeType":"YulFunctionCall","src":"18925:62:31"},"nodeType":"YulExpressionStatement","src":"18925:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19007:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19018:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19003:3:31"},"nodeType":"YulFunctionCall","src":"19003:18:31"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"19023:7:31","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18996:6:31"},"nodeType":"YulFunctionCall","src":"18996:35:31"},"nodeType":"YulExpressionStatement","src":"18996:35:31"},{"nodeType":"YulAssignment","src":"19040:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19052:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19063:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19048:3:31"},"nodeType":"YulFunctionCall","src":"19048:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19040:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18823:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18837:4:31","type":""}],"src":"18672:401:31"},{"body":{"nodeType":"YulBlock","src":"19252:225:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19269:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19280:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19262:6:31"},"nodeType":"YulFunctionCall","src":"19262:21:31"},"nodeType":"YulExpressionStatement","src":"19262:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19303:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19314:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19299:3:31"},"nodeType":"YulFunctionCall","src":"19299:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"19319:2:31","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19292:6:31"},"nodeType":"YulFunctionCall","src":"19292:30:31"},"nodeType":"YulExpressionStatement","src":"19292:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19342:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19353:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19338:3:31"},"nodeType":"YulFunctionCall","src":"19338:18:31"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"19358:34:31","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19331:6:31"},"nodeType":"YulFunctionCall","src":"19331:62:31"},"nodeType":"YulExpressionStatement","src":"19331:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19413:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19424:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19409:3:31"},"nodeType":"YulFunctionCall","src":"19409:18:31"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"19429:5:31","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19402:6:31"},"nodeType":"YulFunctionCall","src":"19402:33:31"},"nodeType":"YulExpressionStatement","src":"19402:33:31"},{"nodeType":"YulAssignment","src":"19444:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19456:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19467:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19452:3:31"},"nodeType":"YulFunctionCall","src":"19452:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19444:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19229:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19243:4:31","type":""}],"src":"19078:399:31"},{"body":{"nodeType":"YulBlock","src":"19531:79:31","statements":[{"nodeType":"YulAssignment","src":"19541:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"19553:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"19556:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19549:3:31"},"nodeType":"YulFunctionCall","src":"19549:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"19541:4:31"}]},{"body":{"nodeType":"YulBlock","src":"19582:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19584:16:31"},"nodeType":"YulFunctionCall","src":"19584:18:31"},"nodeType":"YulExpressionStatement","src":"19584:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"19573:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"19579:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"19570:2:31"},"nodeType":"YulFunctionCall","src":"19570:11:31"},"nodeType":"YulIf","src":"19567:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"19513:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"19516:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"19522:4:31","type":""}],"src":"19482:128:31"},{"body":{"nodeType":"YulBlock","src":"19789:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19806:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19817:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19799:6:31"},"nodeType":"YulFunctionCall","src":"19799:21:31"},"nodeType":"YulExpressionStatement","src":"19799:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19840:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19851:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19836:3:31"},"nodeType":"YulFunctionCall","src":"19836:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"19856:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19829:6:31"},"nodeType":"YulFunctionCall","src":"19829:30:31"},"nodeType":"YulExpressionStatement","src":"19829:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19879:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19890:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19875:3:31"},"nodeType":"YulFunctionCall","src":"19875:18:31"},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f20616464726573","kind":"string","nodeType":"YulLiteral","src":"19895:34:31","type":"","value":"ERC20: burn from the zero addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19868:6:31"},"nodeType":"YulFunctionCall","src":"19868:62:31"},"nodeType":"YulExpressionStatement","src":"19868:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19950:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19961:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19946:3:31"},"nodeType":"YulFunctionCall","src":"19946:18:31"},{"hexValue":"73","kind":"string","nodeType":"YulLiteral","src":"19966:3:31","type":"","value":"s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19939:6:31"},"nodeType":"YulFunctionCall","src":"19939:31:31"},"nodeType":"YulExpressionStatement","src":"19939:31:31"},{"nodeType":"YulAssignment","src":"19979:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19991:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20002:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19987:3:31"},"nodeType":"YulFunctionCall","src":"19987:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19979:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19766:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19780:4:31","type":""}],"src":"19615:397:31"},{"body":{"nodeType":"YulBlock","src":"20098:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"20131:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"20145:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"20155:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20149:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"20176:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"20180:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20169:6:31"},"nodeType":"YulFunctionCall","src":"20169:17:31"},"nodeType":"YulExpressionStatement","src":"20169:17:31"},{"nodeType":"YulVariableDeclaration","src":"20199:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"20221:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"20225:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"20211:9:31"},"nodeType":"YulFunctionCall","src":"20211:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"20203:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20243:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20266:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20276:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"20283:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"20295:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20279:3:31"},"nodeType":"YulFunctionCall","src":"20279:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20272:3:31"},"nodeType":"YulFunctionCall","src":"20272:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20262:3:31"},"nodeType":"YulFunctionCall","src":"20262:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"20247:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"20337:23:31","statements":[{"nodeType":"YulAssignment","src":"20339:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"20354:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"20339:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"20319:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"20331:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"20316:2:31"},"nodeType":"YulFunctionCall","src":"20316:20:31"},"nodeType":"YulIf","src":"20313:47:31"},{"nodeType":"YulVariableDeclaration","src":"20373:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20387:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20397:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"20404:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"20409:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20400:3:31"},"nodeType":"YulFunctionCall","src":"20400:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20393:3:31"},"nodeType":"YulFunctionCall","src":"20393:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20383:3:31"},"nodeType":"YulFunctionCall","src":"20383:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"20377:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20427:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"20440:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"20431:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"20525:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20534:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"20541:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"20527:6:31"},"nodeType":"YulFunctionCall","src":"20527:17:31"},"nodeType":"YulExpressionStatement","src":"20527:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20475:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"20482:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"20472:2:31"},"nodeType":"YulFunctionCall","src":"20472:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"20486:26:31","statements":[{"nodeType":"YulAssignment","src":"20488:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20501:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"20508:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20497:3:31"},"nodeType":"YulFunctionCall","src":"20497:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"20488:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"20468:3:31","statements":[]},"src":"20464:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"20114:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"20119:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20111:2:31"},"nodeType":"YulFunctionCall","src":"20111:11:31"},"nodeType":"YulIf","src":"20108:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"20070:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"20077:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"20082:10:31","type":""}],"src":"20017:545:31"},{"body":{"nodeType":"YulBlock","src":"20652:81:31","statements":[{"nodeType":"YulAssignment","src":"20662:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20677:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20695:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"20698:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20691:3:31"},"nodeType":"YulFunctionCall","src":"20691:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20708:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"20704:3:31"},"nodeType":"YulFunctionCall","src":"20704:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20687:3:31"},"nodeType":"YulFunctionCall","src":"20687:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"20683:3:31"},"nodeType":"YulFunctionCall","src":"20683:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20673:3:31"},"nodeType":"YulFunctionCall","src":"20673:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20719:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"20722:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20715:3:31"},"nodeType":"YulFunctionCall","src":"20715:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"20670:2:31"},"nodeType":"YulFunctionCall","src":"20670:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"20662:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"20629:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"20635:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"20643:4:31","type":""}],"src":"20567:166:31"},{"body":{"nodeType":"YulBlock","src":"20834:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"20844:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"20864:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20858:5:31"},"nodeType":"YulFunctionCall","src":"20858:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"20848:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"20911:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"20913:16:31"},"nodeType":"YulFunctionCall","src":"20913:18:31"},"nodeType":"YulExpressionStatement","src":"20913:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"20883:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"20891:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20880:2:31"},"nodeType":"YulFunctionCall","src":"20880:30:31"},"nodeType":"YulIf","src":"20877:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"20986:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21024:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"21018:5:31"},"nodeType":"YulFunctionCall","src":"21018:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"20992:25:31"},"nodeType":"YulFunctionCall","src":"20992:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"21032:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"20942:43:31"},"nodeType":"YulFunctionCall","src":"20942:97:31"},"nodeType":"YulExpressionStatement","src":"20942:97:31"},{"nodeType":"YulVariableDeclaration","src":"21048:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21065:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"21052:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21075:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21094:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"21079:11:31","type":""}]},{"nodeType":"YulAssignment","src":"21107:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"21120:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"21107:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"21177:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"21191:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"21210:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21222:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21218:3:31"},"nodeType":"YulFunctionCall","src":"21218:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21206:3:31"},"nodeType":"YulFunctionCall","src":"21206:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"21195:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21239:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21283:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"21253:29:31"},"nodeType":"YulFunctionCall","src":"21253:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"21243:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21301:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21310:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21305:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"21388:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21413:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"21431:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"21436:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21427:3:31"},"nodeType":"YulFunctionCall","src":"21427:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21421:5:31"},"nodeType":"YulFunctionCall","src":"21421:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21406:6:31"},"nodeType":"YulFunctionCall","src":"21406:42:31"},"nodeType":"YulExpressionStatement","src":"21406:42:31"},{"nodeType":"YulAssignment","src":"21465:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21479:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"21487:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21475:3:31"},"nodeType":"YulFunctionCall","src":"21475:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21465:6:31"}]},{"nodeType":"YulAssignment","src":"21506:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"21523:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"21534:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21519:3:31"},"nodeType":"YulFunctionCall","src":"21519:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"21506:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21335:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"21338:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21332:2:31"},"nodeType":"YulFunctionCall","src":"21332:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21347:28:31","statements":[{"nodeType":"YulAssignment","src":"21349:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21358:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"21361:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21354:3:31"},"nodeType":"YulFunctionCall","src":"21354:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21349:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"21328:3:31","statements":[]},"src":"21324:236:31"},{"body":{"nodeType":"YulBlock","src":"21608:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"21626:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"21653:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"21658:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21649:3:31"},"nodeType":"YulFunctionCall","src":"21649:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21643:5:31"},"nodeType":"YulFunctionCall","src":"21643:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"21630:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21693:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"21705:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21732:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"21735:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21728:3:31"},"nodeType":"YulFunctionCall","src":"21728:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"21744:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21724:3:31"},"nodeType":"YulFunctionCall","src":"21724:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21754:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21750:3:31"},"nodeType":"YulFunctionCall","src":"21750:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"21720:3:31"},"nodeType":"YulFunctionCall","src":"21720:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21716:3:31"},"nodeType":"YulFunctionCall","src":"21716:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21701:3:31"},"nodeType":"YulFunctionCall","src":"21701:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21686:6:31"},"nodeType":"YulFunctionCall","src":"21686:74:31"},"nodeType":"YulExpressionStatement","src":"21686:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"21579:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"21588:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21576:2:31"},"nodeType":"YulFunctionCall","src":"21576:19:31"},"nodeType":"YulIf","src":"21573:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21794:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21808:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"21811:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21804:3:31"},"nodeType":"YulFunctionCall","src":"21804:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"21820:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21800:3:31"},"nodeType":"YulFunctionCall","src":"21800:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21787:6:31"},"nodeType":"YulFunctionCall","src":"21787:36:31"},"nodeType":"YulExpressionStatement","src":"21787:36:31"}]},"nodeType":"YulCase","src":"21170:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21175:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"21850:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"21864:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"21877:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21868:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"21913:67:31","statements":[{"nodeType":"YulAssignment","src":"21931:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"21950:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"21955:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21946:3:31"},"nodeType":"YulFunctionCall","src":"21946:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21940:5:31"},"nodeType":"YulFunctionCall","src":"21940:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"21931:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"21894:6:31"},"nodeType":"YulIf","src":"21891:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"22000:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22059:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"22066:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"22006:52:31"},"nodeType":"YulFunctionCall","src":"22006:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21993:6:31"},"nodeType":"YulFunctionCall","src":"21993:81:31"},"nodeType":"YulExpressionStatement","src":"21993:81:31"}]},"nodeType":"YulCase","src":"21842:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"21150:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"21158:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21147:2:31"},"nodeType":"YulFunctionCall","src":"21147:14:31"},"nodeType":"YulSwitch","src":"21140:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"20819:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"20825:3:31","type":""}],"src":"20738:1352:31"},{"body":{"nodeType":"YulBlock","src":"22308:276:31","statements":[{"nodeType":"YulAssignment","src":"22318:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22330:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"22341:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22326:3:31"},"nodeType":"YulFunctionCall","src":"22326:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22318:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22361:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"22372:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22354:6:31"},"nodeType":"YulFunctionCall","src":"22354:25:31"},"nodeType":"YulExpressionStatement","src":"22354:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22399:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"22410:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22395:3:31"},"nodeType":"YulFunctionCall","src":"22395:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"22415:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22388:6:31"},"nodeType":"YulFunctionCall","src":"22388:34:31"},"nodeType":"YulExpressionStatement","src":"22388:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22442:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"22453:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22438:3:31"},"nodeType":"YulFunctionCall","src":"22438:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"22458:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22431:6:31"},"nodeType":"YulFunctionCall","src":"22431:34:31"},"nodeType":"YulExpressionStatement","src":"22431:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22485:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"22496:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22481:3:31"},"nodeType":"YulFunctionCall","src":"22481:18:31"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"22505:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22521:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"22526:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"22517:3:31"},"nodeType":"YulFunctionCall","src":"22517:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"22530:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22513:3:31"},"nodeType":"YulFunctionCall","src":"22513:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22501:3:31"},"nodeType":"YulFunctionCall","src":"22501:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22474:6:31"},"nodeType":"YulFunctionCall","src":"22474:60:31"},"nodeType":"YulExpressionStatement","src":"22474:60:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22554:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"22565:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22550:3:31"},"nodeType":"YulFunctionCall","src":"22550:19:31"},{"name":"value4","nodeType":"YulIdentifier","src":"22571:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22543:6:31"},"nodeType":"YulFunctionCall","src":"22543:35:31"},"nodeType":"YulExpressionStatement","src":"22543:35:31"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22245:9:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"22256:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"22264:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22272:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22280:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22288:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22299:4:31","type":""}],"src":"22095:489:31"},{"body":{"nodeType":"YulBlock","src":"22829:238:31","statements":[{"nodeType":"YulVariableDeclaration","src":"22839:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22859:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22853:5:31"},"nodeType":"YulFunctionCall","src":"22853:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"22843:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22914:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"22922:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22910:3:31"},"nodeType":"YulFunctionCall","src":"22910:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"22929:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"22934:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"22875:34:31"},"nodeType":"YulFunctionCall","src":"22875:66:31"},"nodeType":"YulExpressionStatement","src":"22875:66:31"},{"nodeType":"YulVariableDeclaration","src":"22950:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22967:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"22972:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22963:3:31"},"nodeType":"YulFunctionCall","src":"22963:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"22954:5:31","type":""}]},{"expression":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"22995:5:31"},{"hexValue":"3a20494e53554646494349454e545f5045524d495353494f4e53","kind":"string","nodeType":"YulLiteral","src":"23002:28:31","type":"","value":": INSUFFICIENT_PERMISSIONS"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22988:6:31"},"nodeType":"YulFunctionCall","src":"22988:43:31"},"nodeType":"YulExpressionStatement","src":"22988:43:31"},{"nodeType":"YulAssignment","src":"23040:21:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"23051:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"23058:2:31","type":"","value":"26"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23047:3:31"},"nodeType":"YulFunctionCall","src":"23047:14:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23040:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22805:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22810:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22821:3:31","type":""}],"src":"22589:478:31"},{"body":{"nodeType":"YulBlock","src":"23257:232:31","statements":[{"nodeType":"YulAssignment","src":"23267:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23279:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23290:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23275:3:31"},"nodeType":"YulFunctionCall","src":"23275:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23267:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23310:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"23321:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23303:6:31"},"nodeType":"YulFunctionCall","src":"23303:25:31"},"nodeType":"YulExpressionStatement","src":"23303:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23348:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23359:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23344:3:31"},"nodeType":"YulFunctionCall","src":"23344:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"23364:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23337:6:31"},"nodeType":"YulFunctionCall","src":"23337:34:31"},"nodeType":"YulExpressionStatement","src":"23337:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23391:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23402:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23387:3:31"},"nodeType":"YulFunctionCall","src":"23387:18:31"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"23411:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23427:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23432:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23423:3:31"},"nodeType":"YulFunctionCall","src":"23423:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"23436:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23419:3:31"},"nodeType":"YulFunctionCall","src":"23419:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23407:3:31"},"nodeType":"YulFunctionCall","src":"23407:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23380:6:31"},"nodeType":"YulFunctionCall","src":"23380:60:31"},"nodeType":"YulExpressionStatement","src":"23380:60:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23460:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23471:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23456:3:31"},"nodeType":"YulFunctionCall","src":"23456:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"23476:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23449:6:31"},"nodeType":"YulFunctionCall","src":"23449:34:31"},"nodeType":"YulExpressionStatement","src":"23449:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23202:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"23213:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"23221:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23229:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23237:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23248:4:31","type":""}],"src":"23072:417:31"},{"body":{"nodeType":"YulBlock","src":"23668:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23685:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23696:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23678:6:31"},"nodeType":"YulFunctionCall","src":"23678:21:31"},"nodeType":"YulExpressionStatement","src":"23678:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23719:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23730:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23715:3:31"},"nodeType":"YulFunctionCall","src":"23715:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"23735:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23708:6:31"},"nodeType":"YulFunctionCall","src":"23708:30:31"},"nodeType":"YulExpressionStatement","src":"23708:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23758:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23769:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23754:3:31"},"nodeType":"YulFunctionCall","src":"23754:18:31"},{"hexValue":"456e756d657261626c655365743a20696e646578206f7574206f6620626f756e","kind":"string","nodeType":"YulLiteral","src":"23774:34:31","type":"","value":"EnumerableSet: index out of boun"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23747:6:31"},"nodeType":"YulFunctionCall","src":"23747:62:31"},"nodeType":"YulExpressionStatement","src":"23747:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23829:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23840:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23825:3:31"},"nodeType":"YulFunctionCall","src":"23825:18:31"},{"hexValue":"6473","kind":"string","nodeType":"YulLiteral","src":"23845:4:31","type":"","value":"ds"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23818:6:31"},"nodeType":"YulFunctionCall","src":"23818:32:31"},"nodeType":"YulExpressionStatement","src":"23818:32:31"},{"nodeType":"YulAssignment","src":"23859:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23871:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"23882:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23867:3:31"},"nodeType":"YulFunctionCall","src":"23867:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23859:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23645:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23659:4:31","type":""}],"src":"23494:398:31"},{"body":{"nodeType":"YulBlock","src":"23929:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23946:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23953:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"23958:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23949:3:31"},"nodeType":"YulFunctionCall","src":"23949:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23939:6:31"},"nodeType":"YulFunctionCall","src":"23939:31:31"},"nodeType":"YulExpressionStatement","src":"23939:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23986:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"23989:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23979:6:31"},"nodeType":"YulFunctionCall","src":"23979:15:31"},"nodeType":"YulExpressionStatement","src":"23979:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24010:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24013:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24003:6:31"},"nodeType":"YulFunctionCall","src":"24003:15:31"},"nodeType":"YulExpressionStatement","src":"24003:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"23897:127:31"},{"body":{"nodeType":"YulBlock","src":"24061:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24078:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24085:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"24090:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"24081:3:31"},"nodeType":"YulFunctionCall","src":"24081:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24071:6:31"},"nodeType":"YulFunctionCall","src":"24071:31:31"},"nodeType":"YulExpressionStatement","src":"24071:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24118:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"24121:4:31","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24111:6:31"},"nodeType":"YulFunctionCall","src":"24111:15:31"},"nodeType":"YulExpressionStatement","src":"24111:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"24142:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"24145:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"24135:6:31"},"nodeType":"YulFunctionCall","src":"24135:15:31"},"nodeType":"YulExpressionStatement","src":"24135:15:31"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"24029:127:31"}]},"contents":"{\n { }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value1 := memPtr\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n value4 := abi_decode_uint8(add(headStart, 128))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_boolt_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n {\n if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let value := calldataload(add(headStart, 128))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value4 := value\n value5 := abi_decode_uint8(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n value7 := calldataload(add(headStart, 224))\n }\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n value4 := abi_decode_uint8(add(headStart, 64))\n value5 := abi_decode_address(add(headStart, 96))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"Signer and signature do not matc\")\n mstore(add(headStart, 96), \"h\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n end := add(end_1, 20)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Function call not successful\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_tuple_t_string_storage__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n mstore(add(headStart, _1), length)\n let _2 := 64\n let _3 := 1\n switch and(slotValue, _3)\n case 0 {\n mstore(add(headStart, _2), and(slotValue, not(255)))\n ret := add(add(headStart, shl(5, iszero(iszero(length)))), _2)\n }\n case 1 {\n mstore(0, value0)\n let dataPos := keccak256(0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), _2), sload(dataPos))\n dataPos := add(dataPos, _3)\n }\n ret := add(add(headStart, i), _2)\n }\n tail := ret\n }\n function abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_bool__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_bool__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 192)\n mstore(headStart, value0)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n }\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, shl(240, 6401))\n mstore(add(pos, 2), value0)\n mstore(add(pos, 34), value1)\n end := add(pos, 66)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_stringliteral_45370a5ff81ff8b69ed6d4f9504fc812f03a4070b510c274991c826bacdeee53__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"UChildDAI: INVALID-PERMIT\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_533bba907ed2fe60e99644310afa76db6b814f4474db6d59c2f8affde1941afe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"UChildDAI: PERMIT-EXPIRED\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_32d2fdaddf3affb6008c1877cbfec30baf08bf9cac05b09144107f373dc1f3f5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"UChildDAI: INVALID-NONCE\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"already inited\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"Child\")\n calldatacopy(add(pos, 5), value0, value1)\n let _1 := add(add(pos, value1), 5)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"NativeMetaTransaction: INVALID_S\")\n mstore(add(headStart, 96), \"IGNER\")\n tail := add(headStart, 128)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"SafeMath: addition overflow\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, \": INSUFFICIENT_PERMISSIONS\")\n end := add(end_1, 26)\n }\n function abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), and(value2, sub(shl(160, 1), 1)))\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"EnumerableSet: index out of boun\")\n mstore(add(headStart, 96), \"ds\")\n tail := add(headStart, 128)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106102305760003560e01c80635353a2d81161012e578063a457c2d7116100ab578063cf2c52cb1161006f578063cf2c52cb146106e5578063d547741f14610705578063dd62ed3e14610725578063de7ea79d1461076b578063f2d5d56b1461078b57600080fd5b8063a457c2d714610645578063a9059cbb14610665578063b753a98c14610685578063bb35783b146106a5578063ca15c873146106c557600080fd5b80639010d07c116100f25780639010d07c1461058f57806391d14854146105c757806395d89b41146105e7578063a217fddf146105fc578063a3b0b5a31461061157600080fd5b80635353a2d8146104ef578063626381a01461050f57806370a08231146105245780638acfcaf71461055a5780638fcbaf0c1461056f57600080fd5b8063248a9ca3116101bc578063313ce56711610180578063313ce5671461045a5780633408e4701461047c57806336568abe1461048f57806339509351146104af5780634e6ec247146104cf57600080fd5b8063248a9ca31461037e5780632d0335ab146103ae5780632e1a7d4d146103e45780632f2ff15d1461040657806330adf81f1461042657600080fd5b80630dd7531a116102035780630dd7531a146102d05780630f7e5970146102fd57806318160ddd1461032a57806320379ee51461034957806323b872dd1461035e57600080fd5b806306fdde0314610235578063095ea7b3146102605780630b54817c146102905780630c53c51c146102bd575b600080fd5b34801561024157600080fd5b5061024a6107ab565b6040516102579190611f05565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611f34565b61083d565b6040519015158152602001610257565b34801561029c57600080fd5b5061024a604051806040016040528060018152602001608960f81b81525081565b61024a6102cb366004611f85565b61085b565b3480156102dc57600080fd5b5061024a604051806040016040528060018152602001600160f81b81525081565b34801561030957600080fd5b5061024a604051806040016040528060018152602001603160f81b81525081565b34801561033657600080fd5b506002545b604051908152602001610257565b34801561035557600080fd5b5060095461033b565b34801561036a57600080fd5b5061028061037936600461206b565b610a4a565b34801561038a57600080fd5b5061033b6103993660046120a7565b60009081526006602052604090206002015490565b3480156103ba57600080fd5b5061033b6103c93660046120c0565b6001600160a01b03166000908152600a602052604090205490565b3480156103f057600080fd5b506104046103ff3660046120a7565b610ad1565b005b34801561041257600080fd5b506104046104213660046120db565b610ae5565b34801561043257600080fd5b5061033b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b34801561046657600080fd5b5060055460405160ff9091168152602001610257565b34801561048857600080fd5b504661033b565b34801561049b57600080fd5b506104046104aa3660046120db565b610b75565b3480156104bb57600080fd5b506102806104ca366004611f34565b610bff565b3480156104db57600080fd5b506104046104ea366004611f34565b610c4d565b3480156104fb57600080fd5b5061040461050a366004612150565b610d2c565b34801561051b57600080fd5b5061033b608981565b34801561053057600080fd5b5061033b61053f3660046120c0565b6001600160a01b031660009081526020819052604090205490565b34801561056657600080fd5b5061033b600181565b34801561057b57600080fd5b5061040461058a366004612192565b610df7565b34801561059b57600080fd5b506105af6105aa366004612214565b611068565b6040516001600160a01b039091168152602001610257565b3480156105d357600080fd5b506102806105e23660046120db565b611087565b3480156105f357600080fd5b5061024a61109f565b34801561060857600080fd5b5061033b600081565b34801561061d57600080fd5b5061033b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b34801561065157600080fd5b50610280610660366004611f34565b6110ae565b34801561067157600080fd5b50610280610680366004611f34565b611116565b34801561069157600080fd5b506104046106a0366004611f34565b61112a565b3480156106b157600080fd5b506104046106c036600461206b565b611135565b3480156106d157600080fd5b5061033b6106e03660046120a7565b611146565b3480156106f157600080fd5b50610404610700366004612236565b61115d565b34801561071157600080fd5b506104046107203660046120db565b6111cc565b34801561073157600080fd5b5061033b610740366004612289565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561077757600080fd5b506104046107863660046122b3565b61124f565b34801561079757600080fd5b506104046107a6366004611f34565b6113f3565b6060600380546107ba90612343565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690612343565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050905090565b600061085161084a6113fe565b848461140d565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526108998782878787611532565b6108f45760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a6020526040902054610918906001611622565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061096890899033908a9061237d565b60405180910390a1600080306001600160a01b0316888a6040516020016109909291906123a9565b60408051601f19818403018152908290526109aa916123e0565b6000604051808303816000865af19150503d80600081146109e7576040519150601f19603f3d011682016040523d82523d6000602084013e6109ec565b606091505b509150915081610a3e5760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000060448201526064016108eb565b98975050505050505050565b6000610a57848484611681565b610ac784610a636113fe565b610ac285604051806060016040528060288152602001612753602891396001600160a01b038a16600090815260016020526040812090610aa16113fe565b6001600160a01b031681526020810191909152604001600020549190611804565b61140d565b5060019392505050565b610ae2610adc6113fe565b8261183e565b50565b600082815260066020526040902060020154610b03906105e26113fe565b610b675760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084016108eb565b610b718282611942565b5050565b610b7d6113fe565b6001600160a01b0316816001600160a01b031614610bf55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108eb565b610b7182826119ab565b6000610851610c0c6113fe565b84610ac28560016000610c1d6113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611622565b6001600160a01b038216610ca35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108eb565b600254610cb09082611622565b6002556001600160a01b038216600090815260208190526040902054610cd69082611622565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610d3a816105e26113fe565b600790610d5a5760405162461bcd60e51b81526004016108eb91906123fc565b50610d9a83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b610df283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611a209050565b505050565b6000610e0260095490565b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810188905286151560c082015260e00160405160208183030381529060405280519060200120604051602001610e9c92919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa158015610f04573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610f6e5760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a20494e56414c49442d5045524d49540000000000000060448201526064016108eb565b851580610f7b5750854211155b610fc75760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a205045524d49542d455850495245440000000000000060448201526064016108eb565b6001600160a01b0389166000908152600a60205260408120805491610feb8361249d565b91905055871461103d5760405162461bcd60e51b815260206004820152601860248201527f554368696c644441493a20494e56414c49442d4e4f4e4345000000000000000060448201526064016108eb565b60008561104b57600061104f565b6000195b905061105c8a8a8361140d565b50505050505050505050565b60008281526006602052604081206110809083611aa7565b9392505050565b60008281526006602052604081206110809083611ab3565b6060600480546107ba90612343565b60006108516110bb6113fe565b84610ac28560405180606001604052806025815260200161277b60259139600160006110e56113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611804565b60006108516111236113fe565b8484611681565b610df2338383610a4a565b611140838383610a4a565b50505050565b600081815260066020526040812061085590611ad5565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a961118a816105e26113fe565b6007906111aa5760405162461bcd60e51b81526004016108eb91906123fc565b5060006111b9838501856120a7565b90506111c58582610c4d565b5050505050565b6000828152600660205260409020600201546111ea906105e26113fe565b610bf55760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016108eb565b60085460ff16156112935760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b6112d286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b61131184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611adf92505050565b6005805460ff191660ff841617905561134a84846040516020016113369291906124b6565b604051602081830303815290604052611aeb565b61135c60006113576113fe565b610b67565b6113867f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610b67565b6113de86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611b199050565b50506008805460ff1916600117905550505050565b610df2823383610a4a565b6000611408611b78565b905090565b6001600160a01b03831661146f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108eb565b6001600160a01b0382166114d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166115985760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b60648201526084016108eb565b60016115ab6115a687611bd4565b611c51565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156115f9573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b60008061162f83856124d7565b9050838110156110805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108eb565b6001600160a01b0383166116e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108eb565b6001600160a01b0382166117475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108eb565b6117848160405180606001604052806026815260200161272d602691396001600160a01b0386166000908152602081905260409020549190611804565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546117b39082611622565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611525565b600081848411156118285760405162461bcd60e51b81526004016108eb9190611f05565b50600061183584866124ea565b95945050505050565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108eb565b6118db81604051806060016040528060228152602001612679602291396001600160a01b0385166000908152602081905260409020549190611804565b6001600160a01b0383166000908152602081905260409020556002546119019082611c81565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610d20565b600082815260066020526040902061195a9082611cc3565b15610b71576119676113fe565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206119c39082611cd8565b15610b71576119d06113fe565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610b71828261254b565b6040518060800160405280604f81526020016126de604f9139805190602001208280519060200120828051906020012030611a584690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b60006110808383611ced565b6001600160a01b03811660009081526001830160205260408120541515611080565b6000610855825490565b6004610b71828261254b565b80604051602001611afc919061260b565b60405160208183030381529060405260079081610b71919061254b565b60085460ff1615611b5d5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b611b678282611a20565b50506008805460ff19166001179055565b6000303303611bce57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150611bd19050565b50335b90565b600060405180608001604052806043815260200161269b6043913980516020918201208351848301516040808701518051908601209051611c34950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000611c5c60095490565b60405161190160f01b6020820152602281019190915260428101839052606201611c34565b600061108083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611804565b6000611080836001600160a01b038416611d73565b6000611080836001600160a01b038416611dc2565b81546000908210611d4b5760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016108eb565b826000018281548110611d6057611d6061264c565b9060005260206000200154905092915050565b6000818152600183016020526040812054611dba57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610855565b506000610855565b60008181526001830160205260408120548015611eab576000611de66001836124ea565b8554909150600090611dfa906001906124ea565b90506000866000018281548110611e1357611e1361264c565b9060005260206000200154905080876000018481548110611e3657611e3661264c565b600091825260209091200155611e4d8360016124d7565b60008281526001890160205260409020558654879080611e6f57611e6f612662565b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610855565b6000915050610855565b60005b83811015611ed0578181015183820152602001611eb8565b50506000910152565b60008151808452611ef1816020860160208601611eb5565b601f01601f19169290920160200192915050565b6020815260006110806020830184611ed9565b80356001600160a01b0381168114611f2f57600080fd5b919050565b60008060408385031215611f4757600080fd5b611f5083611f18565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611f2f57600080fd5b600080600080600060a08688031215611f9d57600080fd5b611fa686611f18565b9450602086013567ffffffffffffffff80821115611fc357600080fd5b818801915088601f830112611fd757600080fd5b813581811115611fe957611fe9611f5e565b604051601f8201601f19908116603f0116810190838211818310171561201157612011611f5e565b816040528281528b602084870101111561202a57600080fd5b826020860160208301376000602084830101528098505050505050604086013592506060860135915061205f60808701611f74565b90509295509295909350565b60008060006060848603121561208057600080fd5b61208984611f18565b925061209760208501611f18565b9150604084013590509250925092565b6000602082840312156120b957600080fd5b5035919050565b6000602082840312156120d257600080fd5b61108082611f18565b600080604083850312156120ee57600080fd5b823591506120fe60208401611f18565b90509250929050565b60008083601f84011261211957600080fd5b50813567ffffffffffffffff81111561213157600080fd5b60208301915083602082850101111561214957600080fd5b9250929050565b6000806020838503121561216357600080fd5b823567ffffffffffffffff81111561217a57600080fd5b61218685828601612107565b90969095509350505050565b600080600080600080600080610100898b0312156121af57600080fd5b6121b889611f18565b97506121c660208a01611f18565b96506040890135955060608901359450608089013580151581146121e957600080fd5b93506121f760a08a01611f74565b925060c0890135915060e089013590509295985092959890939650565b6000806040838503121561222757600080fd5b50508035926020909101359150565b60008060006040848603121561224b57600080fd5b61225484611f18565b9250602084013567ffffffffffffffff81111561227057600080fd5b61227c86828701612107565b9497909650939450505050565b6000806040838503121561229c57600080fd5b6122a583611f18565b91506120fe60208401611f18565b600080600080600080608087890312156122cc57600080fd5b863567ffffffffffffffff808211156122e457600080fd5b6122f08a838b01612107565b9098509650602089013591508082111561230957600080fd5b5061231689828a01612107565b9095509350612329905060408801611f74565b915061233760608801611f18565b90509295509295509295565b600181811c9082168061235757607f821691505b60208210810361237757634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0384811682528316602082015260606040820181905260009061183590830184611ed9565b600083516123bb818460208801611eb5565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516123f2818460208701611eb5565b9190910192915050565b600060208083526000845461241081612343565b80848701526040600180841660008114612431576001811461244b57612479565b60ff1985168984015283151560051b890183019550612479565b896000528660002060005b858110156124715781548b8201860152908301908801612456565b8a0184019650505b509398975050505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016124af576124af612487565b5060010190565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b8082018082111561085557610855612487565b8181038181111561085557610855612487565b601f821115610df257600081815260208120601f850160051c810160208610156125245750805b601f850160051c820191505b8181101561254357828155600101612530565b505050505050565b815167ffffffffffffffff81111561256557612565611f5e565b612579816125738454612343565b846124fd565b602080601f8311600181146125ae57600084156125965750858301515b600019600386901b1c1916600185901b178555612543565b600085815260208120601f198616915b828110156125dd578886015182559484019460019091019084016125be565b50858210156125fb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161261d818460208701611eb5565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200b28813c898b058db947de197948e4a016de2d4eb44c0a299d2131490f4dba2564736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x230 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5353A2D8 GT PUSH2 0x12E JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0xAB JUMPI DUP1 PUSH4 0xCF2C52CB GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xCF2C52CB EQ PUSH2 0x6E5 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x705 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x725 JUMPI DUP1 PUSH4 0xDE7EA79D EQ PUSH2 0x76B JUMPI DUP1 PUSH4 0xF2D5D56B EQ PUSH2 0x78B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x645 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x665 JUMPI DUP1 PUSH4 0xB753A98C EQ PUSH2 0x685 JUMPI DUP1 PUSH4 0xBB35783B EQ PUSH2 0x6A5 JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x6C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9010D07C GT PUSH2 0xF2 JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x58F JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x5C7 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x5E7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x5FC JUMPI DUP1 PUSH4 0xA3B0B5A3 EQ PUSH2 0x611 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5353A2D8 EQ PUSH2 0x4EF JUMPI DUP1 PUSH4 0x626381A0 EQ PUSH2 0x50F JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x524 JUMPI DUP1 PUSH4 0x8ACFCAF7 EQ PUSH2 0x55A JUMPI DUP1 PUSH4 0x8FCBAF0C EQ PUSH2 0x56F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 GT PUSH2 0x1BC JUMPI DUP1 PUSH4 0x313CE567 GT PUSH2 0x180 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x45A JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH2 0x47C JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x48F JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x4AF JUMPI DUP1 PUSH4 0x4E6EC247 EQ PUSH2 0x4CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x37E JUMPI DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x3AE JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x3E4 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x406 JUMPI DUP1 PUSH4 0x30ADF81F EQ PUSH2 0x426 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDD7531A GT PUSH2 0x203 JUMPI DUP1 PUSH4 0xDD7531A EQ PUSH2 0x2D0 JUMPI DUP1 PUSH4 0xF7E5970 EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x32A JUMPI DUP1 PUSH4 0x20379EE5 EQ PUSH2 0x349 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x35E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0xB54817C EQ PUSH2 0x290 JUMPI DUP1 PUSH4 0xC53C51C EQ PUSH2 0x2BD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x241 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH2 0x7AB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x257 SWAP2 SWAP1 PUSH2 0x1F05 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x83D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x89 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x24A PUSH2 0x2CB CALLDATASIZE PUSH1 0x4 PUSH2 0x1F85 JUMP JUMPDEST PUSH2 0x85B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x31 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x336 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x9 SLOAD PUSH2 0x33B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x379 CALLDATASIZE PUSH1 0x4 PUSH2 0x206B JUMP JUMPDEST PUSH2 0xA4A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x38A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x399 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A7 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x3C9 CALLDATASIZE PUSH1 0x4 PUSH2 0x20C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x3FF CALLDATASIZE PUSH1 0x4 PUSH2 0x20A7 JUMP JUMPDEST PUSH2 0xAD1 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x412 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x421 CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0xAE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x432 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH32 0xEA2AA0A1BE11A07ED86D755C93467F4F82362B452371D1BA94D1715123511ACB DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x466 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CHAINID PUSH2 0x33B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x4AA CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0xB75 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x4CA CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0xBFF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x4EA CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0xC4D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x50A CALLDATASIZE PUSH1 0x4 PUSH2 0x2150 JUMP JUMPDEST PUSH2 0xD2C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH1 0x89 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x53F CALLDATASIZE PUSH1 0x4 PUSH2 0x20C0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x566 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH1 0x1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x58A CALLDATASIZE PUSH1 0x4 PUSH2 0x2192 JUMP JUMPDEST PUSH2 0xDF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5AF PUSH2 0x5AA CALLDATASIZE PUSH1 0x4 PUSH2 0x2214 JUMP JUMPDEST PUSH2 0x1068 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x5E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0x1087 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24A PUSH2 0x109F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x608 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x651 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x660 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x10AE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x671 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x280 PUSH2 0x680 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x1116 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x691 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x6A0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x112A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x6C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x206B JUMP JUMPDEST PUSH2 0x1135 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x6E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A7 JUMP JUMPDEST PUSH2 0x1146 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x700 CALLDATASIZE PUSH1 0x4 PUSH2 0x2236 JUMP JUMPDEST PUSH2 0x115D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x711 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x720 CALLDATASIZE PUSH1 0x4 PUSH2 0x20DB JUMP JUMPDEST PUSH2 0x11CC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x731 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33B PUSH2 0x740 CALLDATASIZE PUSH1 0x4 PUSH2 0x2289 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x786 CALLDATASIZE PUSH1 0x4 PUSH2 0x22B3 JUMP JUMPDEST PUSH2 0x124F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x797 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x404 PUSH2 0x7A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x1F34 JUMP JUMPDEST PUSH2 0x13F3 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x7BA SWAP1 PUSH2 0x2343 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E6 SWAP1 PUSH2 0x2343 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x833 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x808 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x833 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x816 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0x84A PUSH2 0x13FE JUMP JUMPDEST DUP5 DUP5 PUSH2 0x140D JUMP JUMPDEST POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 DUP2 ADD DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE SWAP1 DUP6 SWAP1 KECCAK256 SLOAD DUP5 MSTORE DUP4 ADD MSTORE SWAP2 DUP2 ADD DUP7 SWAP1 MSTORE PUSH2 0x899 DUP8 DUP3 DUP8 DUP8 DUP8 PUSH2 0x1532 JUMP JUMPDEST PUSH2 0x8F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5369676E657220616E64207369676E617475726520646F206E6F74206D617463 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0xFB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x918 SWAP1 PUSH1 0x1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH32 0x5845892132946850460BFF5A0083F71031BC5BF9AADCD40F1DE79423EAC9B10B SWAP1 PUSH2 0x968 SWAP1 DUP10 SWAP1 CALLER SWAP1 DUP11 SWAP1 PUSH2 0x237D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP11 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x990 SWAP3 SWAP2 SWAP1 PUSH2 0x23A9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x9AA SWAP2 PUSH2 0x23E0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x9E7 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x9EC JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0xA3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756E6374696F6E2063616C6C206E6F74207375636365737366756C00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA57 DUP5 DUP5 DUP5 PUSH2 0x1681 JUMP JUMPDEST PUSH2 0xAC7 DUP5 PUSH2 0xA63 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xAC2 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2753 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xAA1 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH2 0x140D JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xAE2 PUSH2 0xADC PUSH2 0x13FE JUMP JUMPDEST DUP3 PUSH2 0x183E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0xB03 SWAP1 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xB67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0xB71 DUP3 DUP3 PUSH2 0x1942 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xB7D PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0xB71 DUP3 DUP3 PUSH2 0x19AB JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0xC0C PUSH2 0x13FE JUMP JUMPDEST DUP5 PUSH2 0xAC2 DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0xC1D PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP13 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xCA3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0xCB0 SWAP1 DUP3 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xCD6 SWAP1 DUP3 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE SWAP3 MLOAD DUP5 DUP2 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD3A DUP2 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0xD5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x23FC JUMP JUMPDEST POP PUSH2 0xD9A DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1A14 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xDF2 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x1A20 SWAP1 POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE02 PUSH1 0x9 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xEA2AA0A1BE11A07ED86D755C93467F4F82362B452371D1BA94D1715123511ACB PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP14 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP1 DUP11 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD DUP10 SWAP1 MSTORE PUSH1 0xA0 DUP2 ADD DUP9 SWAP1 MSTORE DUP7 ISZERO ISZERO PUSH1 0xC0 DUP3 ADD MSTORE PUSH1 0xE0 ADD PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xE9C SWAP3 SWAP2 SWAP1 PUSH2 0x1901 PUSH1 0xF0 SHL DUP2 MSTORE PUSH1 0x2 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x22 DUP3 ADD MSTORE PUSH1 0x42 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP5 MSTORE SWAP1 DUP4 ADD DUP1 DUP4 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP8 AND SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x60 DUP3 ADD DUP6 SWAP1 MSTORE PUSH1 0x80 DUP3 ADD DUP5 SWAP1 MSTORE SWAP2 POP PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF04 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP10 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF6E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x554368696C644441493A20494E56414C49442D5045524D495400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST DUP6 ISZERO DUP1 PUSH2 0xF7B JUMPI POP DUP6 TIMESTAMP GT ISZERO JUMPDEST PUSH2 0xFC7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x554368696C644441493A205045524D49542D4558504952454400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP2 PUSH2 0xFEB DUP4 PUSH2 0x249D JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE DUP8 EQ PUSH2 0x103D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x554368696C644441493A20494E56414C49442D4E4F4E43450000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x0 DUP6 PUSH2 0x104B JUMPI PUSH1 0x0 PUSH2 0x104F JUMP JUMPDEST PUSH1 0x0 NOT JUMPDEST SWAP1 POP PUSH2 0x105C DUP11 DUP11 DUP4 PUSH2 0x140D JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x1080 SWAP1 DUP4 PUSH2 0x1AA7 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x1080 SWAP1 DUP4 PUSH2 0x1AB3 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x7BA SWAP1 PUSH2 0x2343 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0x10BB PUSH2 0x13FE JUMP JUMPDEST DUP5 PUSH2 0xAC2 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x277B PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0x10E5 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP14 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x851 PUSH2 0x1123 PUSH2 0x13FE JUMP JUMPDEST DUP5 DUP5 PUSH2 0x1681 JUMP JUMPDEST PUSH2 0xDF2 CALLER DUP4 DUP4 PUSH2 0xA4A JUMP JUMPDEST PUSH2 0x1140 DUP4 DUP4 DUP4 PUSH2 0xA4A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x855 SWAP1 PUSH2 0x1AD5 JUMP JUMPDEST PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 PUSH2 0x118A DUP2 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0x11AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x23FC JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x11B9 DUP4 DUP6 ADD DUP6 PUSH2 0x20A7 JUMP JUMPDEST SWAP1 POP PUSH2 0x11C5 DUP6 DUP3 PUSH2 0xC4D JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0x11EA SWAP1 PUSH2 0x5E2 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xBF5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x2061646D696E20746F207265766F6B65 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1293 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x12D2 DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1A14 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1311 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1ADF SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP5 AND OR SWAP1 SSTORE PUSH2 0x134A DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1336 SWAP3 SWAP2 SWAP1 PUSH2 0x24B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1AEB JUMP JUMPDEST PUSH2 0x135C PUSH1 0x0 PUSH2 0x1357 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xB67 JUMP JUMPDEST PUSH2 0x1386 PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP3 PUSH2 0xB67 JUMP JUMPDEST PUSH2 0x13DE DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x1B19 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH2 0xDF2 DUP3 CALLER DUP4 PUSH2 0xA4A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1408 PUSH2 0x1B78 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x146F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x14D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x1598 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E61746976654D6574615472616E73616374696F6E3A20494E56414C49445F53 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x24A3A722A9 PUSH1 0xD9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH2 0x15AB PUSH2 0x15A6 DUP8 PUSH2 0x1BD4 JUMP JUMPDEST PUSH2 0x1C51 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 DUP4 MSTORE SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF DUP6 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x162F DUP4 DUP6 PUSH2 0x24D7 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x1080 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x16E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1747 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x1784 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x272D PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x17B3 SWAP1 DUP3 PUSH2 0x1622 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE MLOAD DUP5 DUP2 MSTORE SWAP1 SWAP3 SWAP2 DUP7 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x1525 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP5 GT ISZERO PUSH2 0x1828 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8EB SWAP2 SWAP1 PUSH2 0x1F05 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x1835 DUP5 DUP7 PUSH2 0x24EA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x189E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x18DB DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2679 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH1 0x2 SLOAD PUSH2 0x1901 SWAP1 DUP3 PUSH2 0x1C81 JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xD20 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x195A SWAP1 DUP3 PUSH2 0x1CC3 JUMP JUMPDEST ISZERO PUSH2 0xB71 JUMPI PUSH2 0x1967 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x19C3 SWAP1 DUP3 PUSH2 0x1CD8 JUMP JUMPDEST ISZERO PUSH2 0xB71 JUMPI PUSH2 0x19D0 PUSH2 0x13FE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH2 0xB71 DUP3 DUP3 PUSH2 0x254B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x26DE PUSH1 0x4F SWAP2 CODECOPY DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 ADDRESS PUSH2 0x1A58 CHAINID SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x60 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0x9 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 DUP4 PUSH2 0x1CED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO PUSH2 0x1080 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x855 DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH2 0xB71 DUP3 DUP3 PUSH2 0x254B JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1AFC SWAP2 SWAP1 PUSH2 0x260B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x7 SWAP1 DUP2 PUSH2 0xB71 SWAP2 SWAP1 PUSH2 0x254B JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1B5D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x8EB JUMP JUMPDEST PUSH2 0x1B67 DUP3 DUP3 PUSH2 0x1A20 JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH2 0x1BCE JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0x1BD1 SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x43 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x269B PUSH1 0x43 SWAP2 CODECOPY DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 DUP4 MLOAD DUP5 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD DUP1 MLOAD SWAP1 DUP7 ADD KECCAK256 SWAP1 MLOAD PUSH2 0x1C34 SWAP6 ADD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1C5C PUSH1 0x9 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x42 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x62 ADD PUSH2 0x1C34 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x1804 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1D73 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1080 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1DC2 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E756D657261626C655365743A20696E646578206F7574206F6620626F756E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6473 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x8EB JUMP JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1D60 JUMPI PUSH2 0x1D60 PUSH2 0x264C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1DBA JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x855 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x855 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1EAB JUMPI PUSH1 0x0 PUSH2 0x1DE6 PUSH1 0x1 DUP4 PUSH2 0x24EA JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1DFA SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x24EA JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1E13 JUMPI PUSH2 0x1E13 PUSH2 0x264C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1E36 JUMPI PUSH2 0x1E36 PUSH2 0x264C JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x1E4D DUP4 PUSH1 0x1 PUSH2 0x24D7 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1E6F JUMPI PUSH2 0x1E6F PUSH2 0x2662 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x855 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x855 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1ED0 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1EB8 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1EF1 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1EB5 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1080 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1ED9 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1F2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1F47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F50 DUP4 PUSH2 0x1F18 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1F2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1F9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1FA6 DUP7 PUSH2 0x1F18 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1FC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1FD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1FE9 JUMPI PUSH2 0x1FE9 PUSH2 0x1F5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2011 JUMPI PUSH2 0x2011 PUSH2 0x1F5E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP12 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x202A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP9 POP POP POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH2 0x205F PUSH1 0x80 DUP8 ADD PUSH2 0x1F74 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2080 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2089 DUP5 PUSH2 0x1F18 JUMP JUMPDEST SWAP3 POP PUSH2 0x2097 PUSH1 0x20 DUP6 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x20D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1080 DUP3 PUSH2 0x1F18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x20FE PUSH1 0x20 DUP5 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2119 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2131 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x2149 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x217A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2186 DUP6 DUP3 DUP7 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x21AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21B8 DUP10 PUSH2 0x1F18 JUMP JUMPDEST SWAP8 POP PUSH2 0x21C6 PUSH1 0x20 DUP11 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP5 POP PUSH1 0x80 DUP10 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x21E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH2 0x21F7 PUSH1 0xA0 DUP11 ADD PUSH2 0x1F74 JUMP JUMPDEST SWAP3 POP PUSH1 0xC0 DUP10 ADD CALLDATALOAD SWAP2 POP PUSH1 0xE0 DUP10 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2227 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x224B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2254 DUP5 PUSH2 0x1F18 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2270 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x227C DUP7 DUP3 DUP8 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x229C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22A5 DUP4 PUSH2 0x1F18 JUMP JUMPDEST SWAP2 POP PUSH2 0x20FE PUSH1 0x20 DUP5 ADD PUSH2 0x1F18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x22CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22F0 DUP11 DUP4 DUP12 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2309 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2316 DUP10 DUP3 DUP11 ADD PUSH2 0x2107 JUMP JUMPDEST SWAP1 SWAP6 POP SWAP4 POP PUSH2 0x2329 SWAP1 POP PUSH1 0x40 DUP9 ADD PUSH2 0x1F74 JUMP JUMPDEST SWAP2 POP PUSH2 0x2337 PUSH1 0x60 DUP9 ADD PUSH2 0x1F18 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2357 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2377 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1835 SWAP1 DUP4 ADD DUP5 PUSH2 0x1ED9 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x23BB DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1EB5 JUMP JUMPDEST PUSH1 0x60 SWAP4 SWAP1 SWAP4 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x23F2 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1EB5 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH1 0x0 DUP5 SLOAD PUSH2 0x2410 DUP2 PUSH2 0x2343 JUMP JUMPDEST DUP1 DUP5 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x1 DUP1 DUP5 AND PUSH1 0x0 DUP2 EQ PUSH2 0x2431 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x244B JUMPI PUSH2 0x2479 JUMP JUMPDEST PUSH1 0xFF NOT DUP6 AND DUP10 DUP5 ADD MSTORE DUP4 ISZERO ISZERO PUSH1 0x5 SHL DUP10 ADD DUP4 ADD SWAP6 POP PUSH2 0x2479 JUMP JUMPDEST DUP10 PUSH1 0x0 MSTORE DUP7 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2471 JUMPI DUP2 SLOAD DUP12 DUP3 ADD DUP7 ADD MSTORE SWAP1 DUP4 ADD SWAP1 DUP9 ADD PUSH2 0x2456 JUMP JUMPDEST DUP11 ADD DUP5 ADD SWAP7 POP POP JUMPDEST POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x24AF JUMPI PUSH2 0x24AF PUSH2 0x2487 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH5 0x10DA1A5B19 PUSH1 0xDA SHL DUP2 MSTORE DUP2 DUP4 PUSH1 0x5 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 ADD PUSH1 0x5 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x855 JUMPI PUSH2 0x855 PUSH2 0x2487 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x855 JUMPI PUSH2 0x855 PUSH2 0x2487 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xDF2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2524 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2543 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2530 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2565 JUMPI PUSH2 0x2565 PUSH2 0x1F5E JUMP JUMPDEST PUSH2 0x2579 DUP2 PUSH2 0x2573 DUP5 SLOAD PUSH2 0x2343 JUMP JUMPDEST DUP5 PUSH2 0x24FD JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x25AE JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2596 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x25DD JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x25BE JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x25FB JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x261D DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1EB5 JUMP JUMPDEST PUSH32 0x3A20494E53554646494349454E545F5045524D495353494F4E53000000000000 SWAP3 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x1A ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654D657461 SLOAD PUSH19 0x616E73616374696F6E2875696E74323536206E PUSH16 0x6E63652C616464726573732066726F6D 0x2C PUSH3 0x797465 PUSH20 0x2066756E6374696F6E5369676E61747572652945 0x49 POP CALLDATACOPY BALANCE ORIGIN PREVRANDAO PUSH16 0x6D61696E28737472696E67206E616D65 0x2C PUSH20 0x7472696E672076657273696F6E2C616464726573 PUSH20 0x20766572696679696E67436F6E74726163742C62 PUSH26 0x74657333322073616C742945524332303A207472616E73666572 KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E636545524332 ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220616D6F756E7420657863656564 PUSH20 0x20616C6C6F77616E636545524332303A20646563 PUSH19 0x656173656420616C6C6F77616E63652062656C PUSH16 0x77207A65726FA2646970667358221220 SIGNEXTEND 0x28 DUP2 EXTCODECOPY DUP10 DUP12 SDIV DUP14 0xB9 SELFBALANCE 0xDE NOT PUSH26 0x48E4A016DE2D4EB44C0A299D2131490F4DBA2564736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"50794:1672:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19508:166;;;;;;;;;;-1:-1:-1;19508:166:29;;;;;:::i;:::-;;:::i;:::-;;;1372:14:31;;1365:22;1347:41;;1335:2;1320:18;19508:166:29;1207:187:31;47515:52:29;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;47515:52:29;;;;;45105:1117;;;;;;:::i;:::-;;:::i;47407:51::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;47407:51:29;;;;;47310:43;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;47310:43:29;;;;;18515:98;;;;;;;;;;-1:-1:-1;18594:12:29;;18515:98;;;3269:25:31;;;3257:2;3242:18;18515:98:29;3123:177:31;43354:99:29;;;;;;;;;;-1:-1:-1;43431:15:29;;43354:99;;20134:330;;;;;;;;;;-1:-1:-1;20134:330:29;;;;;:::i;:::-;;:::i;38118:112::-;;;;;;;;;;-1:-1:-1;38118:112:29;;;;;:::i;:::-;38175:7;38201:12;;;:6;:12;;;;;:22;;;;38118:112;46630:105;;;;;;;;;;-1:-1:-1;46630:105:29;;;;;:::i;:::-;-1:-1:-1;;;;;46716:12:29;46683:13;46716:12;;;:6;:12;;;;;;;46630:105;50614:87;;;;;;;;;;-1:-1:-1;50614:87:29;;;;;:::i;:::-;;:::i;:::-;;38480:223;;;;;;;;;;-1:-1:-1;38480:223:29;;;;;:::i;:::-;;:::i;50990:108::-;;;;;;;;;;-1:-1:-1;50990:108:29;51032:66;50990:108;;18281:81;;;;;;;;;;-1:-1:-1;18346:9:29;;18281:81;;18346:9;;;;4782:36:31;;4770:2;4755:18;18281:81:29;4640:184:31;43459:155:29;;;;;;;;;;-1:-1:-1;43570:9:29;43459:155;;39654:205;;;;;;;;;;-1:-1:-1;39654:205:29;;;;;:::i;:::-;;:::i;20859:215::-;;;;;;;;;;-1:-1:-1;20859:215:29;;;;;:::i;:::-;;:::i;23115:369::-;;;;;;;;;;-1:-1:-1;23115:369:29;;;;;:::i;:::-;;:::i;49612:160::-;;;;;;;;;;-1:-1:-1;49612:160:29;;;;;:::i;:::-;;:::i;47465:44::-;;;;;;;;;;;;47506:3;47465:44;;18671:117;;;;;;;;;;-1:-1:-1;18671:117:29;;;;;:::i;:::-;-1:-1:-1;;;;;18763:18:29;18737:7;18763:18;;;;;;;;;;;;18671:117;47360:41;;;;;;;;;;;;47400:1;47360:41;;51475:989;;;;;;;;;;-1:-1:-1;51475:989:29;;;;;:::i;:::-;;:::i;37801:136::-;;;;;;;;;;-1:-1:-1;37801:136:29;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;6788:32:31;;;6770:51;;6758:2;6743:18;37801:136:29;6624:203:31;36798:137:29;;;;;;;;;;-1:-1:-1;36798:137:29;;;;;:::i;:::-;;:::i;17480:85::-;;;;;;;;;;;;;:::i;35575:49::-;;;;;;;;;;-1:-1:-1;35575:49:29;35620:4;35575:49;;48562:68;;;;;;;;;;;;48603:27;48562:68;;21561:279;;;;;;;;;;-1:-1:-1;21561:279:29;;;;;:::i;:::-;;:::i;18991:172::-;;;;;;;;;;-1:-1:-1;18991:172:29;;;;;:::i;:::-;;:::i;51126:97::-;;;;;;;;;;-1:-1:-1;51126:97:29;;;;;:::i;:::-;;:::i;51330:103::-;;;;;;;;;;-1:-1:-1;51330:103:29;;;;;:::i;:::-;;:::i;37103:125::-;;;;;;;;;;-1:-1:-1;37103:125:29;;;;;:::i;:::-;;:::i;50143:223::-;;;;;;;;;;-1:-1:-1;50143:223:29;;;;;:::i;:::-;;:::i;38937:226::-;;;;;;;;;;-1:-1:-1;38937:226:29;;;;;:::i;:::-;;:::i;19221:149::-;;;;;;;;;;-1:-1:-1;19221:149:29;;;;;:::i;:::-;-1:-1:-1;;;;;19336:18:29;;;19310:7;19336:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;19221:149;48827:497;;;;;;;;;;-1:-1:-1;48827:497:29;;;;;:::i;:::-;;:::i;51228:97::-;;;;;;;;;;-1:-1:-1;51228:97:29;;;;;:::i;:::-;;:::i;17201:81::-;17238:13;17270:5;17263:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:81;:::o;19508:166::-;19591:4;19607:39;19616:12;:10;:12::i;:::-;19630:7;19639:6;19607:8;:39::i;:::-;-1:-1:-1;19663:4:29;19508:166;;;;;:::o;45105:1117::-;45356:148;;;45300:12;45356:148;;;;;-1:-1:-1;;;;;45393:19:29;;45324:29;45393:19;;;:6;:19;;;;;;;;;45356:148;;;;;;;;;;;45536:45;45400:11;45356:148;45564:4;45570;45576;45536:6;:45::i;:::-;45515:125;;;;-1:-1:-1;;;45515:125:29;;9044:2:31;45515:125:29;;;9026:21:31;9083:2;9063:18;;;9056:30;9122:34;9102:18;;;9095:62;-1:-1:-1;;;9173:18:31;;;9166:31;9214:19;;45515:125:29;;;;;;;;;-1:-1:-1;;;;;45726:19:29;;;;;;:6;:19;;;;;;:26;;45750:1;45726:23;:26::i;:::-;-1:-1:-1;;;;;45704:19:29;;;;;;:6;:19;;;;;;;:48;;;;45768:122;;;;;45711:11;;45838:10;;45863:17;;45768:122;:::i;:::-;;;;;;;;45998:12;46012:23;46047:4;-1:-1:-1;;;;;46039:18:29;46088:17;46107:11;46071:48;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;46071:48:29;;;;;;;;;;46039:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45997:132;;;;46147:7;46139:48;;;;-1:-1:-1;;;46139:48:29;;10608:2:31;46139:48:29;;;10590:21:31;10647:2;10627:18;;;10620:30;10686;10666:18;;;10659:58;10734:18;;46139:48:29;10406:352:31;46139:48:29;46205:10;45105:1117;-1:-1:-1;;;;;;;;45105:1117:29:o;20134:330::-;20240:4;20256:36;20266:6;20274:9;20285:6;20256:9;:36::i;:::-;20302:134;20311:6;20319:12;:10;:12::i;:::-;20333:102;20371:6;20333:102;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20333:19:29;;;;;;:11;:19;;;;;;20353:12;:10;:12::i;:::-;-1:-1:-1;;;;;20333:33:29;;;;;;;;;;;;-1:-1:-1;20333:33:29;;;:102;:37;:102::i;:::-;20302:8;:134::i;:::-;-1:-1:-1;20453:4:29;20134:330;;;;;:::o;50614:87::-;50667:27;50673:12;:10;:12::i;:::-;50687:6;50667:5;:27::i;:::-;50614:87;:::o;38480:223::-;38571:12;;;;:6;:12;;;;;:22;;;38563:45;;38595:12;:10;:12::i;38563:45::-;38555:105;;;;-1:-1:-1;;;38555:105:29;;10965:2:31;38555:105:29;;;10947:21:31;11004:2;10984:18;;;10977:30;11043:34;11023:18;;;11016:62;-1:-1:-1;;;11094:18:31;;;11087:45;11149:19;;38555:105:29;10763:411:31;38555:105:29;38671:25;38682:4;38688:7;38671:10;:25::i;:::-;38480:223;;:::o;39654:205::-;39751:12;:10;:12::i;:::-;-1:-1:-1;;;;;39740:23:29;:7;-1:-1:-1;;;;;39740:23:29;;39732:83;;;;-1:-1:-1;;;39732:83:29;;11381:2:31;39732:83:29;;;11363:21:31;11420:2;11400:18;;;11393:30;11459:34;11439:18;;;11432:62;-1:-1:-1;;;11510:18:31;;;11503:45;11565:19;;39732:83:29;11179:411:31;39732:83:29;39826:26;39838:4;39844:7;39826:11;:26::i;20859:215::-;20947:4;20963:83;20972:12;:10;:12::i;:::-;20986:7;20995:50;21034:10;20995:11;:25;21007:12;:10;:12::i;:::-;-1:-1:-1;;;;;20995:25:29;;;;;;;;;;;;;;;;;-1:-1:-1;20995:25:29;;;:34;;;;;;;;;;;:38;:50::i;23115:369::-;-1:-1:-1;;;;;23197:21:29;;23189:65;;;;-1:-1:-1;;;23189:65:29;;11797:2:31;23189:65:29;;;11779:21:31;11836:2;11816:18;;;11809:30;11875:33;11855:18;;;11848:61;11926:18;;23189:65:29;11595:355:31;23189:65:29;23340:12;;:24;;23357:6;23340:16;:24::i;:::-;23325:12;:39;-1:-1:-1;;;;;23395:18:29;;:9;:18;;;;;;;;;;;:30;;23418:6;23395:22;:30::i;:::-;-1:-1:-1;;;;;23374:18:29;;:9;:18;;;;;;;;;;;:51;;;;23440:37;;3269:25:31;;;23374:18:29;;:9;;23440:37;;3242:18:31;23440:37:29;;;;;;;;23115:369;;:::o;49612:160::-;35620:4;41624:27;35620:4;41638:12;:10;:12::i;41624:27::-;41665:10;41603:82;;;;;-1:-1:-1;;;41603:82:29;;;;;;;;:::i;:::-;;49699:14:::1;49707:5;;49699:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;49699:7:29::1;::::0;-1:-1:-1;;;49699:14:29:i:1;:::-;49723:42;49743:5;;49723:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;49750:14:29::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;49750:14:29::1;::::0;::::1;::::0;;-1:-1:-1;49723:19:29::1;::::0;-1:-1:-1;49723:42:29:i:1;:::-;49612:160:::0;;;:::o;51475:989::-;51689:14;51791:20;43431:15;;;43354:99;51791:20;51860:234;;;51032:66;51860:234;;;13330:25:31;-1:-1:-1;;;;;13429:15:31;;;13409:18;;;13402:43;;;;13481:15;;;13461:18;;;13454:43;13513:18;;;13506:34;;;13556:19;;;13549:35;;;13628:14;;13621:22;13600:19;;;13593:51;13302:19;;51860:234:29;;;;;;;;;;;;51829:283;;;;;;51729:393;;;;;;;;-1:-1:-1;;;13913:27:31;;13965:1;13956:11;;13949:27;;;;14001:2;13992:12;;13985:28;14038:2;14029:12;;13655:392;51729:393:29;;;;-1:-1:-1;;51729:393:29;;;;;;;;;51706:417;;51729:393;51706:417;;;;52152:26;;;;;;;;;14279:25:31;;;14352:4;14340:17;;14320:18;;;14313:45;;;;14374:18;;;14367:34;;;14417:18;;;14410:34;;;51706:417:29;-1:-1:-1;52152:26:29;;14251:19:31;;52152:26:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;52142:36:29;:6;-1:-1:-1;;;;;52142:36:29;;52134:74;;;;-1:-1:-1;;;52134:74:29;;14657:2:31;52134:74:29;;;14639:21:31;14696:2;14676:18;;;14669:30;14735:27;14715:18;;;14708:55;14780:18;;52134:74:29;14455:349:31;52134:74:29;52226:11;;;:40;;;52260:6;52241:15;:25;;52226:40;52218:78;;;;-1:-1:-1;;;52218:78:29;;15011:2:31;52218:78:29;;;14993:21:31;15050:2;15030:18;;;15023:30;15089:27;15069:18;;;15062:55;15134:18;;52218:78:29;14809:349:31;52218:78:29;-1:-1:-1;;;;;52323:14:29;;;;;;:6;:14;;;;;:16;;;;;;:::i;:::-;;;;;52314:5;:25;52306:62;;;;-1:-1:-1;;;52306:62:29;;15637:2:31;52306:62:29;;;15619:21:31;15676:2;15656:18;;;15649:30;15715:26;15695:18;;;15688:54;15759:18;;52306:62:29;15435:348:31;52306:62:29;52378:8;52389:7;:28;;52416:1;52389:28;;;-1:-1:-1;;52389:28:29;52378:39;;52427:30;52436:6;52444:7;52453:3;52427:8;:30::i;:::-;51679:785;;51475:989;;;;;;;;:::o;37801:136::-;37874:7;37900:12;;;:6;:12;;;;;:30;;37924:5;37900:23;:30::i;:::-;37893:37;37801:136;-1:-1:-1;;;37801:136:29:o;36798:137::-;36867:4;36890:12;;;:6;:12;;;;;:38;;36920:7;36890:29;:38::i;17480:85::-;17519:13;17551:7;17544:14;;;;;:::i;21561:279::-;21654:4;21670:142;21679:12;:10;:12::i;:::-;21693:7;21702:109;21741:15;21702:109;;;;;;;;;;;;;;;;;:11;:25;21714:12;:10;:12::i;:::-;-1:-1:-1;;;;;21702:25:29;;;;;;;;;;;;;;;;;-1:-1:-1;21702:25:29;;;:34;;;;;;;;;;;:109;:38;:109::i;18991:172::-;19077:4;19093:42;19103:12;:10;:12::i;:::-;19117:9;19128:6;19093:9;:42::i;51126:97::-;51182:34;51195:10;51207:3;51212;51182:12;:34::i;51330:103::-;51399:27;51412:3;51417;51422;51399:12;:27::i;:::-;;51330:103;;;:::o;37103:125::-;37166:7;37192:12;;;:6;:12;;;;;:29;;:27;:29::i;50143:223::-;48603:27;41624;41632:4;41638:12;:10;:12::i;41624:27::-;41665:10;41603:82;;;;;-1:-1:-1;;;41603:82:29;;;;;;;;:::i;:::-;-1:-1:-1;50279:14:29::1;50296:34;::::0;;::::1;50307:11:::0;50296:34:::1;:::i;:::-;50279:51;;50340:19;50346:4;50352:6;50340:5;:19::i;:::-;50269:97;50143:223:::0;;;;:::o;38937:226::-;39029:12;;;;:6;:12;;;;;:22;;;39021:45;;39053:12;:10;:12::i;39021:45::-;39013:106;;;;-1:-1:-1;;;39013:106:29;;15990:2:31;39013:106:29;;;15972:21:31;16029:2;16009:18;;;16002:30;16068:34;16048:18;;;16041:62;-1:-1:-1;;;16119:18:31;;;16112:46;16175:19;;39013:106:29;15788:412:31;48827:497:29;42054:6;;;;42053:7;42045:34;;;;-1:-1:-1;;;42045:34:29;;16407:2:31;42045:34:29;;;16389:21:31;16446:2;16426:18;;;16419:30;-1:-1:-1;;;16465:18:31;;;16458:44;16519:18;;42045:34:29;16205:338:31;42045:34:29;49026:14:::1;49034:5;;49026:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;49026:7:29::1;::::0;-1:-1:-1;;;49026:14:29:i:1;:::-;49048:18;49058:7;;49048:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;49048:9:29::1;::::0;-1:-1:-1;;;49048:18:29:i:1;:::-;18425:9:::0;:23;;-1:-1:-1;;18425:23:29;;;;;;;49104:60:::1;49154:7;;49128:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;49104:16;:60::i;:::-;49172:44;35620:4;49203:12;:10;:12::i;:::-;49172:10;:44::i;:::-;49224:45;48603:27;49251:17;49224:10;:45::i;:::-;49277:40;49295:5;;49277:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;49302:14:29::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;49302:14:29::1;::::0;::::1;::::0;;-1:-1:-1;49277:17:29::1;::::0;-1:-1:-1;49277:40:29:i:1;:::-;-1:-1:-1::0;;42100:6:29;:13;;-1:-1:-1;;42100:13:29;42109:4;42100:13;;;-1:-1:-1;;;;48827:497:29:o;51228:97::-;51284:34;51297:3;51302:10;51314:3;51284:12;:34::i;49444:162::-;49530:22;49575:24;:22;:24::i;:::-;49568:31;;49444:162;:::o;24638:340::-;-1:-1:-1;;;;;24739:19:29;;24731:68;;;;-1:-1:-1;;;24731:68:29;;17174:2:31;24731:68:29;;;17156:21:31;17213:2;17193:18;;;17186:30;17252:34;17232:18;;;17225:62;-1:-1:-1;;;17303:18:31;;;17296:34;17347:19;;24731:68:29;16972:400:31;24731:68:29;-1:-1:-1;;;;;24817:21:29;;24809:68;;;;-1:-1:-1;;;24809:68:29;;17579:2:31;24809:68:29;;;17561:21:31;17618:2;17598:18;;;17591:30;17657:34;17637:18;;;17630:62;-1:-1:-1;;;17708:18:31;;;17701:32;17750:19;;24809:68:29;17377:398:31;24809:68:29;-1:-1:-1;;;;;24888:18:29;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;24939:32;;3269:25:31;;;24939:32:29;;3242:18:31;24939:32:29;;;;;;;;24638:340;;;:::o;46741:470::-;46913:4;-1:-1:-1;;;;;46937:20:29;;46929:70;;;;-1:-1:-1;;;46929:70:29;;17982:2:31;46929:70:29;;;17964:21:31;18021:2;18001:18;;;17994:30;18060:34;18040:18;;;18033:62;-1:-1:-1;;;18111:18:31;;;18104:35;18156:19;;46929:70:29;17780:401:31;46929:70:29;47050:154;47077:47;47096:27;47116:6;47096:19;:27::i;:::-;47077:18;:47::i;:::-;47050:154;;;;;;;;;;;;14279:25:31;;;;14352:4;14340:17;;14320:18;;;14313:45;14374:18;;;14367:34;;;14417:18;;;14410:34;;;14251:19;;47050:154:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;47028:176:29;:6;-1:-1:-1;;;;;47028:176:29;;47009:195;;46741:470;;;;;;;:::o;4601:176::-;4659:7;;4690:5;4694:1;4690;:5;:::i;:::-;4678:17;;4718:1;4713;:6;;4705:46;;;;-1:-1:-1;;;4705:46:29;;18518:2:31;4705:46:29;;;18500:21:31;18557:2;18537:18;;;18530:30;18596:29;18576:18;;;18569:57;18643:18;;4705:46:29;18316:351:31;22314:530:29;-1:-1:-1;;;;;22419:20:29;;22411:70;;;;-1:-1:-1;;;22411:70:29;;18874:2:31;22411:70:29;;;18856:21:31;18913:2;18893:18;;;18886:30;18952:34;18932:18;;;18925:62;-1:-1:-1;;;19003:18:31;;;18996:35;19048:19;;22411:70:29;18672:401:31;22411:70:29;-1:-1:-1;;;;;22499:23:29;;22491:71;;;;-1:-1:-1;;;22491:71:29;;19280:2:31;22491:71:29;;;19262:21:31;19319:2;19299:18;;;19292:30;19358:34;19338:18;;;19331:62;-1:-1:-1;;;19409:18:31;;;19402:33;19452:19;;22491:71:29;19078:399:31;22491:71:29;22651;22673:6;22651:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22651:17:29;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;22631:17:29;;;:9;:17;;;;;;;;;;;:91;;;;22755:20;;;;;;;:32;;22780:6;22755:24;:32::i;:::-;-1:-1:-1;;;;;22732:20:29;;;:9;:20;;;;;;;;;;;;:55;;;;22802:35;3269:25:31;;;22732:20:29;;22802:35;;;;;;3242:18:31;22802:35:29;3123:177:31;5473:187:29;5559:7;5594:12;5586:6;;;;5578:29;;;;-1:-1:-1;;;5578:29:29;;;;;;;;:::i;:::-;-1:-1:-1;5617:9:29;5629:5;5633:1;5629;:5;:::i;:::-;5617:17;5473:187;-1:-1:-1;;;;;5473:187:29:o;23803:410::-;-1:-1:-1;;;;;23886:21:29;;23878:67;;;;-1:-1:-1;;;23878:67:29;;19817:2:31;23878:67:29;;;19799:21:31;19856:2;19836:18;;;19829:30;19895:34;19875:18;;;19868:62;-1:-1:-1;;;19946:18:31;;;19939:31;19987:19;;23878:67:29;19615:397:31;23878:67:29;24037:68;24060:6;24037:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24037:18:29;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;24016:18:29;;:9;:18;;;;;;;;;;:89;24130:12;;:24;;24147:6;24130:16;:24::i;:::-;24115:12;:39;24169:37;;3269:25:31;;;24195:1:29;;-1:-1:-1;;;;;24169:37:29;;;;;3257:2:31;3242:18;24169:37:29;3123:177:31;40861:184:29;40934:12;;;;:6;:12;;;;;:33;;40959:7;40934:24;:33::i;:::-;40930:109;;;41015:12;:10;:12::i;:::-;-1:-1:-1;;;;;40988:40:29;41006:7;-1:-1:-1;;;;;40988:40:29;41000:4;40988:40;;;;;;;;;;40861:184;;:::o;41051:188::-;41125:12;;;;:6;:12;;;;;:36;;41153:7;41125:27;:36::i;:::-;41121:112;;;41209:12;:10;:12::i;:::-;-1:-1:-1;;;;;41182:40:29;41200:7;-1:-1:-1;;;;;41182:40:29;41194:4;41182:40;;;;;;;;;;41051:188;;:::o;17288:79::-;17345:5;:15;17353:7;17345:5;:15;:::i;42982:366::-;42441:110;;;;;;;;;;;;;;;;;42422:135;;;;;;43198:4;43182:22;;;;;;43238:7;43222:25;;;;;;43273:4;43304:12;43570:9;;43459:155;43304:12;43114:217;;;;;;22354:25:31;;;;22395:18;;22388:34;;;;22438:18;;;22431:34;;;;-1:-1:-1;;;;;22501:32:31;22481:18;;;22474:60;22550:19;;;22543:35;22326:19;;43114:217:29;;;-1:-1:-1;;43114:217:29;;;;;;;;;43091:250;;43114:217;43091:250;;;;43073:15;:268;-1:-1:-1;;42982:366:29:o;32212:156::-;32286:7;32336:22;32340:3;32352:5;32336:3;:22::i;31519:165::-;-1:-1:-1;;;;;31652:23:29;;31599:4;29972:19;;;:12;;;:19;;;;;;:24;;31622:55;29876:127;31765:115;31828:7;31854:19;31862:3;30166:18;;30084:107;17571:87;17632:7;:19;17642:9;17632:7;:19;:::i;41402:157::-;41510:10;41493:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;41473:10;:79;;;;;;:::i;42792:184::-;42054:6;;;;42053:7;42045:34;;;;-1:-1:-1;;;42045:34:29;;16407:2:31;42045:34:29;;;16389:21:31;16446:2;16426:18;;;16419:30;-1:-1:-1;;;16465:18:31;;;16458:44;16519:18;;42045:34:29;16205:338:31;42045:34:29;42935::::1;42955:4;42961:7;42935:19;:34::i;:::-;-1:-1:-1::0;;42100:6:29;:13;;-1:-1:-1;;42100:13:29;42109:4;42100:13;;;42792:184::o;47679:631::-;47747:22;47811:4;47789:10;:27;47785:496;;47832:18;47853:8;;47832:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;47891:8:29;48098:17;48092:24;-1:-1:-1;;;;;48067:131:29;;-1:-1:-1;47785:496:29;;-1:-1:-1;47785:496:29;;-1:-1:-1;48259:10:29;47785:496;47679:631;:::o;46228:396::-;46335:7;44463:98;;;;;;;;;;;;;;;;;44444:123;;;;;;;46483:12;;46517:11;;;;46560:24;;;;;46550:35;;;;;;46404:199;;;;;23303:25:31;;;23359:2;23344:18;;23337:34;;;;-1:-1:-1;;;;;23407:32:31;23402:2;23387:18;;23380:60;23471:2;23456:18;;23449:34;23290:3;23275:19;;23072:417;46404:199:29;;;;;;;;;;;;;46377:240;;;;;;46358:259;;46228:396;;;:::o;43974:249::-;44070:7;44168:20;43431:15;;;43354:99;44168:20;44139:63;;-1:-1:-1;;;44139:63:29;;;13913:27:31;13956:11;;;13949:27;;;;13992:12;;;13985:28;;;14029:12;;44139:63:29;13655:392:31;5048:134:29;5106:7;5132:43;5136:1;5139;5132:43;;;;;;;;;;;;;;;;;:3;:43::i;30964:150::-;31034:4;31057:50;31062:3;-1:-1:-1;;;;;31082:23:29;;31057:4;:50::i;31282:156::-;31355:4;31378:53;31386:3;-1:-1:-1;;;;;31406:23:29;;31378:7;:53::i;30523:201::-;30617:18;;30590:7;;30617:26;-1:-1:-1;30609:73:29;;;;-1:-1:-1;;;30609:73:29;;23696:2:31;30609:73:29;;;23678:21:31;23735:2;23715:18;;;23708:30;23774:34;23754:18;;;23747:62;-1:-1:-1;;;23825:18:31;;;23818:32;23867:19;;30609:73:29;23494:398:31;30609:73:29;30699:3;:11;;30711:5;30699:18;;;;;;;;:::i;:::-;;;;;;;;;30692:25;;30523:201;;;;:::o;27711:404::-;27774:4;29972:19;;;:12;;;:19;;;;;;27790:319;;-1:-1:-1;27832:23:29;;;;;;;;:11;:23;;;;;;;;;;;;;28012:18;;27990:19;;;:12;;;:19;;;;;;:40;;;;28044:11;;27790:319;-1:-1:-1;28093:5:29;28086:12;;28283:1512;28349:4;28486:19;;;:12;;;:19;;;;;;28520:15;;28516:1273;;28877:21;28901:14;28914:1;28901:10;:14;:::i;:::-;28949:18;;28877:38;;-1:-1:-1;28929:17:29;;28949:22;;28970:1;;28949:22;:::i;:::-;28929:42;;29211:17;29231:3;:11;;29243:9;29231:22;;;;;;;;:::i;:::-;;;;;;;;;29211:42;;29374:9;29345:3;:11;;29357:13;29345:26;;;;;;;;:::i;:::-;;;;;;;;;;:38;29475:17;:13;29491:1;29475:17;:::i;:::-;29449:23;;;;:12;;;:23;;;;;:43;29598:17;;29449:3;;29598:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;29690:3;:12;;:19;29703:5;29690:19;;;;;;;;;;;29683:26;;;29731:4;29724:11;;;;;;;;28516:1273;29773:5;29766:12;;;;;14:250:31;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:31;238:16;;231:27;14:250::o;269:271::-;311:3;349:5;343:12;376:6;371:3;364:19;392:76;461:6;454:4;449:3;445:14;438:4;431:5;427:16;392:76;:::i;:::-;522:2;501:15;-1:-1:-1;;497:29:31;488:39;;;;529:4;484:50;;269:271;-1:-1:-1;;269:271:31:o;545:220::-;694:2;683:9;676:21;657:4;714:45;755:2;744:9;740:18;732:6;714:45;:::i;770:173::-;838:20;;-1:-1:-1;;;;;887:31:31;;877:42;;867:70;;933:1;930;923:12;867:70;770:173;;;:::o;948:254::-;1016:6;1024;1077:2;1065:9;1056:7;1052:23;1048:32;1045:52;;;1093:1;1090;1083:12;1045:52;1116:29;1135:9;1116:29;:::i;:::-;1106:39;1192:2;1177:18;;;;1164:32;;-1:-1:-1;;;948:254:31:o;1622:127::-;1683:10;1678:3;1674:20;1671:1;1664:31;1714:4;1711:1;1704:15;1738:4;1735:1;1728:15;1754:156;1820:20;;1880:4;1869:16;;1859:27;;1849:55;;1900:1;1897;1890:12;1915:1203;2017:6;2025;2033;2041;2049;2102:3;2090:9;2081:7;2077:23;2073:33;2070:53;;;2119:1;2116;2109:12;2070:53;2142:29;2161:9;2142:29;:::i;:::-;2132:39;;2222:2;2211:9;2207:18;2194:32;2245:18;2286:2;2278:6;2275:14;2272:34;;;2302:1;2299;2292:12;2272:34;2340:6;2329:9;2325:22;2315:32;;2385:7;2378:4;2374:2;2370:13;2366:27;2356:55;;2407:1;2404;2397:12;2356:55;2443:2;2430:16;2465:2;2461;2458:10;2455:36;;;2471:18;;:::i;:::-;2546:2;2540:9;2514:2;2600:13;;-1:-1:-1;;2596:22:31;;;2620:2;2592:31;2588:40;2576:53;;;2644:18;;;2664:22;;;2641:46;2638:72;;;2690:18;;:::i;:::-;2730:10;2726:2;2719:22;2765:2;2757:6;2750:18;2805:7;2800:2;2795;2791;2787:11;2783:20;2780:33;2777:53;;;2826:1;2823;2816:12;2777:53;2882:2;2877;2873;2869:11;2864:2;2856:6;2852:15;2839:46;2927:1;2922:2;2917;2909:6;2905:15;2901:24;2894:35;2948:6;2938:16;;;;;;;3001:2;2990:9;2986:18;2973:32;2963:42;;3052:2;3041:9;3037:18;3024:32;3014:42;;3075:37;3107:3;3096:9;3092:19;3075:37;:::i;:::-;3065:47;;1915:1203;;;;;;;;:::o;3487:328::-;3564:6;3572;3580;3633:2;3621:9;3612:7;3608:23;3604:32;3601:52;;;3649:1;3646;3639:12;3601:52;3672:29;3691:9;3672:29;:::i;:::-;3662:39;;3720:38;3754:2;3743:9;3739:18;3720:38;:::i;:::-;3710:48;;3805:2;3794:9;3790:18;3777:32;3767:42;;3487:328;;;;;:::o;3820:180::-;3879:6;3932:2;3920:9;3911:7;3907:23;3903:32;3900:52;;;3948:1;3945;3938:12;3900:52;-1:-1:-1;3971:23:31;;3820:180;-1:-1:-1;3820:180:31:o;4005:186::-;4064:6;4117:2;4105:9;4096:7;4092:23;4088:32;4085:52;;;4133:1;4130;4123:12;4085:52;4156:29;4175:9;4156:29;:::i;4381:254::-;4449:6;4457;4510:2;4498:9;4489:7;4485:23;4481:32;4478:52;;;4526:1;4523;4516:12;4478:52;4562:9;4549:23;4539:33;;4591:38;4625:2;4614:9;4610:18;4591:38;:::i;:::-;4581:48;;4381:254;;;;;:::o;4829:348::-;4881:8;4891:6;4945:3;4938:4;4930:6;4926:17;4922:27;4912:55;;4963:1;4960;4953:12;4912:55;-1:-1:-1;4986:20:31;;5029:18;5018:30;;5015:50;;;5061:1;5058;5051:12;5015:50;5098:4;5090:6;5086:17;5074:29;;5150:3;5143:4;5134:6;5126;5122:19;5118:30;5115:39;5112:59;;;5167:1;5164;5157:12;5112:59;4829:348;;;;;:::o;5182:411::-;5253:6;5261;5314:2;5302:9;5293:7;5289:23;5285:32;5282:52;;;5330:1;5327;5320:12;5282:52;5370:9;5357:23;5403:18;5395:6;5392:30;5389:50;;;5435:1;5432;5425:12;5389:50;5474:59;5525:7;5516:6;5505:9;5501:22;5474:59;:::i;:::-;5552:8;;5448:85;;-1:-1:-1;5182:411:31;-1:-1:-1;;;;5182:411:31:o;5598:768::-;5715:6;5723;5731;5739;5747;5755;5763;5771;5824:3;5812:9;5803:7;5799:23;5795:33;5792:53;;;5841:1;5838;5831:12;5792:53;5864:29;5883:9;5864:29;:::i;:::-;5854:39;;5912:38;5946:2;5935:9;5931:18;5912:38;:::i;:::-;5902:48;;5997:2;5986:9;5982:18;5969:32;5959:42;;6048:2;6037:9;6033:18;6020:32;6010:42;;6102:3;6091:9;6087:19;6074:33;6150:5;6143:13;6136:21;6129:5;6126:32;6116:60;;6172:1;6169;6162:12;6116:60;6195:5;-1:-1:-1;6219:37:31;6251:3;6236:19;;6219:37;:::i;:::-;6209:47;;6303:3;6292:9;6288:19;6275:33;6265:43;;6355:3;6344:9;6340:19;6327:33;6317:43;;5598:768;;;;;;;;;;;:::o;6371:248::-;6439:6;6447;6500:2;6488:9;6479:7;6475:23;6471:32;6468:52;;;6516:1;6513;6506:12;6468:52;-1:-1:-1;;6539:23:31;;;6609:2;6594:18;;;6581:32;;-1:-1:-1;6371:248:31:o;6832:484::-;6911:6;6919;6927;6980:2;6968:9;6959:7;6955:23;6951:32;6948:52;;;6996:1;6993;6986:12;6948:52;7019:29;7038:9;7019:29;:::i;:::-;7009:39;;7099:2;7088:9;7084:18;7071:32;7126:18;7118:6;7115:30;7112:50;;;7158:1;7155;7148:12;7112:50;7197:59;7248:7;7239:6;7228:9;7224:22;7197:59;:::i;:::-;6832:484;;7275:8;;-1:-1:-1;7171:85:31;;-1:-1:-1;;;;6832:484:31:o;7321:260::-;7389:6;7397;7450:2;7438:9;7429:7;7425:23;7421:32;7418:52;;;7466:1;7463;7456:12;7418:52;7489:29;7508:9;7489:29;:::i;:::-;7479:39;;7537:38;7571:2;7560:9;7556:18;7537:38;:::i;7586:866::-;7694:6;7702;7710;7718;7726;7734;7787:3;7775:9;7766:7;7762:23;7758:33;7755:53;;;7804:1;7801;7794:12;7755:53;7844:9;7831:23;7873:18;7914:2;7906:6;7903:14;7900:34;;;7930:1;7927;7920:12;7900:34;7969:59;8020:7;8011:6;8000:9;7996:22;7969:59;:::i;:::-;8047:8;;-1:-1:-1;7943:85:31;-1:-1:-1;8135:2:31;8120:18;;8107:32;;-1:-1:-1;8151:16:31;;;8148:36;;;8180:1;8177;8170:12;8148:36;;8219:61;8272:7;8261:8;8250:9;8246:24;8219:61;:::i;:::-;8299:8;;-1:-1:-1;8193:87:31;-1:-1:-1;8353:36:31;;-1:-1:-1;8385:2:31;8370:18;;8353:36;:::i;:::-;8343:46;;8408:38;8442:2;8431:9;8427:18;8408:38;:::i;:::-;8398:48;;7586:866;;;;;;;;:::o;8457:380::-;8536:1;8532:12;;;;8579;;;8600:61;;8654:4;8646:6;8642:17;8632:27;;8600:61;8707:2;8699:6;8696:14;8676:18;8673:38;8670:161;;8753:10;8748:3;8744:20;8741:1;8734:31;8788:4;8785:1;8778:15;8816:4;8813:1;8806:15;8670:161;;8457:380;;;:::o;9244:432::-;-1:-1:-1;;;;;9501:15:31;;;9483:34;;9553:15;;9548:2;9533:18;;9526:43;9605:2;9600;9585:18;;9578:30;;;9426:4;;9625:45;;9651:18;;9643:6;9625:45;:::i;9681:428::-;9838:3;9876:6;9870:13;9892:66;9951:6;9946:3;9939:4;9931:6;9927:17;9892:66;:::i;:::-;10027:2;10023:15;;;;-1:-1:-1;;10019:53:31;9980:16;;;;10005:68;;;10100:2;10089:14;;9681:428;-1:-1:-1;;9681:428:31:o;10114:287::-;10243:3;10281:6;10275:13;10297:66;10356:6;10351:3;10344:4;10336:6;10332:17;10297:66;:::i;:::-;10379:16;;;;;10114:287;-1:-1:-1;;10114:287:31:o;12081:963::-;12190:4;12219:2;12248;12237:9;12230:21;12271:1;12304:6;12298:13;12334:36;12360:9;12334:36;:::i;:::-;12406:6;12401:2;12390:9;12386:18;12379:34;12432:2;12453:1;12485:2;12474:9;12470:18;12502:1;12497:158;;;;12669:1;12664:354;;;;12463:555;;12497:158;-1:-1:-1;;12545:24:31;;12525:18;;;12518:52;12623:14;;12616:22;12613:1;12609:30;12594:46;;12590:55;;;-1:-1:-1;12497:158:31;;12664:354;12695:6;12692:1;12685:17;12743:2;12740:1;12730:16;12768:1;12782:180;12796:6;12793:1;12790:13;12782:180;;;12889:14;;12865:17;;;12861:26;;12854:50;12932:16;;;;12811:10;;12782:180;;;12986:17;;12982:26;;;-1:-1:-1;;12463:555:31;-1:-1:-1;13035:3:31;;12081:963;-1:-1:-1;;;;;;;;12081:963:31:o;15163:127::-;15224:10;15219:3;15215:20;15212:1;15205:31;15255:4;15252:1;15245:15;15279:4;15276:1;15269:15;15295:135;15334:3;15355:17;;;15352:43;;15375:18;;:::i;:::-;-1:-1:-1;15422:1:31;15411:13;;15295:135::o;16548:419::-;-1:-1:-1;;;16815:3:31;16808:20;16871:6;16863;16859:1;16854:3;16850:11;16837:41;16790:3;16901:16;;16919:1;16897:24;16930:13;;;16897:24;16548:419;-1:-1:-1;16548:419:31:o;18186:125::-;18251:9;;;18272:10;;;18269:36;;;18285:18;;:::i;19482:128::-;19549:9;;;19570:11;;;19567:37;;;19584:18;;:::i;20017:545::-;20119:2;20114:3;20111:11;20108:448;;;20155:1;20180:5;20176:2;20169:17;20225:4;20221:2;20211:19;20295:2;20283:10;20279:19;20276:1;20272:27;20266:4;20262:38;20331:4;20319:10;20316:20;20313:47;;;-1:-1:-1;20354:4:31;20313:47;20409:2;20404:3;20400:12;20397:1;20393:20;20387:4;20383:31;20373:41;;20464:82;20482:2;20475:5;20472:13;20464:82;;;20527:17;;;20508:1;20497:13;20464:82;;;20468:3;;;20017:545;;;:::o;20738:1352::-;20864:3;20858:10;20891:18;20883:6;20880:30;20877:56;;;20913:18;;:::i;:::-;20942:97;21032:6;20992:38;21024:4;21018:11;20992:38;:::i;:::-;20986:4;20942:97;:::i;:::-;21094:4;;21158:2;21147:14;;21175:1;21170:663;;;;21877:1;21894:6;21891:89;;;-1:-1:-1;21946:19:31;;;21940:26;21891:89;-1:-1:-1;;20695:1:31;20691:11;;;20687:24;20683:29;20673:40;20719:1;20715:11;;;20670:57;21993:81;;21140:944;;21170:663;12028:1;12021:14;;;12065:4;12052:18;;-1:-1:-1;;21206:20:31;;;21324:236;21338:7;21335:1;21332:14;21324:236;;;21427:19;;;21421:26;21406:42;;21519:27;;;;21487:1;21475:14;;;;21354:19;;21324:236;;;21328:3;21588:6;21579:7;21576:19;21573:201;;;21649:19;;;21643:26;-1:-1:-1;;21732:1:31;21728:14;;;21744:3;21724:24;21720:37;21716:42;21701:58;21686:74;;21573:201;-1:-1:-1;;;;;21820:1:31;21804:14;;;21800:22;21787:36;;-1:-1:-1;20738:1352:31:o;22589:478::-;22821:3;22859:6;22853:13;22875:66;22934:6;22929:3;22922:4;22914:6;22910:17;22875:66;:::i;:::-;23002:28;22963:16;;22988:43;;;-1:-1:-1;23058:2:31;23047:14;;22589:478;-1:-1:-1;22589:478:31:o;23897:127::-;23958:10;23953:3;23949:20;23946:1;23939:31;23989:4;23986:1;23979:15;24013:4;24010:1;24003:15;24029:127;24090:10;24085:3;24081:20;24078:1;24071:31;24121:4;24118:1;24111:15;24145:4;24142:1;24135:15"},"methodIdentifiers":{"CHILD_CHAIN_ID()":"626381a0","CHILD_CHAIN_ID_BYTES()":"0b54817c","DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_ROLE()":"a3b0b5a3","ERC712_VERSION()":"0f7e5970","PERMIT_TYPEHASH()":"30adf81f","ROOT_CHAIN_ID()":"8acfcaf7","ROOT_CHAIN_ID_BYTES()":"0dd7531a","_mint(address,uint256)":"4e6ec247","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","changeName(string)":"5353a2d8","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","deposit(address,bytes)":"cf2c52cb","executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)":"0c53c51c","getChainId()":"3408e470","getDomainSeperator()":"20379ee5","getNonce(address)":"2d0335ab","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increaseAllowance(address,uint256)":"39509351","initialize(string,string,uint8,address)":"de7ea79d","move(address,address,uint256)":"bb35783b","name()":"06fdde03","permit(address,address,uint256,uint256,bool,uint8,bytes32,bytes32)":"8fcbaf0c","pull(address,uint256)":"f2d5d56b","push(address,uint256)":"b753a98c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(uint256)":"2e1a7d4d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"relayerAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"}],\"name\":\"MetaTransactionExecuted\",\"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\"},{\"inputs\":[],\"name\":\"CHILD_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CHILD_CHAIN_ID_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ERC712_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROOT_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROOT_CHAIN_ID_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"_mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"name\":\"changeName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"depositData\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"}],\"name\":\"executeMetaTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeperator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"childChainManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"pull\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"usr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"push\",\"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\":[],\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"_mint(address,uint256)\":{\"details\":\"Creates `amount` tokens and assigns them to `account`, increasing the total supply. Emits a {Transfer} event with `from` set to the zero address. Requirements - `to` cannot be the zero address. \"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"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 {_setupDecimals} is called. 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`.\"},\"deposit(address,bytes)\":{\"details\":\"Should be callable only by ChildChainManager Should handle deposit by minting the required amount for user Make sure minting is done only by this function\",\"params\":{\"depositData\":\"abi encoded amount\",\"user\":\"user address for whom deposit is being done\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296 for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"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.\"},\"initialize(string,string,uint8,address)\":{\"details\":\"meant to be called once immediately after deployment\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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 granted `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.\"},\"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: - `recipient` 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}; Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256)\":{\"details\":\"Should burn user's tokens. This transaction will be verified when exiting on root chain\",\"params\":{\"amount\":\"amount of tokens to withdraw\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit(address,bytes)\":{\"notice\":\"called when token is deposited on root chain\"},\"initialize(string,string,uint8,address)\":{\"notice\":\"Initialize the contract after it has been proxified\"},\"withdraw(uint256)\":{\"notice\":\"called when user wants to withdraw tokens back to root chain\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"NofTestDAIV3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":11180,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":11186,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":11188,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":11190,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":11192,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"},{"astId":11194,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_decimals","offset":0,"slot":"5","type":"t_uint8"},{"astId":12141,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_roles","offset":0,"slot":"6","type":"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)"},{"astId":12406,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_revertMsg","offset":0,"slot":"7","type":"t_string_storage"},{"astId":12452,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"inited","offset":0,"slot":"8","type":"t_bool"},{"astId":12489,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"domainSeperator","offset":0,"slot":"9","type":"t_bytes32"},{"astId":12608,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"nonces","offset":0,"slot":"10","type":"t_mapping(t_address,t_uint256)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"base":"t_bytes32","encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControl.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)12136_storage"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(AddressSet)11892_storage":{"encoding":"inplace","label":"struct EnumerableSet.AddressSet","members":[{"astId":11891,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)11706_storage"}],"numberOfBytes":"64"},"t_struct(RoleData)12136_storage":{"encoding":"inplace","label":"struct AccessControl.RoleData","members":[{"astId":12133,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"members","offset":0,"slot":"0","type":"t_struct(AddressSet)11892_storage"},{"astId":12135,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"adminRole","offset":0,"slot":"2","type":"t_bytes32"}],"numberOfBytes":"96"},"t_struct(Set)11706_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","members":[{"astId":11701,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":11705,"contract":"contracts/testDai/TestDAI.v3.sol:NofTestDAIV3","label":"_indexes","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}},"SafeMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220117a27774884c878dae9af47b8dfa8b593b9a0a7334ef6f519438b71bcab79e164736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GT PUSH27 0x27774884C878DAE9AF47B8DFA8B593B9A0A7334EF6F519438B71BC 0xAB PUSH26 0xE164736F6C634300081400330000000000000000000000000000 ","sourceMap":"4349:4578:29:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;4349:4578:29;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220117a27774884c878dae9af47b8dfa8b593b9a0a7334ef6f519438b71bcab79e164736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GT PUSH27 0x27774884C878DAE9AF47B8DFA8B593B9A0A7334EF6F519438B71BC 0xAB PUSH26 0xE164736F6C634300081400330000000000000000000000000000 ","sourceMap":"4349:4578:29:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"SafeMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"UChildERC20":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"userAddress","type":"address"},{"indexed":false,"internalType":"address payable","name":"relayerAddress","type":"address"},{"indexed":false,"internalType":"bytes","name":"functionSignature","type":"bytes"}],"name":"MetaTransactionExecuted","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"},{"inputs":[],"name":"CHILD_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CHILD_CHAIN_ID_BYTES","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSITOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ERC712_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_CHAIN_ID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ROOT_CHAIN_ID_BYTES","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name_","type":"string"}],"name":"changeName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes","name":"depositData","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"bytes","name":"functionSignature","type":"bytes"},{"internalType":"bytes32","name":"sigR","type":"bytes32"},{"internalType":"bytes32","name":"sigS","type":"bytes32"},{"internalType":"uint8","name":"sigV","type":"uint8"}],"name":"executeMetaTransaction","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeperator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"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":"uint256","name":"index","type":"uint256"}],"name":"getRoleMember","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleMemberCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address","name":"childChainManager","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_11215":{"entryPoint":null,"id":11215,"parameterSlots":2,"returnSlots":0},"@_12859":{"entryPoint":null,"id":12859,"parameterSlots":0,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":205,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":288,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":145,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":123,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:31"},"nodeType":"YulFunctionCall","src":"66:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:31"},"nodeType":"YulFunctionCall","src":"56:31:31"},"nodeType":"YulExpressionStatement","src":"56:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:31"},"nodeType":"YulFunctionCall","src":"96:15:31"},"nodeType":"YulExpressionStatement","src":"96:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:31"},"nodeType":"YulFunctionCall","src":"120:15:31"},"nodeType":"YulExpressionStatement","src":"120:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:31"},{"body":{"nodeType":"YulBlock","src":"201:325:31","statements":[{"nodeType":"YulAssignment","src":"211:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:31"},"nodeType":"YulFunctionCall","src":"221:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:31"},"nodeType":"YulFunctionCall","src":"268:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:31","statements":[{"nodeType":"YulAssignment","src":"321:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:31"},"nodeType":"YulFunctionCall","src":"331:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:31"},"nodeType":"YulFunctionCall","src":"292:26:31"},"nodeType":"YulIf","src":"289:61:31"},{"body":{"nodeType":"YulBlock","src":"409:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:31"},"nodeType":"YulFunctionCall","src":"433:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:31"},"nodeType":"YulFunctionCall","src":"423:31:31"},"nodeType":"YulExpressionStatement","src":"423:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:31"},"nodeType":"YulFunctionCall","src":"467:15:31"},"nodeType":"YulExpressionStatement","src":"467:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:31"},"nodeType":"YulFunctionCall","src":"495:15:31"},"nodeType":"YulExpressionStatement","src":"495:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:31"},"nodeType":"YulFunctionCall","src":"385:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:31"},"nodeType":"YulFunctionCall","src":"362:38:31"},"nodeType":"YulIf","src":"359:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:31","type":""}],"src":"146:380:31"},{"body":{"nodeType":"YulBlock","src":"587:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:31"},"nodeType":"YulFunctionCall","src":"597:14:31"},"nodeType":"YulExpressionStatement","src":"597:14:31"},{"nodeType":"YulAssignment","src":"620:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:31"},"nodeType":"YulFunctionCall","src":"628:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:31","type":""}],"src":"531:121:31"},{"body":{"nodeType":"YulBlock","src":"738:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:31"},"nodeType":"YulFunctionCall","src":"809:17:31"},"nodeType":"YulExpressionStatement","src":"809:17:31"},{"nodeType":"YulVariableDeclaration","src":"839:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:31"},"nodeType":"YulFunctionCall","src":"851:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:31"},"nodeType":"YulFunctionCall","src":"919:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:31"},"nodeType":"YulFunctionCall","src":"912:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:31","statements":[{"nodeType":"YulAssignment","src":"979:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:31"},"nodeType":"YulFunctionCall","src":"956:20:31"},"nodeType":"YulIf","src":"953:47:31"},{"nodeType":"YulVariableDeclaration","src":"1013:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:31"},"nodeType":"YulFunctionCall","src":"1040:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:31"},"nodeType":"YulFunctionCall","src":"1033:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:31"},"nodeType":"YulFunctionCall","src":"1023:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:31"},"nodeType":"YulFunctionCall","src":"1167:17:31"},"nodeType":"YulExpressionStatement","src":"1167:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:31"},"nodeType":"YulFunctionCall","src":"1112:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:31","statements":[{"nodeType":"YulAssignment","src":"1128:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:31"},"nodeType":"YulFunctionCall","src":"1137:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:31","statements":[]},"src":"1104:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:31"},"nodeType":"YulFunctionCall","src":"751:11:31"},"nodeType":"YulIf","src":"748:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:31","type":""}],"src":"657:545:31"},{"body":{"nodeType":"YulBlock","src":"1292:81:31","statements":[{"nodeType":"YulAssignment","src":"1302:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:31"},"nodeType":"YulFunctionCall","src":"1331:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:31"},"nodeType":"YulFunctionCall","src":"1344:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:31"},"nodeType":"YulFunctionCall","src":"1327:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:31"},"nodeType":"YulFunctionCall","src":"1323:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:31"},"nodeType":"YulFunctionCall","src":"1313:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:31"},"nodeType":"YulFunctionCall","src":"1355:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:31"},"nodeType":"YulFunctionCall","src":"1310:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:31","type":""}],"src":"1207:166:31"},{"body":{"nodeType":"YulBlock","src":"1474:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:31"},"nodeType":"YulFunctionCall","src":"1498:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:31"},"nodeType":"YulFunctionCall","src":"1553:18:31"},"nodeType":"YulExpressionStatement","src":"1553:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:31","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:31"},"nodeType":"YulFunctionCall","src":"1535:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:31"},"nodeType":"YulFunctionCall","src":"1531:18:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:31"},"nodeType":"YulFunctionCall","src":"1520:30:31"},"nodeType":"YulIf","src":"1517:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:31"},"nodeType":"YulFunctionCall","src":"1658:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:31"},"nodeType":"YulFunctionCall","src":"1632:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:31"},"nodeType":"YulFunctionCall","src":"1582:97:31"},"nodeType":"YulExpressionStatement","src":"1582:97:31"},{"nodeType":"YulVariableDeclaration","src":"1688:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:31","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:31"},"nodeType":"YulFunctionCall","src":"1858:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:31"},"nodeType":"YulFunctionCall","src":"1846:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:31"},"nodeType":"YulFunctionCall","src":"1893:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:31"},"nodeType":"YulFunctionCall","src":"2067:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:31"},"nodeType":"YulFunctionCall","src":"2061:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:31"},"nodeType":"YulFunctionCall","src":"2046:42:31"},"nodeType":"YulExpressionStatement","src":"2046:42:31"},{"nodeType":"YulAssignment","src":"2105:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:31"},"nodeType":"YulFunctionCall","src":"2115:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:31"}]},{"nodeType":"YulAssignment","src":"2146:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:31"},"nodeType":"YulFunctionCall","src":"2159:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:31"},"nodeType":"YulFunctionCall","src":"1972:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:31","statements":[{"nodeType":"YulAssignment","src":"1989:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:31"},"nodeType":"YulFunctionCall","src":"1994:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:31","statements":[]},"src":"1964:236:31"},{"body":{"nodeType":"YulBlock","src":"2248:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:31"},"nodeType":"YulFunctionCall","src":"2289:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:31"},"nodeType":"YulFunctionCall","src":"2283:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:31"},"nodeType":"YulFunctionCall","src":"2368:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:31"},"nodeType":"YulFunctionCall","src":"2364:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:31"},"nodeType":"YulFunctionCall","src":"2390:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:31"},"nodeType":"YulFunctionCall","src":"2360:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:31"},"nodeType":"YulFunctionCall","src":"2356:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:31"},"nodeType":"YulFunctionCall","src":"2341:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:31"},"nodeType":"YulFunctionCall","src":"2326:74:31"},"nodeType":"YulExpressionStatement","src":"2326:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:31"},"nodeType":"YulFunctionCall","src":"2216:19:31"},"nodeType":"YulIf","src":"2213:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:31"},"nodeType":"YulFunctionCall","src":"2444:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:31"},"nodeType":"YulFunctionCall","src":"2440:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:31"},"nodeType":"YulFunctionCall","src":"2427:36:31"},"nodeType":"YulExpressionStatement","src":"2427:36:31"}]},"nodeType":"YulCase","src":"1810:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:31","statements":[{"nodeType":"YulAssignment","src":"2571:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:31"},"nodeType":"YulFunctionCall","src":"2586:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:31"},"nodeType":"YulFunctionCall","src":"2580:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:31"},"nodeType":"YulIf","src":"2531:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:31"},"nodeType":"YulFunctionCall","src":"2646:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:31"},"nodeType":"YulFunctionCall","src":"2633:81:31"},"nodeType":"YulExpressionStatement","src":"2633:81:31"}]},"nodeType":"YulCase","src":"2482:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:31"},"nodeType":"YulFunctionCall","src":"1787:14:31"},"nodeType":"YulSwitch","src":"1780:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:31","type":""}],"src":"1378:1352:31"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040526008805460ff191690553480156200001b57600080fd5b5060408051808201825260038082526244414960e81b6020808401829052845180860190955282855284015290919062000056838262000120565b50600462000065828262000120565b50506005805460ff1916601217905550620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6123b780620001fc6000396000f3fe6080604052600436106101f95760003560e01c80634e6ec2471161010d578063a217fddf116100a0578063ca15c8731161006f578063ca15c873146105fa578063cf2c52cb1461061a578063d547741f1461063a578063dd62ed3e1461065a578063de7ea79d146106a057600080fd5b8063a217fddf14610571578063a3b0b5a314610586578063a457c2d7146105ba578063a9059cbb146105da57600080fd5b80638acfcaf7116100dc5780638acfcaf7146104ef5780639010d07c1461050457806391d148541461053c57806395d89b411461055c57600080fd5b80634e6ec247146104645780635353a2d814610484578063626381a0146104a457806370a08231146104b957600080fd5b806323b872dd116101905780632f2ff15d1161015f5780632f2ff15d146103cf578063313ce567146103ef5780633408e4701461041157806336568abe14610424578063395093511461044457600080fd5b806323b872dd14610327578063248a9ca3146103475780632d0335ab146103775780632e1a7d4d146103ad57600080fd5b80630dd7531a116101cc5780630dd7531a146102995780630f7e5970146102c657806318160ddd146102f357806320379ee51461031257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630b54817c146102595780630c53c51c14610286575b600080fd5b34801561020a57600080fd5b506102136106c0565b6040516102209190611b82565b60405180910390f35b34801561023557600080fd5b50610249610244366004611bb1565b610752565b6040519015158152602001610220565b34801561026557600080fd5b50610213604051806040016040528060018152602001608960f81b81525081565b610213610294366004611c02565b610770565b3480156102a557600080fd5b50610213604051806040016040528060018152602001600160f81b81525081565b3480156102d257600080fd5b50610213604051806040016040528060018152602001603160f81b81525081565b3480156102ff57600080fd5b506002545b604051908152602001610220565b34801561031e57600080fd5b50600954610304565b34801561033357600080fd5b50610249610342366004611ce8565b61095f565b34801561035357600080fd5b50610304610362366004611d24565b60009081526006602052604090206002015490565b34801561038357600080fd5b50610304610392366004611d3d565b6001600160a01b03166000908152600a602052604090205490565b3480156103b957600080fd5b506103cd6103c8366004611d24565b6109e6565b005b3480156103db57600080fd5b506103cd6103ea366004611d58565b6109fa565b3480156103fb57600080fd5b5060055460405160ff9091168152602001610220565b34801561041d57600080fd5b5046610304565b34801561043057600080fd5b506103cd61043f366004611d58565b610a8a565b34801561045057600080fd5b5061024961045f366004611bb1565b610b14565b34801561047057600080fd5b506103cd61047f366004611bb1565b610b62565b34801561049057600080fd5b506103cd61049f366004611dcd565b610c41565b3480156104b057600080fd5b50610304608981565b3480156104c557600080fd5b506103046104d4366004611d3d565b6001600160a01b031660009081526020819052604090205490565b3480156104fb57600080fd5b50610304600181565b34801561051057600080fd5b5061052461051f366004611e0f565b610d0c565b6040516001600160a01b039091168152602001610220565b34801561054857600080fd5b50610249610557366004611d58565b610d2b565b34801561056857600080fd5b50610213610d43565b34801561057d57600080fd5b50610304600081565b34801561059257600080fd5b506103047f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b3480156105c657600080fd5b506102496105d5366004611bb1565b610d52565b3480156105e657600080fd5b506102496105f5366004611bb1565b610dba565b34801561060657600080fd5b50610304610615366004611d24565b610dce565b34801561062657600080fd5b506103cd610635366004611e31565b610de5565b34801561064657600080fd5b506103cd610655366004611d58565b610e54565b34801561066657600080fd5b50610304610675366004611e84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106ac57600080fd5b506103cd6106bb366004611eae565b610ed7565b6060600380546106cf90611f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546106fb90611f3e565b80156107485780601f1061071d57610100808354040283529160200191610748565b820191906000526020600020905b81548152906001019060200180831161072b57829003601f168201915b5050505050905090565b600061076661075f61107b565b848461108a565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526107ae87828787876111af565b6108095760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a602052604090205461082d90600161129f565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061087d90899033908a90611f78565b60405180910390a1600080306001600160a01b0316888a6040516020016108a5929190611fa4565b60408051601f19818403018152908290526108bf91611fdb565b6000604051808303816000865af19150503d80600081146108fc576040519150601f19603f3d011682016040523d82523d6000602084013e610901565b606091505b5091509150816109535760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610800565b98975050505050505050565b600061096c8484846112fe565b6109dc8461097861107b565b6109d785604051806060016040528060288152602001612335602891396001600160a01b038a166000908152600160205260408120906109b661107b565b6001600160a01b031681526020810191909152604001600020549190611481565b61108a565b5060019392505050565b6109f76109f161107b565b826114bb565b50565b600082815260066020526040902060020154610a189061055761107b565b610a7c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b6064820152608401610800565b610a8682826115bf565b5050565b610a9261107b565b6001600160a01b0316816001600160a01b031614610b0a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610800565b610a868282611628565b6000610766610b2161107b565b846109d78560016000610b3261107b565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061129f565b6001600160a01b038216610bb85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610800565b600254610bc5908261129f565b6002556001600160a01b038216600090815260208190526040902054610beb908261129f565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610c4f8161055761107b565b600790610c6f5760405162461bcd60e51b81526004016108009190611ff7565b50610caf83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610d0783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b6020820152915061169d9050565b505050565b6000828152600660205260408120610d249083611724565b9392505050565b6000828152600660205260408120610d249083611730565b6060600480546106cf90611f3e565b6000610766610d5f61107b565b846109d78560405180606001604052806025815260200161235d6025913960016000610d8961107b565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611481565b6000610766610dc761107b565b84846112fe565b600081815260066020526040812061076a90611752565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9610e128161055761107b565b600790610e325760405162461bcd60e51b81526004016108009190611ff7565b506000610e4183850185611d24565b9050610e4d8582610b62565b5050505050565b600082815260066020526040902060020154610e729061055761107b565b610b0a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b6064820152608401610800565b60085460ff1615610f1b5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b610f5a86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610f9984848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061175c92505050565b6005805460ff191660ff8416179055610fd28484604051602001610fbe929190612082565b604051602081830303815290604052611768565b610fe46000610fdf61107b565b610a7c565b61100e7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610a7c565b61106686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b602082015291506117969050565b50506008805460ff1916600117905550505050565b60006110856117f5565b905090565b6001600160a01b0383166110ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610800565b6001600160a01b03821661114d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610800565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166112155760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610800565b600161122861122387611851565b6118ce565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa158015611276573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806112ac83856120b9565b905083811015610d245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610800565b6001600160a01b0383166113625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610800565b6001600160a01b0382166113c45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610800565b6114018160405180606001604052806026815260200161230f602691396001600160a01b0386166000908152602081905260409020549190611481565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611430908261129f565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016111a2565b600081848411156114a55760405162461bcd60e51b81526004016108009190611b82565b5060006114b284866120cc565b95945050505050565b6001600160a01b03821661151b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610800565b6115588160405180606001604052806022815260200161225b602291396001600160a01b0385166000908152602081905260409020549190611481565b6001600160a01b03831660009081526020819052604090205560025461157e90826118fe565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610c35565b60008281526006602052604090206115d79082611940565b15610a86576115e461107b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206116409082611955565b15610a865761164d61107b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610a86828261212d565b6040518060800160405280604f81526020016122c0604f91398051906020012082805190602001208280519060200120306116d54690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b6000610d24838361196a565b6001600160a01b03811660009081526001830160205260408120541515610d24565b600061076a825490565b6004610a86828261212d565b8060405160200161177991906121ed565b60405160208183030381529060405260079081610a86919061212d565b60085460ff16156117da5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b6117e4828261169d565b50506008805460ff19166001179055565b600030330361184b57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061184e9050565b50335b90565b600060405180608001604052806043815260200161227d60439139805160209182012083518483015160408087015180519086012090516118b1950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006118d960095490565b60405161190160f01b60208201526022810191909152604281018390526062016118b1565b6000610d2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611481565b6000610d24836001600160a01b0384166119f0565b6000610d24836001600160a01b038416611a3f565b815460009082106119c85760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610800565b8260000182815481106119dd576119dd61222e565b9060005260206000200154905092915050565b6000818152600183016020526040812054611a375750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561076a565b50600061076a565b60008181526001830160205260408120548015611b28576000611a636001836120cc565b8554909150600090611a77906001906120cc565b90506000866000018281548110611a9057611a9061222e565b9060005260206000200154905080876000018481548110611ab357611ab361222e565b600091825260209091200155611aca8360016120b9565b60008281526001890160205260409020558654879080611aec57611aec612244565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061076a565b600091505061076a565b60005b83811015611b4d578181015183820152602001611b35565b50506000910152565b60008151808452611b6e816020860160208601611b32565b601f01601f19169290920160200192915050565b602081526000610d246020830184611b56565b80356001600160a01b0381168114611bac57600080fd5b919050565b60008060408385031215611bc457600080fd5b611bcd83611b95565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611bac57600080fd5b600080600080600060a08688031215611c1a57600080fd5b611c2386611b95565b9450602086013567ffffffffffffffff80821115611c4057600080fd5b818801915088601f830112611c5457600080fd5b813581811115611c6657611c66611bdb565b604051601f8201601f19908116603f01168101908382118183101715611c8e57611c8e611bdb565b816040528281528b6020848701011115611ca757600080fd5b8260208601602083013760006020848301015280985050505050506040860135925060608601359150611cdc60808701611bf1565b90509295509295909350565b600080600060608486031215611cfd57600080fd5b611d0684611b95565b9250611d1460208501611b95565b9150604084013590509250925092565b600060208284031215611d3657600080fd5b5035919050565b600060208284031215611d4f57600080fd5b610d2482611b95565b60008060408385031215611d6b57600080fd5b82359150611d7b60208401611b95565b90509250929050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b60008060208385031215611de057600080fd5b823567ffffffffffffffff811115611df757600080fd5b611e0385828601611d84565b90969095509350505050565b60008060408385031215611e2257600080fd5b50508035926020909101359150565b600080600060408486031215611e4657600080fd5b611e4f84611b95565b9250602084013567ffffffffffffffff811115611e6b57600080fd5b611e7786828701611d84565b9497909650939450505050565b60008060408385031215611e9757600080fd5b611ea083611b95565b9150611d7b60208401611b95565b60008060008060008060808789031215611ec757600080fd5b863567ffffffffffffffff80821115611edf57600080fd5b611eeb8a838b01611d84565b90985096506020890135915080821115611f0457600080fd5b50611f1189828a01611d84565b9095509350611f24905060408801611bf1565b9150611f3260608801611b95565b90509295509295509295565b600181811c90821680611f5257607f821691505b602082108103611f7257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038481168252831660208201526060604082018190526000906114b290830184611b56565b60008351611fb6818460208801611b32565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b60008251611fed818460208701611b32565b9190910192915050565b600060208083526000845461200b81611f3e565b8084870152604060018084166000811461202c576001811461204657612074565b60ff1985168984015283151560051b890183019550612074565b896000528660002060005b8581101561206c5781548b8201860152908301908801612051565b8a0184019650505b509398975050505050505050565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076a5761076a6120a3565b8181038181111561076a5761076a6120a3565b601f821115610d0757600081815260208120601f850160051c810160208610156121065750805b601f850160051c820191505b8181101561212557828155600101612112565b505050505050565b815167ffffffffffffffff81111561214757612147611bdb565b61215b816121558454611f3e565b846120df565b602080601f83116001811461219057600084156121785750858301515b600019600386901b1c1916600185901b178555612125565b600085815260208120601f198616915b828110156121bf578886015182559484019460019091019084016121a0565b50858210156121dd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516121ff818460208701611b32565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d0e474e7c0e5222b46307228c2ac6d269f0bbebdf353fd3f0134020073f9577f64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x3 DUP1 DUP3 MSTORE PUSH3 0x444149 PUSH1 0xE8 SHL PUSH1 0x20 DUP1 DUP5 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD DUP1 DUP7 ADD SWAP1 SWAP6 MSTORE DUP3 DUP6 MSTORE DUP5 ADD MSTORE SWAP1 SWAP2 SWAP1 PUSH3 0x56 DUP4 DUP3 PUSH3 0x120 JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x65 DUP3 DUP3 PUSH3 0x120 JUMP JUMPDEST POP POP PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x12 OR SWAP1 SSTORE POP PUSH3 0x1EC JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0xA6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0xC7 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x11B JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0xF6 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x117 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x102 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x13C JUMPI PUSH3 0x13C PUSH3 0x7B JUMP JUMPDEST PUSH3 0x154 DUP2 PUSH3 0x14D DUP5 SLOAD PUSH3 0x91 JUMP JUMPDEST DUP5 PUSH3 0xCD JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x18C JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x173 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x117 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x1BD JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x19C JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x1DC JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x23B7 DUP1 PUSH3 0x1FC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1F9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E6EC247 GT PUSH2 0x10D JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xCA15C873 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x5FA JUMPI DUP1 PUSH4 0xCF2C52CB EQ PUSH2 0x61A JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x63A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x65A JUMPI DUP1 PUSH4 0xDE7EA79D EQ PUSH2 0x6A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x571 JUMPI DUP1 PUSH4 0xA3B0B5A3 EQ PUSH2 0x586 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x5BA JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x5DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8ACFCAF7 GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x8ACFCAF7 EQ PUSH2 0x4EF JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x504 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x53C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x55C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4E6EC247 EQ PUSH2 0x464 JUMPI DUP1 PUSH4 0x5353A2D8 EQ PUSH2 0x484 JUMPI DUP1 PUSH4 0x626381A0 EQ PUSH2 0x4A4 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0x190 JUMPI DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x15F JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x3CF JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x3EF JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH2 0x411 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x424 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x444 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x347 JUMPI DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x377 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDD7531A GT PUSH2 0x1CC JUMPI DUP1 PUSH4 0xDD7531A EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0xF7E5970 EQ PUSH2 0x2C6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0x20379EE5 EQ PUSH2 0x312 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0xB54817C EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0xC53C51C EQ PUSH2 0x286 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH2 0x6C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x220 SWAP2 SWAP1 PUSH2 0x1B82 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0x752 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x89 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x213 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C02 JUMP JUMPDEST PUSH2 0x770 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x31 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x31E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x9 SLOAD PUSH2 0x304 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x342 CALLDATASIZE PUSH1 0x4 PUSH2 0x1CE8 JUMP JUMPDEST PUSH2 0x95F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x362 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D24 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x392 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D24 JUMP JUMPDEST PUSH2 0x9E6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x3EA CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0x9FA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x41D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CHAINID PUSH2 0x304 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x430 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x43F CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0xA8A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x450 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x45F CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xB14 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x470 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x47F CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xB62 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x490 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x49F CALLDATASIZE PUSH1 0x4 PUSH2 0x1DCD JUMP JUMPDEST PUSH2 0xC41 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH1 0x89 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH1 0x1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x524 PUSH2 0x51F CALLDATASIZE PUSH1 0x4 PUSH2 0x1E0F JUMP JUMPDEST PUSH2 0xD0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x548 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x557 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0xD2B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH2 0xD43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x5D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xD52 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x5F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xDBA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x615 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D24 JUMP JUMPDEST PUSH2 0xDCE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x626 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x635 CALLDATASIZE PUSH1 0x4 PUSH2 0x1E31 JUMP JUMPDEST PUSH2 0xDE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x646 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x655 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0xE54 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x666 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x675 CALLDATASIZE PUSH1 0x4 PUSH2 0x1E84 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x6BB CALLDATASIZE PUSH1 0x4 PUSH2 0x1EAE JUMP JUMPDEST PUSH2 0xED7 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x6CF SWAP1 PUSH2 0x1F3E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6FB SWAP1 PUSH2 0x1F3E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x748 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x71D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x748 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x72B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0x75F PUSH2 0x107B JUMP JUMPDEST DUP5 DUP5 PUSH2 0x108A JUMP JUMPDEST POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 DUP2 ADD DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE SWAP1 DUP6 SWAP1 KECCAK256 SLOAD DUP5 MSTORE DUP4 ADD MSTORE SWAP2 DUP2 ADD DUP7 SWAP1 MSTORE PUSH2 0x7AE DUP8 DUP3 DUP8 DUP8 DUP8 PUSH2 0x11AF JUMP JUMPDEST PUSH2 0x809 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5369676E657220616E64207369676E617475726520646F206E6F74206D617463 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0xFB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x82D SWAP1 PUSH1 0x1 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH32 0x5845892132946850460BFF5A0083F71031BC5BF9AADCD40F1DE79423EAC9B10B SWAP1 PUSH2 0x87D SWAP1 DUP10 SWAP1 CALLER SWAP1 DUP11 SWAP1 PUSH2 0x1F78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP11 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8A5 SWAP3 SWAP2 SWAP1 PUSH2 0x1FA4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x8BF SWAP2 PUSH2 0x1FDB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x8FC JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x901 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x953 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756E6374696F6E2063616C6C206E6F74207375636365737366756C00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x96C DUP5 DUP5 DUP5 PUSH2 0x12FE JUMP JUMPDEST PUSH2 0x9DC DUP5 PUSH2 0x978 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x9D7 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2335 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0x9B6 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH2 0x108A JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x9F7 PUSH2 0x9F1 PUSH2 0x107B JUMP JUMPDEST DUP3 PUSH2 0x14BB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0xA18 SWAP1 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xA7C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0xA86 DUP3 DUP3 PUSH2 0x15BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xA92 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0xA86 DUP3 DUP3 PUSH2 0x1628 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0xB21 PUSH2 0x107B JUMP JUMPDEST DUP5 PUSH2 0x9D7 DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0xB32 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP13 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xBB8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0xBC5 SWAP1 DUP3 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xBEB SWAP1 DUP3 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE SWAP3 MLOAD DUP5 DUP2 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC4F DUP2 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0xC6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x800 SWAP2 SWAP1 PUSH2 0x1FF7 JUMP JUMPDEST POP PUSH2 0xCAF DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1691 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD07 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x169D SWAP1 POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xD24 SWAP1 DUP4 PUSH2 0x1724 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xD24 SWAP1 DUP4 PUSH2 0x1730 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x6CF SWAP1 PUSH2 0x1F3E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0xD5F PUSH2 0x107B JUMP JUMPDEST DUP5 PUSH2 0x9D7 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x235D PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0xD89 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP14 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0xDC7 PUSH2 0x107B JUMP JUMPDEST DUP5 DUP5 PUSH2 0x12FE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x76A SWAP1 PUSH2 0x1752 JUMP JUMPDEST PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 PUSH2 0xE12 DUP2 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0xE32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x800 SWAP2 SWAP1 PUSH2 0x1FF7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0xE41 DUP4 DUP6 ADD DUP6 PUSH2 0x1D24 JUMP JUMPDEST SWAP1 POP PUSH2 0xE4D DUP6 DUP3 PUSH2 0xB62 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0xE72 SWAP1 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x2061646D696E20746F207265766F6B65 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xF1B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0xF5A DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1691 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xF99 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x175C SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP5 AND OR SWAP1 SSTORE PUSH2 0xFD2 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xFBE SWAP3 SWAP2 SWAP1 PUSH2 0x2082 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1768 JUMP JUMPDEST PUSH2 0xFE4 PUSH1 0x0 PUSH2 0xFDF PUSH2 0x107B JUMP JUMPDEST PUSH2 0xA7C JUMP JUMPDEST PUSH2 0x100E PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP3 PUSH2 0xA7C JUMP JUMPDEST PUSH2 0x1066 DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x1796 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1085 PUSH2 0x17F5 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x10EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x114D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x1215 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E61746976654D6574615472616E73616374696F6E3A20494E56414C49445F53 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x24A3A722A9 PUSH1 0xD9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1228 PUSH2 0x1223 DUP8 PUSH2 0x1851 JUMP JUMPDEST PUSH2 0x18CE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 DUP4 MSTORE SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF DUP6 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1276 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12AC DUP4 DUP6 PUSH2 0x20B9 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0xD24 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1362 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x13C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0x1401 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x230F PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x1430 SWAP1 DUP3 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE MLOAD DUP5 DUP2 MSTORE SWAP1 SWAP3 SWAP2 DUP7 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x11A2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP5 GT ISZERO PUSH2 0x14A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x800 SWAP2 SWAP1 PUSH2 0x1B82 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x14B2 DUP5 DUP7 PUSH2 0x20CC JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x151B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0x1558 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x225B PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH1 0x2 SLOAD PUSH2 0x157E SWAP1 DUP3 PUSH2 0x18FE JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xC35 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x15D7 SWAP1 DUP3 PUSH2 0x1940 JUMP JUMPDEST ISZERO PUSH2 0xA86 JUMPI PUSH2 0x15E4 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x1640 SWAP1 DUP3 PUSH2 0x1955 JUMP JUMPDEST ISZERO PUSH2 0xA86 JUMPI PUSH2 0x164D PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH2 0xA86 DUP3 DUP3 PUSH2 0x212D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x22C0 PUSH1 0x4F SWAP2 CODECOPY DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 ADDRESS PUSH2 0x16D5 CHAINID SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x60 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0x9 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 DUP4 PUSH2 0x196A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76A DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH2 0xA86 DUP3 DUP3 PUSH2 0x212D JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1779 SWAP2 SWAP1 PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x7 SWAP1 DUP2 PUSH2 0xA86 SWAP2 SWAP1 PUSH2 0x212D JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x17DA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0x17E4 DUP3 DUP3 PUSH2 0x169D JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH2 0x184B JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0x184E SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x43 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x227D PUSH1 0x43 SWAP2 CODECOPY DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 DUP4 MLOAD DUP5 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD DUP1 MLOAD SWAP1 DUP7 ADD KECCAK256 SWAP1 MLOAD PUSH2 0x18B1 SWAP6 ADD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18D9 PUSH1 0x9 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x42 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x62 ADD PUSH2 0x18B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x19F0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1A3F JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x19C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E756D657261626C655365743A20696E646578206F7574206F6620626F756E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6473 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x19DD JUMPI PUSH2 0x19DD PUSH2 0x222E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1A37 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x76A JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x76A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1B28 JUMPI PUSH1 0x0 PUSH2 0x1A63 PUSH1 0x1 DUP4 PUSH2 0x20CC JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1A77 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x20CC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1A90 JUMPI PUSH2 0x1A90 PUSH2 0x222E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1AB3 JUMPI PUSH2 0x1AB3 PUSH2 0x222E JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x1ACA DUP4 PUSH1 0x1 PUSH2 0x20B9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1AEC JUMPI PUSH2 0x1AEC PUSH2 0x2244 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x76A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x76A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B4D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1B35 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1B6E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1B32 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xD24 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1B56 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1BAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BCD DUP4 PUSH2 0x1B95 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1BAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1C1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C23 DUP7 PUSH2 0x1B95 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1C40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C54 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1C66 JUMPI PUSH2 0x1C66 PUSH2 0x1BDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1C8E JUMPI PUSH2 0x1C8E PUSH2 0x1BDB JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP12 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x1CA7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP9 POP POP POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH2 0x1CDC PUSH1 0x80 DUP8 ADD PUSH2 0x1BF1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1CFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D06 DUP5 PUSH2 0x1B95 JUMP JUMPDEST SWAP3 POP PUSH2 0x1D14 PUSH1 0x20 DUP6 ADD PUSH2 0x1B95 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD24 DUP3 PUSH2 0x1B95 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1D7B PUSH1 0x20 DUP5 ADD PUSH2 0x1B95 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1D96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1DC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1DE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E03 DUP6 DUP3 DUP7 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1E46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E4F DUP5 PUSH2 0x1B95 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E77 DUP7 DUP3 DUP8 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1EA0 DUP4 PUSH2 0x1B95 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D7B PUSH1 0x20 DUP5 ADD PUSH2 0x1B95 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1EC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1EDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1EEB DUP11 DUP4 DUP12 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1F04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F11 DUP10 DUP3 DUP11 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP1 SWAP6 POP SWAP4 POP PUSH2 0x1F24 SWAP1 POP PUSH1 0x40 DUP9 ADD PUSH2 0x1BF1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F32 PUSH1 0x60 DUP9 ADD PUSH2 0x1B95 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1F52 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1F72 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x14B2 SWAP1 DUP4 ADD DUP5 PUSH2 0x1B56 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1FB6 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1B32 JUMP JUMPDEST PUSH1 0x60 SWAP4 SWAP1 SWAP4 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x1FED DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1B32 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH1 0x0 DUP5 SLOAD PUSH2 0x200B DUP2 PUSH2 0x1F3E JUMP JUMPDEST DUP1 DUP5 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x1 DUP1 DUP5 AND PUSH1 0x0 DUP2 EQ PUSH2 0x202C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2046 JUMPI PUSH2 0x2074 JUMP JUMPDEST PUSH1 0xFF NOT DUP6 AND DUP10 DUP5 ADD MSTORE DUP4 ISZERO ISZERO PUSH1 0x5 SHL DUP10 ADD DUP4 ADD SWAP6 POP PUSH2 0x2074 JUMP JUMPDEST DUP10 PUSH1 0x0 MSTORE DUP7 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x206C JUMPI DUP2 SLOAD DUP12 DUP3 ADD DUP7 ADD MSTORE SWAP1 DUP4 ADD SWAP1 DUP9 ADD PUSH2 0x2051 JUMP JUMPDEST DUP11 ADD DUP5 ADD SWAP7 POP POP JUMPDEST POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH5 0x10DA1A5B19 PUSH1 0xDA SHL DUP2 MSTORE DUP2 DUP4 PUSH1 0x5 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 ADD PUSH1 0x5 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x76A JUMPI PUSH2 0x76A PUSH2 0x20A3 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x76A JUMPI PUSH2 0x76A PUSH2 0x20A3 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD07 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2106 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2125 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2112 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2147 JUMPI PUSH2 0x2147 PUSH2 0x1BDB JUMP JUMPDEST PUSH2 0x215B DUP2 PUSH2 0x2155 DUP5 SLOAD PUSH2 0x1F3E JUMP JUMPDEST DUP5 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2190 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2178 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2125 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x21BF JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x21A0 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x21DD JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x21FF DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1B32 JUMP JUMPDEST PUSH32 0x3A20494E53554646494349454E545F5045524D495353494F4E53000000000000 SWAP3 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x1A ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654D657461 SLOAD PUSH19 0x616E73616374696F6E2875696E74323536206E PUSH16 0x6E63652C616464726573732066726F6D 0x2C PUSH3 0x797465 PUSH20 0x2066756E6374696F6E5369676E61747572652945 0x49 POP CALLDATACOPY BALANCE ORIGIN PREVRANDAO PUSH16 0x6D61696E28737472696E67206E616D65 0x2C PUSH20 0x7472696E672076657273696F6E2C616464726573 PUSH20 0x20766572696679696E67436F6E74726163742C62 PUSH26 0x74657333322073616C742945524332303A207472616E73666572 KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E636545524332 ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220616D6F756E7420657863656564 PUSH20 0x20616C6C6F77616E636545524332303A20646563 PUSH19 0x656173656420616C6C6F77616E63652062656C PUSH16 0x77207A65726FA2646970667358221220 0xD0 0xE4 PUSH21 0xE7C0E5222B46307228C2AC6D269F0BBEBDF353FD3F ADD CALLVALUE MUL STOP PUSH20 0xF9577F64736F6C63430008140033000000000000 ","sourceMap":"48416:2287:29:-:0;;;41986:19;;;-1:-1:-1;;41986:19:29;;;48637:36;;;;;;;;;-1:-1:-1;16994:142:29;;;;;;;;;;;;-1:-1:-1;;;16994:142:29;;;;;;;;;;;;;;;;;;;;;;;;17063:14;16994:142;;17063:14;:::i;:::-;-1:-1:-1;17087:7:29;:18;17097:8;17087:7;:18;:::i;:::-;-1:-1:-1;;17115:9:29;:14;;-1:-1:-1;;17115:14:29;17127:2;17115:14;;;-1:-1:-1;48416:2287:29;;14:127:31;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:31;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:31;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:31;;;2580:26;2531:89;-1:-1:-1;;1335:1:31;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:31;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:31;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:31;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:31:o;:::-;48416:2287:29;;;;;;"},"deployedBytecode":{"functionDebugData":{"@CHILD_CHAIN_ID_12789":{"entryPoint":null,"id":12789,"parameterSlots":0,"returnSlots":0},"@CHILD_CHAIN_ID_BYTES_12792":{"entryPoint":null,"id":12792,"parameterSlots":0,"returnSlots":0},"@DEFAULT_ADMIN_ROLE_12144":{"entryPoint":null,"id":12144,"parameterSlots":0,"returnSlots":0},"@DEPOSITOR_ROLE_12851":{"entryPoint":null,"id":12851,"parameterSlots":0,"returnSlots":0},"@ERC712_VERSION_12780":{"entryPoint":null,"id":12780,"parameterSlots":0,"returnSlots":0},"@ROOT_CHAIN_ID_12783":{"entryPoint":null,"id":12783,"parameterSlots":0,"returnSlots":0},"@ROOT_CHAIN_ID_BYTES_12786":{"entryPoint":null,"id":12786,"parameterSlots":0,"returnSlots":0},"@_add_11748":{"entryPoint":6640,"id":11748,"parameterSlots":2,"returnSlots":1},"@_approve_11673":{"entryPoint":4234,"id":11673,"parameterSlots":3,"returnSlots":0},"@_at_11888":{"entryPoint":6506,"id":11888,"parameterSlots":2,"returnSlots":1},"@_beforeTokenTransfer_11695":{"entryPoint":null,"id":11695,"parameterSlots":3,"returnSlots":0},"@_burn_11628":{"entryPoint":5307,"id":11628,"parameterSlots":2,"returnSlots":0},"@_contains_11848":{"entryPoint":null,"id":11848,"parameterSlots":2,"returnSlots":1},"@_grantRole_12376":{"entryPoint":5567,"id":12376,"parameterSlots":2,"returnSlots":0},"@_initializeEIP712_12504":{"entryPoint":6038,"id":12504,"parameterSlots":2,"returnSlots":0},"@_length_11862":{"entryPoint":null,"id":11862,"parameterSlots":1,"returnSlots":1},"@_mint_11572":{"entryPoint":2914,"id":11572,"parameterSlots":2,"returnSlots":0},"@_msgSender_12924":{"entryPoint":4219,"id":12924,"parameterSlots":0,"returnSlots":1},"@_remove_11829":{"entryPoint":6719,"id":11829,"parameterSlots":2,"returnSlots":1},"@_revokeRole_12400":{"entryPoint":5672,"id":12400,"parameterSlots":2,"returnSlots":0},"@_setDomainSeperator_12542":{"entryPoint":5789,"id":12542,"parameterSlots":2,"returnSlots":0},"@_setupContractId_12423":{"entryPoint":5992,"id":12423,"parameterSlots":1,"returnSlots":0},"@_setupRole_12327":{"entryPoint":null,"id":12327,"parameterSlots":2,"returnSlots":0},"@_transfer_11517":{"entryPoint":4862,"id":11517,"parameterSlots":3,"returnSlots":0},"@add_10794":{"entryPoint":4767,"id":10794,"parameterSlots":2,"returnSlots":1},"@add_11919":{"entryPoint":6464,"id":11919,"parameterSlots":2,"returnSlots":1},"@allowance_11335":{"entryPoint":null,"id":11335,"parameterSlots":2,"returnSlots":1},"@approve_11356":{"entryPoint":1874,"id":11356,"parameterSlots":2,"returnSlots":1},"@at_12015":{"entryPoint":5924,"id":12015,"parameterSlots":2,"returnSlots":1},"@balanceOf_11296":{"entryPoint":null,"id":11296,"parameterSlots":1,"returnSlots":1},"@changeName_12942":{"entryPoint":3137,"id":12942,"parameterSlots":2,"returnSlots":0},"@contains_11973":{"entryPoint":5936,"id":11973,"parameterSlots":2,"returnSlots":1},"@decimals_11262":{"entryPoint":null,"id":11262,"parameterSlots":0,"returnSlots":1},"@decreaseAllowance_11451":{"entryPoint":3410,"id":11451,"parameterSlots":2,"returnSlots":1},"@deposit_12970":{"entryPoint":3557,"id":12970,"parameterSlots":3,"returnSlots":0},"@executeMetaTransaction_12697":{"entryPoint":1904,"id":12697,"parameterSlots":5,"returnSlots":1},"@getChainId_12562":{"entryPoint":null,"id":12562,"parameterSlots":0,"returnSlots":1},"@getDomainSeperator_12550":{"entryPoint":null,"id":12550,"parameterSlots":0,"returnSlots":1},"@getNonce_12735":{"entryPoint":null,"id":12735,"parameterSlots":1,"returnSlots":1},"@getRoleAdmin_12239":{"entryPoint":null,"id":12239,"parameterSlots":1,"returnSlots":1},"@getRoleMemberCount_12206":{"entryPoint":3534,"id":12206,"parameterSlots":1,"returnSlots":1},"@getRoleMember_12225":{"entryPoint":3340,"id":12225,"parameterSlots":2,"returnSlots":1},"@grantRole_12265":{"entryPoint":2554,"id":12265,"parameterSlots":2,"returnSlots":0},"@hasRole_12190":{"entryPoint":3371,"id":12190,"parameterSlots":2,"returnSlots":1},"@hashMetaTransaction_12721":{"entryPoint":6225,"id":12721,"parameterSlots":1,"returnSlots":1},"@increaseAllowance_11422":{"entryPoint":2836,"id":11422,"parameterSlots":2,"returnSlots":1},"@initialize_12913":{"entryPoint":3799,"id":12913,"parameterSlots":6,"returnSlots":0},"@length_11988":{"entryPoint":5970,"id":11988,"parameterSlots":1,"returnSlots":1},"@msgSender_12832":{"entryPoint":6133,"id":12832,"parameterSlots":0,"returnSlots":1},"@name_11224":{"entryPoint":1728,"id":11224,"parameterSlots":0,"returnSlots":1},"@remove_11946":{"entryPoint":6485,"id":11946,"parameterSlots":2,"returnSlots":1},"@renounceRole_12313":{"entryPoint":2698,"id":12313,"parameterSlots":2,"returnSlots":0},"@revokeRole_12291":{"entryPoint":3668,"id":12291,"parameterSlots":2,"returnSlots":0},"@setDecimals_11272":{"entryPoint":null,"id":11272,"parameterSlots":1,"returnSlots":0},"@setName_11234":{"entryPoint":5777,"id":11234,"parameterSlots":1,"returnSlots":0},"@setSymbol_11253":{"entryPoint":5980,"id":11253,"parameterSlots":1,"returnSlots":0},"@sub_10811":{"entryPoint":6398,"id":10811,"parameterSlots":2,"returnSlots":1},"@sub_10839":{"entryPoint":5249,"id":10839,"parameterSlots":3,"returnSlots":1},"@symbol_11243":{"entryPoint":3395,"id":11243,"parameterSlots":0,"returnSlots":1},"@toTypedMessageHash_12581":{"entryPoint":6350,"id":12581,"parameterSlots":1,"returnSlots":1},"@totalSupply_11282":{"entryPoint":null,"id":11282,"parameterSlots":0,"returnSlots":1},"@transferFrom_11394":{"entryPoint":2399,"id":11394,"parameterSlots":3,"returnSlots":1},"@transfer_11317":{"entryPoint":3514,"id":11317,"parameterSlots":2,"returnSlots":1},"@verify_12775":{"entryPoint":4527,"id":12775,"parameterSlots":5,"returnSlots":1},"@withdraw_12983":{"entryPoint":2534,"id":12983,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":7061,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":7556,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":7485,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":7812,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":7400,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes_calldata_ptr":{"entryPoint":7729,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8":{"entryPoint":7170,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":7089,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32":{"entryPoint":7460,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_address":{"entryPoint":7512,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":7695,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptr":{"entryPoint":7629,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_address":{"entryPoint":7854,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_uint256":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_uint8":{"entryPoint":7153,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_string":{"entryPoint":6998,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8155,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed":{"entryPoint":8100,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8685,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":8322,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":8056,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7042,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_storage__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8183,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":8377,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":8396,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":8415,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":8493,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":6962,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":7998,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":8355,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x31":{"entryPoint":8772,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":8750,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":7131,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:21578:31","statements":[{"nodeType":"YulBlock","src":"6:3:31","statements":[]},{"body":{"nodeType":"YulBlock","src":"80:184:31","statements":[{"nodeType":"YulVariableDeclaration","src":"90:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"99:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"94:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"159:63:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"184:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"189:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"180:3:31"},"nodeType":"YulFunctionCall","src":"180:11:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"203:3:31"},{"name":"i","nodeType":"YulIdentifier","src":"208:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"199:3:31"},"nodeType":"YulFunctionCall","src":"199:11:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"193:5:31"},"nodeType":"YulFunctionCall","src":"193:18:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"173:6:31"},"nodeType":"YulFunctionCall","src":"173:39:31"},"nodeType":"YulExpressionStatement","src":"173:39:31"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"120:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"123:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"117:2:31"},"nodeType":"YulFunctionCall","src":"117:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"131:19:31","statements":[{"nodeType":"YulAssignment","src":"133:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"142:1:31"},{"kind":"number","nodeType":"YulLiteral","src":"145:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"138:3:31"},"nodeType":"YulFunctionCall","src":"138:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"133:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"113:3:31","statements":[]},"src":"109:113:31"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"242:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"247:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"238:3:31"},"nodeType":"YulFunctionCall","src":"238:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"256:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"231:6:31"},"nodeType":"YulFunctionCall","src":"231:27:31"},"nodeType":"YulExpressionStatement","src":"231:27:31"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"58:3:31","type":""},{"name":"dst","nodeType":"YulTypedName","src":"63:3:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:31","type":""}],"src":"14:250:31"},{"body":{"nodeType":"YulBlock","src":"319:221:31","statements":[{"nodeType":"YulVariableDeclaration","src":"329:26:31","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"349:5:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"343:5:31"},"nodeType":"YulFunctionCall","src":"343:12:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"333:6:31","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"371:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"376:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"364:6:31"},"nodeType":"YulFunctionCall","src":"364:19:31"},"nodeType":"YulExpressionStatement","src":"364:19:31"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"431:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"438:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"427:3:31"},"nodeType":"YulFunctionCall","src":"427:16:31"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"449:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"454:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"445:3:31"},"nodeType":"YulFunctionCall","src":"445:14:31"},{"name":"length","nodeType":"YulIdentifier","src":"461:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"392:34:31"},"nodeType":"YulFunctionCall","src":"392:76:31"},"nodeType":"YulExpressionStatement","src":"392:76:31"},{"nodeType":"YulAssignment","src":"477:57:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"492:3:31"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"505:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"513:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"501:3:31"},"nodeType":"YulFunctionCall","src":"501:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"522:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"518:3:31"},"nodeType":"YulFunctionCall","src":"518:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"497:3:31"},"nodeType":"YulFunctionCall","src":"497:29:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"488:3:31"},"nodeType":"YulFunctionCall","src":"488:39:31"},{"kind":"number","nodeType":"YulLiteral","src":"529:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"484:3:31"},"nodeType":"YulFunctionCall","src":"484:50:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"477:3:31"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"296:5:31","type":""},{"name":"pos","nodeType":"YulTypedName","src":"303:3:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"311:3:31","type":""}],"src":"269:271:31"},{"body":{"nodeType":"YulBlock","src":"666:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"683:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"694:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"676:6:31"},"nodeType":"YulFunctionCall","src":"676:21:31"},"nodeType":"YulExpressionStatement","src":"676:21:31"},{"nodeType":"YulAssignment","src":"706:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"732:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"744:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"755:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"740:3:31"},"nodeType":"YulFunctionCall","src":"740:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"714:17:31"},"nodeType":"YulFunctionCall","src":"714:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"706:4:31"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"635:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"646:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"657:4:31","type":""}],"src":"545:220:31"},{"body":{"nodeType":"YulBlock","src":"819:124:31","statements":[{"nodeType":"YulAssignment","src":"829:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"851:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"838:12:31"},"nodeType":"YulFunctionCall","src":"838:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"829:5:31"}]},{"body":{"nodeType":"YulBlock","src":"921:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"930:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"933:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"923:6:31"},"nodeType":"YulFunctionCall","src":"923:12:31"},"nodeType":"YulExpressionStatement","src":"923:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"880:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"891:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"906:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"911:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"902:3:31"},"nodeType":"YulFunctionCall","src":"902:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"915:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"898:3:31"},"nodeType":"YulFunctionCall","src":"898:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"887:3:31"},"nodeType":"YulFunctionCall","src":"887:31:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"877:2:31"},"nodeType":"YulFunctionCall","src":"877:42:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"870:6:31"},"nodeType":"YulFunctionCall","src":"870:50:31"},"nodeType":"YulIf","src":"867:70:31"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"798:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"809:5:31","type":""}],"src":"770:173:31"},{"body":{"nodeType":"YulBlock","src":"1035:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"1081:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1090:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1093:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1083:6:31"},"nodeType":"YulFunctionCall","src":"1083:12:31"},"nodeType":"YulExpressionStatement","src":"1083:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1056:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"1065:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1052:3:31"},"nodeType":"YulFunctionCall","src":"1052:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"1077:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1048:3:31"},"nodeType":"YulFunctionCall","src":"1048:32:31"},"nodeType":"YulIf","src":"1045:52:31"},{"nodeType":"YulAssignment","src":"1106:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1135:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"1116:18:31"},"nodeType":"YulFunctionCall","src":"1116:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1106:6:31"}]},{"nodeType":"YulAssignment","src":"1154:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1181:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1192:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1177:3:31"},"nodeType":"YulFunctionCall","src":"1177:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1164:12:31"},"nodeType":"YulFunctionCall","src":"1164:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1154:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"993:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1004:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1016:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1024:6:31","type":""}],"src":"948:254:31"},{"body":{"nodeType":"YulBlock","src":"1302:92:31","statements":[{"nodeType":"YulAssignment","src":"1312:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1324:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1335:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1320:3:31"},"nodeType":"YulFunctionCall","src":"1320:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1312:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1354:9:31"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1379:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1372:6:31"},"nodeType":"YulFunctionCall","src":"1372:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1365:6:31"},"nodeType":"YulFunctionCall","src":"1365:22:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1347:6:31"},"nodeType":"YulFunctionCall","src":"1347:41:31"},"nodeType":"YulExpressionStatement","src":"1347:41:31"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1271:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1282:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1293:4:31","type":""}],"src":"1207:187:31"},{"body":{"nodeType":"YulBlock","src":"1518:99:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1535:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1546:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1528:6:31"},"nodeType":"YulFunctionCall","src":"1528:21:31"},"nodeType":"YulExpressionStatement","src":"1528:21:31"},{"nodeType":"YulAssignment","src":"1558:53:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1584:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1596:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"1607:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1592:3:31"},"nodeType":"YulFunctionCall","src":"1592:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1566:17:31"},"nodeType":"YulFunctionCall","src":"1566:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1558:4:31"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1487:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1498:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1509:4:31","type":""}],"src":"1399:218:31"},{"body":{"nodeType":"YulBlock","src":"1654:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1671:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1678:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1683:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1674:3:31"},"nodeType":"YulFunctionCall","src":"1674:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1664:6:31"},"nodeType":"YulFunctionCall","src":"1664:31:31"},"nodeType":"YulExpressionStatement","src":"1664:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1711:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1714:4:31","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1704:6:31"},"nodeType":"YulFunctionCall","src":"1704:15:31"},"nodeType":"YulExpressionStatement","src":"1704:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1735:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1738:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1728:6:31"},"nodeType":"YulFunctionCall","src":"1728:15:31"},"nodeType":"YulExpressionStatement","src":"1728:15:31"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1622:127:31"},{"body":{"nodeType":"YulBlock","src":"1801:109:31","statements":[{"nodeType":"YulAssignment","src":"1811:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1833:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1820:12:31"},"nodeType":"YulFunctionCall","src":"1820:20:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1811:5:31"}]},{"body":{"nodeType":"YulBlock","src":"1888:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1897:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1900:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1890:6:31"},"nodeType":"YulFunctionCall","src":"1890:12:31"},"nodeType":"YulExpressionStatement","src":"1890:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1862:5:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1873:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"1880:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1869:3:31"},"nodeType":"YulFunctionCall","src":"1869:16:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1859:2:31"},"nodeType":"YulFunctionCall","src":"1859:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1852:6:31"},"nodeType":"YulFunctionCall","src":"1852:35:31"},"nodeType":"YulIf","src":"1849:55:31"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1780:6:31","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1791:5:31","type":""}],"src":"1754:156:31"},{"body":{"nodeType":"YulBlock","src":"2060:1058:31","statements":[{"body":{"nodeType":"YulBlock","src":"2107:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2116:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2119:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2109:6:31"},"nodeType":"YulFunctionCall","src":"2109:12:31"},"nodeType":"YulExpressionStatement","src":"2109:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2081:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"2090:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2077:3:31"},"nodeType":"YulFunctionCall","src":"2077:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"2102:3:31","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2073:3:31"},"nodeType":"YulFunctionCall","src":"2073:33:31"},"nodeType":"YulIf","src":"2070:53:31"},{"nodeType":"YulAssignment","src":"2132:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2161:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2142:18:31"},"nodeType":"YulFunctionCall","src":"2142:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2132:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"2180:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2211:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"2222:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2207:3:31"},"nodeType":"YulFunctionCall","src":"2207:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2194:12:31"},"nodeType":"YulFunctionCall","src":"2194:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2184:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2235:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"2245:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2239:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2290:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2299:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2302:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2292:6:31"},"nodeType":"YulFunctionCall","src":"2292:12:31"},"nodeType":"YulExpressionStatement","src":"2292:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2278:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2286:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2275:2:31"},"nodeType":"YulFunctionCall","src":"2275:14:31"},"nodeType":"YulIf","src":"2272:34:31"},{"nodeType":"YulVariableDeclaration","src":"2315:32:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2329:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"2340:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2325:3:31"},"nodeType":"YulFunctionCall","src":"2325:22:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2319:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2395:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2404:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2407:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2397:6:31"},"nodeType":"YulFunctionCall","src":"2397:12:31"},"nodeType":"YulExpressionStatement","src":"2397:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2374:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2378:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2370:3:31"},"nodeType":"YulFunctionCall","src":"2370:13:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2385:7:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2366:3:31"},"nodeType":"YulFunctionCall","src":"2366:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2359:6:31"},"nodeType":"YulFunctionCall","src":"2359:35:31"},"nodeType":"YulIf","src":"2356:55:31"},{"nodeType":"YulVariableDeclaration","src":"2420:26:31","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2443:2:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2430:12:31"},"nodeType":"YulFunctionCall","src":"2430:16:31"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"2424:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2469:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2471:16:31"},"nodeType":"YulFunctionCall","src":"2471:18:31"},"nodeType":"YulExpressionStatement","src":"2471:18:31"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2461:2:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2465:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2458:2:31"},"nodeType":"YulFunctionCall","src":"2458:10:31"},"nodeType":"YulIf","src":"2455:36:31"},{"nodeType":"YulVariableDeclaration","src":"2500:17:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2514:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2510:3:31"},"nodeType":"YulFunctionCall","src":"2510:7:31"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"2504:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2526:23:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2546:2:31","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2540:5:31"},"nodeType":"YulFunctionCall","src":"2540:9:31"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"2530:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2558:71:31","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2580:6:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"2604:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2608:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2600:3:31"},"nodeType":"YulFunctionCall","src":"2600:13:31"},{"name":"_4","nodeType":"YulIdentifier","src":"2615:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2596:3:31"},"nodeType":"YulFunctionCall","src":"2596:22:31"},{"kind":"number","nodeType":"YulLiteral","src":"2620:2:31","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2592:3:31"},"nodeType":"YulFunctionCall","src":"2592:31:31"},{"name":"_4","nodeType":"YulIdentifier","src":"2625:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2588:3:31"},"nodeType":"YulFunctionCall","src":"2588:40:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2576:3:31"},"nodeType":"YulFunctionCall","src":"2576:53:31"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"2562:10:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"2688:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2690:16:31"},"nodeType":"YulFunctionCall","src":"2690:18:31"},"nodeType":"YulExpressionStatement","src":"2690:18:31"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2647:10:31"},{"name":"_1","nodeType":"YulIdentifier","src":"2659:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2644:2:31"},"nodeType":"YulFunctionCall","src":"2644:18:31"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2667:10:31"},{"name":"memPtr","nodeType":"YulIdentifier","src":"2679:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2664:2:31"},"nodeType":"YulFunctionCall","src":"2664:22:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2641:2:31"},"nodeType":"YulFunctionCall","src":"2641:46:31"},"nodeType":"YulIf","src":"2638:72:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2726:2:31","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"2730:10:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2719:6:31"},"nodeType":"YulFunctionCall","src":"2719:22:31"},"nodeType":"YulExpressionStatement","src":"2719:22:31"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2757:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2765:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2750:6:31"},"nodeType":"YulFunctionCall","src":"2750:18:31"},"nodeType":"YulExpressionStatement","src":"2750:18:31"},{"body":{"nodeType":"YulBlock","src":"2814:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2823:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2826:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2816:6:31"},"nodeType":"YulFunctionCall","src":"2816:12:31"},"nodeType":"YulExpressionStatement","src":"2816:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2791:2:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2795:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2787:3:31"},"nodeType":"YulFunctionCall","src":"2787:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"2800:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2783:3:31"},"nodeType":"YulFunctionCall","src":"2783:20:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2805:7:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2780:2:31"},"nodeType":"YulFunctionCall","src":"2780:33:31"},"nodeType":"YulIf","src":"2777:53:31"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2856:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"2864:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2852:3:31"},"nodeType":"YulFunctionCall","src":"2852:15:31"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"2873:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"2877:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2869:3:31"},"nodeType":"YulFunctionCall","src":"2869:11:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2882:2:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"2839:12:31"},"nodeType":"YulFunctionCall","src":"2839:46:31"},"nodeType":"YulExpressionStatement","src":"2839:46:31"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"2909:6:31"},{"name":"_3","nodeType":"YulIdentifier","src":"2917:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2905:3:31"},"nodeType":"YulFunctionCall","src":"2905:15:31"},{"kind":"number","nodeType":"YulLiteral","src":"2922:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2901:3:31"},"nodeType":"YulFunctionCall","src":"2901:24:31"},{"kind":"number","nodeType":"YulLiteral","src":"2927:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2894:6:31"},"nodeType":"YulFunctionCall","src":"2894:35:31"},"nodeType":"YulExpressionStatement","src":"2894:35:31"},{"nodeType":"YulAssignment","src":"2938:16:31","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2948:6:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2938:6:31"}]},{"nodeType":"YulAssignment","src":"2963:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2990:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3001:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2986:3:31"},"nodeType":"YulFunctionCall","src":"2986:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2973:12:31"},"nodeType":"YulFunctionCall","src":"2973:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2963:6:31"}]},{"nodeType":"YulAssignment","src":"3014:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3041:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3052:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3037:3:31"},"nodeType":"YulFunctionCall","src":"3037:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3024:12:31"},"nodeType":"YulFunctionCall","src":"3024:32:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"3014:6:31"}]},{"nodeType":"YulAssignment","src":"3065:47:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3096:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3107:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3092:3:31"},"nodeType":"YulFunctionCall","src":"3092:19:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"3075:16:31"},"nodeType":"YulFunctionCall","src":"3075:37:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"3065:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1994:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2005:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2017:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2025:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2033:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2041:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"2049:6:31","type":""}],"src":"1915:1203:31"},{"body":{"nodeType":"YulBlock","src":"3224:76:31","statements":[{"nodeType":"YulAssignment","src":"3234:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3246:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3257:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:31"},"nodeType":"YulFunctionCall","src":"3242:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3234:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3276:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3287:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3269:6:31"},"nodeType":"YulFunctionCall","src":"3269:25:31"},"nodeType":"YulExpressionStatement","src":"3269:25:31"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3193:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3204:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3215:4:31","type":""}],"src":"3123:177:31"},{"body":{"nodeType":"YulBlock","src":"3406:76:31","statements":[{"nodeType":"YulAssignment","src":"3416:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3428:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3439:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3424:3:31"},"nodeType":"YulFunctionCall","src":"3424:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3416:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3458:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"3469:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3451:6:31"},"nodeType":"YulFunctionCall","src":"3451:25:31"},"nodeType":"YulExpressionStatement","src":"3451:25:31"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3375:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3386:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3397:4:31","type":""}],"src":"3305:177:31"},{"body":{"nodeType":"YulBlock","src":"3591:224:31","statements":[{"body":{"nodeType":"YulBlock","src":"3637:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3646:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3649:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3639:6:31"},"nodeType":"YulFunctionCall","src":"3639:12:31"},"nodeType":"YulExpressionStatement","src":"3639:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3612:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3621:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3608:3:31"},"nodeType":"YulFunctionCall","src":"3608:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3633:2:31","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3604:3:31"},"nodeType":"YulFunctionCall","src":"3604:32:31"},"nodeType":"YulIf","src":"3601:52:31"},{"nodeType":"YulAssignment","src":"3662:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3691:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3672:18:31"},"nodeType":"YulFunctionCall","src":"3672:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3662:6:31"}]},{"nodeType":"YulAssignment","src":"3710:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3743:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3754:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3739:3:31"},"nodeType":"YulFunctionCall","src":"3739:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3720:18:31"},"nodeType":"YulFunctionCall","src":"3720:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3710:6:31"}]},{"nodeType":"YulAssignment","src":"3767:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3794:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"3805:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3790:3:31"},"nodeType":"YulFunctionCall","src":"3790:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3777:12:31"},"nodeType":"YulFunctionCall","src":"3777:32:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3767:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3541:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3552:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3564:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3572:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3580:6:31","type":""}],"src":"3487:328:31"},{"body":{"nodeType":"YulBlock","src":"3890:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"3936:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3945:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3948:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3938:6:31"},"nodeType":"YulFunctionCall","src":"3938:12:31"},"nodeType":"YulExpressionStatement","src":"3938:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3911:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"3920:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3907:3:31"},"nodeType":"YulFunctionCall","src":"3907:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"3932:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3903:3:31"},"nodeType":"YulFunctionCall","src":"3903:32:31"},"nodeType":"YulIf","src":"3900:52:31"},{"nodeType":"YulAssignment","src":"3961:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3984:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3971:12:31"},"nodeType":"YulFunctionCall","src":"3971:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3961:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3856:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3867:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3879:6:31","type":""}],"src":"3820:180:31"},{"body":{"nodeType":"YulBlock","src":"4075:116:31","statements":[{"body":{"nodeType":"YulBlock","src":"4121:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4130:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4133:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4123:6:31"},"nodeType":"YulFunctionCall","src":"4123:12:31"},"nodeType":"YulExpressionStatement","src":"4123:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4096:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4105:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4092:3:31"},"nodeType":"YulFunctionCall","src":"4092:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4117:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4088:3:31"},"nodeType":"YulFunctionCall","src":"4088:32:31"},"nodeType":"YulIf","src":"4085:52:31"},{"nodeType":"YulAssignment","src":"4146:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4175:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4156:18:31"},"nodeType":"YulFunctionCall","src":"4156:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4146:6:31"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4041:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4052:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4064:6:31","type":""}],"src":"4005:186:31"},{"body":{"nodeType":"YulBlock","src":"4266:110:31","statements":[{"body":{"nodeType":"YulBlock","src":"4312:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4321:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4324:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4314:6:31"},"nodeType":"YulFunctionCall","src":"4314:12:31"},"nodeType":"YulExpressionStatement","src":"4314:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4287:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4296:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4283:3:31"},"nodeType":"YulFunctionCall","src":"4283:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4308:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4279:3:31"},"nodeType":"YulFunctionCall","src":"4279:32:31"},"nodeType":"YulIf","src":"4276:52:31"},{"nodeType":"YulAssignment","src":"4337:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4360:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4347:12:31"},"nodeType":"YulFunctionCall","src":"4347:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4337:6:31"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4232:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4243:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4255:6:31","type":""}],"src":"4196:180:31"},{"body":{"nodeType":"YulBlock","src":"4468:167:31","statements":[{"body":{"nodeType":"YulBlock","src":"4514:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4523:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4526:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4516:6:31"},"nodeType":"YulFunctionCall","src":"4516:12:31"},"nodeType":"YulExpressionStatement","src":"4516:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4489:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"4498:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4485:3:31"},"nodeType":"YulFunctionCall","src":"4485:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"4510:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4481:3:31"},"nodeType":"YulFunctionCall","src":"4481:32:31"},"nodeType":"YulIf","src":"4478:52:31"},{"nodeType":"YulAssignment","src":"4539:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4562:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4549:12:31"},"nodeType":"YulFunctionCall","src":"4549:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4539:6:31"}]},{"nodeType":"YulAssignment","src":"4581:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4614:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4625:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4610:3:31"},"nodeType":"YulFunctionCall","src":"4610:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4591:18:31"},"nodeType":"YulFunctionCall","src":"4591:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4581:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4426:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4437:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4449:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4457:6:31","type":""}],"src":"4381:254:31"},{"body":{"nodeType":"YulBlock","src":"4737:87:31","statements":[{"nodeType":"YulAssignment","src":"4747:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4759:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"4770:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4755:3:31"},"nodeType":"YulFunctionCall","src":"4755:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4747:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4789:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4804:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4812:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4800:3:31"},"nodeType":"YulFunctionCall","src":"4800:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4782:6:31"},"nodeType":"YulFunctionCall","src":"4782:36:31"},"nodeType":"YulExpressionStatement","src":"4782:36:31"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4706:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4717:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4728:4:31","type":""}],"src":"4640:184:31"},{"body":{"nodeType":"YulBlock","src":"4902:275:31","statements":[{"body":{"nodeType":"YulBlock","src":"4951:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4960:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4963:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4953:6:31"},"nodeType":"YulFunctionCall","src":"4953:12:31"},"nodeType":"YulExpressionStatement","src":"4953:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4930:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"4938:4:31","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4926:3:31"},"nodeType":"YulFunctionCall","src":"4926:17:31"},{"name":"end","nodeType":"YulIdentifier","src":"4945:3:31"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4922:3:31"},"nodeType":"YulFunctionCall","src":"4922:27:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4915:6:31"},"nodeType":"YulFunctionCall","src":"4915:35:31"},"nodeType":"YulIf","src":"4912:55:31"},{"nodeType":"YulAssignment","src":"4976:30:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4999:6:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4986:12:31"},"nodeType":"YulFunctionCall","src":"4986:20:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4976:6:31"}]},{"body":{"nodeType":"YulBlock","src":"5049:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5058:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5061:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5051:6:31"},"nodeType":"YulFunctionCall","src":"5051:12:31"},"nodeType":"YulExpressionStatement","src":"5051:12:31"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5021:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5029:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5018:2:31"},"nodeType":"YulFunctionCall","src":"5018:30:31"},"nodeType":"YulIf","src":"5015:50:31"},{"nodeType":"YulAssignment","src":"5074:29:31","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5090:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5098:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5086:3:31"},"nodeType":"YulFunctionCall","src":"5086:17:31"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"5074:8:31"}]},{"body":{"nodeType":"YulBlock","src":"5155:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5164:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5167:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5157:6:31"},"nodeType":"YulFunctionCall","src":"5157:12:31"},"nodeType":"YulExpressionStatement","src":"5157:12:31"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5126:6:31"},{"name":"length","nodeType":"YulIdentifier","src":"5134:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5122:3:31"},"nodeType":"YulFunctionCall","src":"5122:19:31"},{"kind":"number","nodeType":"YulLiteral","src":"5143:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5118:3:31"},"nodeType":"YulFunctionCall","src":"5118:30:31"},{"name":"end","nodeType":"YulIdentifier","src":"5150:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5115:2:31"},"nodeType":"YulFunctionCall","src":"5115:39:31"},"nodeType":"YulIf","src":"5112:59:31"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4865:6:31","type":""},{"name":"end","nodeType":"YulTypedName","src":"4873:3:31","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"4881:8:31","type":""},{"name":"length","nodeType":"YulTypedName","src":"4891:6:31","type":""}],"src":"4829:348:31"},{"body":{"nodeType":"YulBlock","src":"5272:321:31","statements":[{"body":{"nodeType":"YulBlock","src":"5318:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5327:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5330:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5320:6:31"},"nodeType":"YulFunctionCall","src":"5320:12:31"},"nodeType":"YulExpressionStatement","src":"5320:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5293:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5302:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5289:3:31"},"nodeType":"YulFunctionCall","src":"5289:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5314:2:31","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5285:3:31"},"nodeType":"YulFunctionCall","src":"5285:32:31"},"nodeType":"YulIf","src":"5282:52:31"},{"nodeType":"YulVariableDeclaration","src":"5343:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5370:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5357:12:31"},"nodeType":"YulFunctionCall","src":"5357:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5347:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"5423:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5432:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5435:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5425:6:31"},"nodeType":"YulFunctionCall","src":"5425:12:31"},"nodeType":"YulExpressionStatement","src":"5425:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5395:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"5403:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5392:2:31"},"nodeType":"YulFunctionCall","src":"5392:30:31"},"nodeType":"YulIf","src":"5389:50:31"},{"nodeType":"YulVariableDeclaration","src":"5448:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5505:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"5516:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5501:3:31"},"nodeType":"YulFunctionCall","src":"5501:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5525:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"5474:26:31"},"nodeType":"YulFunctionCall","src":"5474:59:31"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"5452:8:31","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"5462:8:31","type":""}]},{"nodeType":"YulAssignment","src":"5542:18:31","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"5552:8:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5542:6:31"}]},{"nodeType":"YulAssignment","src":"5569:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"5579:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5569:6:31"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5230:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5241:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5253:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5261:6:31","type":""}],"src":"5182:411:31"},{"body":{"nodeType":"YulBlock","src":"5685:161:31","statements":[{"body":{"nodeType":"YulBlock","src":"5731:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5740:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5743:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5733:6:31"},"nodeType":"YulFunctionCall","src":"5733:12:31"},"nodeType":"YulExpressionStatement","src":"5733:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5706:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"5715:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5702:3:31"},"nodeType":"YulFunctionCall","src":"5702:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"5727:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5698:3:31"},"nodeType":"YulFunctionCall","src":"5698:32:31"},"nodeType":"YulIf","src":"5695:52:31"},{"nodeType":"YulAssignment","src":"5756:33:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5779:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5766:12:31"},"nodeType":"YulFunctionCall","src":"5766:23:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5756:6:31"}]},{"nodeType":"YulAssignment","src":"5798:42:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5825:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5836:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5821:3:31"},"nodeType":"YulFunctionCall","src":"5821:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5808:12:31"},"nodeType":"YulFunctionCall","src":"5808:32:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5798:6:31"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5643:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5654:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5666:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5674:6:31","type":""}],"src":"5598:248:31"},{"body":{"nodeType":"YulBlock","src":"5952:102:31","statements":[{"nodeType":"YulAssignment","src":"5962:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5974:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"5985:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5970:3:31"},"nodeType":"YulFunctionCall","src":"5970:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5962:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6004:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6019:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6035:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6040:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6031:3:31"},"nodeType":"YulFunctionCall","src":"6031:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"6044:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6027:3:31"},"nodeType":"YulFunctionCall","src":"6027:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6015:3:31"},"nodeType":"YulFunctionCall","src":"6015:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5997:6:31"},"nodeType":"YulFunctionCall","src":"5997:51:31"},"nodeType":"YulExpressionStatement","src":"5997:51:31"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5921:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5932:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5943:4:31","type":""}],"src":"5851:203:31"},{"body":{"nodeType":"YulBlock","src":"6165:378:31","statements":[{"body":{"nodeType":"YulBlock","src":"6211:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6220:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6223:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6213:6:31"},"nodeType":"YulFunctionCall","src":"6213:12:31"},"nodeType":"YulExpressionStatement","src":"6213:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6186:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6195:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6182:3:31"},"nodeType":"YulFunctionCall","src":"6182:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"6207:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6178:3:31"},"nodeType":"YulFunctionCall","src":"6178:32:31"},"nodeType":"YulIf","src":"6175:52:31"},{"nodeType":"YulAssignment","src":"6236:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6265:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6246:18:31"},"nodeType":"YulFunctionCall","src":"6246:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6236:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"6284:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6315:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6326:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6311:3:31"},"nodeType":"YulFunctionCall","src":"6311:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6298:12:31"},"nodeType":"YulFunctionCall","src":"6298:32:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6288:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"6373:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6382:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6385:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6375:6:31"},"nodeType":"YulFunctionCall","src":"6375:12:31"},"nodeType":"YulExpressionStatement","src":"6375:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6345:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"6353:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6342:2:31"},"nodeType":"YulFunctionCall","src":"6342:30:31"},"nodeType":"YulIf","src":"6339:50:31"},{"nodeType":"YulVariableDeclaration","src":"6398:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6455:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"6466:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6451:3:31"},"nodeType":"YulFunctionCall","src":"6451:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6475:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"6424:26:31"},"nodeType":"YulFunctionCall","src":"6424:59:31"},"variables":[{"name":"value1_1","nodeType":"YulTypedName","src":"6402:8:31","type":""},{"name":"value2_1","nodeType":"YulTypedName","src":"6412:8:31","type":""}]},{"nodeType":"YulAssignment","src":"6492:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"6502:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6492:6:31"}]},{"nodeType":"YulAssignment","src":"6519:18:31","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"6529:8:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6519:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6115:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6126:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6138:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6146:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6154:6:31","type":""}],"src":"6059:484:31"},{"body":{"nodeType":"YulBlock","src":"6635:173:31","statements":[{"body":{"nodeType":"YulBlock","src":"6681:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6690:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6693:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6683:6:31"},"nodeType":"YulFunctionCall","src":"6683:12:31"},"nodeType":"YulExpressionStatement","src":"6683:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6656:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"6665:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6652:3:31"},"nodeType":"YulFunctionCall","src":"6652:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"6677:2:31","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6648:3:31"},"nodeType":"YulFunctionCall","src":"6648:32:31"},"nodeType":"YulIf","src":"6645:52:31"},{"nodeType":"YulAssignment","src":"6706:39:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6735:9:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6716:18:31"},"nodeType":"YulFunctionCall","src":"6716:29:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6706:6:31"}]},{"nodeType":"YulAssignment","src":"6754:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6787:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"6798:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6783:3:31"},"nodeType":"YulFunctionCall","src":"6783:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6764:18:31"},"nodeType":"YulFunctionCall","src":"6764:38:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6754:6:31"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6593:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6604:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6616:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6624:6:31","type":""}],"src":"6548:260:31"},{"body":{"nodeType":"YulBlock","src":"6972:707:31","statements":[{"body":{"nodeType":"YulBlock","src":"7019:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7028:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7031:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7021:6:31"},"nodeType":"YulFunctionCall","src":"7021:12:31"},"nodeType":"YulExpressionStatement","src":"7021:12:31"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6993:7:31"},{"name":"headStart","nodeType":"YulIdentifier","src":"7002:9:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6989:3:31"},"nodeType":"YulFunctionCall","src":"6989:23:31"},{"kind":"number","nodeType":"YulLiteral","src":"7014:3:31","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6985:3:31"},"nodeType":"YulFunctionCall","src":"6985:33:31"},"nodeType":"YulIf","src":"6982:53:31"},{"nodeType":"YulVariableDeclaration","src":"7044:37:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7071:9:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7058:12:31"},"nodeType":"YulFunctionCall","src":"7058:23:31"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"7048:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7090:28:31","value":{"kind":"number","nodeType":"YulLiteral","src":"7100:18:31","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7094:2:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7145:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7154:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7157:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7147:6:31"},"nodeType":"YulFunctionCall","src":"7147:12:31"},"nodeType":"YulExpressionStatement","src":"7147:12:31"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7133:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7141:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7130:2:31"},"nodeType":"YulFunctionCall","src":"7130:14:31"},"nodeType":"YulIf","src":"7127:34:31"},{"nodeType":"YulVariableDeclaration","src":"7170:85:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7227:9:31"},{"name":"offset","nodeType":"YulIdentifier","src":"7238:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7223:3:31"},"nodeType":"YulFunctionCall","src":"7223:22:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7247:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"7196:26:31"},"nodeType":"YulFunctionCall","src":"7196:59:31"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"7174:8:31","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"7184:8:31","type":""}]},{"nodeType":"YulAssignment","src":"7264:18:31","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"7274:8:31"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"7264:6:31"}]},{"nodeType":"YulAssignment","src":"7291:18:31","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"7301:8:31"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7291:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"7318:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7351:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7362:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7347:3:31"},"nodeType":"YulFunctionCall","src":"7347:18:31"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7334:12:31"},"nodeType":"YulFunctionCall","src":"7334:32:31"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"7322:8:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7395:16:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7404:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7407:1:31","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7397:6:31"},"nodeType":"YulFunctionCall","src":"7397:12:31"},"nodeType":"YulExpressionStatement","src":"7397:12:31"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"7381:8:31"},{"name":"_1","nodeType":"YulIdentifier","src":"7391:2:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7378:2:31"},"nodeType":"YulFunctionCall","src":"7378:16:31"},"nodeType":"YulIf","src":"7375:36:31"},{"nodeType":"YulVariableDeclaration","src":"7420:87:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7477:9:31"},{"name":"offset_1","nodeType":"YulIdentifier","src":"7488:8:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7473:3:31"},"nodeType":"YulFunctionCall","src":"7473:24:31"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"7499:7:31"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"7446:26:31"},"nodeType":"YulFunctionCall","src":"7446:61:31"},"variables":[{"name":"value2_1","nodeType":"YulTypedName","src":"7424:8:31","type":""},{"name":"value3_1","nodeType":"YulTypedName","src":"7434:8:31","type":""}]},{"nodeType":"YulAssignment","src":"7516:18:31","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"7526:8:31"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"7516:6:31"}]},{"nodeType":"YulAssignment","src":"7543:18:31","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"7553:8:31"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"7543:6:31"}]},{"nodeType":"YulAssignment","src":"7570:46:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7601:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7612:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7597:3:31"},"nodeType":"YulFunctionCall","src":"7597:18:31"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"7580:16:31"},"nodeType":"YulFunctionCall","src":"7580:36:31"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"7570:6:31"}]},{"nodeType":"YulAssignment","src":"7625:48:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7658:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"7669:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7654:3:31"},"nodeType":"YulFunctionCall","src":"7654:18:31"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"7635:18:31"},"nodeType":"YulFunctionCall","src":"7635:38:31"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"7625:6:31"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6898:9:31","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6909:7:31","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6921:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6929:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"6937:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"6945:6:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"6953:6:31","type":""},{"name":"value5","nodeType":"YulTypedName","src":"6961:6:31","type":""}],"src":"6813:866:31"},{"body":{"nodeType":"YulBlock","src":"7739:325:31","statements":[{"nodeType":"YulAssignment","src":"7749:22:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7763:1:31","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"7766:4:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"7759:3:31"},"nodeType":"YulFunctionCall","src":"7759:12:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"7749:6:31"}]},{"nodeType":"YulVariableDeclaration","src":"7780:38:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"7810:4:31"},{"kind":"number","nodeType":"YulLiteral","src":"7816:1:31","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7806:3:31"},"nodeType":"YulFunctionCall","src":"7806:12:31"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"7784:18:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"7857:31:31","statements":[{"nodeType":"YulAssignment","src":"7859:27:31","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7873:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7881:4:31","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7869:3:31"},"nodeType":"YulFunctionCall","src":"7869:17:31"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"7859:6:31"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7837:18:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7830:6:31"},"nodeType":"YulFunctionCall","src":"7830:26:31"},"nodeType":"YulIf","src":"7827:61:31"},{"body":{"nodeType":"YulBlock","src":"7947:111:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7968:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7975:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7980:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7971:3:31"},"nodeType":"YulFunctionCall","src":"7971:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7961:6:31"},"nodeType":"YulFunctionCall","src":"7961:31:31"},"nodeType":"YulExpressionStatement","src":"7961:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8012:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"8015:4:31","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8005:6:31"},"nodeType":"YulFunctionCall","src":"8005:15:31"},"nodeType":"YulExpressionStatement","src":"8005:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8040:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8043:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8033:6:31"},"nodeType":"YulFunctionCall","src":"8033:15:31"},"nodeType":"YulExpressionStatement","src":"8033:15:31"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"7903:18:31"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7926:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"7934:2:31","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7923:2:31"},"nodeType":"YulFunctionCall","src":"7923:14:31"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7900:2:31"},"nodeType":"YulFunctionCall","src":"7900:38:31"},"nodeType":"YulIf","src":"7897:161:31"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"7719:4:31","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"7728:6:31","type":""}],"src":"7684:380:31"},{"body":{"nodeType":"YulBlock","src":"8243:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8260:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8271:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8253:6:31"},"nodeType":"YulFunctionCall","src":"8253:21:31"},"nodeType":"YulExpressionStatement","src":"8253:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8294:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8305:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8290:3:31"},"nodeType":"YulFunctionCall","src":"8290:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8310:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8283:6:31"},"nodeType":"YulFunctionCall","src":"8283:30:31"},"nodeType":"YulExpressionStatement","src":"8283:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8333:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8344:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8329:3:31"},"nodeType":"YulFunctionCall","src":"8329:18:31"},{"hexValue":"5369676e657220616e64207369676e617475726520646f206e6f74206d617463","kind":"string","nodeType":"YulLiteral","src":"8349:34:31","type":"","value":"Signer and signature do not matc"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8322:6:31"},"nodeType":"YulFunctionCall","src":"8322:62:31"},"nodeType":"YulExpressionStatement","src":"8322:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8404:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8415:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8400:3:31"},"nodeType":"YulFunctionCall","src":"8400:18:31"},{"hexValue":"68","kind":"string","nodeType":"YulLiteral","src":"8420:3:31","type":"","value":"h"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8393:6:31"},"nodeType":"YulFunctionCall","src":"8393:31:31"},"nodeType":"YulExpressionStatement","src":"8393:31:31"},{"nodeType":"YulAssignment","src":"8433:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8445:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8456:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8441:3:31"},"nodeType":"YulFunctionCall","src":"8441:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8433:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8220:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8234:4:31","type":""}],"src":"8069:397:31"},{"body":{"nodeType":"YulBlock","src":"8662:241:31","statements":[{"nodeType":"YulVariableDeclaration","src":"8672:29:31","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8690:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8695:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8686:3:31"},"nodeType":"YulFunctionCall","src":"8686:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"8699:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8682:3:31"},"nodeType":"YulFunctionCall","src":"8682:19:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8676:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8717:9:31"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8732:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"8740:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8728:3:31"},"nodeType":"YulFunctionCall","src":"8728:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8710:6:31"},"nodeType":"YulFunctionCall","src":"8710:34:31"},"nodeType":"YulExpressionStatement","src":"8710:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8764:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8775:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8760:3:31"},"nodeType":"YulFunctionCall","src":"8760:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"8784:6:31"},{"name":"_1","nodeType":"YulIdentifier","src":"8792:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8780:3:31"},"nodeType":"YulFunctionCall","src":"8780:15:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8753:6:31"},"nodeType":"YulFunctionCall","src":"8753:43:31"},"nodeType":"YulExpressionStatement","src":"8753:43:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8816:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8827:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8812:3:31"},"nodeType":"YulFunctionCall","src":"8812:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"8832:2:31","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8805:6:31"},"nodeType":"YulFunctionCall","src":"8805:30:31"},"nodeType":"YulExpressionStatement","src":"8805:30:31"},{"nodeType":"YulAssignment","src":"8844:53:31","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"8870:6:31"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8882:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"8893:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8878:3:31"},"nodeType":"YulFunctionCall","src":"8878:18:31"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"8852:17:31"},"nodeType":"YulFunctionCall","src":"8852:45:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8844:4:31"}]}]},"name":"abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8615:9:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8626:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8634:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8642:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8653:4:31","type":""}],"src":"8471:432:31"},{"body":{"nodeType":"YulBlock","src":"9073:263:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9083:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9103:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9097:5:31"},"nodeType":"YulFunctionCall","src":"9097:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9087:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9158:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"9166:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9154:3:31"},"nodeType":"YulFunctionCall","src":"9154:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"9173:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9178:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"9119:34:31"},"nodeType":"YulFunctionCall","src":"9119:66:31"},"nodeType":"YulExpressionStatement","src":"9119:66:31"},{"nodeType":"YulVariableDeclaration","src":"9194:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9211:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9216:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9207:3:31"},"nodeType":"YulFunctionCall","src":"9207:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"9198:5:31","type":""}]},{"expression":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"9239:5:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9254:2:31","type":"","value":"96"},{"name":"value1","nodeType":"YulIdentifier","src":"9258:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9250:3:31"},"nodeType":"YulFunctionCall","src":"9250:15:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9271:26:31","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9267:3:31"},"nodeType":"YulFunctionCall","src":"9267:31:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9246:3:31"},"nodeType":"YulFunctionCall","src":"9246:53:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9232:6:31"},"nodeType":"YulFunctionCall","src":"9232:68:31"},"nodeType":"YulExpressionStatement","src":"9232:68:31"},{"nodeType":"YulAssignment","src":"9309:21:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"9320:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"9327:2:31","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9316:3:31"},"nodeType":"YulFunctionCall","src":"9316:14:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9309:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9041:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9046:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9054:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9065:3:31","type":""}],"src":"8908:428:31"},{"body":{"nodeType":"YulBlock","src":"9478:150:31","statements":[{"nodeType":"YulVariableDeclaration","src":"9488:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9508:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9502:5:31"},"nodeType":"YulFunctionCall","src":"9502:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9492:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9563:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"9571:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9559:3:31"},"nodeType":"YulFunctionCall","src":"9559:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"9578:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9583:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"9524:34:31"},"nodeType":"YulFunctionCall","src":"9524:66:31"},"nodeType":"YulExpressionStatement","src":"9524:66:31"},{"nodeType":"YulAssignment","src":"9599:23:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9610:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"9615:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9606:3:31"},"nodeType":"YulFunctionCall","src":"9606:16:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9599:3:31"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"9454:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9459:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9470:3:31","type":""}],"src":"9341:287:31"},{"body":{"nodeType":"YulBlock","src":"9807:178:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9824:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9835:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9817:6:31"},"nodeType":"YulFunctionCall","src":"9817:21:31"},"nodeType":"YulExpressionStatement","src":"9817:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9858:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9869:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9854:3:31"},"nodeType":"YulFunctionCall","src":"9854:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"9874:2:31","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9847:6:31"},"nodeType":"YulFunctionCall","src":"9847:30:31"},"nodeType":"YulExpressionStatement","src":"9847:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9897:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9908:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9893:3:31"},"nodeType":"YulFunctionCall","src":"9893:18:31"},{"hexValue":"46756e6374696f6e2063616c6c206e6f74207375636365737366756c","kind":"string","nodeType":"YulLiteral","src":"9913:30:31","type":"","value":"Function call not successful"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9886:6:31"},"nodeType":"YulFunctionCall","src":"9886:58:31"},"nodeType":"YulExpressionStatement","src":"9886:58:31"},{"nodeType":"YulAssignment","src":"9953:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9965:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"9976:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9961:3:31"},"nodeType":"YulFunctionCall","src":"9961:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9953:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9784:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9798:4:31","type":""}],"src":"9633:352:31"},{"body":{"nodeType":"YulBlock","src":"10164:237:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10181:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10192:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10174:6:31"},"nodeType":"YulFunctionCall","src":"10174:21:31"},"nodeType":"YulExpressionStatement","src":"10174:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10215:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10226:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10211:3:31"},"nodeType":"YulFunctionCall","src":"10211:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"10231:2:31","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10204:6:31"},"nodeType":"YulFunctionCall","src":"10204:30:31"},"nodeType":"YulExpressionStatement","src":"10204:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10254:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10265:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10250:3:31"},"nodeType":"YulFunctionCall","src":"10250:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e","kind":"string","nodeType":"YulLiteral","src":"10270:34:31","type":"","value":"AccessControl: sender must be an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10243:6:31"},"nodeType":"YulFunctionCall","src":"10243:62:31"},"nodeType":"YulExpressionStatement","src":"10243:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10325:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10336:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10321:3:31"},"nodeType":"YulFunctionCall","src":"10321:18:31"},{"hexValue":"2061646d696e20746f206772616e74","kind":"string","nodeType":"YulLiteral","src":"10341:17:31","type":"","value":" admin to grant"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10314:6:31"},"nodeType":"YulFunctionCall","src":"10314:45:31"},"nodeType":"YulExpressionStatement","src":"10314:45:31"},{"nodeType":"YulAssignment","src":"10368:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10380:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10391:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10376:3:31"},"nodeType":"YulFunctionCall","src":"10376:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10368:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10141:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10155:4:31","type":""}],"src":"9990:411:31"},{"body":{"nodeType":"YulBlock","src":"10580:237:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10597:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10608:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10590:6:31"},"nodeType":"YulFunctionCall","src":"10590:21:31"},"nodeType":"YulExpressionStatement","src":"10590:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10631:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10642:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10627:3:31"},"nodeType":"YulFunctionCall","src":"10627:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"10647:2:31","type":"","value":"47"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10620:6:31"},"nodeType":"YulFunctionCall","src":"10620:30:31"},"nodeType":"YulExpressionStatement","src":"10620:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10670:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10681:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10666:3:31"},"nodeType":"YulFunctionCall","src":"10666:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365","kind":"string","nodeType":"YulLiteral","src":"10686:34:31","type":"","value":"AccessControl: can only renounce"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10659:6:31"},"nodeType":"YulFunctionCall","src":"10659:62:31"},"nodeType":"YulExpressionStatement","src":"10659:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10741:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10752:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10737:3:31"},"nodeType":"YulFunctionCall","src":"10737:18:31"},{"hexValue":"20726f6c657320666f722073656c66","kind":"string","nodeType":"YulLiteral","src":"10757:17:31","type":"","value":" roles for self"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10730:6:31"},"nodeType":"YulFunctionCall","src":"10730:45:31"},"nodeType":"YulExpressionStatement","src":"10730:45:31"},{"nodeType":"YulAssignment","src":"10784:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10796:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"10807:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10792:3:31"},"nodeType":"YulFunctionCall","src":"10792:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10784:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10557:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10571:4:31","type":""}],"src":"10406:411:31"},{"body":{"nodeType":"YulBlock","src":"10996:181:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11013:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11024:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11006:6:31"},"nodeType":"YulFunctionCall","src":"11006:21:31"},"nodeType":"YulExpressionStatement","src":"11006:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11047:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11058:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11043:3:31"},"nodeType":"YulFunctionCall","src":"11043:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"11063:2:31","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11036:6:31"},"nodeType":"YulFunctionCall","src":"11036:30:31"},"nodeType":"YulExpressionStatement","src":"11036:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11086:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11097:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11082:3:31"},"nodeType":"YulFunctionCall","src":"11082:18:31"},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"11102:33:31","type":"","value":"ERC20: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11075:6:31"},"nodeType":"YulFunctionCall","src":"11075:61:31"},"nodeType":"YulExpressionStatement","src":"11075:61:31"},{"nodeType":"YulAssignment","src":"11145:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11157:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"11168:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11153:3:31"},"nodeType":"YulFunctionCall","src":"11153:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11145:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10973:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10987:4:31","type":""}],"src":"10822:355:31"},{"body":{"nodeType":"YulBlock","src":"11238:65:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11255:1:31","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"11258:3:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11248:6:31"},"nodeType":"YulFunctionCall","src":"11248:14:31"},"nodeType":"YulExpressionStatement","src":"11248:14:31"},{"nodeType":"YulAssignment","src":"11271:26:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11289:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11292:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"11279:9:31"},"nodeType":"YulFunctionCall","src":"11279:18:31"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"11271:4:31"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"11221:3:31","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"11229:4:31","type":""}],"src":"11182:121:31"},{"body":{"nodeType":"YulBlock","src":"11426:845:31","statements":[{"nodeType":"YulVariableDeclaration","src":"11436:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11446:2:31","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"11440:2:31","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11464:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"11475:2:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11457:6:31"},"nodeType":"YulFunctionCall","src":"11457:21:31"},"nodeType":"YulExpressionStatement","src":"11457:21:31"},{"nodeType":"YulVariableDeclaration","src":"11487:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11498:1:31","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"11491:3:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11508:30:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11531:6:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"11525:5:31"},"nodeType":"YulFunctionCall","src":"11525:13:31"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"11512:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11547:50:31","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"11587:9:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"11561:25:31"},"nodeType":"YulFunctionCall","src":"11561:36:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"11551:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11617:9:31"},{"name":"_1","nodeType":"YulIdentifier","src":"11628:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11613:3:31"},"nodeType":"YulFunctionCall","src":"11613:18:31"},{"name":"length","nodeType":"YulIdentifier","src":"11633:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11606:6:31"},"nodeType":"YulFunctionCall","src":"11606:34:31"},"nodeType":"YulExpressionStatement","src":"11606:34:31"},{"nodeType":"YulVariableDeclaration","src":"11649:12:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11659:2:31","type":"","value":"64"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"11653:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11670:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11680:1:31","type":"","value":"1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"11674:2:31","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"11731:151:31","statements":[{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11756:9:31"},{"name":"_2","nodeType":"YulIdentifier","src":"11767:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11752:3:31"},"nodeType":"YulFunctionCall","src":"11752:18:31"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"11776:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11791:3:31","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"11787:3:31"},"nodeType":"YulFunctionCall","src":"11787:8:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11772:3:31"},"nodeType":"YulFunctionCall","src":"11772:24:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11745:6:31"},"nodeType":"YulFunctionCall","src":"11745:52:31"},"nodeType":"YulExpressionStatement","src":"11745:52:31"},{"nodeType":"YulAssignment","src":"11810:62:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11825:9:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11840:1:31","type":"","value":"5"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11857:6:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11850:6:31"},"nodeType":"YulFunctionCall","src":"11850:14:31"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11843:6:31"},"nodeType":"YulFunctionCall","src":"11843:22:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11836:3:31"},"nodeType":"YulFunctionCall","src":"11836:30:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11821:3:31"},"nodeType":"YulFunctionCall","src":"11821:46:31"},{"name":"_2","nodeType":"YulIdentifier","src":"11869:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11817:3:31"},"nodeType":"YulFunctionCall","src":"11817:55:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"11810:3:31"}]}]},"nodeType":"YulCase","src":"11724:158:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11729:1:31","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"11898:347:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11919:1:31","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"11922:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11912:6:31"},"nodeType":"YulFunctionCall","src":"11912:17:31"},"nodeType":"YulExpressionStatement","src":"11912:17:31"},{"nodeType":"YulVariableDeclaration","src":"11942:31:31","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11967:1:31","type":"","value":"0"},{"name":"_1","nodeType":"YulIdentifier","src":"11970:2:31"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"11957:9:31"},"nodeType":"YulFunctionCall","src":"11957:16:31"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"11946:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"11986:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11995:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"11990:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"12063:126:31","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12096:9:31"},{"name":"i","nodeType":"YulIdentifier","src":"12107:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12092:3:31"},"nodeType":"YulFunctionCall","src":"12092:17:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12111:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12088:3:31"},"nodeType":"YulFunctionCall","src":"12088:26:31"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12122:7:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"12116:5:31"},"nodeType":"YulFunctionCall","src":"12116:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12081:6:31"},"nodeType":"YulFunctionCall","src":"12081:50:31"},"nodeType":"YulExpressionStatement","src":"12081:50:31"},{"nodeType":"YulAssignment","src":"12148:27:31","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12163:7:31"},{"name":"_3","nodeType":"YulIdentifier","src":"12172:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12159:3:31"},"nodeType":"YulFunctionCall","src":"12159:16:31"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"12148:7:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12020:1:31"},{"name":"length","nodeType":"YulIdentifier","src":"12023:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"12017:2:31"},"nodeType":"YulFunctionCall","src":"12017:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"12031:19:31","statements":[{"nodeType":"YulAssignment","src":"12033:15:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"12042:1:31"},{"name":"_1","nodeType":"YulIdentifier","src":"12045:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12038:3:31"},"nodeType":"YulFunctionCall","src":"12038:10:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"12033:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"12013:3:31","statements":[]},"src":"12009:180:31"},{"nodeType":"YulAssignment","src":"12202:33:31","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12217:9:31"},{"name":"i","nodeType":"YulIdentifier","src":"12228:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12213:3:31"},"nodeType":"YulFunctionCall","src":"12213:17:31"},{"name":"_2","nodeType":"YulIdentifier","src":"12232:2:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12209:3:31"},"nodeType":"YulFunctionCall","src":"12209:26:31"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"12202:3:31"}]}]},"nodeType":"YulCase","src":"11891:354:31","value":{"kind":"number","nodeType":"YulLiteral","src":"11896:1:31","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"11701:9:31"},{"name":"_3","nodeType":"YulIdentifier","src":"11712:2:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11697:3:31"},"nodeType":"YulFunctionCall","src":"11697:18:31"},"nodeType":"YulSwitch","src":"11690:555:31"},{"nodeType":"YulAssignment","src":"12254:11:31","value":{"name":"ret","nodeType":"YulIdentifier","src":"12262:3:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12254:4:31"}]}]},"name":"abi_encode_tuple_t_string_storage__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11395:9:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11406:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11417:4:31","type":""}],"src":"11308:963:31"},{"body":{"nodeType":"YulBlock","src":"12450:238:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12467:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12478:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12460:6:31"},"nodeType":"YulFunctionCall","src":"12460:21:31"},"nodeType":"YulExpressionStatement","src":"12460:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12501:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12512:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12497:3:31"},"nodeType":"YulFunctionCall","src":"12497:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"12517:2:31","type":"","value":"48"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12490:6:31"},"nodeType":"YulFunctionCall","src":"12490:30:31"},"nodeType":"YulExpressionStatement","src":"12490:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12540:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12551:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12536:3:31"},"nodeType":"YulFunctionCall","src":"12536:18:31"},{"hexValue":"416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e","kind":"string","nodeType":"YulLiteral","src":"12556:34:31","type":"","value":"AccessControl: sender must be an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12529:6:31"},"nodeType":"YulFunctionCall","src":"12529:62:31"},"nodeType":"YulExpressionStatement","src":"12529:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12611:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12622:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12607:3:31"},"nodeType":"YulFunctionCall","src":"12607:18:31"},{"hexValue":"2061646d696e20746f207265766f6b65","kind":"string","nodeType":"YulLiteral","src":"12627:18:31","type":"","value":" admin to revoke"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12600:6:31"},"nodeType":"YulFunctionCall","src":"12600:46:31"},"nodeType":"YulExpressionStatement","src":"12600:46:31"},{"nodeType":"YulAssignment","src":"12655:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12667:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12678:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12663:3:31"},"nodeType":"YulFunctionCall","src":"12663:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12655:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12427:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12441:4:31","type":""}],"src":"12276:412:31"},{"body":{"nodeType":"YulBlock","src":"12867:164:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12884:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12895:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12877:6:31"},"nodeType":"YulFunctionCall","src":"12877:21:31"},"nodeType":"YulExpressionStatement","src":"12877:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12918:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12929:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12914:3:31"},"nodeType":"YulFunctionCall","src":"12914:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"12934:2:31","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12907:6:31"},"nodeType":"YulFunctionCall","src":"12907:30:31"},"nodeType":"YulExpressionStatement","src":"12907:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12957:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"12968:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12953:3:31"},"nodeType":"YulFunctionCall","src":"12953:18:31"},{"hexValue":"616c726561647920696e69746564","kind":"string","nodeType":"YulLiteral","src":"12973:16:31","type":"","value":"already inited"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12946:6:31"},"nodeType":"YulFunctionCall","src":"12946:44:31"},"nodeType":"YulExpressionStatement","src":"12946:44:31"},{"nodeType":"YulAssignment","src":"12999:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13011:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13022:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13007:3:31"},"nodeType":"YulFunctionCall","src":"13007:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12999:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12844:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12858:4:31","type":""}],"src":"12693:338:31"},{"body":{"nodeType":"YulBlock","src":"13286:169:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13303:3:31"},{"hexValue":"4368696c64","kind":"string","nodeType":"YulLiteral","src":"13308:7:31","type":"","value":"Child"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13296:6:31"},"nodeType":"YulFunctionCall","src":"13296:20:31"},"nodeType":"YulExpressionStatement","src":"13296:20:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13342:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"13347:1:31","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13338:3:31"},"nodeType":"YulFunctionCall","src":"13338:11:31"},{"name":"value0","nodeType":"YulIdentifier","src":"13351:6:31"},{"name":"value1","nodeType":"YulIdentifier","src":"13359:6:31"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"13325:12:31"},"nodeType":"YulFunctionCall","src":"13325:41:31"},"nodeType":"YulExpressionStatement","src":"13325:41:31"},{"nodeType":"YulVariableDeclaration","src":"13375:34:31","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"13393:3:31"},{"name":"value1","nodeType":"YulIdentifier","src":"13398:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13389:3:31"},"nodeType":"YulFunctionCall","src":"13389:16:31"},{"kind":"number","nodeType":"YulLiteral","src":"13407:1:31","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13385:3:31"},"nodeType":"YulFunctionCall","src":"13385:24:31"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"13379:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"13425:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"13429:1:31","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13418:6:31"},"nodeType":"YulFunctionCall","src":"13418:13:31"},"nodeType":"YulExpressionStatement","src":"13418:13:31"},{"nodeType":"YulAssignment","src":"13440:9:31","value":{"name":"_1","nodeType":"YulIdentifier","src":"13447:2:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"13440:3:31"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"13254:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13259:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13267:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"13278:3:31","type":""}],"src":"13036:419:31"},{"body":{"nodeType":"YulBlock","src":"13634:226:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13651:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13662:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13644:6:31"},"nodeType":"YulFunctionCall","src":"13644:21:31"},"nodeType":"YulExpressionStatement","src":"13644:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13685:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13696:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13681:3:31"},"nodeType":"YulFunctionCall","src":"13681:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"13701:2:31","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13674:6:31"},"nodeType":"YulFunctionCall","src":"13674:30:31"},"nodeType":"YulExpressionStatement","src":"13674:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13724:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13735:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13720:3:31"},"nodeType":"YulFunctionCall","src":"13720:18:31"},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"13740:34:31","type":"","value":"ERC20: approve from the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13713:6:31"},"nodeType":"YulFunctionCall","src":"13713:62:31"},"nodeType":"YulExpressionStatement","src":"13713:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13795:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13806:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13791:3:31"},"nodeType":"YulFunctionCall","src":"13791:18:31"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"13811:6:31","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13784:6:31"},"nodeType":"YulFunctionCall","src":"13784:34:31"},"nodeType":"YulExpressionStatement","src":"13784:34:31"},{"nodeType":"YulAssignment","src":"13827:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13839:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"13850:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13835:3:31"},"nodeType":"YulFunctionCall","src":"13835:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13827:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13611:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13625:4:31","type":""}],"src":"13460:400:31"},{"body":{"nodeType":"YulBlock","src":"14039:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14056:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14067:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14049:6:31"},"nodeType":"YulFunctionCall","src":"14049:21:31"},"nodeType":"YulExpressionStatement","src":"14049:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14090:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14101:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14086:3:31"},"nodeType":"YulFunctionCall","src":"14086:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"14106:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14079:6:31"},"nodeType":"YulFunctionCall","src":"14079:30:31"},"nodeType":"YulExpressionStatement","src":"14079:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14129:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14140:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14125:3:31"},"nodeType":"YulFunctionCall","src":"14125:18:31"},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f206164647265","kind":"string","nodeType":"YulLiteral","src":"14145:34:31","type":"","value":"ERC20: approve to the zero addre"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14118:6:31"},"nodeType":"YulFunctionCall","src":"14118:62:31"},"nodeType":"YulExpressionStatement","src":"14118:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14200:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14211:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14196:3:31"},"nodeType":"YulFunctionCall","src":"14196:18:31"},{"hexValue":"7373","kind":"string","nodeType":"YulLiteral","src":"14216:4:31","type":"","value":"ss"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14189:6:31"},"nodeType":"YulFunctionCall","src":"14189:32:31"},"nodeType":"YulExpressionStatement","src":"14189:32:31"},{"nodeType":"YulAssignment","src":"14230:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14242:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14253:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14238:3:31"},"nodeType":"YulFunctionCall","src":"14238:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14230:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14016:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14030:4:31","type":""}],"src":"13865:398:31"},{"body":{"nodeType":"YulBlock","src":"14442:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14459:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14470:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14452:6:31"},"nodeType":"YulFunctionCall","src":"14452:21:31"},"nodeType":"YulExpressionStatement","src":"14452:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14493:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14504:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14489:3:31"},"nodeType":"YulFunctionCall","src":"14489:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"14509:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14482:6:31"},"nodeType":"YulFunctionCall","src":"14482:30:31"},"nodeType":"YulExpressionStatement","src":"14482:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14532:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14543:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14528:3:31"},"nodeType":"YulFunctionCall","src":"14528:18:31"},{"hexValue":"4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f53","kind":"string","nodeType":"YulLiteral","src":"14548:34:31","type":"","value":"NativeMetaTransaction: INVALID_S"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14521:6:31"},"nodeType":"YulFunctionCall","src":"14521:62:31"},"nodeType":"YulExpressionStatement","src":"14521:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14603:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14614:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14599:3:31"},"nodeType":"YulFunctionCall","src":"14599:18:31"},{"hexValue":"49474e4552","kind":"string","nodeType":"YulLiteral","src":"14619:7:31","type":"","value":"IGNER"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14592:6:31"},"nodeType":"YulFunctionCall","src":"14592:35:31"},"nodeType":"YulExpressionStatement","src":"14592:35:31"},{"nodeType":"YulAssignment","src":"14636:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14648:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14659:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14644:3:31"},"nodeType":"YulFunctionCall","src":"14644:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14636:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14419:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14433:4:31","type":""}],"src":"14268:401:31"},{"body":{"nodeType":"YulBlock","src":"14855:217:31","statements":[{"nodeType":"YulAssignment","src":"14865:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14877:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14888:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14873:3:31"},"nodeType":"YulFunctionCall","src":"14873:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14865:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14908:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"14919:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14901:6:31"},"nodeType":"YulFunctionCall","src":"14901:25:31"},"nodeType":"YulExpressionStatement","src":"14901:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14946:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"14957:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14942:3:31"},"nodeType":"YulFunctionCall","src":"14942:18:31"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14966:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"14974:4:31","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"14962:3:31"},"nodeType":"YulFunctionCall","src":"14962:17:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14935:6:31"},"nodeType":"YulFunctionCall","src":"14935:45:31"},"nodeType":"YulExpressionStatement","src":"14935:45:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15000:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15011:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14996:3:31"},"nodeType":"YulFunctionCall","src":"14996:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"15016:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14989:6:31"},"nodeType":"YulFunctionCall","src":"14989:34:31"},"nodeType":"YulExpressionStatement","src":"14989:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15043:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15054:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15039:3:31"},"nodeType":"YulFunctionCall","src":"15039:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"15059:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15032:6:31"},"nodeType":"YulFunctionCall","src":"15032:34:31"},"nodeType":"YulExpressionStatement","src":"15032:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14800:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14811:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14819:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14827:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14835:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14846:4:31","type":""}],"src":"14674:398:31"},{"body":{"nodeType":"YulBlock","src":"15109:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15126:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15133:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"15138:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15129:3:31"},"nodeType":"YulFunctionCall","src":"15129:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15119:6:31"},"nodeType":"YulFunctionCall","src":"15119:31:31"},"nodeType":"YulExpressionStatement","src":"15119:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15166:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"15169:4:31","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15159:6:31"},"nodeType":"YulFunctionCall","src":"15159:15:31"},"nodeType":"YulExpressionStatement","src":"15159:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15190:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15193:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15183:6:31"},"nodeType":"YulFunctionCall","src":"15183:15:31"},"nodeType":"YulExpressionStatement","src":"15183:15:31"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"15077:127:31"},{"body":{"nodeType":"YulBlock","src":"15257:77:31","statements":[{"nodeType":"YulAssignment","src":"15267:16:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15278:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"15281:1:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15274:3:31"},"nodeType":"YulFunctionCall","src":"15274:9:31"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"15267:3:31"}]},{"body":{"nodeType":"YulBlock","src":"15306:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"15308:16:31"},"nodeType":"YulFunctionCall","src":"15308:18:31"},"nodeType":"YulExpressionStatement","src":"15308:18:31"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"15298:1:31"},{"name":"sum","nodeType":"YulIdentifier","src":"15301:3:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15295:2:31"},"nodeType":"YulFunctionCall","src":"15295:10:31"},"nodeType":"YulIf","src":"15292:36:31"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15240:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"15243:1:31","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"15249:3:31","type":""}],"src":"15209:125:31"},{"body":{"nodeType":"YulBlock","src":"15513:177:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15530:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15541:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15523:6:31"},"nodeType":"YulFunctionCall","src":"15523:21:31"},"nodeType":"YulExpressionStatement","src":"15523:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15564:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15575:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15560:3:31"},"nodeType":"YulFunctionCall","src":"15560:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"15580:2:31","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15553:6:31"},"nodeType":"YulFunctionCall","src":"15553:30:31"},"nodeType":"YulExpressionStatement","src":"15553:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15603:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15614:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15599:3:31"},"nodeType":"YulFunctionCall","src":"15599:18:31"},{"hexValue":"536166654d6174683a206164646974696f6e206f766572666c6f77","kind":"string","nodeType":"YulLiteral","src":"15619:29:31","type":"","value":"SafeMath: addition overflow"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15592:6:31"},"nodeType":"YulFunctionCall","src":"15592:57:31"},"nodeType":"YulExpressionStatement","src":"15592:57:31"},{"nodeType":"YulAssignment","src":"15658:26:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15670:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15681:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15666:3:31"},"nodeType":"YulFunctionCall","src":"15666:18:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15658:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15490:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15504:4:31","type":""}],"src":"15339:351:31"},{"body":{"nodeType":"YulBlock","src":"15869:227:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15886:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15897:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15879:6:31"},"nodeType":"YulFunctionCall","src":"15879:21:31"},"nodeType":"YulExpressionStatement","src":"15879:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15920:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15931:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15916:3:31"},"nodeType":"YulFunctionCall","src":"15916:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"15936:2:31","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15909:6:31"},"nodeType":"YulFunctionCall","src":"15909:30:31"},"nodeType":"YulExpressionStatement","src":"15909:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15959:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"15970:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15955:3:31"},"nodeType":"YulFunctionCall","src":"15955:18:31"},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f206164","kind":"string","nodeType":"YulLiteral","src":"15975:34:31","type":"","value":"ERC20: transfer from the zero ad"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15948:6:31"},"nodeType":"YulFunctionCall","src":"15948:62:31"},"nodeType":"YulExpressionStatement","src":"15948:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16030:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16041:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16026:3:31"},"nodeType":"YulFunctionCall","src":"16026:18:31"},{"hexValue":"6472657373","kind":"string","nodeType":"YulLiteral","src":"16046:7:31","type":"","value":"dress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16019:6:31"},"nodeType":"YulFunctionCall","src":"16019:35:31"},"nodeType":"YulExpressionStatement","src":"16019:35:31"},{"nodeType":"YulAssignment","src":"16063:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16075:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16086:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16071:3:31"},"nodeType":"YulFunctionCall","src":"16071:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16063:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15846:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15860:4:31","type":""}],"src":"15695:401:31"},{"body":{"nodeType":"YulBlock","src":"16275:225:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16292:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16303:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16285:6:31"},"nodeType":"YulFunctionCall","src":"16285:21:31"},"nodeType":"YulExpressionStatement","src":"16285:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16326:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16337:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16322:3:31"},"nodeType":"YulFunctionCall","src":"16322:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"16342:2:31","type":"","value":"35"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16315:6:31"},"nodeType":"YulFunctionCall","src":"16315:30:31"},"nodeType":"YulExpressionStatement","src":"16315:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16365:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16376:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16361:3:31"},"nodeType":"YulFunctionCall","src":"16361:18:31"},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472","kind":"string","nodeType":"YulLiteral","src":"16381:34:31","type":"","value":"ERC20: transfer to the zero addr"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16354:6:31"},"nodeType":"YulFunctionCall","src":"16354:62:31"},"nodeType":"YulExpressionStatement","src":"16354:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16436:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16447:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16432:3:31"},"nodeType":"YulFunctionCall","src":"16432:18:31"},{"hexValue":"657373","kind":"string","nodeType":"YulLiteral","src":"16452:5:31","type":"","value":"ess"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16425:6:31"},"nodeType":"YulFunctionCall","src":"16425:33:31"},"nodeType":"YulExpressionStatement","src":"16425:33:31"},{"nodeType":"YulAssignment","src":"16467:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16479:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16490:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16475:3:31"},"nodeType":"YulFunctionCall","src":"16475:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16467:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16252:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16266:4:31","type":""}],"src":"16101:399:31"},{"body":{"nodeType":"YulBlock","src":"16554:79:31","statements":[{"nodeType":"YulAssignment","src":"16564:17:31","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16576:1:31"},{"name":"y","nodeType":"YulIdentifier","src":"16579:1:31"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16572:3:31"},"nodeType":"YulFunctionCall","src":"16572:9:31"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"16564:4:31"}]},{"body":{"nodeType":"YulBlock","src":"16605:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16607:16:31"},"nodeType":"YulFunctionCall","src":"16607:18:31"},"nodeType":"YulExpressionStatement","src":"16607:18:31"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"16596:4:31"},{"name":"x","nodeType":"YulIdentifier","src":"16602:1:31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16593:2:31"},"nodeType":"YulFunctionCall","src":"16593:11:31"},"nodeType":"YulIf","src":"16590:37:31"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"16536:1:31","type":""},{"name":"y","nodeType":"YulTypedName","src":"16539:1:31","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"16545:4:31","type":""}],"src":"16505:128:31"},{"body":{"nodeType":"YulBlock","src":"16812:223:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16829:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16840:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16822:6:31"},"nodeType":"YulFunctionCall","src":"16822:21:31"},"nodeType":"YulExpressionStatement","src":"16822:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16863:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16874:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16859:3:31"},"nodeType":"YulFunctionCall","src":"16859:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"16879:2:31","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16852:6:31"},"nodeType":"YulFunctionCall","src":"16852:30:31"},"nodeType":"YulExpressionStatement","src":"16852:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16902:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16913:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16898:3:31"},"nodeType":"YulFunctionCall","src":"16898:18:31"},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f20616464726573","kind":"string","nodeType":"YulLiteral","src":"16918:34:31","type":"","value":"ERC20: burn from the zero addres"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16891:6:31"},"nodeType":"YulFunctionCall","src":"16891:62:31"},"nodeType":"YulExpressionStatement","src":"16891:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16973:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"16984:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16969:3:31"},"nodeType":"YulFunctionCall","src":"16969:18:31"},{"hexValue":"73","kind":"string","nodeType":"YulLiteral","src":"16989:3:31","type":"","value":"s"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16962:6:31"},"nodeType":"YulFunctionCall","src":"16962:31:31"},"nodeType":"YulExpressionStatement","src":"16962:31:31"},{"nodeType":"YulAssignment","src":"17002:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17014:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"17025:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17010:3:31"},"nodeType":"YulFunctionCall","src":"17010:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17002:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16789:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16803:4:31","type":""}],"src":"16638:397:31"},{"body":{"nodeType":"YulBlock","src":"17121:464:31","statements":[{"body":{"nodeType":"YulBlock","src":"17154:425:31","statements":[{"nodeType":"YulVariableDeclaration","src":"17168:11:31","value":{"kind":"number","nodeType":"YulLiteral","src":"17178:1:31","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17172:2:31","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17199:2:31"},{"name":"array","nodeType":"YulIdentifier","src":"17203:5:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17192:6:31"},"nodeType":"YulFunctionCall","src":"17192:17:31"},"nodeType":"YulExpressionStatement","src":"17192:17:31"},{"nodeType":"YulVariableDeclaration","src":"17222:31:31","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17244:2:31"},{"kind":"number","nodeType":"YulLiteral","src":"17248:4:31","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"17234:9:31"},"nodeType":"YulFunctionCall","src":"17234:19:31"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"17226:4:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17266:57:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17289:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17299:1:31","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"17306:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"17318:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17302:3:31"},"nodeType":"YulFunctionCall","src":"17302:19:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"17295:3:31"},"nodeType":"YulFunctionCall","src":"17295:27:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17285:3:31"},"nodeType":"YulFunctionCall","src":"17285:38:31"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"17270:11:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"17360:23:31","statements":[{"nodeType":"YulAssignment","src":"17362:19:31","value":{"name":"data","nodeType":"YulIdentifier","src":"17377:4:31"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"17362:11:31"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"17342:10:31"},{"kind":"number","nodeType":"YulLiteral","src":"17354:4:31","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17339:2:31"},"nodeType":"YulFunctionCall","src":"17339:20:31"},"nodeType":"YulIf","src":"17336:47:31"},{"nodeType":"YulVariableDeclaration","src":"17396:41:31","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17410:4:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17420:1:31","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"17427:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"17432:2:31","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17423:3:31"},"nodeType":"YulFunctionCall","src":"17423:12:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"17416:3:31"},"nodeType":"YulFunctionCall","src":"17416:20:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17406:3:31"},"nodeType":"YulFunctionCall","src":"17406:31:31"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"17400:2:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"17450:24:31","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"17463:11:31"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"17454:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"17548:21:31","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"17557:5:31"},{"name":"_1","nodeType":"YulIdentifier","src":"17564:2:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"17550:6:31"},"nodeType":"YulFunctionCall","src":"17550:17:31"},"nodeType":"YulExpressionStatement","src":"17550:17:31"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"17498:5:31"},{"name":"_2","nodeType":"YulIdentifier","src":"17505:2:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17495:2:31"},"nodeType":"YulFunctionCall","src":"17495:13:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"17509:26:31","statements":[{"nodeType":"YulAssignment","src":"17511:22:31","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"17524:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"17531:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17520:3:31"},"nodeType":"YulFunctionCall","src":"17520:13:31"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"17511:5:31"}]}]},"pre":{"nodeType":"YulBlock","src":"17491:3:31","statements":[]},"src":"17487:82:31"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"17137:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"17142:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17134:2:31"},"nodeType":"YulFunctionCall","src":"17134:11:31"},"nodeType":"YulIf","src":"17131:448:31"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"17093:5:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"17100:3:31","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"17105:10:31","type":""}],"src":"17040:545:31"},{"body":{"nodeType":"YulBlock","src":"17675:81:31","statements":[{"nodeType":"YulAssignment","src":"17685:65:31","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"17700:4:31"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17718:1:31","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"17721:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17714:3:31"},"nodeType":"YulFunctionCall","src":"17714:11:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17731:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"17727:3:31"},"nodeType":"YulFunctionCall","src":"17727:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"17710:3:31"},"nodeType":"YulFunctionCall","src":"17710:24:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"17706:3:31"},"nodeType":"YulFunctionCall","src":"17706:29:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17696:3:31"},"nodeType":"YulFunctionCall","src":"17696:40:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17742:1:31","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"17745:3:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17738:3:31"},"nodeType":"YulFunctionCall","src":"17738:11:31"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"17693:2:31"},"nodeType":"YulFunctionCall","src":"17693:57:31"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"17685:4:31"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"17652:4:31","type":""},{"name":"len","nodeType":"YulTypedName","src":"17658:3:31","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"17666:4:31","type":""}],"src":"17590:166:31"},{"body":{"nodeType":"YulBlock","src":"17857:1256:31","statements":[{"nodeType":"YulVariableDeclaration","src":"17867:24:31","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17887:3:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17881:5:31"},"nodeType":"YulFunctionCall","src":"17881:10:31"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"17871:6:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"17934:22:31","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"17936:16:31"},"nodeType":"YulFunctionCall","src":"17936:18:31"},"nodeType":"YulExpressionStatement","src":"17936:18:31"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"17906:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"17914:18:31","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17903:2:31"},"nodeType":"YulFunctionCall","src":"17903:30:31"},"nodeType":"YulIf","src":"17900:56:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"18009:4:31"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"18047:4:31"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"18041:5:31"},"nodeType":"YulFunctionCall","src":"18041:11:31"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"18015:25:31"},"nodeType":"YulFunctionCall","src":"18015:38:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"18055:6:31"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"17965:43:31"},"nodeType":"YulFunctionCall","src":"17965:97:31"},"nodeType":"YulExpressionStatement","src":"17965:97:31"},{"nodeType":"YulVariableDeclaration","src":"18071:18:31","value":{"kind":"number","nodeType":"YulLiteral","src":"18088:1:31","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"18075:9:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18098:23:31","value":{"kind":"number","nodeType":"YulLiteral","src":"18117:4:31","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"18102:11:31","type":""}]},{"nodeType":"YulAssignment","src":"18130:24:31","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"18143:11:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"18130:9:31"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"18200:656:31","statements":[{"nodeType":"YulVariableDeclaration","src":"18214:35:31","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"18233:6:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18245:2:31","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18241:3:31"},"nodeType":"YulFunctionCall","src":"18241:7:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18229:3:31"},"nodeType":"YulFunctionCall","src":"18229:20:31"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"18218:7:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18262:49:31","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"18306:4:31"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"18276:29:31"},"nodeType":"YulFunctionCall","src":"18276:35:31"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"18266:6:31","type":""}]},{"nodeType":"YulVariableDeclaration","src":"18324:10:31","value":{"kind":"number","nodeType":"YulLiteral","src":"18333:1:31","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"18328:1:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"18411:172:31","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18436:6:31"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18454:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"18459:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18450:3:31"},"nodeType":"YulFunctionCall","src":"18450:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18444:5:31"},"nodeType":"YulFunctionCall","src":"18444:26:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18429:6:31"},"nodeType":"YulFunctionCall","src":"18429:42:31"},"nodeType":"YulExpressionStatement","src":"18429:42:31"},{"nodeType":"YulAssignment","src":"18488:24:31","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18502:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"18510:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18498:3:31"},"nodeType":"YulFunctionCall","src":"18498:14:31"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18488:6:31"}]},{"nodeType":"YulAssignment","src":"18529:40:31","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"18546:9:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"18557:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18542:3:31"},"nodeType":"YulFunctionCall","src":"18542:27:31"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"18529:9:31"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18358:1:31"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"18361:7:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18355:2:31"},"nodeType":"YulFunctionCall","src":"18355:14:31"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"18370:28:31","statements":[{"nodeType":"YulAssignment","src":"18372:24:31","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18381:1:31"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"18384:11:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18377:3:31"},"nodeType":"YulFunctionCall","src":"18377:19:31"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"18372:1:31"}]}]},"pre":{"nodeType":"YulBlock","src":"18351:3:31","statements":[]},"src":"18347:236:31"},{"body":{"nodeType":"YulBlock","src":"18631:166:31","statements":[{"nodeType":"YulVariableDeclaration","src":"18649:43:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18676:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"18681:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18672:3:31"},"nodeType":"YulFunctionCall","src":"18672:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18666:5:31"},"nodeType":"YulFunctionCall","src":"18666:26:31"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"18653:9:31","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"18716:6:31"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"18728:9:31"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18755:1:31","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"18758:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18751:3:31"},"nodeType":"YulFunctionCall","src":"18751:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"18767:3:31","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18747:3:31"},"nodeType":"YulFunctionCall","src":"18747:24:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18777:1:31","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18773:3:31"},"nodeType":"YulFunctionCall","src":"18773:6:31"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"18743:3:31"},"nodeType":"YulFunctionCall","src":"18743:37:31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18739:3:31"},"nodeType":"YulFunctionCall","src":"18739:42:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18724:3:31"},"nodeType":"YulFunctionCall","src":"18724:58:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18709:6:31"},"nodeType":"YulFunctionCall","src":"18709:74:31"},"nodeType":"YulExpressionStatement","src":"18709:74:31"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"18602:7:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"18611:6:31"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18599:2:31"},"nodeType":"YulFunctionCall","src":"18599:19:31"},"nodeType":"YulIf","src":"18596:201:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"18817:4:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18831:1:31","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"18834:6:31"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18827:3:31"},"nodeType":"YulFunctionCall","src":"18827:14:31"},{"kind":"number","nodeType":"YulLiteral","src":"18843:1:31","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18823:3:31"},"nodeType":"YulFunctionCall","src":"18823:22:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"18810:6:31"},"nodeType":"YulFunctionCall","src":"18810:36:31"},"nodeType":"YulExpressionStatement","src":"18810:36:31"}]},"nodeType":"YulCase","src":"18193:663:31","value":{"kind":"number","nodeType":"YulLiteral","src":"18198:1:31","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"18873:234:31","statements":[{"nodeType":"YulVariableDeclaration","src":"18887:14:31","value":{"kind":"number","nodeType":"YulLiteral","src":"18900:1:31","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18891:5:31","type":""}]},{"body":{"nodeType":"YulBlock","src":"18936:67:31","statements":[{"nodeType":"YulAssignment","src":"18954:35:31","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"18973:3:31"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"18978:9:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18969:3:31"},"nodeType":"YulFunctionCall","src":"18969:19:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18963:5:31"},"nodeType":"YulFunctionCall","src":"18963:26:31"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"18954:5:31"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"18917:6:31"},"nodeType":"YulIf","src":"18914:89:31"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"19023:4:31"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19082:5:31"},{"name":"newLen","nodeType":"YulIdentifier","src":"19089:6:31"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"19029:52:31"},"nodeType":"YulFunctionCall","src":"19029:67:31"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"19016:6:31"},"nodeType":"YulFunctionCall","src":"19016:81:31"},"nodeType":"YulExpressionStatement","src":"19016:81:31"}]},"nodeType":"YulCase","src":"18865:242:31","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"18173:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"18181:2:31","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18170:2:31"},"nodeType":"YulFunctionCall","src":"18170:14:31"},"nodeType":"YulSwitch","src":"18163:944:31"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"17842:4:31","type":""},{"name":"src","nodeType":"YulTypedName","src":"17848:3:31","type":""}],"src":"17761:1352:31"},{"body":{"nodeType":"YulBlock","src":"19331:276:31","statements":[{"nodeType":"YulAssignment","src":"19341:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19353:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19364:3:31","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19349:3:31"},"nodeType":"YulFunctionCall","src":"19349:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19341:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19384:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"19395:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19377:6:31"},"nodeType":"YulFunctionCall","src":"19377:25:31"},"nodeType":"YulExpressionStatement","src":"19377:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19422:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19433:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19418:3:31"},"nodeType":"YulFunctionCall","src":"19418:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"19438:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19411:6:31"},"nodeType":"YulFunctionCall","src":"19411:34:31"},"nodeType":"YulExpressionStatement","src":"19411:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19465:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19476:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19461:3:31"},"nodeType":"YulFunctionCall","src":"19461:18:31"},{"name":"value2","nodeType":"YulIdentifier","src":"19481:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19454:6:31"},"nodeType":"YulFunctionCall","src":"19454:34:31"},"nodeType":"YulExpressionStatement","src":"19454:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19508:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19519:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19504:3:31"},"nodeType":"YulFunctionCall","src":"19504:18:31"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"19528:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19544:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"19549:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19540:3:31"},"nodeType":"YulFunctionCall","src":"19540:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"19553:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19536:3:31"},"nodeType":"YulFunctionCall","src":"19536:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19524:3:31"},"nodeType":"YulFunctionCall","src":"19524:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19497:6:31"},"nodeType":"YulFunctionCall","src":"19497:60:31"},"nodeType":"YulExpressionStatement","src":"19497:60:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19577:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"19588:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19573:3:31"},"nodeType":"YulFunctionCall","src":"19573:19:31"},{"name":"value4","nodeType":"YulIdentifier","src":"19594:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19566:6:31"},"nodeType":"YulFunctionCall","src":"19566:35:31"},"nodeType":"YulExpressionStatement","src":"19566:35:31"}]},"name":"abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19268:9:31","type":""},{"name":"value4","nodeType":"YulTypedName","src":"19279:6:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"19287:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"19295:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"19303:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19311:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19322:4:31","type":""}],"src":"19118:489:31"},{"body":{"nodeType":"YulBlock","src":"19852:238:31","statements":[{"nodeType":"YulVariableDeclaration","src":"19862:27:31","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19882:6:31"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"19876:5:31"},"nodeType":"YulFunctionCall","src":"19876:13:31"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"19866:6:31","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"19937:6:31"},{"kind":"number","nodeType":"YulLiteral","src":"19945:4:31","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19933:3:31"},"nodeType":"YulFunctionCall","src":"19933:17:31"},{"name":"pos","nodeType":"YulIdentifier","src":"19952:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"19957:6:31"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"19898:34:31"},"nodeType":"YulFunctionCall","src":"19898:66:31"},"nodeType":"YulExpressionStatement","src":"19898:66:31"},{"nodeType":"YulVariableDeclaration","src":"19973:29:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19990:3:31"},{"name":"length","nodeType":"YulIdentifier","src":"19995:6:31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19986:3:31"},"nodeType":"YulFunctionCall","src":"19986:16:31"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"19977:5:31","type":""}]},{"expression":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"20018:5:31"},{"hexValue":"3a20494e53554646494349454e545f5045524d495353494f4e53","kind":"string","nodeType":"YulLiteral","src":"20025:28:31","type":"","value":": INSUFFICIENT_PERMISSIONS"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20011:6:31"},"nodeType":"YulFunctionCall","src":"20011:43:31"},"nodeType":"YulExpressionStatement","src":"20011:43:31"},{"nodeType":"YulAssignment","src":"20063:21:31","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"20074:5:31"},{"kind":"number","nodeType":"YulLiteral","src":"20081:2:31","type":"","value":"26"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20070:3:31"},"nodeType":"YulFunctionCall","src":"20070:14:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20063:3:31"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"19828:3:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"19833:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"19844:3:31","type":""}],"src":"19612:478:31"},{"body":{"nodeType":"YulBlock","src":"20280:232:31","statements":[{"nodeType":"YulAssignment","src":"20290:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20302:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20313:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20298:3:31"},"nodeType":"YulFunctionCall","src":"20298:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20290:4:31"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20333:9:31"},{"name":"value0","nodeType":"YulIdentifier","src":"20344:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20326:6:31"},"nodeType":"YulFunctionCall","src":"20326:25:31"},"nodeType":"YulExpressionStatement","src":"20326:25:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20371:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20382:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20367:3:31"},"nodeType":"YulFunctionCall","src":"20367:18:31"},{"name":"value1","nodeType":"YulIdentifier","src":"20387:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20360:6:31"},"nodeType":"YulFunctionCall","src":"20360:34:31"},"nodeType":"YulExpressionStatement","src":"20360:34:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20414:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20425:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20410:3:31"},"nodeType":"YulFunctionCall","src":"20410:18:31"},{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"20434:6:31"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20450:3:31","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20455:1:31","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20446:3:31"},"nodeType":"YulFunctionCall","src":"20446:11:31"},{"kind":"number","nodeType":"YulLiteral","src":"20459:1:31","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20442:3:31"},"nodeType":"YulFunctionCall","src":"20442:19:31"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20430:3:31"},"nodeType":"YulFunctionCall","src":"20430:32:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20403:6:31"},"nodeType":"YulFunctionCall","src":"20403:60:31"},"nodeType":"YulExpressionStatement","src":"20403:60:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20483:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"20494:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20479:3:31"},"nodeType":"YulFunctionCall","src":"20479:18:31"},{"name":"value3","nodeType":"YulIdentifier","src":"20499:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20472:6:31"},"nodeType":"YulFunctionCall","src":"20472:34:31"},"nodeType":"YulExpressionStatement","src":"20472:34:31"}]},"name":"abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20225:9:31","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20236:6:31","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20244:6:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20252:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20260:6:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20271:4:31","type":""}],"src":"20095:417:31"},{"body":{"nodeType":"YulBlock","src":"20765:144:31","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20782:3:31"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20791:3:31","type":"","value":"240"},{"kind":"number","nodeType":"YulLiteral","src":"20796:4:31","type":"","value":"6401"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20787:3:31"},"nodeType":"YulFunctionCall","src":"20787:14:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20775:6:31"},"nodeType":"YulFunctionCall","src":"20775:27:31"},"nodeType":"YulExpressionStatement","src":"20775:27:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20822:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"20827:1:31","type":"","value":"2"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20818:3:31"},"nodeType":"YulFunctionCall","src":"20818:11:31"},{"name":"value0","nodeType":"YulIdentifier","src":"20831:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20811:6:31"},"nodeType":"YulFunctionCall","src":"20811:27:31"},"nodeType":"YulExpressionStatement","src":"20811:27:31"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20858:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"20863:2:31","type":"","value":"34"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20854:3:31"},"nodeType":"YulFunctionCall","src":"20854:12:31"},{"name":"value1","nodeType":"YulIdentifier","src":"20868:6:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20847:6:31"},"nodeType":"YulFunctionCall","src":"20847:28:31"},"nodeType":"YulExpressionStatement","src":"20847:28:31"},{"nodeType":"YulAssignment","src":"20884:19:31","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20895:3:31"},{"kind":"number","nodeType":"YulLiteral","src":"20900:2:31","type":"","value":"66"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20891:3:31"},"nodeType":"YulFunctionCall","src":"20891:12:31"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20884:3:31"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"20733:3:31","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20738:6:31","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20746:6:31","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"20757:3:31","type":""}],"src":"20517:392:31"},{"body":{"nodeType":"YulBlock","src":"21088:224:31","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21105:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21116:2:31","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21098:6:31"},"nodeType":"YulFunctionCall","src":"21098:21:31"},"nodeType":"YulExpressionStatement","src":"21098:21:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21139:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21150:2:31","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21135:3:31"},"nodeType":"YulFunctionCall","src":"21135:18:31"},{"kind":"number","nodeType":"YulLiteral","src":"21155:2:31","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21128:6:31"},"nodeType":"YulFunctionCall","src":"21128:30:31"},"nodeType":"YulExpressionStatement","src":"21128:30:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21178:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21189:2:31","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21174:3:31"},"nodeType":"YulFunctionCall","src":"21174:18:31"},{"hexValue":"456e756d657261626c655365743a20696e646578206f7574206f6620626f756e","kind":"string","nodeType":"YulLiteral","src":"21194:34:31","type":"","value":"EnumerableSet: index out of boun"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21167:6:31"},"nodeType":"YulFunctionCall","src":"21167:62:31"},"nodeType":"YulExpressionStatement","src":"21167:62:31"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21249:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21260:2:31","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21245:3:31"},"nodeType":"YulFunctionCall","src":"21245:18:31"},{"hexValue":"6473","kind":"string","nodeType":"YulLiteral","src":"21265:4:31","type":"","value":"ds"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21238:6:31"},"nodeType":"YulFunctionCall","src":"21238:32:31"},"nodeType":"YulExpressionStatement","src":"21238:32:31"},{"nodeType":"YulAssignment","src":"21279:27:31","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21291:9:31"},{"kind":"number","nodeType":"YulLiteral","src":"21302:3:31","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21287:3:31"},"nodeType":"YulFunctionCall","src":"21287:19:31"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21279:4:31"}]}]},"name":"abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21065:9:31","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21079:4:31","type":""}],"src":"20914:398:31"},{"body":{"nodeType":"YulBlock","src":"21349:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21366:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21373:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"21378:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21369:3:31"},"nodeType":"YulFunctionCall","src":"21369:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21359:6:31"},"nodeType":"YulFunctionCall","src":"21359:31:31"},"nodeType":"YulExpressionStatement","src":"21359:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21406:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"21409:4:31","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21399:6:31"},"nodeType":"YulFunctionCall","src":"21399:15:31"},"nodeType":"YulExpressionStatement","src":"21399:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21430:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21433:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21423:6:31"},"nodeType":"YulFunctionCall","src":"21423:15:31"},"nodeType":"YulExpressionStatement","src":"21423:15:31"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"21317:127:31"},{"body":{"nodeType":"YulBlock","src":"21481:95:31","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21498:1:31","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21505:3:31","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"21510:10:31","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21501:3:31"},"nodeType":"YulFunctionCall","src":"21501:20:31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21491:6:31"},"nodeType":"YulFunctionCall","src":"21491:31:31"},"nodeType":"YulExpressionStatement","src":"21491:31:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21538:1:31","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"21541:4:31","type":"","value":"0x31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21531:6:31"},"nodeType":"YulFunctionCall","src":"21531:15:31"},"nodeType":"YulExpressionStatement","src":"21531:15:31"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21562:1:31","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21565:4:31","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21555:6:31"},"nodeType":"YulFunctionCall","src":"21555:15:31"},"nodeType":"YulExpressionStatement","src":"21555:15:31"}]},"name":"panic_error_0x31","nodeType":"YulFunctionDefinition","src":"21449:127:31"}]},"contents":"{\n { }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_bytes32t_bytes32t_uint8(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value1 := memPtr\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n value4 := abi_decode_uint8(add(headStart, 128))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n value4 := abi_decode_uint8(add(headStart, 64))\n value5 := abi_decode_address(add(headStart, 96))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_a1a5cd4826a8c5c8495a3bcd7f31593c1559fab8207afc024ed2a3f3fa2bbbda__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"Signer and signature do not matc\")\n mstore(add(headStart, 96), \"h\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_address_payable_t_bytes_memory_ptr__to_t_address_t_address_payable_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr_t_address__to_t_bytes_memory_ptr_t_address__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n end := add(end_1, 20)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_252c5ced876035ca494247886f306ca28e657c00a8dddfa582879b480dd9feb3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Function call not successful\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0ba7116025f1ef6b158a2bd2238e617f30e17c9e456917d901086ca4f8ad2811__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to grant\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_tuple_t_string_storage__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n mstore(add(headStart, _1), length)\n let _2 := 64\n let _3 := 1\n switch and(slotValue, _3)\n case 0 {\n mstore(add(headStart, _2), and(slotValue, not(255)))\n ret := add(add(headStart, shl(5, iszero(iszero(length)))), _2)\n }\n case 1 {\n mstore(0, value0)\n let dataPos := keccak256(0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), _2), sload(dataPos))\n dataPos := add(dataPos, _3)\n }\n ret := add(add(headStart, i), _2)\n }\n tail := ret\n }\n function abi_encode_tuple_t_stringliteral_64344570eab7406ca49d34d38bf2b2496dfda914405390c5057c8b0aabf798a3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 48)\n mstore(add(headStart, 64), \"AccessControl: sender must be an\")\n mstore(add(headStart, 96), \" admin to revoke\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c836bf9f3947c9876de8c644d798f6140c852800d860d9e205ff2891ae4a0247__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"already inited\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_1627c55b822ab07f561918fe456c74b6174e87dd494f39b9fa7b3eab328bce93_t_string_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"Child\")\n calldatacopy(add(pos, 5), value0, value1)\n let _1 := add(add(pos, value1), 5)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_677c3aff34a7c44a5c4470b26f7bc0d31cbb2b3473b145bc518ea22bfc186273__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"NativeMetaTransaction: INVALID_S\")\n mstore(add(headStart, 96), \"IGNER\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"SafeMath: addition overflow\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_bytes32_t_address_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n mstore(add(headStart, 128), value4)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_08f34defa716a1c7b0586c8cabbda16251d4ba209505eff6a916dbc6656404a7__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, \": INSUFFICIENT_PERMISSIONS\")\n end := add(end_1, 26)\n }\n function abi_encode_tuple_t_bytes32_t_uint256_t_address_t_bytes32__to_t_bytes32_t_uint256_t_address_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), and(value2, sub(shl(160, 1), 1)))\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_packed_t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, shl(240, 6401))\n mstore(add(pos, 2), value0)\n mstore(add(pos, 34), value1)\n end := add(pos, 66)\n }\n function abi_encode_tuple_t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"EnumerableSet: index out of boun\")\n mstore(add(headStart, 96), \"ds\")\n tail := add(headStart, 128)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x31()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n}","id":31,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106101f95760003560e01c80634e6ec2471161010d578063a217fddf116100a0578063ca15c8731161006f578063ca15c873146105fa578063cf2c52cb1461061a578063d547741f1461063a578063dd62ed3e1461065a578063de7ea79d146106a057600080fd5b8063a217fddf14610571578063a3b0b5a314610586578063a457c2d7146105ba578063a9059cbb146105da57600080fd5b80638acfcaf7116100dc5780638acfcaf7146104ef5780639010d07c1461050457806391d148541461053c57806395d89b411461055c57600080fd5b80634e6ec247146104645780635353a2d814610484578063626381a0146104a457806370a08231146104b957600080fd5b806323b872dd116101905780632f2ff15d1161015f5780632f2ff15d146103cf578063313ce567146103ef5780633408e4701461041157806336568abe14610424578063395093511461044457600080fd5b806323b872dd14610327578063248a9ca3146103475780632d0335ab146103775780632e1a7d4d146103ad57600080fd5b80630dd7531a116101cc5780630dd7531a146102995780630f7e5970146102c657806318160ddd146102f357806320379ee51461031257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630b54817c146102595780630c53c51c14610286575b600080fd5b34801561020a57600080fd5b506102136106c0565b6040516102209190611b82565b60405180910390f35b34801561023557600080fd5b50610249610244366004611bb1565b610752565b6040519015158152602001610220565b34801561026557600080fd5b50610213604051806040016040528060018152602001608960f81b81525081565b610213610294366004611c02565b610770565b3480156102a557600080fd5b50610213604051806040016040528060018152602001600160f81b81525081565b3480156102d257600080fd5b50610213604051806040016040528060018152602001603160f81b81525081565b3480156102ff57600080fd5b506002545b604051908152602001610220565b34801561031e57600080fd5b50600954610304565b34801561033357600080fd5b50610249610342366004611ce8565b61095f565b34801561035357600080fd5b50610304610362366004611d24565b60009081526006602052604090206002015490565b34801561038357600080fd5b50610304610392366004611d3d565b6001600160a01b03166000908152600a602052604090205490565b3480156103b957600080fd5b506103cd6103c8366004611d24565b6109e6565b005b3480156103db57600080fd5b506103cd6103ea366004611d58565b6109fa565b3480156103fb57600080fd5b5060055460405160ff9091168152602001610220565b34801561041d57600080fd5b5046610304565b34801561043057600080fd5b506103cd61043f366004611d58565b610a8a565b34801561045057600080fd5b5061024961045f366004611bb1565b610b14565b34801561047057600080fd5b506103cd61047f366004611bb1565b610b62565b34801561049057600080fd5b506103cd61049f366004611dcd565b610c41565b3480156104b057600080fd5b50610304608981565b3480156104c557600080fd5b506103046104d4366004611d3d565b6001600160a01b031660009081526020819052604090205490565b3480156104fb57600080fd5b50610304600181565b34801561051057600080fd5b5061052461051f366004611e0f565b610d0c565b6040516001600160a01b039091168152602001610220565b34801561054857600080fd5b50610249610557366004611d58565b610d2b565b34801561056857600080fd5b50610213610d43565b34801561057d57600080fd5b50610304600081565b34801561059257600080fd5b506103047f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b3480156105c657600080fd5b506102496105d5366004611bb1565b610d52565b3480156105e657600080fd5b506102496105f5366004611bb1565b610dba565b34801561060657600080fd5b50610304610615366004611d24565b610dce565b34801561062657600080fd5b506103cd610635366004611e31565b610de5565b34801561064657600080fd5b506103cd610655366004611d58565b610e54565b34801561066657600080fd5b50610304610675366004611e84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106ac57600080fd5b506103cd6106bb366004611eae565b610ed7565b6060600380546106cf90611f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546106fb90611f3e565b80156107485780601f1061071d57610100808354040283529160200191610748565b820191906000526020600020905b81548152906001019060200180831161072b57829003601f168201915b5050505050905090565b600061076661075f61107b565b848461108a565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526107ae87828787876111af565b6108095760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a602052604090205461082d90600161129f565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061087d90899033908a90611f78565b60405180910390a1600080306001600160a01b0316888a6040516020016108a5929190611fa4565b60408051601f19818403018152908290526108bf91611fdb565b6000604051808303816000865af19150503d80600081146108fc576040519150601f19603f3d011682016040523d82523d6000602084013e610901565b606091505b5091509150816109535760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610800565b98975050505050505050565b600061096c8484846112fe565b6109dc8461097861107b565b6109d785604051806060016040528060288152602001612335602891396001600160a01b038a166000908152600160205260408120906109b661107b565b6001600160a01b031681526020810191909152604001600020549190611481565b61108a565b5060019392505050565b6109f76109f161107b565b826114bb565b50565b600082815260066020526040902060020154610a189061055761107b565b610a7c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b6064820152608401610800565b610a8682826115bf565b5050565b610a9261107b565b6001600160a01b0316816001600160a01b031614610b0a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610800565b610a868282611628565b6000610766610b2161107b565b846109d78560016000610b3261107b565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061129f565b6001600160a01b038216610bb85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610800565b600254610bc5908261129f565b6002556001600160a01b038216600090815260208190526040902054610beb908261129f565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610c4f8161055761107b565b600790610c6f5760405162461bcd60e51b81526004016108009190611ff7565b50610caf83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610d0783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b6020820152915061169d9050565b505050565b6000828152600660205260408120610d249083611724565b9392505050565b6000828152600660205260408120610d249083611730565b6060600480546106cf90611f3e565b6000610766610d5f61107b565b846109d78560405180606001604052806025815260200161235d6025913960016000610d8961107b565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611481565b6000610766610dc761107b565b84846112fe565b600081815260066020526040812061076a90611752565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9610e128161055761107b565b600790610e325760405162461bcd60e51b81526004016108009190611ff7565b506000610e4183850185611d24565b9050610e4d8582610b62565b5050505050565b600082815260066020526040902060020154610e729061055761107b565b610b0a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b6064820152608401610800565b60085460ff1615610f1b5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b610f5a86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610f9984848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061175c92505050565b6005805460ff191660ff8416179055610fd28484604051602001610fbe929190612082565b604051602081830303815290604052611768565b610fe46000610fdf61107b565b610a7c565b61100e7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610a7c565b61106686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b602082015291506117969050565b50506008805460ff1916600117905550505050565b60006110856117f5565b905090565b6001600160a01b0383166110ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610800565b6001600160a01b03821661114d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610800565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166112155760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610800565b600161122861122387611851565b6118ce565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa158015611276573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806112ac83856120b9565b905083811015610d245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610800565b6001600160a01b0383166113625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610800565b6001600160a01b0382166113c45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610800565b6114018160405180606001604052806026815260200161230f602691396001600160a01b0386166000908152602081905260409020549190611481565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611430908261129f565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016111a2565b600081848411156114a55760405162461bcd60e51b81526004016108009190611b82565b5060006114b284866120cc565b95945050505050565b6001600160a01b03821661151b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610800565b6115588160405180606001604052806022815260200161225b602291396001600160a01b0385166000908152602081905260409020549190611481565b6001600160a01b03831660009081526020819052604090205560025461157e90826118fe565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610c35565b60008281526006602052604090206115d79082611940565b15610a86576115e461107b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206116409082611955565b15610a865761164d61107b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610a86828261212d565b6040518060800160405280604f81526020016122c0604f91398051906020012082805190602001208280519060200120306116d54690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b6000610d24838361196a565b6001600160a01b03811660009081526001830160205260408120541515610d24565b600061076a825490565b6004610a86828261212d565b8060405160200161177991906121ed565b60405160208183030381529060405260079081610a86919061212d565b60085460ff16156117da5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b6117e4828261169d565b50506008805460ff19166001179055565b600030330361184b57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061184e9050565b50335b90565b600060405180608001604052806043815260200161227d60439139805160209182012083518483015160408087015180519086012090516118b1950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006118d960095490565b60405161190160f01b60208201526022810191909152604281018390526062016118b1565b6000610d2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611481565b6000610d24836001600160a01b0384166119f0565b6000610d24836001600160a01b038416611a3f565b815460009082106119c85760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610800565b8260000182815481106119dd576119dd61222e565b9060005260206000200154905092915050565b6000818152600183016020526040812054611a375750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561076a565b50600061076a565b60008181526001830160205260408120548015611b28576000611a636001836120cc565b8554909150600090611a77906001906120cc565b90506000866000018281548110611a9057611a9061222e565b9060005260206000200154905080876000018481548110611ab357611ab361222e565b600091825260209091200155611aca8360016120b9565b60008281526001890160205260409020558654879080611aec57611aec612244565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061076a565b600091505061076a565b60005b83811015611b4d578181015183820152602001611b35565b50506000910152565b60008151808452611b6e816020860160208601611b32565b601f01601f19169290920160200192915050565b602081526000610d246020830184611b56565b80356001600160a01b0381168114611bac57600080fd5b919050565b60008060408385031215611bc457600080fd5b611bcd83611b95565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611bac57600080fd5b600080600080600060a08688031215611c1a57600080fd5b611c2386611b95565b9450602086013567ffffffffffffffff80821115611c4057600080fd5b818801915088601f830112611c5457600080fd5b813581811115611c6657611c66611bdb565b604051601f8201601f19908116603f01168101908382118183101715611c8e57611c8e611bdb565b816040528281528b6020848701011115611ca757600080fd5b8260208601602083013760006020848301015280985050505050506040860135925060608601359150611cdc60808701611bf1565b90509295509295909350565b600080600060608486031215611cfd57600080fd5b611d0684611b95565b9250611d1460208501611b95565b9150604084013590509250925092565b600060208284031215611d3657600080fd5b5035919050565b600060208284031215611d4f57600080fd5b610d2482611b95565b60008060408385031215611d6b57600080fd5b82359150611d7b60208401611b95565b90509250929050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b60008060208385031215611de057600080fd5b823567ffffffffffffffff811115611df757600080fd5b611e0385828601611d84565b90969095509350505050565b60008060408385031215611e2257600080fd5b50508035926020909101359150565b600080600060408486031215611e4657600080fd5b611e4f84611b95565b9250602084013567ffffffffffffffff811115611e6b57600080fd5b611e7786828701611d84565b9497909650939450505050565b60008060408385031215611e9757600080fd5b611ea083611b95565b9150611d7b60208401611b95565b60008060008060008060808789031215611ec757600080fd5b863567ffffffffffffffff80821115611edf57600080fd5b611eeb8a838b01611d84565b90985096506020890135915080821115611f0457600080fd5b50611f1189828a01611d84565b9095509350611f24905060408801611bf1565b9150611f3260608801611b95565b90509295509295509295565b600181811c90821680611f5257607f821691505b602082108103611f7257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038481168252831660208201526060604082018190526000906114b290830184611b56565b60008351611fb6818460208801611b32565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b60008251611fed818460208701611b32565b9190910192915050565b600060208083526000845461200b81611f3e565b8084870152604060018084166000811461202c576001811461204657612074565b60ff1985168984015283151560051b890183019550612074565b896000528660002060005b8581101561206c5781548b8201860152908301908801612051565b8a0184019650505b509398975050505050505050565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076a5761076a6120a3565b8181038181111561076a5761076a6120a3565b601f821115610d0757600081815260208120601f850160051c810160208610156121065750805b601f850160051c820191505b8181101561212557828155600101612112565b505050505050565b815167ffffffffffffffff81111561214757612147611bdb565b61215b816121558454611f3e565b846120df565b602080601f83116001811461219057600084156121785750858301515b600019600386901b1c1916600185901b178555612125565b600085815260208120601f198616915b828110156121bf578886015182559484019460019091019084016121a0565b50858210156121dd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516121ff818460208701611b32565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d0e474e7c0e5222b46307228c2ac6d269f0bbebdf353fd3f0134020073f9577f64736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1F9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4E6EC247 GT PUSH2 0x10D JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xCA15C873 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xCA15C873 EQ PUSH2 0x5FA JUMPI DUP1 PUSH4 0xCF2C52CB EQ PUSH2 0x61A JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x63A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x65A JUMPI DUP1 PUSH4 0xDE7EA79D EQ PUSH2 0x6A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x571 JUMPI DUP1 PUSH4 0xA3B0B5A3 EQ PUSH2 0x586 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x5BA JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x5DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8ACFCAF7 GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x8ACFCAF7 EQ PUSH2 0x4EF JUMPI DUP1 PUSH4 0x9010D07C EQ PUSH2 0x504 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x53C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x55C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4E6EC247 EQ PUSH2 0x464 JUMPI DUP1 PUSH4 0x5353A2D8 EQ PUSH2 0x484 JUMPI DUP1 PUSH4 0x626381A0 EQ PUSH2 0x4A4 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x4B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0x190 JUMPI DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x15F JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x3CF JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x3EF JUMPI DUP1 PUSH4 0x3408E470 EQ PUSH2 0x411 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x424 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x444 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x347 JUMPI DUP1 PUSH4 0x2D0335AB EQ PUSH2 0x377 JUMPI DUP1 PUSH4 0x2E1A7D4D EQ PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDD7531A GT PUSH2 0x1CC JUMPI DUP1 PUSH4 0xDD7531A EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0xF7E5970 EQ PUSH2 0x2C6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0x20379EE5 EQ PUSH2 0x312 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0xB54817C EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0xC53C51C EQ PUSH2 0x286 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH2 0x6C0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x220 SWAP2 SWAP1 PUSH2 0x1B82 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x244 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0x752 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x89 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH2 0x213 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x1C02 JUMP JUMPDEST PUSH2 0x770 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x31 PUSH1 0xF8 SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x31E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x9 SLOAD PUSH2 0x304 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x333 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x342 CALLDATASIZE PUSH1 0x4 PUSH2 0x1CE8 JUMP JUMPDEST PUSH2 0x95F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x353 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x362 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D24 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x392 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x3C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D24 JUMP JUMPDEST PUSH2 0x9E6 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x3EA CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0x9FA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x41D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CHAINID PUSH2 0x304 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x430 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x43F CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0xA8A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x450 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x45F CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xB14 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x470 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x47F CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xB62 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x490 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x49F CALLDATASIZE PUSH1 0x4 PUSH2 0x1DCD JUMP JUMPDEST PUSH2 0xC41 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH1 0x89 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x4D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D3D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH1 0x1 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x510 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x524 PUSH2 0x51F CALLDATASIZE PUSH1 0x4 PUSH2 0x1E0F JUMP JUMPDEST PUSH2 0xD0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x220 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x548 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x557 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0xD2B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x568 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x213 PUSH2 0xD43 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH1 0x0 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x592 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x5D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xD52 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x249 PUSH2 0x5F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1BB1 JUMP JUMPDEST PUSH2 0xDBA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x615 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D24 JUMP JUMPDEST PUSH2 0xDCE JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x626 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x635 CALLDATASIZE PUSH1 0x4 PUSH2 0x1E31 JUMP JUMPDEST PUSH2 0xDE5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x646 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x655 CALLDATASIZE PUSH1 0x4 PUSH2 0x1D58 JUMP JUMPDEST PUSH2 0xE54 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x666 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x304 PUSH2 0x675 CALLDATASIZE PUSH1 0x4 PUSH2 0x1E84 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3CD PUSH2 0x6BB CALLDATASIZE PUSH1 0x4 PUSH2 0x1EAE JUMP JUMPDEST PUSH2 0xED7 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x6CF SWAP1 PUSH2 0x1F3E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6FB SWAP1 PUSH2 0x1F3E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x748 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x71D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x748 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x72B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0x75F PUSH2 0x107B JUMP JUMPDEST DUP5 DUP5 PUSH2 0x108A JUMP JUMPDEST POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 DUP2 ADD DUP4 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 SWAP1 DUP2 MSTORE SWAP1 DUP6 SWAP1 KECCAK256 SLOAD DUP5 MSTORE DUP4 ADD MSTORE SWAP2 DUP2 ADD DUP7 SWAP1 MSTORE PUSH2 0x7AE DUP8 DUP3 DUP8 DUP8 DUP8 PUSH2 0x11AF JUMP JUMPDEST PUSH2 0x809 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5369676E657220616E64207369676E617475726520646F206E6F74206D617463 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0xFB SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x82D SWAP1 PUSH1 0x1 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE MLOAD PUSH32 0x5845892132946850460BFF5A0083F71031BC5BF9AADCD40F1DE79423EAC9B10B SWAP1 PUSH2 0x87D SWAP1 DUP10 SWAP1 CALLER SWAP1 DUP11 SWAP1 PUSH2 0x1F78 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x0 DUP1 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 DUP11 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8A5 SWAP3 SWAP2 SWAP1 PUSH2 0x1FA4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE PUSH2 0x8BF SWAP2 PUSH2 0x1FDB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x8FC JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x901 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x953 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756E6374696F6E2063616C6C206E6F74207375636365737366756C00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x96C DUP5 DUP5 DUP5 PUSH2 0x12FE JUMP JUMPDEST PUSH2 0x9DC DUP5 PUSH2 0x978 PUSH2 0x107B JUMP JUMPDEST PUSH2 0x9D7 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x2335 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0x9B6 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH2 0x108A JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x9F7 PUSH2 0x9F1 PUSH2 0x107B JUMP JUMPDEST DUP3 PUSH2 0x14BB JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0xA18 SWAP1 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xA7C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x818591B5A5B881D1BC819DC985B9D PUSH1 0x8A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0xA86 DUP3 DUP3 PUSH2 0x15BF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0xA92 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x44 DUP3 ADD MSTORE PUSH15 0x103937B632B9903337B91039B2B633 PUSH1 0x89 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0xA86 DUP3 DUP3 PUSH2 0x1628 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0xB21 PUSH2 0x107B JUMP JUMPDEST DUP5 PUSH2 0x9D7 DUP6 PUSH1 0x1 PUSH1 0x0 PUSH2 0xB32 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP13 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP1 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xBB8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH2 0xBC5 SWAP1 DUP3 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0xBEB SWAP1 DUP3 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE SWAP3 MLOAD DUP5 DUP2 MSTORE SWAP2 SWAP3 SWAP1 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC4F DUP2 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0xC6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x800 SWAP2 SWAP1 PUSH2 0x1FF7 JUMP JUMPDEST POP PUSH2 0xCAF DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1691 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD07 DUP4 DUP4 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x169D SWAP1 POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xD24 SWAP1 DUP4 PUSH2 0x1724 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0xD24 SWAP1 DUP4 PUSH2 0x1730 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x6CF SWAP1 PUSH2 0x1F3E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0xD5F PUSH2 0x107B JUMP JUMPDEST DUP5 PUSH2 0x9D7 DUP6 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x235D PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x0 PUSH2 0xD89 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP14 AND DUP2 MSTORE SWAP3 MSTORE SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x766 PUSH2 0xDC7 PUSH2 0x107B JUMP JUMPDEST DUP5 DUP5 PUSH2 0x12FE JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x76A SWAP1 PUSH2 0x1752 JUMP JUMPDEST PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 PUSH2 0xE12 DUP2 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x7 SWAP1 PUSH2 0xE32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x800 SWAP2 SWAP1 PUSH2 0x1FF7 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0xE41 DUP4 DUP6 ADD DUP6 PUSH2 0x1D24 JUMP JUMPDEST SWAP1 POP PUSH2 0xE4D DUP6 DUP3 PUSH2 0xB62 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH2 0xE72 SWAP1 PUSH2 0x557 PUSH2 0x107B JUMP JUMPDEST PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x30 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416363657373436F6E74726F6C3A2073656E646572206D75737420626520616E PUSH1 0x44 DUP3 ADD MSTORE PUSH16 0x2061646D696E20746F207265766F6B65 PUSH1 0x80 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xF1B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0xF5A DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x1691 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xF99 DUP5 DUP5 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH2 0x175C SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP5 AND OR SWAP1 SSTORE PUSH2 0xFD2 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xFBE SWAP3 SWAP2 SWAP1 PUSH2 0x2082 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH2 0x1768 JUMP JUMPDEST PUSH2 0xFE4 PUSH1 0x0 PUSH2 0xFDF PUSH2 0x107B JUMP JUMPDEST PUSH2 0xA7C JUMP JUMPDEST PUSH2 0x100E PUSH32 0x8F4F2DA22E8AC8F11E15F9FC141CDDBB5DEEA8800186560ABB6E68C5496619A9 DUP3 PUSH2 0xA7C JUMP JUMPDEST PUSH2 0x1066 DUP7 DUP7 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP2 POP PUSH2 0x1796 SWAP1 POP JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1085 PUSH2 0x17F5 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x10EC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x114D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH2 0x1215 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E61746976654D6574615472616E73616374696F6E3A20494E56414C49445F53 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x24A3A722A9 PUSH1 0xD9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH2 0x1228 PUSH2 0x1223 DUP8 PUSH2 0x1851 JUMP JUMPDEST PUSH2 0x18CE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 DUP4 MSTORE SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF DUP6 AND SWAP1 DUP3 ADD MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1276 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x12AC DUP4 DUP6 PUSH2 0x20B9 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0xD24 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x536166654D6174683A206164646974696F6E206F766572666C6F770000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1362 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x13C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0x1401 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x26 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x230F PUSH1 0x26 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SWAP4 SWAP1 SWAP4 SSTORE SWAP1 DUP5 AND DUP2 MSTORE KECCAK256 SLOAD PUSH2 0x1430 SWAP1 DUP3 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP5 SWAP1 SWAP5 SSTORE MLOAD DUP5 DUP2 MSTORE SWAP1 SWAP3 SWAP2 DUP7 AND SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x11A2 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP5 GT ISZERO PUSH2 0x14A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x800 SWAP2 SWAP1 PUSH2 0x1B82 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x14B2 DUP5 DUP7 PUSH2 0x20CC JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x151B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0x1558 DUP2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x225B PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 SWAP1 PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE PUSH1 0x2 SLOAD PUSH2 0x157E SWAP1 DUP3 PUSH2 0x18FE JUMP JUMPDEST PUSH1 0x2 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xC35 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x15D7 SWAP1 DUP3 PUSH2 0x1940 JUMP JUMPDEST ISZERO PUSH2 0xA86 JUMPI PUSH2 0x15E4 PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x1640 SWAP1 DUP3 PUSH2 0x1955 JUMP JUMPDEST ISZERO PUSH2 0xA86 JUMPI PUSH2 0x164D PUSH2 0x107B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x3 PUSH2 0xA86 DUP3 DUP3 PUSH2 0x212D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4F DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x22C0 PUSH1 0x4F SWAP2 CODECOPY DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 ADDRESS PUSH2 0x16D5 CHAINID SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE DUP6 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x60 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0x9 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 DUP4 PUSH2 0x196A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD ISZERO ISZERO PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x76A DUP3 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x4 PUSH2 0xA86 DUP3 DUP3 PUSH2 0x212D JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1779 SWAP2 SWAP1 PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x7 SWAP1 DUP2 PUSH2 0xA86 SWAP2 SWAP1 PUSH2 0x212D JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x17DA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x185B1C9958591E481A5B9A5D1959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x800 JUMP JUMPDEST PUSH2 0x17E4 DUP3 DUP3 PUSH2 0x169D JUMP JUMPDEST POP POP PUSH1 0x8 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 ADDRESS CALLER SUB PUSH2 0x184B JUMPI PUSH1 0x0 DUP1 CALLDATASIZE DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP POP POP CALLDATASIZE ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0x184E SWAP1 POP JUMP JUMPDEST POP CALLER JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x43 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x227D PUSH1 0x43 SWAP2 CODECOPY DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 DUP4 MLOAD DUP5 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD DUP1 MLOAD SWAP1 DUP7 ADD KECCAK256 SWAP1 MLOAD PUSH2 0x18B1 SWAP6 ADD SWAP4 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x18D9 PUSH1 0x9 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1901 PUSH1 0xF0 SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x22 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x42 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x62 ADD PUSH2 0x18B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x536166654D6174683A207375627472616374696F6E206F766572666C6F770000 DUP2 MSTORE POP PUSH2 0x1481 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x19F0 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1A3F JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x19C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E756D657261626C655365743A20696E646578206F7574206F6620626F756E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6473 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x800 JUMP JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x19DD JUMPI PUSH2 0x19DD PUSH2 0x222E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x1A37 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x76A JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x76A JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x1B28 JUMPI PUSH1 0x0 PUSH2 0x1A63 PUSH1 0x1 DUP4 PUSH2 0x20CC JUMP JUMPDEST DUP6 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x1A77 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x20CC JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP7 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1A90 JUMPI PUSH2 0x1A90 PUSH2 0x222E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1AB3 JUMPI PUSH2 0x1AB3 PUSH2 0x222E JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SSTORE PUSH2 0x1ACA DUP4 PUSH1 0x1 PUSH2 0x20B9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1AEC JUMPI PUSH2 0x1AEC PUSH2 0x2244 JUMP JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x76A JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x76A JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B4D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1B35 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1B6E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1B32 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xD24 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1B56 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1BAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1BC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1BCD DUP4 PUSH2 0x1B95 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x1BAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x1C1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1C23 DUP7 PUSH2 0x1B95 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1C40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1C54 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1C66 JUMPI PUSH2 0x1C66 PUSH2 0x1BDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1C8E JUMPI PUSH2 0x1C8E PUSH2 0x1BDB JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP12 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x1CA7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP9 POP POP POP POP POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH2 0x1CDC PUSH1 0x80 DUP8 ADD PUSH2 0x1BF1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1CFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D06 DUP5 PUSH2 0x1B95 JUMP JUMPDEST SWAP3 POP PUSH2 0x1D14 PUSH1 0x20 DUP6 ADD PUSH2 0x1B95 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D36 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1D4F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD24 DUP3 PUSH2 0x1B95 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1D6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1D7B PUSH1 0x20 DUP5 ADD PUSH2 0x1B95 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x1D96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x1DC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1DE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1DF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E03 DUP6 DUP3 DUP7 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1E46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E4F DUP5 PUSH2 0x1B95 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1E6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1E77 DUP7 DUP3 DUP8 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E97 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1EA0 DUP4 PUSH2 0x1B95 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D7B PUSH1 0x20 DUP5 ADD PUSH2 0x1B95 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x1EC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1EDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1EEB DUP11 DUP4 DUP12 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1F04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F11 DUP10 DUP3 DUP11 ADD PUSH2 0x1D84 JUMP JUMPDEST SWAP1 SWAP6 POP SWAP4 POP PUSH2 0x1F24 SWAP1 POP PUSH1 0x40 DUP9 ADD PUSH2 0x1BF1 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F32 PUSH1 0x60 DUP9 ADD PUSH2 0x1B95 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1F52 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1F72 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND DUP3 MSTORE DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x14B2 SWAP1 DUP4 ADD DUP5 PUSH2 0x1B56 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1FB6 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1B32 JUMP JUMPDEST PUSH1 0x60 SWAP4 SWAP1 SWAP4 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP2 SWAP1 SWAP3 ADD SWAP1 DUP2 MSTORE PUSH1 0x14 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x1FED DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1B32 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE PUSH1 0x0 DUP5 SLOAD PUSH2 0x200B DUP2 PUSH2 0x1F3E JUMP JUMPDEST DUP1 DUP5 DUP8 ADD MSTORE PUSH1 0x40 PUSH1 0x1 DUP1 DUP5 AND PUSH1 0x0 DUP2 EQ PUSH2 0x202C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x2046 JUMPI PUSH2 0x2074 JUMP JUMPDEST PUSH1 0xFF NOT DUP6 AND DUP10 DUP5 ADD MSTORE DUP4 ISZERO ISZERO PUSH1 0x5 SHL DUP10 ADD DUP4 ADD SWAP6 POP PUSH2 0x2074 JUMP JUMPDEST DUP10 PUSH1 0x0 MSTORE DUP7 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x206C JUMPI DUP2 SLOAD DUP12 DUP3 ADD DUP7 ADD MSTORE SWAP1 DUP4 ADD SWAP1 DUP9 ADD PUSH2 0x2051 JUMP JUMPDEST DUP11 ADD DUP5 ADD SWAP7 POP POP JUMPDEST POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH5 0x10DA1A5B19 PUSH1 0xDA SHL DUP2 MSTORE DUP2 DUP4 PUSH1 0x5 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 ADD PUSH1 0x5 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x76A JUMPI PUSH2 0x76A PUSH2 0x20A3 JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x76A JUMPI PUSH2 0x76A PUSH2 0x20A3 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD07 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2106 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2125 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2112 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2147 JUMPI PUSH2 0x2147 PUSH2 0x1BDB JUMP JUMPDEST PUSH2 0x215B DUP2 PUSH2 0x2155 DUP5 SLOAD PUSH2 0x1F3E JUMP JUMPDEST DUP5 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2190 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2178 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2125 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x21BF JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x21A0 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x21DD JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x21FF DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1B32 JUMP JUMPDEST PUSH32 0x3A20494E53554646494349454E545F5045524D495353494F4E53000000000000 SWAP3 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x1A ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x31 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID GASLIMIT MSTORE NUMBER ORIGIN ADDRESS GASPRICE KECCAK256 PUSH3 0x75726E KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E63654D657461 SLOAD PUSH19 0x616E73616374696F6E2875696E74323536206E PUSH16 0x6E63652C616464726573732066726F6D 0x2C PUSH3 0x797465 PUSH20 0x2066756E6374696F6E5369676E61747572652945 0x49 POP CALLDATACOPY BALANCE ORIGIN PREVRANDAO PUSH16 0x6D61696E28737472696E67206E616D65 0x2C PUSH20 0x7472696E672076657273696F6E2C616464726573 PUSH20 0x20766572696679696E67436F6E74726163742C62 PUSH26 0x74657333322073616C742945524332303A207472616E73666572 KECCAK256 PUSH2 0x6D6F PUSH22 0x6E7420657863656564732062616C616E636545524332 ADDRESS GASPRICE KECCAK256 PUSH21 0x72616E7366657220616D6F756E7420657863656564 PUSH20 0x20616C6C6F77616E636545524332303A20646563 PUSH19 0x656173656420616C6C6F77616E63652062656C PUSH16 0x77207A65726FA2646970667358221220 0xD0 0xE4 PUSH21 0xE7C0E5222B46307228C2AC6D269F0BBEBDF353FD3F ADD CALLVALUE MUL STOP PUSH20 0xF9577F64736F6C63430008140033000000000000 ","sourceMap":"48416:2287:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19508:166;;;;;;;;;;-1:-1:-1;19508:166:29;;;;;:::i;:::-;;:::i;:::-;;;1372:14:31;;1365:22;1347:41;;1335:2;1320:18;19508:166:29;1207:187:31;47515:52:29;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;47515:52:29;;;;;45105:1117;;;;;;:::i;:::-;;:::i;47407:51::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;47407:51:29;;;;;47310:43;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;47310:43:29;;;;;18515:98;;;;;;;;;;-1:-1:-1;18594:12:29;;18515:98;;;3269:25:31;;;3257:2;3242:18;18515:98:29;3123:177:31;43354:99:29;;;;;;;;;;-1:-1:-1;43431:15:29;;43354:99;;20134:330;;;;;;;;;;-1:-1:-1;20134:330:29;;;;;:::i;:::-;;:::i;38118:112::-;;;;;;;;;;-1:-1:-1;38118:112:29;;;;;:::i;:::-;38175:7;38201:12;;;:6;:12;;;;;:22;;;;38118:112;46630:105;;;;;;;;;;-1:-1:-1;46630:105:29;;;;;:::i;:::-;-1:-1:-1;;;;;46716:12:29;46683:13;46716:12;;;:6;:12;;;;;;;46630:105;50614:87;;;;;;;;;;-1:-1:-1;50614:87:29;;;;;:::i;:::-;;:::i;:::-;;38480:223;;;;;;;;;;-1:-1:-1;38480:223:29;;;;;:::i;:::-;;:::i;18281:81::-;;;;;;;;;;-1:-1:-1;18346:9:29;;18281:81;;18346:9;;;;4782:36:31;;4770:2;4755:18;18281:81:29;4640:184:31;43459:155:29;;;;;;;;;;-1:-1:-1;43570:9:29;43459:155;;39654:205;;;;;;;;;;-1:-1:-1;39654:205:29;;;;;:::i;:::-;;:::i;20859:215::-;;;;;;;;;;-1:-1:-1;20859:215:29;;;;;:::i;:::-;;:::i;23115:369::-;;;;;;;;;;-1:-1:-1;23115:369:29;;;;;:::i;:::-;;:::i;49612:160::-;;;;;;;;;;-1:-1:-1;49612:160:29;;;;;:::i;:::-;;:::i;47465:44::-;;;;;;;;;;;;47506:3;47465:44;;18671:117;;;;;;;;;;-1:-1:-1;18671:117:29;;;;;:::i;:::-;-1:-1:-1;;;;;18763:18:29;18737:7;18763:18;;;;;;;;;;;;18671:117;47360:41;;;;;;;;;;;;47400:1;47360:41;;37801:136;;;;;;;;;;-1:-1:-1;37801:136:29;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;6015:32:31;;;5997:51;;5985:2;5970:18;37801:136:29;5851:203:31;36798:137:29;;;;;;;;;;-1:-1:-1;36798:137:29;;;;;:::i;:::-;;:::i;17480:85::-;;;;;;;;;;;;;:::i;35575:49::-;;;;;;;;;;-1:-1:-1;35575:49:29;35620:4;35575:49;;48562:68;;;;;;;;;;;;48603:27;48562:68;;21561:279;;;;;;;;;;-1:-1:-1;21561:279:29;;;;;:::i;:::-;;:::i;18991:172::-;;;;;;;;;;-1:-1:-1;18991:172:29;;;;;:::i;:::-;;:::i;37103:125::-;;;;;;;;;;-1:-1:-1;37103:125:29;;;;;:::i;:::-;;:::i;50143:223::-;;;;;;;;;;-1:-1:-1;50143:223:29;;;;;:::i;:::-;;:::i;38937:226::-;;;;;;;;;;-1:-1:-1;38937:226:29;;;;;:::i;:::-;;:::i;19221:149::-;;;;;;;;;;-1:-1:-1;19221:149:29;;;;;:::i;:::-;-1:-1:-1;;;;;19336:18:29;;;19310:7;19336:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;19221:149;48827:497;;;;;;;;;;-1:-1:-1;48827:497:29;;;;;:::i;:::-;;:::i;17201:81::-;17238:13;17270:5;17263:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17201:81;:::o;19508:166::-;19591:4;19607:39;19616:12;:10;:12::i;:::-;19630:7;19639:6;19607:8;:39::i;:::-;-1:-1:-1;19663:4:29;19508:166;;;;;:::o;45105:1117::-;45356:148;;;45300:12;45356:148;;;;;-1:-1:-1;;;;;45393:19:29;;45324:29;45393:19;;;:6;:19;;;;;;;;;45356:148;;;;;;;;;;;45536:45;45400:11;45356:148;45564:4;45570;45576;45536:6;:45::i;:::-;45515:125;;;;-1:-1:-1;;;45515:125:29;;8271:2:31;45515:125:29;;;8253:21:31;8310:2;8290:18;;;8283:30;8349:34;8329:18;;;8322:62;-1:-1:-1;;;8400:18:31;;;8393:31;8441:19;;45515:125:29;;;;;;;;;-1:-1:-1;;;;;45726:19:29;;;;;;:6;:19;;;;;;:26;;45750:1;45726:23;:26::i;:::-;-1:-1:-1;;;;;45704:19:29;;;;;;:6;:19;;;;;;;:48;;;;45768:122;;;;;45711:11;;45838:10;;45863:17;;45768:122;:::i;:::-;;;;;;;;45998:12;46012:23;46047:4;-1:-1:-1;;;;;46039:18:29;46088:17;46107:11;46071:48;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;46071:48:29;;;;;;;;;;46039:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45997:132;;;;46147:7;46139:48;;;;-1:-1:-1;;;46139:48:29;;9835:2:31;46139:48:29;;;9817:21:31;9874:2;9854:18;;;9847:30;9913;9893:18;;;9886:58;9961:18;;46139:48:29;9633:352:31;46139:48:29;46205:10;45105:1117;-1:-1:-1;;;;;;;;45105:1117:29:o;20134:330::-;20240:4;20256:36;20266:6;20274:9;20285:6;20256:9;:36::i;:::-;20302:134;20311:6;20319:12;:10;:12::i;:::-;20333:102;20371:6;20333:102;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20333:19:29;;;;;;:11;:19;;;;;;20353:12;:10;:12::i;:::-;-1:-1:-1;;;;;20333:33:29;;;;;;;;;;;;-1:-1:-1;20333:33:29;;;:102;:37;:102::i;:::-;20302:8;:134::i;:::-;-1:-1:-1;20453:4:29;20134:330;;;;;:::o;50614:87::-;50667:27;50673:12;:10;:12::i;:::-;50687:6;50667:5;:27::i;:::-;50614:87;:::o;38480:223::-;38571:12;;;;:6;:12;;;;;:22;;;38563:45;;38595:12;:10;:12::i;38563:45::-;38555:105;;;;-1:-1:-1;;;38555:105:29;;10192:2:31;38555:105:29;;;10174:21:31;10231:2;10211:18;;;10204:30;10270:34;10250:18;;;10243:62;-1:-1:-1;;;10321:18:31;;;10314:45;10376:19;;38555:105:29;9990:411:31;38555:105:29;38671:25;38682:4;38688:7;38671:10;:25::i;:::-;38480:223;;:::o;39654:205::-;39751:12;:10;:12::i;:::-;-1:-1:-1;;;;;39740:23:29;:7;-1:-1:-1;;;;;39740:23:29;;39732:83;;;;-1:-1:-1;;;39732:83:29;;10608:2:31;39732:83:29;;;10590:21:31;10647:2;10627:18;;;10620:30;10686:34;10666:18;;;10659:62;-1:-1:-1;;;10737:18:31;;;10730:45;10792:19;;39732:83:29;10406:411:31;39732:83:29;39826:26;39838:4;39844:7;39826:11;:26::i;20859:215::-;20947:4;20963:83;20972:12;:10;:12::i;:::-;20986:7;20995:50;21034:10;20995:11;:25;21007:12;:10;:12::i;:::-;-1:-1:-1;;;;;20995:25:29;;;;;;;;;;;;;;;;;-1:-1:-1;20995:25:29;;;:34;;;;;;;;;;;:38;:50::i;23115:369::-;-1:-1:-1;;;;;23197:21:29;;23189:65;;;;-1:-1:-1;;;23189:65:29;;11024:2:31;23189:65:29;;;11006:21:31;11063:2;11043:18;;;11036:30;11102:33;11082:18;;;11075:61;11153:18;;23189:65:29;10822:355:31;23189:65:29;23340:12;;:24;;23357:6;23340:16;:24::i;:::-;23325:12;:39;-1:-1:-1;;;;;23395:18:29;;:9;:18;;;;;;;;;;;:30;;23418:6;23395:22;:30::i;:::-;-1:-1:-1;;;;;23374:18:29;;:9;:18;;;;;;;;;;;:51;;;;23440:37;;3269:25:31;;;23374:18:29;;:9;;23440:37;;3242:18:31;23440:37:29;;;;;;;;23115:369;;:::o;49612:160::-;35620:4;41624:27;35620:4;41638:12;:10;:12::i;41624:27::-;41665:10;41603:82;;;;;-1:-1:-1;;;41603:82:29;;;;;;;;:::i;:::-;;49699:14:::1;49707:5;;49699:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;49699:7:29::1;::::0;-1:-1:-1;;;49699:14:29:i:1;:::-;49723:42;49743:5;;49723:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;49750:14:29::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;49750:14:29::1;::::0;::::1;::::0;;-1:-1:-1;49723:19:29::1;::::0;-1:-1:-1;49723:42:29:i:1;:::-;49612:160:::0;;;:::o;37801:136::-;37874:7;37900:12;;;:6;:12;;;;;:30;;37924:5;37900:23;:30::i;:::-;37893:37;37801:136;-1:-1:-1;;;37801:136:29:o;36798:137::-;36867:4;36890:12;;;:6;:12;;;;;:38;;36920:7;36890:29;:38::i;17480:85::-;17519:13;17551:7;17544:14;;;;;:::i;21561:279::-;21654:4;21670:142;21679:12;:10;:12::i;:::-;21693:7;21702:109;21741:15;21702:109;;;;;;;;;;;;;;;;;:11;:25;21714:12;:10;:12::i;:::-;-1:-1:-1;;;;;21702:25:29;;;;;;;;;;;;;;;;;-1:-1:-1;21702:25:29;;;:34;;;;;;;;;;;:109;:38;:109::i;18991:172::-;19077:4;19093:42;19103:12;:10;:12::i;:::-;19117:9;19128:6;19093:9;:42::i;37103:125::-;37166:7;37192:12;;;:6;:12;;;;;:29;;:27;:29::i;50143:223::-;48603:27;41624;41632:4;41638:12;:10;:12::i;41624:27::-;41665:10;41603:82;;;;;-1:-1:-1;;;41603:82:29;;;;;;;;:::i;:::-;-1:-1:-1;50279:14:29::1;50296:34;::::0;;::::1;50307:11:::0;50296:34:::1;:::i;:::-;50279:51;;50340:19;50346:4;50352:6;50340:5;:19::i;:::-;50269:97;50143:223:::0;;;;:::o;38937:226::-;39029:12;;;;:6;:12;;;;;:22;;;39021:45;;39053:12;:10;:12::i;39021:45::-;39013:106;;;;-1:-1:-1;;;39013:106:29;;12478:2:31;39013:106:29;;;12460:21:31;12517:2;12497:18;;;12490:30;12556:34;12536:18;;;12529:62;-1:-1:-1;;;12607:18:31;;;12600:46;12663:19;;39013:106:29;12276:412:31;48827:497:29;42054:6;;;;42053:7;42045:34;;;;-1:-1:-1;;;42045:34:29;;12895:2:31;42045:34:29;;;12877:21:31;12934:2;12914:18;;;12907:30;-1:-1:-1;;;12953:18:31;;;12946:44;13007:18;;42045:34:29;12693:338:31;42045:34:29;49026:14:::1;49034:5;;49026:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;49026:7:29::1;::::0;-1:-1:-1;;;49026:14:29:i:1;:::-;49048:18;49058:7;;49048:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;49048:9:29::1;::::0;-1:-1:-1;;;49048:18:29:i:1;:::-;18425:9:::0;:23;;-1:-1:-1;;18425:23:29;;;;;;;49104:60:::1;49154:7;;49128:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;49104:16;:60::i;:::-;49172:44;35620:4;49203:12;:10;:12::i;:::-;49172:10;:44::i;:::-;49224:45;48603:27;49251:17;49224:10;:45::i;:::-;49277:40;49295:5;;49277:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;49302:14:29::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;49302:14:29::1;::::0;::::1;::::0;;-1:-1:-1;49277:17:29::1;::::0;-1:-1:-1;49277:40:29:i:1;:::-;-1:-1:-1::0;;42100:6:29;:13;;-1:-1:-1;;42100:13:29;42109:4;42100:13;;;-1:-1:-1;;;;48827:497:29:o;49444:162::-;49530:22;49575:24;:22;:24::i;:::-;49568:31;;49444:162;:::o;24638:340::-;-1:-1:-1;;;;;24739:19:29;;24731:68;;;;-1:-1:-1;;;24731:68:29;;13662:2:31;24731:68:29;;;13644:21:31;13701:2;13681:18;;;13674:30;13740:34;13720:18;;;13713:62;-1:-1:-1;;;13791:18:31;;;13784:34;13835:19;;24731:68:29;13460:400:31;24731:68:29;-1:-1:-1;;;;;24817:21:29;;24809:68;;;;-1:-1:-1;;;24809:68:29;;14067:2:31;24809:68:29;;;14049:21:31;14106:2;14086:18;;;14079:30;14145:34;14125:18;;;14118:62;-1:-1:-1;;;14196:18:31;;;14189:32;14238:19;;24809:68:29;13865:398:31;24809:68:29;-1:-1:-1;;;;;24888:18:29;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;24939:32;;3269:25:31;;;24939:32:29;;3242:18:31;24939:32:29;;;;;;;;24638:340;;;:::o;46741:470::-;46913:4;-1:-1:-1;;;;;46937:20:29;;46929:70;;;;-1:-1:-1;;;46929:70:29;;14470:2:31;46929:70:29;;;14452:21:31;14509:2;14489:18;;;14482:30;14548:34;14528:18;;;14521:62;-1:-1:-1;;;14599:18:31;;;14592:35;14644:19;;46929:70:29;14268:401:31;46929:70:29;47050:154;47077:47;47096:27;47116:6;47096:19;:27::i;:::-;47077:18;:47::i;:::-;47050:154;;;;;;;;;;;;14901:25:31;;;;14974:4;14962:17;;14942:18;;;14935:45;14996:18;;;14989:34;;;15039:18;;;15032:34;;;14873:19;;47050:154:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;47028:176:29;:6;-1:-1:-1;;;;;47028:176:29;;47009:195;;46741:470;;;;;;;:::o;4601:176::-;4659:7;;4690:5;4694:1;4690;:5;:::i;:::-;4678:17;;4718:1;4713;:6;;4705:46;;;;-1:-1:-1;;;4705:46:29;;15541:2:31;4705:46:29;;;15523:21:31;15580:2;15560:18;;;15553:30;15619:29;15599:18;;;15592:57;15666:18;;4705:46:29;15339:351:31;22314:530:29;-1:-1:-1;;;;;22419:20:29;;22411:70;;;;-1:-1:-1;;;22411:70:29;;15897:2:31;22411:70:29;;;15879:21:31;15936:2;15916:18;;;15909:30;15975:34;15955:18;;;15948:62;-1:-1:-1;;;16026:18:31;;;16019:35;16071:19;;22411:70:29;15695:401:31;22411:70:29;-1:-1:-1;;;;;22499:23:29;;22491:71;;;;-1:-1:-1;;;22491:71:29;;16303:2:31;22491:71:29;;;16285:21:31;16342:2;16322:18;;;16315:30;16381:34;16361:18;;;16354:62;-1:-1:-1;;;16432:18:31;;;16425:33;16475:19;;22491:71:29;16101:399:31;22491:71:29;22651;22673:6;22651:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22651:17:29;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;22631:17:29;;;:9;:17;;;;;;;;;;;:91;;;;22755:20;;;;;;;:32;;22780:6;22755:24;:32::i;:::-;-1:-1:-1;;;;;22732:20:29;;;:9;:20;;;;;;;;;;;;:55;;;;22802:35;3269:25:31;;;22732:20:29;;22802:35;;;;;;3242:18:31;22802:35:29;3123:177:31;5473:187:29;5559:7;5594:12;5586:6;;;;5578:29;;;;-1:-1:-1;;;5578:29:29;;;;;;;;:::i;:::-;-1:-1:-1;5617:9:29;5629:5;5633:1;5629;:5;:::i;:::-;5617:17;5473:187;-1:-1:-1;;;;;5473:187:29:o;23803:410::-;-1:-1:-1;;;;;23886:21:29;;23878:67;;;;-1:-1:-1;;;23878:67:29;;16840:2:31;23878:67:29;;;16822:21:31;16879:2;16859:18;;;16852:30;16918:34;16898:18;;;16891:62;-1:-1:-1;;;16969:18:31;;;16962:31;17010:19;;23878:67:29;16638:397:31;23878:67:29;24037:68;24060:6;24037:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24037:18:29;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;24016:18:29;;:9;:18;;;;;;;;;;:89;24130:12;;:24;;24147:6;24130:16;:24::i;:::-;24115:12;:39;24169:37;;3269:25:31;;;24195:1:29;;-1:-1:-1;;;;;24169:37:29;;;;;3257:2:31;3242:18;24169:37:29;3123:177:31;40861:184:29;40934:12;;;;:6;:12;;;;;:33;;40959:7;40934:24;:33::i;:::-;40930:109;;;41015:12;:10;:12::i;:::-;-1:-1:-1;;;;;40988:40:29;41006:7;-1:-1:-1;;;;;40988:40:29;41000:4;40988:40;;;;;;;;;;40861:184;;:::o;41051:188::-;41125:12;;;;:6;:12;;;;;:36;;41153:7;41125:27;:36::i;:::-;41121:112;;;41209:12;:10;:12::i;:::-;-1:-1:-1;;;;;41182:40:29;41200:7;-1:-1:-1;;;;;41182:40:29;41194:4;41182:40;;;;;;;;;;41051:188;;:::o;17288:79::-;17345:5;:15;17353:7;17345:5;:15;:::i;42982:366::-;42441:110;;;;;;;;;;;;;;;;;42422:135;;;;;;43198:4;43182:22;;;;;;43238:7;43222:25;;;;;;43273:4;43304:12;43570:9;;43459:155;43304:12;43114:217;;;;;;19377:25:31;;;;19418:18;;19411:34;;;;19461:18;;;19454:34;;;;-1:-1:-1;;;;;19524:32:31;19504:18;;;19497:60;19573:19;;;19566:35;19349:19;;43114:217:29;;;-1:-1:-1;;43114:217:29;;;;;;;;;43091:250;;43114:217;43091:250;;;;43073:15;:268;-1:-1:-1;;42982:366:29:o;32212:156::-;32286:7;32336:22;32340:3;32352:5;32336:3;:22::i;31519:165::-;-1:-1:-1;;;;;31652:23:29;;31599:4;29972:19;;;:12;;;:19;;;;;;:24;;31622:55;29876:127;31765:115;31828:7;31854:19;31862:3;30166:18;;30084:107;17571:87;17632:7;:19;17642:9;17632:7;:19;:::i;41402:157::-;41510:10;41493:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;41473:10;:79;;;;;;:::i;42792:184::-;42054:6;;;;42053:7;42045:34;;;;-1:-1:-1;;;42045:34:29;;12895:2:31;42045:34:29;;;12877:21:31;12934:2;12914:18;;;12907:30;-1:-1:-1;;;12953:18:31;;;12946:44;13007:18;;42045:34:29;12693:338:31;42045:34:29;42935::::1;42955:4;42961:7;42935:19;:34::i;:::-;-1:-1:-1::0;;42100:6:29;:13;;-1:-1:-1;;42100:13:29;42109:4;42100:13;;;42792:184::o;47679:631::-;47747:22;47811:4;47789:10;:27;47785:496;;47832:18;47853:8;;47832:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;47891:8:29;48098:17;48092:24;-1:-1:-1;;;;;48067:131:29;;-1:-1:-1;47785:496:29;;-1:-1:-1;47785:496:29;;-1:-1:-1;48259:10:29;47785:496;47679:631;:::o;46228:396::-;46335:7;44463:98;;;;;;;;;;;;;;;;;44444:123;;;;;;;46483:12;;46517:11;;;;46560:24;;;;;46550:35;;;;;;46404:199;;;;;20326:25:31;;;20382:2;20367:18;;20360:34;;;;-1:-1:-1;;;;;20430:32:31;20425:2;20410:18;;20403:60;20494:2;20479:18;;20472:34;20313:3;20298:19;;20095:417;46404:199:29;;;;;;;;;;;;;46377:240;;;;;;46358:259;;46228:396;;;:::o;43974:249::-;44070:7;44168:20;43431:15;;;43354:99;44168:20;44139:63;;-1:-1:-1;;;44139:63:29;;;20775:27:31;20818:11;;;20811:27;;;;20854:12;;;20847:28;;;20891:12;;44139:63:29;20517:392:31;5048:134:29;5106:7;5132:43;5136:1;5139;5132:43;;;;;;;;;;;;;;;;;:3;:43::i;30964:150::-;31034:4;31057:50;31062:3;-1:-1:-1;;;;;31082:23:29;;31057:4;:50::i;31282:156::-;31355:4;31378:53;31386:3;-1:-1:-1;;;;;31406:23:29;;31378:7;:53::i;30523:201::-;30617:18;;30590:7;;30617:26;-1:-1:-1;30609:73:29;;;;-1:-1:-1;;;30609:73:29;;21116:2:31;30609:73:29;;;21098:21:31;21155:2;21135:18;;;21128:30;21194:34;21174:18;;;21167:62;-1:-1:-1;;;21245:18:31;;;21238:32;21287:19;;30609:73:29;20914:398:31;30609:73:29;30699:3;:11;;30711:5;30699:18;;;;;;;;:::i;:::-;;;;;;;;;30692:25;;30523:201;;;;:::o;27711:404::-;27774:4;29972:19;;;:12;;;:19;;;;;;27790:319;;-1:-1:-1;27832:23:29;;;;;;;;:11;:23;;;;;;;;;;;;;28012:18;;27990:19;;;:12;;;:19;;;;;;:40;;;;28044:11;;27790:319;-1:-1:-1;28093:5:29;28086:12;;28283:1512;28349:4;28486:19;;;:12;;;:19;;;;;;28520:15;;28516:1273;;28877:21;28901:14;28914:1;28901:10;:14;:::i;:::-;28949:18;;28877:38;;-1:-1:-1;28929:17:29;;28949:22;;28970:1;;28949:22;:::i;:::-;28929:42;;29211:17;29231:3;:11;;29243:9;29231:22;;;;;;;;:::i;:::-;;;;;;;;;29211:42;;29374:9;29345:3;:11;;29357:13;29345:26;;;;;;;;:::i;:::-;;;;;;;;;;:38;29475:17;:13;29491:1;29475:17;:::i;:::-;29449:23;;;;:12;;;:23;;;;;:43;29598:17;;29449:3;;29598:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;29690:3;:12;;:19;29703:5;29690:19;;;;;;;;;;;29683:26;;;29731:4;29724:11;;;;;;;;28516:1273;29773:5;29766:12;;;;;14:250:31;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:31;238:16;;231:27;14:250::o;269:271::-;311:3;349:5;343:12;376:6;371:3;364:19;392:76;461:6;454:4;449:3;445:14;438:4;431:5;427:16;392:76;:::i;:::-;522:2;501:15;-1:-1:-1;;497:29:31;488:39;;;;529:4;484:50;;269:271;-1:-1:-1;;269:271:31:o;545:220::-;694:2;683:9;676:21;657:4;714:45;755:2;744:9;740:18;732:6;714:45;:::i;770:173::-;838:20;;-1:-1:-1;;;;;887:31:31;;877:42;;867:70;;933:1;930;923:12;867:70;770:173;;;:::o;948:254::-;1016:6;1024;1077:2;1065:9;1056:7;1052:23;1048:32;1045:52;;;1093:1;1090;1083:12;1045:52;1116:29;1135:9;1116:29;:::i;:::-;1106:39;1192:2;1177:18;;;;1164:32;;-1:-1:-1;;;948:254:31:o;1622:127::-;1683:10;1678:3;1674:20;1671:1;1664:31;1714:4;1711:1;1704:15;1738:4;1735:1;1728:15;1754:156;1820:20;;1880:4;1869:16;;1859:27;;1849:55;;1900:1;1897;1890:12;1915:1203;2017:6;2025;2033;2041;2049;2102:3;2090:9;2081:7;2077:23;2073:33;2070:53;;;2119:1;2116;2109:12;2070:53;2142:29;2161:9;2142:29;:::i;:::-;2132:39;;2222:2;2211:9;2207:18;2194:32;2245:18;2286:2;2278:6;2275:14;2272:34;;;2302:1;2299;2292:12;2272:34;2340:6;2329:9;2325:22;2315:32;;2385:7;2378:4;2374:2;2370:13;2366:27;2356:55;;2407:1;2404;2397:12;2356:55;2443:2;2430:16;2465:2;2461;2458:10;2455:36;;;2471:18;;:::i;:::-;2546:2;2540:9;2514:2;2600:13;;-1:-1:-1;;2596:22:31;;;2620:2;2592:31;2588:40;2576:53;;;2644:18;;;2664:22;;;2641:46;2638:72;;;2690:18;;:::i;:::-;2730:10;2726:2;2719:22;2765:2;2757:6;2750:18;2805:7;2800:2;2795;2791;2787:11;2783:20;2780:33;2777:53;;;2826:1;2823;2816:12;2777:53;2882:2;2877;2873;2869:11;2864:2;2856:6;2852:15;2839:46;2927:1;2922:2;2917;2909:6;2905:15;2901:24;2894:35;2948:6;2938:16;;;;;;;3001:2;2990:9;2986:18;2973:32;2963:42;;3052:2;3041:9;3037:18;3024:32;3014:42;;3075:37;3107:3;3096:9;3092:19;3075:37;:::i;:::-;3065:47;;1915:1203;;;;;;;;:::o;3487:328::-;3564:6;3572;3580;3633:2;3621:9;3612:7;3608:23;3604:32;3601:52;;;3649:1;3646;3639:12;3601:52;3672:29;3691:9;3672:29;:::i;:::-;3662:39;;3720:38;3754:2;3743:9;3739:18;3720:38;:::i;:::-;3710:48;;3805:2;3794:9;3790:18;3777:32;3767:42;;3487:328;;;;;:::o;3820:180::-;3879:6;3932:2;3920:9;3911:7;3907:23;3903:32;3900:52;;;3948:1;3945;3938:12;3900:52;-1:-1:-1;3971:23:31;;3820:180;-1:-1:-1;3820:180:31:o;4005:186::-;4064:6;4117:2;4105:9;4096:7;4092:23;4088:32;4085:52;;;4133:1;4130;4123:12;4085:52;4156:29;4175:9;4156:29;:::i;4381:254::-;4449:6;4457;4510:2;4498:9;4489:7;4485:23;4481:32;4478:52;;;4526:1;4523;4516:12;4478:52;4562:9;4549:23;4539:33;;4591:38;4625:2;4614:9;4610:18;4591:38;:::i;:::-;4581:48;;4381:254;;;;;:::o;4829:348::-;4881:8;4891:6;4945:3;4938:4;4930:6;4926:17;4922:27;4912:55;;4963:1;4960;4953:12;4912:55;-1:-1:-1;4986:20:31;;5029:18;5018:30;;5015:50;;;5061:1;5058;5051:12;5015:50;5098:4;5090:6;5086:17;5074:29;;5150:3;5143:4;5134:6;5126;5122:19;5118:30;5115:39;5112:59;;;5167:1;5164;5157:12;5112:59;4829:348;;;;;:::o;5182:411::-;5253:6;5261;5314:2;5302:9;5293:7;5289:23;5285:32;5282:52;;;5330:1;5327;5320:12;5282:52;5370:9;5357:23;5403:18;5395:6;5392:30;5389:50;;;5435:1;5432;5425:12;5389:50;5474:59;5525:7;5516:6;5505:9;5501:22;5474:59;:::i;:::-;5552:8;;5448:85;;-1:-1:-1;5182:411:31;-1:-1:-1;;;;5182:411:31:o;5598:248::-;5666:6;5674;5727:2;5715:9;5706:7;5702:23;5698:32;5695:52;;;5743:1;5740;5733:12;5695:52;-1:-1:-1;;5766:23:31;;;5836:2;5821:18;;;5808:32;;-1:-1:-1;5598:248:31:o;6059:484::-;6138:6;6146;6154;6207:2;6195:9;6186:7;6182:23;6178:32;6175:52;;;6223:1;6220;6213:12;6175:52;6246:29;6265:9;6246:29;:::i;:::-;6236:39;;6326:2;6315:9;6311:18;6298:32;6353:18;6345:6;6342:30;6339:50;;;6385:1;6382;6375:12;6339:50;6424:59;6475:7;6466:6;6455:9;6451:22;6424:59;:::i;:::-;6059:484;;6502:8;;-1:-1:-1;6398:85:31;;-1:-1:-1;;;;6059:484:31:o;6548:260::-;6616:6;6624;6677:2;6665:9;6656:7;6652:23;6648:32;6645:52;;;6693:1;6690;6683:12;6645:52;6716:29;6735:9;6716:29;:::i;:::-;6706:39;;6764:38;6798:2;6787:9;6783:18;6764:38;:::i;6813:866::-;6921:6;6929;6937;6945;6953;6961;7014:3;7002:9;6993:7;6989:23;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7071:9;7058:23;7100:18;7141:2;7133:6;7130:14;7127:34;;;7157:1;7154;7147:12;7127:34;7196:59;7247:7;7238:6;7227:9;7223:22;7196:59;:::i;:::-;7274:8;;-1:-1:-1;7170:85:31;-1:-1:-1;7362:2:31;7347:18;;7334:32;;-1:-1:-1;7378:16:31;;;7375:36;;;7407:1;7404;7397:12;7375:36;;7446:61;7499:7;7488:8;7477:9;7473:24;7446:61;:::i;:::-;7526:8;;-1:-1:-1;7420:87:31;-1:-1:-1;7580:36:31;;-1:-1:-1;7612:2:31;7597:18;;7580:36;:::i;:::-;7570:46;;7635:38;7669:2;7658:9;7654:18;7635:38;:::i;:::-;7625:48;;6813:866;;;;;;;;:::o;7684:380::-;7763:1;7759:12;;;;7806;;;7827:61;;7881:4;7873:6;7869:17;7859:27;;7827:61;7934:2;7926:6;7923:14;7903:18;7900:38;7897:161;;7980:10;7975:3;7971:20;7968:1;7961:31;8015:4;8012:1;8005:15;8043:4;8040:1;8033:15;7897:161;;7684:380;;;:::o;8471:432::-;-1:-1:-1;;;;;8728:15:31;;;8710:34;;8780:15;;8775:2;8760:18;;8753:43;8832:2;8827;8812:18;;8805:30;;;8653:4;;8852:45;;8878:18;;8870:6;8852:45;:::i;8908:428::-;9065:3;9103:6;9097:13;9119:66;9178:6;9173:3;9166:4;9158:6;9154:17;9119:66;:::i;:::-;9254:2;9250:15;;;;-1:-1:-1;;9246:53:31;9207:16;;;;9232:68;;;9327:2;9316:14;;8908:428;-1:-1:-1;;8908:428:31:o;9341:287::-;9470:3;9508:6;9502:13;9524:66;9583:6;9578:3;9571:4;9563:6;9559:17;9524:66;:::i;:::-;9606:16;;;;;9341:287;-1:-1:-1;;9341:287:31:o;11308:963::-;11417:4;11446:2;11475;11464:9;11457:21;11498:1;11531:6;11525:13;11561:36;11587:9;11561:36;:::i;:::-;11633:6;11628:2;11617:9;11613:18;11606:34;11659:2;11680:1;11712:2;11701:9;11697:18;11729:1;11724:158;;;;11896:1;11891:354;;;;11690:555;;11724:158;-1:-1:-1;;11772:24:31;;11752:18;;;11745:52;11850:14;;11843:22;11840:1;11836:30;11821:46;;11817:55;;;-1:-1:-1;11724:158:31;;11891:354;11922:6;11919:1;11912:17;11970:2;11967:1;11957:16;11995:1;12009:180;12023:6;12020:1;12017:13;12009:180;;;12116:14;;12092:17;;;12088:26;;12081:50;12159:16;;;;12038:10;;12009:180;;;12213:17;;12209:26;;;-1:-1:-1;;11690:555:31;-1:-1:-1;12262:3:31;;11308:963;-1:-1:-1;;;;;;;;11308:963:31:o;13036:419::-;-1:-1:-1;;;13303:3:31;13296:20;13359:6;13351;13347:1;13342:3;13338:11;13325:41;13278:3;13389:16;;13407:1;13385:24;13418:13;;;13385:24;13036:419;-1:-1:-1;13036:419:31:o;15077:127::-;15138:10;15133:3;15129:20;15126:1;15119:31;15169:4;15166:1;15159:15;15193:4;15190:1;15183:15;15209:125;15274:9;;;15295:10;;;15292:36;;;15308:18;;:::i;16505:128::-;16572:9;;;16593:11;;;16590:37;;;16607:18;;:::i;17040:545::-;17142:2;17137:3;17134:11;17131:448;;;17178:1;17203:5;17199:2;17192:17;17248:4;17244:2;17234:19;17318:2;17306:10;17302:19;17299:1;17295:27;17289:4;17285:38;17354:4;17342:10;17339:20;17336:47;;;-1:-1:-1;17377:4:31;17336:47;17432:2;17427:3;17423:12;17420:1;17416:20;17410:4;17406:31;17396:41;;17487:82;17505:2;17498:5;17495:13;17487:82;;;17550:17;;;17531:1;17520:13;17487:82;;;17491:3;;;17040:545;;;:::o;17761:1352::-;17887:3;17881:10;17914:18;17906:6;17903:30;17900:56;;;17936:18;;:::i;:::-;17965:97;18055:6;18015:38;18047:4;18041:11;18015:38;:::i;:::-;18009:4;17965:97;:::i;:::-;18117:4;;18181:2;18170:14;;18198:1;18193:663;;;;18900:1;18917:6;18914:89;;;-1:-1:-1;18969:19:31;;;18963:26;18914:89;-1:-1:-1;;17718:1:31;17714:11;;;17710:24;17706:29;17696:40;17742:1;17738:11;;;17693:57;19016:81;;18163:944;;18193:663;11255:1;11248:14;;;11292:4;11279:18;;-1:-1:-1;;18229:20:31;;;18347:236;18361:7;18358:1;18355:14;18347:236;;;18450:19;;;18444:26;18429:42;;18542:27;;;;18510:1;18498:14;;;;18377:19;;18347:236;;;18351:3;18611:6;18602:7;18599:19;18596:201;;;18672:19;;;18666:26;-1:-1:-1;;18755:1:31;18751:14;;;18767:3;18747:24;18743:37;18739:42;18724:58;18709:74;;18596:201;-1:-1:-1;;;;;18843:1:31;18827:14;;;18823:22;18810:36;;-1:-1:-1;17761:1352:31:o;19612:478::-;19844:3;19882:6;19876:13;19898:66;19957:6;19952:3;19945:4;19937:6;19933:17;19898:66;:::i;:::-;20025:28;19986:16;;20011:43;;;-1:-1:-1;20081:2:31;20070:14;;19612:478;-1:-1:-1;19612:478:31:o;21317:127::-;21378:10;21373:3;21369:20;21366:1;21359:31;21409:4;21406:1;21399:15;21433:4;21430:1;21423:15;21449:127;21510:10;21505:3;21501:20;21498:1;21491:31;21541:4;21538:1;21531:15;21565:4;21562:1;21555:15"},"methodIdentifiers":{"CHILD_CHAIN_ID()":"626381a0","CHILD_CHAIN_ID_BYTES()":"0b54817c","DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_ROLE()":"a3b0b5a3","ERC712_VERSION()":"0f7e5970","ROOT_CHAIN_ID()":"8acfcaf7","ROOT_CHAIN_ID_BYTES()":"0dd7531a","_mint(address,uint256)":"4e6ec247","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","changeName(string)":"5353a2d8","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","deposit(address,bytes)":"cf2c52cb","executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)":"0c53c51c","getChainId()":"3408e470","getDomainSeperator()":"20379ee5","getNonce(address)":"2d0335ab","getRoleAdmin(bytes32)":"248a9ca3","getRoleMember(bytes32,uint256)":"9010d07c","getRoleMemberCount(bytes32)":"ca15c873","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increaseAllowance(address,uint256)":"39509351","initialize(string,string,uint8,address)":"de7ea79d","name()":"06fdde03","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(uint256)":"2e1a7d4d"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"relayerAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"}],\"name\":\"MetaTransactionExecuted\",\"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\"},{\"inputs\":[],\"name\":\"CHILD_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CHILD_CHAIN_ID_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ERC712_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROOT_CHAIN_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ROOT_CHAIN_ID_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"_mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"name\":\"changeName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"depositData\",\"type\":\"bytes\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"}],\"name\":\"executeMetaTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeperator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"childChainManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"_mint(address,uint256)\":{\"details\":\"Creates `amount` tokens and assigns them to `account`, increasing the total supply. Emits a {Transfer} event with `from` set to the zero address. Requirements - `to` cannot be the zero address. \"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"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 {_setupDecimals} is called. 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`.\"},\"deposit(address,bytes)\":{\"details\":\"Should be callable only by ChildChainManager Should handle deposit by minting the required amount for user Make sure minting is done only by this function\",\"params\":{\"depositData\":\"abi encoded amount\",\"user\":\"user address for whom deposit is being done\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296 for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"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.\"},\"initialize(string,string,uint8,address)\":{\"details\":\"meant to be called once immediately after deployment\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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 granted `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.\"},\"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: - `recipient` 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}; Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256)\":{\"details\":\"Should burn user's tokens. This transaction will be verified when exiting on root chain\",\"params\":{\"amount\":\"amount of tokens to withdraw\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit(address,bytes)\":{\"notice\":\"called when token is deposited on root chain\"},\"initialize(string,string,uint8,address)\":{\"notice\":\"Initialize the contract after it has been proxified\"},\"withdraw(uint256)\":{\"notice\":\"called when user wants to withdraw tokens back to root chain\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/testDai/TestDAI.v3.sol\":\"UChildERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/testDai/TestDAI.v3.sol\":{\"keccak256\":\"0x7a9ceef26acf95e02a6ef711acbb398c506ff8af6063a0845390cabb30d34142\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ad10d3bc36ca3fe8ea176b6f6d3e7e5caddceba51f1106928a31596b08046a\",\"dweb:/ipfs/QmVbUKdReq4MLk1iRwyk7muSoiZUHygXbX6s2cJeztZqa8\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":11180,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":11186,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":11188,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":11190,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":11192,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"},{"astId":11194,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_decimals","offset":0,"slot":"5","type":"t_uint8"},{"astId":12141,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_roles","offset":0,"slot":"6","type":"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)"},{"astId":12406,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_revertMsg","offset":0,"slot":"7","type":"t_string_storage"},{"astId":12452,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"inited","offset":0,"slot":"8","type":"t_bool"},{"astId":12489,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"domainSeperator","offset":0,"slot":"9","type":"t_bytes32"},{"astId":12608,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"nonces","offset":0,"slot":"10","type":"t_mapping(t_address,t_uint256)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"base":"t_bytes32","encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)12136_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControl.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)12136_storage"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(AddressSet)11892_storage":{"encoding":"inplace","label":"struct EnumerableSet.AddressSet","members":[{"astId":11891,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)11706_storage"}],"numberOfBytes":"64"},"t_struct(RoleData)12136_storage":{"encoding":"inplace","label":"struct AccessControl.RoleData","members":[{"astId":12133,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"members","offset":0,"slot":"0","type":"t_struct(AddressSet)11892_storage"},{"astId":12135,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"adminRole","offset":0,"slot":"2","type":"t_bytes32"}],"numberOfBytes":"96"},"t_struct(Set)11706_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","members":[{"astId":11701,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":11705,"contract":"contracts/testDai/TestDAI.v3.sol:UChildERC20","label":"_indexes","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}}},"hardhat/console.sol":{"console":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b9abbec7f2ac4b0fb659334370fbba1005d263a7fe8a41f450feb4871b766cad64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB9 0xAB 0xBE 0xC7 CALLCODE 0xAC 0x4B 0xF 0xB6 MSIZE CALLER NUMBER PUSH17 0xFBBA1005D263A7FE8A41F450FEB4871B76 PUSH13 0xAD64736F6C6343000814003300 ","sourceMap":"66:68934:30:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:68934:30;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b9abbec7f2ac4b0fb659334370fbba1005d263a7fe8a41f450feb4871b766cad64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB9 0xAB 0xBE 0xC7 CALLCODE 0xAC 0x4B 0xF 0xB6 MSIZE CALLER NUMBER PUSH17 0xFBBA1005D263A7FE8A41F450FEB4871B76 PUSH13 0xAD64736F6C6343000814003300 ","sourceMap":"66:68934:30:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"hardhat/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}}}}} \ No newline at end of file diff --git a/artifacts/build-info/ec1fffc81bd68b0d35b81450575d7c48.json b/artifacts/build-info/ec1fffc81bd68b0d35b81450575d7c48.json new file mode 100644 index 0000000..0a7e0a5 --- /dev/null +++ b/artifacts/build-info/ec1fffc81bd68b0d35b81450575d7c48.json @@ -0,0 +1 @@ +{"id":"ec1fffc81bd68b0d35b81450575d7c48","_format":"hh-sol-build-info-1","solcVersion":"0.8.20","solcLongVersion":"0.8.20+commit.a1b79de6","input":{"language":"Solidity","sources":{"@openzeppelin/contracts/access/Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n"},"@openzeppelin/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/introspection/IERC165.sol\";\n"},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC4906.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\nimport \"./IERC721.sol\";\n\n/// @title EIP-721 Metadata Update Extension\ninterface IERC4906 is IERC165, IERC721 {\n /// @dev This event emits when the metadata of a token is changed.\n /// So that the third-party platforms such as NFT market could\n /// timely update the images and related attributes of the NFT.\n event MetadataUpdate(uint256 _tokenId);\n\n /// @dev This event emits when the metadata of a range of tokens is changed.\n /// So that the third-party platforms such as NFT market could\n /// timely update the images and related attributes of the NFTs.\n event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId);\n}\n"},"@openzeppelin/contracts/interfaces/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (interfaces/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../token/ERC721/IERC721.sol\";\n"},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 amount) external returns (bool);\n}\n"},"@openzeppelin/contracts/token/ERC721/ERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/ERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: address zero is not a valid owner\");\n return _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _ownerOf(tokenId);\n require(owner != address(0), \"ERC721: invalid token ID\");\n return owner;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overridden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(\n _msgSender() == owner || isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not token owner or approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n _requireMinted(tokenId);\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n _setApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _safeTransfer(from, to, tokenId, data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(address from, address to, uint256 tokenId, bytes memory data) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist\n */\n function _ownerOf(uint256 tokenId) internal view virtual returns (address) {\n return _owners[tokenId];\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _ownerOf(tokenId) != address(0);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(address to, uint256 tokenId, bytes memory data) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId, 1);\n\n // Check that tokenId was not minted by `_beforeTokenTransfer` hook\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n unchecked {\n // Will not overflow unless all 2**256 token ids are minted to the same owner.\n // Given that tokens are minted one by one, it is impossible in practice that\n // this ever happens. Might change if we allow batch minting.\n // The ERC fails to describe this case.\n _balances[to] += 1;\n }\n\n _owners[tokenId] = to;\n\n emit Transfer(address(0), to, tokenId);\n\n _afterTokenTransfer(address(0), to, tokenId, 1);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n * This is an internal function that does not check if the sender is authorized to operate on the token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId);\n\n _beforeTokenTransfer(owner, address(0), tokenId, 1);\n\n // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook\n owner = ERC721.ownerOf(tokenId);\n\n // Clear approvals\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // Cannot overflow, as that would require more tokens to be burned/transferred\n // out than the owner initially received through minting and transferring in.\n _balances[owner] -= 1;\n }\n delete _owners[tokenId];\n\n emit Transfer(owner, address(0), tokenId);\n\n _afterTokenTransfer(owner, address(0), tokenId, 1);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId, 1);\n\n // Check that tokenId was not transferred by `_beforeTokenTransfer` hook\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer from incorrect owner\");\n\n // Clear approvals from the previous owner\n delete _tokenApprovals[tokenId];\n\n unchecked {\n // `_balances[from]` cannot overflow for the same reason as described in `_burn`:\n // `from`'s balance is the number of token held, which is at least one before the current\n // transfer.\n // `_balances[to]` could overflow in the conditions described in `_mint`. That would require\n // all 2**256 token ids to be minted, which in practice is impossible.\n _balances[from] -= 1;\n _balances[to] += 1;\n }\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n\n _afterTokenTransfer(from, to, tokenId, 1);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\n }\n\n /**\n * @dev Approve `operator` to operate on all of `owner` tokens\n *\n * Emits an {ApprovalForAll} event.\n */\n function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {\n require(owner != operator, \"ERC721: approve to caller\");\n _operatorApprovals[owner][operator] = approved;\n emit ApprovalForAll(owner, operator, approved);\n }\n\n /**\n * @dev Reverts if the `tokenId` has not been minted yet.\n */\n function _requireMinted(uint256 tokenId) internal view virtual {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n * - When `from` is zero, the tokens will be minted for `to`.\n * - When `to` is zero, ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n * used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n * - When `from` is zero, the tokens were minted for `to`.\n * - When `to` is zero, ``from``'s tokens were burned.\n * - `from` and `to` are never both zero.\n * - `batchSize` is non-zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(address from, address to, uint256 firstTokenId, uint256 batchSize) internal virtual {}\n\n /**\n * @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n *\n * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n * that `ownerOf(tokenId)` is `a`.\n */\n // solhint-disable-next-line func-name-mixedcase\n function __unsafe_increaseBalance(address account, uint256 amount) internal {\n _balances[account] += amount;\n }\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/extensions/ERC721Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @title ERC721 Burnable Token\n * @dev ERC721 Token that can be burned (destroyed).\n */\nabstract contract ERC721Burnable is Context, ERC721 {\n /**\n * @dev Burns `tokenId`. See {ERC721-_burn}.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(uint256 tokenId) public virtual {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: caller is not token owner or approved\");\n _burn(tokenId);\n }\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/extensions/ERC721URIStorage.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC721.sol\";\nimport \"../../../interfaces/IERC4906.sol\";\n\n/**\n * @dev ERC721 token with storage based token URI management.\n */\nabstract contract ERC721URIStorage is IERC4906, ERC721 {\n using Strings for uint256;\n\n // Optional mapping for token URIs\n mapping(uint256 => string) private _tokenURIs;\n\n /**\n * @dev See {IERC165-supportsInterface}\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC721, IERC165) returns (bool) {\n return interfaceId == bytes4(0x49064906) || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n _requireMinted(tokenId);\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = _baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n\n return super.tokenURI(tokenId);\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Emits {MetadataUpdate}.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721URIStorage: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n\n emit MetadataUpdate(tokenId);\n }\n\n /**\n * @dev See {ERC721-_burn}. This override additionally checks to see if a\n * token-specific URI was set for the token, and if so, it deletes the token URI from\n * the storage mapping.\n */\n function _burn(uint256 tokenId) internal virtual override {\n super._burn(tokenId);\n\n if (bytes(_tokenURIs[tokenId]).length != 0) {\n delete _tokenURIs[tokenId];\n }\n }\n}\n"},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n"},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n * understand this adds an external call which potentially creates a reentrancy vulnerability.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n"},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n"},"@openzeppelin/contracts/utils/Address.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n *\n * Furthermore, `isContract` will also return true if the target contract within\n * the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n * which only has an effect at the end of a transaction.\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n * the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n *\n * _Available since v4.8._\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n if (success) {\n if (returndata.length == 0) {\n // only check isContract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n require(isContract(target), \"Address: call to non-contract\");\n }\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason or using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n _revert(returndata, errorMessage);\n }\n }\n\n function _revert(bytes memory returndata, string memory errorMessage) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n /// @solidity memory-safe-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n}\n"},"@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../Strings.sol\";\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS,\n InvalidSignatureV // Deprecated in v4.8\n }\n\n function _throwError(RecoverError error) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert(\"ECDSA: invalid signature\");\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert(\"ECDSA: invalid signature length\");\n } else if (error == RecoverError.InvalidSignatureS) {\n revert(\"ECDSA: invalid signature 's' value\");\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature` or error string. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n /// @solidity memory-safe-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength);\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, signature);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address, RecoverError) {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n *\n * _Available since v4.2._\n */\n function recover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, r, vs);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n *\n * _Available since v4.3._\n */\n function tryRecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address, RecoverError) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n Ć· 2 + 1, and for v in (302): v āˆˆ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature);\n }\n\n return (signer, RecoverError.NoError);\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {\n (address recovered, RecoverError error) = tryRecover(hash, v, r, s);\n _throwError(error);\n return recovered;\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32 message) {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\")\n mstore(0x1c, hash)\n message := keccak256(0x00, 0x3c)\n }\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from `s`. This\n * produces hash corresponding to the one signed with the\n * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n * JSON-RPC method as part of EIP-191.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n\", Strings.toString(s.length), s));\n }\n\n /**\n * @dev Returns an Ethereum Signed Typed Data, created from a\n * `domainSeparator` and a `structHash`. This produces hash corresponding\n * to the one signed with the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n * JSON-RPC method as part of EIP-712.\n *\n * See {recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32 data) {\n /// @solidity memory-safe-assembly\n assembly {\n let ptr := mload(0x40)\n mstore(ptr, \"\\x19\\x01\")\n mstore(add(ptr, 0x02), domainSeparator)\n mstore(add(ptr, 0x22), structHash)\n data := keccak256(ptr, 0x42)\n }\n }\n\n /**\n * @dev Returns an Ethereum Signed Data with intended validator, created from a\n * `validator` and `data` according to the version 0 of EIP-191.\n *\n * See {recover}.\n */\n function toDataWithIntendedValidatorHash(address validator, bytes memory data) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(\"\\x19\\x00\", validator, data));\n }\n}\n"},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n"},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"@openzeppelin/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Down, // Toward negative infinity\n Up, // Toward infinity\n Zero // Toward zero\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds up instead\n * of rounding down.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b - 1) / b can overflow on addition, so we distribute.\n return a == 0 ? 0 : (a - 1) / b + 1;\n }\n\n /**\n * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n * with further edits by Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use\n // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = prod1 * 2^256 + prod0.\n uint256 prod0; // Least significant 256 bits of the product\n uint256 prod1; // Most significant 256 bits of the product\n assembly {\n let mm := mulmod(x, y, not(0))\n prod0 := mul(x, y)\n prod1 := sub(sub(mm, prod0), lt(mm, prod0))\n }\n\n // Handle non-overflow cases, 256 by 256 division.\n if (prod1 == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return prod0 / denominator;\n }\n\n // Make sure the result is less than 2^256. Also prevents denominator == 0.\n require(denominator > prod1, \"Math: mulDiv overflow\");\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [prod1 prod0].\n uint256 remainder;\n assembly {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n prod1 := sub(prod1, gt(remainder, prod0))\n prod0 := sub(prod0, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.\n // See https://cs.stackexchange.com/q/138556/92363.\n\n // Does not overflow because the denominator cannot be zero at this stage in the function.\n uint256 twos = denominator & (~denominator + 1);\n assembly {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [prod1 prod0] by twos.\n prod0 := div(prod0, twos)\n\n // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from prod1 into prod0.\n prod0 |= prod1 * twos;\n\n // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such\n // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv = 1 mod 2^4.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works\n // in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2^8\n inverse *= 2 - denominator * inverse; // inverse mod 2^16\n inverse *= 2 - denominator * inverse; // inverse mod 2^32\n inverse *= 2 - denominator * inverse; // inverse mod 2^64\n inverse *= 2 - denominator * inverse; // inverse mod 2^128\n inverse *= 2 - denominator * inverse; // inverse mod 2^256\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is\n // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1\n // is no longer required.\n result = prod0 * inverse;\n return result;\n }\n }\n\n /**\n * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n uint256 result = mulDiv(x, y, denominator);\n if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {\n result += 1;\n }\n return result;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n *\n * Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11).\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n\n // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.\n //\n // We know that the \"msb\" (most significant bit) of our target number `a` is a power of 2 such that we have\n // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.\n //\n // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`\n // ā†’ `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`\n // ā†’ `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`\n //\n // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.\n uint256 result = 1 << (log2(a) >> 1);\n\n // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,\n // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at\n // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision\n // into the expected uint128 result.\n unchecked {\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n result = (result + a / result) >> 1;\n return min(result, a / result);\n }\n }\n\n /**\n * @notice Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 2, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 128;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 64;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 32;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 16;\n }\n if (value >> 8 > 0) {\n value >>= 8;\n result += 8;\n }\n if (value >> 4 > 0) {\n value >>= 4;\n result += 4;\n }\n if (value >> 2 > 0) {\n value >>= 2;\n result += 2;\n }\n if (value >> 1 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 10, rounded down, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);\n }\n }\n\n /**\n * @dev Return the log in base 256, rounded down, of a positive value.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >> 128 > 0) {\n value >>= 128;\n result += 16;\n }\n if (value >> 64 > 0) {\n value >>= 64;\n result += 8;\n }\n if (value >> 32 > 0) {\n value >>= 32;\n result += 4;\n }\n if (value >> 16 > 0) {\n value >>= 16;\n result += 2;\n }\n if (value >> 8 > 0) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);\n }\n }\n}\n"},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return a > b ? a : b;\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return a < b ? a : b;\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // must be unchecked in order to support `n = type(int256).min`\n return uint256(n >= 0 ? n : -n);\n }\n }\n}\n"},"@openzeppelin/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./math/Math.sol\";\nimport \"./math/SignedMath.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _SYMBOLS = \"0123456789abcdef\";\n uint8 private constant _ADDRESS_LENGTH = 20;\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n /// @solidity memory-safe-assembly\n assembly {\n ptr := add(buffer, add(32, length))\n }\n while (true) {\n ptr--;\n /// @solidity memory-safe-assembly\n assembly {\n mstore8(ptr, byte(mod(value, 10), _SYMBOLS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toString(int256 value) internal pure returns (string memory) {\n return string(abi.encodePacked(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value))));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return keccak256(bytes(a)) == keccak256(bytes(b));\n }\n}\n"},"contracts/gamma/GammaCards.v5.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {LibStringUtils} from \"./libs/LibStringUtils.sol\";\nimport {LibPackVerifier} from \"./libs/LibPackVerifier.sol\";\nimport {LibControlMgmt} from \"./libs/LibControlMgmt.sol\";\nimport {console} from \"hardhat/console.sol\";\nimport {NofGammaCardsNFTV1} from \"./GammaCardsNFT.v1.sol\";\n\nerror OnlyGammaPacksContract();\nerror OnlyOffersContract();\nerror OnlyOwners();\nerror InvalidAddress();\nerror InvalidCardNumber();\nerror InvalidTransfer();\nerror InvalidSignature();\nerror IncorrectPrizeAmount();\nerror WrongPacksQuantity();\nerror NotYourPack();\nerror CardLimitExceeded();\nerror UserDoesNotHaveCardOrAlbum();\nerror InsufficientFunds();\nerror InsufficientCards();\nerror MustCompleteAlbum();\nerror CannotRemoveUserOffers();\n\ninterface IgammaPacksContract {\n function getPackOwner(uint256 tokenId) external view returns (address);\n\n function openPack(uint256 tokenId, address owner) external;\n\n function openPacks(uint256[] memory tokenIds, address owner) external;\n}\n\ninterface IgammaOffersContract {\n function hasOffer(address user, uint8 cardNumber) external view returns (bool);\n\n function removeOffersByUser(address user) external returns (bool);\n\n function getOffersByUserCounter(address user) external view returns (uint256);\n\n function getOfferByUserAndCardNumber(\n address user,\n uint8 cardNumber\n ) external view returns (uint256, uint8, uint8[] memory, address);\n}\n\ninterface IgammaTicketsContract {\n function generateTicket(address user) external;\n}\n\ncontract NofGammaCardsV5 is NofGammaCardsNFTV1, Ownable {\n using LibStringUtils for uint8;\n using LibControlMgmt for LibControlMgmt.Data;\n\n IgammaPacksContract public gammaPacksContract;\n IgammaOffersContract public gammaOffersContract;\n IgammaTicketsContract public gammaTicketsContract;\n\n LibControlMgmt.Data private ownersData;\n LibControlMgmt.Data private signersData;\n\n uint8 public s_maxPacksToOpenAtOnce = 10;\n uint8 public s_lotteryPrizePercentage = 50;\n address public DAI_TOKEN;\n uint256 public s_tokenIdCounter;\n uint256 public s_packPrice = 12e17; // 1.2 DAI\n uint256 public s_prizesBalance = 0;\n uint256 public s_mainAlbumPrize = 15e18; // 15 DAI por album principal completado\n uint256 public s_secondaryAlbumPrize = 1e18; // 1 DAI por album secundario completado\n string public s_mainUri;\n string public s_secondaryUri;\n string public s_baseUri;\n bool public s_requireOpenPackSignerValidation;\n bool public s_requireOfferValidationInMint = true;\n bool public s_requireOfferValidationInTransfer = true;\n\n struct Card {\n uint256 tokenId;\n uint256 number;\n bool pasted;\n uint8 class; // 1 para cartas, 2 para album de 120, 3 para album de 60\n uint256 completion; // solo se modifica en el caso de los albums\n }\n\n mapping(uint256 tokenId => Card) public s_cards;\n mapping(uint256 cardNumber => uint256 amount) public s_cardsInventory; // maximos: 120 => 5000\n mapping(address user => uint256 amount) public s_burnedCards;\n mapping(address user => mapping(uint8 cardNumber => uint8 amount)) public s_cardsByUser;\n\n event NewGammaOffersContract(address indexed newGammaOffersContract);\n event NewGammaPacksContract(address indexed newGammaPacksContract);\n event NewGammaTicketsContract(address indexed newGammaTicketContract);\n event PackOpened(address indexed player, uint8[] indexed packData, uint256 indexed packNumber);\n event AlbumCompleted(address indexed player, uint8 indexed albumClass);\n event CardPasted(address indexed player, uint256 indexed cardTokenId, uint256 indexed albumTokenId);\n event EmergencyWithdrawal(address indexed receiver, uint256 indexed amount);\n event NewSigner(address indexed newSigner);\n event NewUris(string indexed newMainUri, string indexed newSecondaryUri);\n event OfferCardsExchanged(address indexed from, address indexed to, uint8 cardNumberFrom, uint8 cardNumberTo);\n event CardTransfered(address indexed from, address indexed to, uint8 cardNumber);\n event CardsTransfered(address indexed from, address indexed to, uint8[] indexed cardNumber);\n event CardsBurned(address indexed user, uint8[] indexed cardsNumber);\n\n modifier onlyGammaPacksContract() {\n if(msg.sender != address(gammaPacksContract)) revert OnlyGammaPacksContract();\n _;\n }\n\n modifier onlyGammaOffersContract() {\n if(msg.sender != address(gammaOffersContract)) revert OnlyOffersContract();\n _;\n }\n\n modifier onlyOwners() {\n if(!ownersData.owners[msg.sender]) revert OnlyOwners();\n _;\n }\n\n modifier checkAddressZero(address _address) {\n if(_address == address(0)) revert InvalidAddress();\n _;\n }\n\n function init(\n address _daiTokenAddress,\n address _gammaPacksContract,\n address _gammaOffersContract,\n address _gammaTicketsContract,\n string memory _baseUri,\n address _signer\n ) external onlyOwner {\n ownersData.owners[msg.sender] = true;\n\n DAI_TOKEN = _daiTokenAddress;\n gammaPacksContract = IgammaPacksContract(_gammaPacksContract);\n gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract);\n gammaOffersContract = IgammaOffersContract(_gammaOffersContract);\n\n s_baseUri = _baseUri;\n s_mainUri = string(abi.encodePacked(bytes(s_baseUri), bytes(\"/\"), bytes(\"120\"), bytes(\"F.json\")));\n s_secondaryUri = string(\n abi.encodePacked(bytes(s_baseUri), bytes(\"/\"), bytes(\"121\"), bytes(\"F.json\"))\n );\n signersData.signers[_signer] = true;\n\n for (uint256 i; i < 122; i++) {\n s_cardsInventory[i] = 1;\n }\n }\n\n function addOwner(address _newOwner) external onlyOwners {\n ownersData.addOwner(_newOwner);\n }\n\n function removeOwner(address _ownerToRemove) external onlyOwners {\n ownersData.removeOwner(_ownerToRemove);\n }\n\n function addSigner(address _newSigner) external onlyOwners {\n signersData.addSigner(_newSigner);\n }\n\n function removeSigner(address _signerToRemove) external onlyOwners {\n signersData.removeSigner(_signerToRemove);\n }\n\n function setGammaOffersContract(address _gammaOffersContract) external onlyOwners checkAddressZero(_gammaOffersContract) {\n gammaOffersContract = IgammaOffersContract(_gammaOffersContract);\n emit NewGammaOffersContract(_gammaOffersContract);\n }\n\n function setGammaPacksContract(address _gammaPacksContract) external onlyOwners checkAddressZero(_gammaPacksContract){\n gammaPacksContract = IgammaPacksContract(_gammaPacksContract);\n emit NewGammaPacksContract(_gammaPacksContract);\n }\n\n function setGammaTicketsContract(address _gammaTicketsContract) external onlyOwners checkAddressZero(_gammaTicketsContract){\n gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract);\n emit NewGammaTicketsContract(_gammaTicketsContract);\n }\n\n function setPrizesBalance(uint256 amount) external onlyGammaPacksContract {\n s_prizesBalance += amount;\n }\n\n function setMainAlbumPrize(uint256 amount) external onlyOwners {\n if(amount == 0) revert IncorrectPrizeAmount();\n s_mainAlbumPrize = amount;\n }\n\n function setSecondaryAlbumPrize(uint256 amount) external onlyOwners {\n if(amount == 0) revert IncorrectPrizeAmount();\n s_secondaryAlbumPrize = amount;\n }\n\n function setLotteryPrizePercentage(uint8 amount) external onlyOwners {\n if(amount > 100) revert IncorrectPrizeAmount();\n s_lotteryPrizePercentage = amount;\n }\n\n function setUris(string memory newMainUri, string memory newSecondaryUri) external onlyOwners {\n s_mainUri = newMainUri;\n s_secondaryUri = newSecondaryUri;\n emit NewUris(newMainUri, newSecondaryUri);\n }\n\n function changeRequireOpenPackSignerValidation(bool required) external onlyOwners {\n s_requireOpenPackSignerValidation = required;\n }\n\n function changeRequireOfferValidationInMint(bool required) external onlyOwners {\n s_requireOfferValidationInMint = required;\n }\n\n function changeRequireOfferValidationInTransfer(bool required) external onlyOwners {\n s_requireOfferValidationInTransfer = required;\n }\n\n function changePackPrice(uint256 newPackPrice) external onlyGammaPacksContract {\n s_packPrice = newPackPrice;\n }\n\n function changeMaxPacksToOpenAtOnce(uint8 _maxPacksToOpenAtOnce) external onlyOwners {\n s_maxPacksToOpenAtOnce = _maxPacksToOpenAtOnce;\n }\n\n function removeCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract {\n s_cardsByUser[user][cardNumber]--;\n }\n\n function restoreCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract {\n s_cardsByUser[user][cardNumber]++;\n }\n\n function hasCardByOffer(\n address user,\n uint8 cardNumber\n ) external view onlyGammaOffersContract returns (bool has) {\n return s_cardsByUser[user][cardNumber] > 0;\n }\n\n function hasCard(address user, uint8 cardNum) public view checkAddressZero(user) returns (bool has) {\n return s_cardsByUser[user][cardNum] > 0;\n }\n\n function isOwner(address user) external view returns (bool) {\n return ownersData.owners[user];\n }\n\n function isSigner(address user) external view returns (bool) {\n return signersData.signers[user];\n }\n\n function getLotteryPrize() public view returns (uint256) {\n return (s_lotteryPrizePercentage * s_prizesBalance) / 100;\n }\n\n function getCardQuantityByUser(address user, uint8 cardNum) public view checkAddressZero(user) returns (uint8) {\n return s_cardsByUser[user][cardNum];\n }\n\n function getBurnedCardQttyByUser(address user) public view checkAddressZero(user) returns (uint256) {\n return s_burnedCards[user];\n }\n\n function getCardsByUser(\n address user\n ) public view returns (uint8[] memory, uint8[] memory, bool[] memory) {\n uint8[] memory cardNumbers = new uint8[](122);\n uint8[] memory quantities = new uint8[](122);\n bool[] memory offers = new bool[](122);\n uint8 index = 0;\n\n for (uint8 i; i <= 121; i++) {\n if (s_cardsByUser[user][i] > 0) {\n cardNumbers[index] = i;\n quantities[index] = s_cardsByUser[user][i];\n offers[index] = gammaOffersContract.hasOffer(user, i);\n index++;\n }\n }\n\n uint8[] memory userCardNumbers = new uint8[](index);\n uint8[] memory userCardsQtty = new uint8[](index);\n bool[] memory userCardsOffers = new bool[](index);\n\n for (uint256 j; j < index; j++) {\n userCardNumbers[j] = cardNumbers[j];\n userCardsQtty[j] = quantities[j];\n userCardsOffers[j] = offers[j];\n }\n\n return (userCardNumbers, userCardsQtty, userCardsOffers);\n }\n\n function verifyPackSigner(\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) public view returns (address signer) {\n return LibPackVerifier.verifyPackSigner(msg.sender, packNumber, packData, signature);\n }\n\n function openPack(\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) external {\n _openPack(msg.sender, packNumber, packData, signature);\n }\n\n function openPacks(\n uint8 packsQuantity,\n uint256[] memory packsNumber,\n uint8[][] memory packsData,\n bytes[] calldata signatures\n ) external {\n if(packsQuantity == 0 || packsQuantity > s_maxPacksToOpenAtOnce) revert WrongPacksQuantity();\n\n for (uint256 i; i < packsQuantity; i++) {\n _openPack(msg.sender, packsNumber[i], packsData[i], signatures[i]);\n }\n }\n\n function _openPack(\n address user,\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) private {\n if(gammaPacksContract.getPackOwner(packNumber) != user) revert NotYourPack();\n if(packData.length >= 15) revert CardLimitExceeded();\n\n if (s_requireOpenPackSignerValidation) {\n // Recreates the message present in the `signature`\n address signer = LibPackVerifier.verifyPackSigner(\n msg.sender,\n packNumber,\n packData,\n signature\n );\n \n if(!signersData.signers[signer]) revert InvalidSignature();\n }\n\n gammaPacksContract.openPack(packNumber, user);\n s_prizesBalance += s_packPrice - s_packPrice / 6;\n\n \n for (uint256 i; i < packData.length;) {\n if(packData[i] == 120){\n if(s_cardsInventory[120] > 3000) revert InvalidCardNumber();\n } else {\n if(s_cardsInventory[packData[i]] > 5000) revert InvalidCardNumber();\n }\n s_cardsInventory[packData[i]]++;\n s_cardsByUser[user][packData[i]]++;\n unchecked {\n i++;\n }\n }\n\n emit PackOpened(user, packData, packNumber);\n }\n\n function exchangeCardsOffer(\n address from,\n uint8 cardNumberFrom,\n address to,\n uint8 cardNumberTo\n ) external onlyGammaOffersContract checkAddressZero(from) checkAddressZero(to) {\n if(s_cardsByUser[from][cardNumberFrom] == 0 || s_cardsByUser[to][cardNumberTo] == 0) revert UserDoesNotHaveCardOrAlbum();\n\n s_cardsByUser[from][cardNumberFrom]--;\n s_cardsByUser[to][cardNumberFrom]++;\n s_cardsByUser[to][cardNumberTo]--;\n s_cardsByUser[from][cardNumberTo]++;\n\n emit OfferCardsExchanged(from, to, cardNumberFrom, cardNumberTo);\n }\n\n function transferCard(address to, uint8 cardNumber) external checkAddressZero(to) {\n if(s_cardsByUser[msg.sender][cardNumber] == 0) revert UserDoesNotHaveCardOrAlbum();\n if(to == msg.sender) revert InvalidTransfer();\n\n if (s_requireOfferValidationInTransfer) {\n bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumber);\n bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNumber] > 1;\n /* \n The user can only make an offer for one letter and in that case he cannot mint or transfer it.\n If you have more than one copy (quantity > 1) of that card, you must be able to mint \n or transfer the rest.\n */\n require(!hasOffer || hasMoreThanOne, \"This card has an offer.\");\n }\n\n s_cardsByUser[msg.sender][cardNumber]--;\n s_cardsByUser[to][cardNumber]++;\n emit CardTransfered(msg.sender, to, cardNumber);\n }\n\n function transferCards(address to, uint8[] calldata cardNumbers) public checkAddressZero(to) {\n if(to == msg.sender) revert InvalidTransfer();\n\n for (uint256 i; i < cardNumbers.length; i++) {\n if(s_cardsByUser[msg.sender][cardNumbers[i]] == 0) revert UserDoesNotHaveCardOrAlbum();\n s_cardsByUser[msg.sender][cardNumbers[i]]--;\n s_cardsByUser[to][cardNumbers[i]]++;\n\n if (s_requireOfferValidationInTransfer) {\n bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumbers[i]);\n bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNumbers[i]] > 1;\n /* \n The user can only make an offer for one letter and in that case he cannot mint or transfer it.\n If you have more than one copy (quantity > 1) of that card, you must be able to mint \n or transfer the rest.\n */\n require(!hasOffer || hasMoreThanOne, \"This card has an offer.\");\n }\n }\n emit CardsTransfered(msg.sender, to, cardNumbers);\n }\n\n // user must call this function when they have at least 1\n // card of each number (120 total) + a 120 album card\n function finishAlbum() public returns (bool) {\n // requires the user to have at least one 120 album\n if(s_cardsByUser[msg.sender][120] == 0) revert UserDoesNotHaveCardOrAlbum();\n if(s_prizesBalance < s_mainAlbumPrize) revert IncorrectPrizeAmount();\n\n uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this));\n if(contractBalance < s_mainAlbumPrize) revert InsufficientFunds();\n\n // check that you have at least one card of each number\n bool unfinished;\n \n for (uint8 i; i <= 120;) {\n if (s_cardsByUser[msg.sender][i] == 0) {\n unfinished = true;\n break;\n }\n s_cardsByUser[msg.sender][i]--;\n unchecked {\n i++;\n }\n }\n if(unfinished) revert MustCompleteAlbum();\n\n // mint the completed album.\n safeMint(msg.sender, s_mainUri, 120, 2);\n\n // transfer prize in DAI.\n s_prizesBalance -= s_mainAlbumPrize;\n IERC20(DAI_TOKEN).transfer(msg.sender, s_mainAlbumPrize);\n\n bool userOffersRemoved = gammaOffersContract.removeOffersByUser(msg.sender);\n if(!userOffersRemoved) revert CannotRemoveUserOffers();\n\n emit AlbumCompleted(msg.sender, 1);\n return true;\n }\n\n // user should call this function if they want to 'paste' selected cards in\n // the 60 cards album to 'burn' them.\n function burnCards(uint8[] calldata cardNumbers) public {\n if(s_cardsByUser[msg.sender][121] == 0) revert UserDoesNotHaveCardOrAlbum();\n uint256 totalUserBurnedCards = s_burnedCards[msg.sender] + cardNumbers.length;\n bool mustPayPrize;\n\n if (totalUserBurnedCards >= 60) {\n uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this));\n if(contractBalance < s_secondaryAlbumPrize || s_prizesBalance < s_secondaryAlbumPrize) revert InsufficientFunds();\n mustPayPrize = true;\n }\n\n bool userHasOffers = (gammaOffersContract.getOffersByUserCounter(msg.sender) > 0);\n uint256 cardNumbersLength = cardNumbers.length;\n for (uint256 i; i < cardNumbersLength;) {\n if(s_cardsByUser[msg.sender][cardNumbers[i]] == 0) revert UserDoesNotHaveCardOrAlbum();\n if (userHasOffers) {\n if (gammaOffersContract.hasOffer(msg.sender, cardNumbers[i])) {\n if(s_cardsByUser[msg.sender][cardNumbers[i]] < 2) revert InsufficientCards();\n }\n }\n s_cardsByUser[msg.sender][cardNumbers[i]]--;\n unchecked {\n i++;\n }\n }\n\n s_burnedCards[msg.sender] += cardNumbersLength;\n emit CardsBurned(msg.sender, cardNumbers);\n\n if (mustPayPrize) {\n s_cardsByUser[msg.sender][121]--;\n safeMint(msg.sender, s_secondaryUri, 121, 2); // mint album of 60 cards.\n\n s_prizesBalance -= s_secondaryAlbumPrize;\n IERC20(DAI_TOKEN).transfer(msg.sender, s_secondaryAlbumPrize);\n\n gammaTicketsContract.generateTicket(msg.sender);\n emit AlbumCompleted(msg.sender, 2);\n }\n }\n\n function mintCard(uint8 cardNum) public {\n if(s_cardsByUser[msg.sender][cardNum] == 0) revert UserDoesNotHaveCardOrAlbum();\n\n if (s_requireOfferValidationInMint) {\n bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNum);\n bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNum] > 1;\n /* \n The user can only make an offer for one letter and in that case he cannot mint or transfer it.\n If you have more than one copy (quantity > 1) of that card, you must be able to mint \n or transfer the rest.\n */\n require(!hasOffer || hasMoreThanOne, \"This card has an offer.\");\n }\n\n s_cardsByUser[msg.sender][cardNum]--;\n\n string memory uri = string(\n abi.encodePacked(bytes(s_baseUri), bytes(\"/\"), bytes(cardNum.toString()), bytes(\".json\"))\n );\n\n safeMint(msg.sender, uri, cardNum, 1);\n }\n\n function safeMint(address _to, string memory _uri, uint256 _number, uint8 _class) internal {\n uint256 tokenId = s_tokenIdCounter;\n s_cards[tokenId].tokenId = tokenId;\n s_cards[tokenId].number = _number;\n s_cards[tokenId].class = _class;\n _safeMint(_to, tokenId);\n _setTokenURI(tokenId, _uri);\n s_tokenIdCounter += 1;\n }\n\n // do not call unless really necessary\n function emergencyWithdraw(uint256 amount) public onlyOwners {\n if(balanceOf(address(this)) < amount) revert InsufficientFunds();\n s_prizesBalance -= amount;\n IERC20(DAI_TOKEN).transfer(msg.sender, amount);\n emit EmergencyWithdrawal(msg.sender, amount);\n }\n\n\n\n\n // for testing purposes only, will remove on deploy\n function testAddCards(address user) public onlyOwners {\n for(uint8 i; i<=121; i++){ // 0-119: cards, 120: album-120, 121: album-60\n s_cardsByUser[user][i]++;\n }\n }\n\n function testOpenPack(address user, uint256 packNumber, uint8[] memory packData) external onlyOwners {\n gammaPacksContract.openPack(packNumber, user);\n s_prizesBalance += s_packPrice - s_packPrice / 6;\n\n for(uint256 i; i bool) owners;\n mapping(address => bool) signers;\n }\n\n event NewOwnerAdded(address newOwner);\n event OwnerRemoved(address owner);\n event NewSignerAdded(address newSigner);\n event SignerRemoved(address signer);\n\n function addOwner(Data storage self, address newOwner) external {\n require(newOwner != address(0), \"Invalid address.\");\n require(!self.owners[newOwner], \"Address is already an owner.\");\n self.owners[newOwner] = true;\n emit NewOwnerAdded(newOwner);\n }\n\n function removeOwner(Data storage self, address ownerToRemove) external {\n require(ownerToRemove != address(0), \"Invalid address.\");\n require(self.owners[ownerToRemove], \"Address is not an owner.\");\n require(ownerToRemove != msg.sender, \"You cannot remove yourself as an owner.\");\n self.owners[ownerToRemove] = false;\n emit OwnerRemoved(ownerToRemove);\n }\n\n function addSigner(Data storage self, address newSigner) external {\n require(newSigner != address(0), \"Invalid address.\");\n require(!self.signers[newSigner], \"Address is already a signer.\");\n self.signers[newSigner] = true;\n emit NewSignerAdded(newSigner);\n }\n\n function removeSigner(Data storage self, address signerToRemove) external {\n require(signerToRemove != address(0), \"Invalid address.\");\n require(self.signers[signerToRemove], \"Address is not a signer.\");\n require(signerToRemove != msg.sender, \"You cannot remove yourself as a signer.\");\n self.signers[signerToRemove] = false;\n emit SignerRemoved(signerToRemove);\n }\n}\n"},"contracts/gamma/libs/LibPackVerifier.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\";\n\nlibrary LibPackVerifier {\n using ECDSA for bytes32;\n\n function verifyPackSigner(\n address sender,\n uint256 packNumber,\n uint8[] memory packData,\n bytes calldata signature\n ) public pure returns (address) {\n bytes32 messageHash = keccak256(\n abi.encodePacked(sender, packNumber, packData, '0xf1dD71895e49b1563693969de50898197cDF3481')\n ).toEthSignedMessageHash();\n\n address recoveredSigner = messageHash.recover(signature);\n return recoveredSigner;\n }\n}\n"},"contracts/gamma/libs/LibStringUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nlibrary LibStringUtils {\n\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Strings.sol#L15-L35\n function toString(uint256 value) public pure returns (string memory) {\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n}\n"},"hardhat/console.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata","storageLayout"],"":["ast"]}}}},"output":{"sources":{"@openzeppelin/contracts/access/Ownable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","exportedSymbols":{"Context":[1852],"Ownable":[112]},"id":113,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"102:23:0"},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":113,"sourceUnit":1853,"src":"127:30:0","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":4,"name":"Context","nameLocations":["683:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":1852,"src":"683:7:0"},"id":5,"nodeType":"InheritanceSpecifier","src":"683:7:0"}],"canonicalName":"Ownable","contractDependencies":[],"contractKind":"contract","documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"159:494:0","text":" @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"id":112,"linearizedBaseContracts":[112,1852],"name":"Ownable","nameLocation":"672:7:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":7,"mutability":"mutable","name":"_owner","nameLocation":"713:6:0","nodeType":"VariableDeclaration","scope":112,"src":"697:22:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6,"name":"address","nodeType":"ElementaryTypeName","src":"697:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","id":13,"name":"OwnershipTransferred","nameLocation":"732:20:0","nodeType":"EventDefinition","parameters":{"id":12,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"769:13:0","nodeType":"VariableDeclaration","scope":13,"src":"753:29:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8,"name":"address","nodeType":"ElementaryTypeName","src":"753:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"800:8:0","nodeType":"VariableDeclaration","scope":13,"src":"784:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10,"name":"address","nodeType":"ElementaryTypeName","src":"784:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"752:57:0"},"src":"726:84:0"},{"body":{"id":22,"nodeType":"Block","src":"926:49:0","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":18,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"955:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":19,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"955:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":17,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"936:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":20,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"936:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21,"nodeType":"ExpressionStatement","src":"936:32:0"}]},"documentation":{"id":14,"nodeType":"StructuredDocumentation","src":"816:91:0","text":" @dev Initializes the contract setting the deployer as the initial owner."},"id":23,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":15,"nodeType":"ParameterList","parameters":[],"src":"923:2:0"},"returnParameters":{"id":16,"nodeType":"ParameterList","parameters":[],"src":"926:0:0"},"scope":112,"src":"912:63:0","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":30,"nodeType":"Block","src":"1084:41:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":26,"name":"_checkOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54,"src":"1094:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":27,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1094:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28,"nodeType":"ExpressionStatement","src":"1094:13:0"},{"id":29,"nodeType":"PlaceholderStatement","src":"1117:1:0"}]},"documentation":{"id":24,"nodeType":"StructuredDocumentation","src":"981:77:0","text":" @dev Throws if called by any account other than the owner."},"id":31,"name":"onlyOwner","nameLocation":"1072:9:0","nodeType":"ModifierDefinition","parameters":{"id":25,"nodeType":"ParameterList","parameters":[],"src":"1081:2:0"},"src":"1063:62:0","virtual":false,"visibility":"internal"},{"body":{"id":39,"nodeType":"Block","src":"1256:30:0","statements":[{"expression":{"id":37,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"1273:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":36,"id":38,"nodeType":"Return","src":"1266:13:0"}]},"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"1131:65:0","text":" @dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","id":40,"implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1210:5:0","nodeType":"FunctionDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[],"src":"1215:2:0"},"returnParameters":{"id":36,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40,"src":"1247:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34,"name":"address","nodeType":"ElementaryTypeName","src":"1247:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1246:9:0"},"scope":112,"src":"1201:85:0","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":53,"nodeType":"Block","src":"1404:85:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":45,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"1422:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":46,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:7:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":47,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"1433:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":48,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1433:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1422:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":50,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1447:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"id":44,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1414:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1414:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52,"nodeType":"ExpressionStatement","src":"1414:68:0"}]},"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"1292:62:0","text":" @dev Throws if the sender is not the owner."},"id":54,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOwner","nameLocation":"1368:11:0","nodeType":"FunctionDefinition","parameters":{"id":42,"nodeType":"ParameterList","parameters":[],"src":"1379:2:0"},"returnParameters":{"id":43,"nodeType":"ParameterList","parameters":[],"src":"1404:0:0"},"scope":112,"src":"1359:130:0","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":67,"nodeType":"Block","src":"1878:47:0","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":63,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1915:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":62,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1907:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":61,"name":"address","nodeType":"ElementaryTypeName","src":"1907:7:0","typeDescriptions":{}}},"id":64,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1907:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":60,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"1888:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":65,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1888:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66,"nodeType":"ExpressionStatement","src":"1888:30:0"}]},"documentation":{"id":55,"nodeType":"StructuredDocumentation","src":"1495:324:0","text":" @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner."},"functionSelector":"715018a6","id":68,"implemented":true,"kind":"function","modifiers":[{"id":58,"kind":"modifierInvocation","modifierName":{"id":57,"name":"onlyOwner","nameLocations":["1868:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"1868:9:0"},"nodeType":"ModifierInvocation","src":"1868:9:0"}],"name":"renounceOwnership","nameLocation":"1833:17:0","nodeType":"FunctionDefinition","parameters":{"id":56,"nodeType":"ParameterList","parameters":[],"src":"1850:2:0"},"returnParameters":{"id":59,"nodeType":"ParameterList","parameters":[],"src":"1878:0:0"},"scope":112,"src":"1824:101:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":90,"nodeType":"Block","src":"2144:128:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"2162:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":80,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2174:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78,"name":"address","nodeType":"ElementaryTypeName","src":"2174:7:0","typeDescriptions":{}}},"id":81,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2174:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2162:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373","id":83,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2186:40:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""},"value":"Ownable: new owner is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""}],"id":76,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2154:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":84,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:73:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85,"nodeType":"ExpressionStatement","src":"2154:73:0"},{"expression":{"arguments":[{"id":87,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"2256:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":86,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111,"src":"2237:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":88,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89,"nodeType":"ExpressionStatement","src":"2237:28:0"}]},"documentation":{"id":69,"nodeType":"StructuredDocumentation","src":"1931:138:0","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","id":91,"implemented":true,"kind":"function","modifiers":[{"id":74,"kind":"modifierInvocation","modifierName":{"id":73,"name":"onlyOwner","nameLocations":["2134:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"2134:9:0"},"nodeType":"ModifierInvocation","src":"2134:9:0"}],"name":"transferOwnership","nameLocation":"2083:17:0","nodeType":"FunctionDefinition","parameters":{"id":72,"nodeType":"ParameterList","parameters":[{"constant":false,"id":71,"mutability":"mutable","name":"newOwner","nameLocation":"2109:8:0","nodeType":"VariableDeclaration","scope":91,"src":"2101:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":70,"name":"address","nodeType":"ElementaryTypeName","src":"2101:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2100:18:0"},"returnParameters":{"id":75,"nodeType":"ParameterList","parameters":[],"src":"2144:0:0"},"scope":112,"src":"2074:198:0","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":110,"nodeType":"Block","src":"2489:124:0","statements":[{"assignments":[98],"declarations":[{"constant":false,"id":98,"mutability":"mutable","name":"oldOwner","nameLocation":"2507:8:0","nodeType":"VariableDeclaration","scope":110,"src":"2499:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":97,"name":"address","nodeType":"ElementaryTypeName","src":"2499:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":100,"initialValue":{"id":99,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"2518:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2499:25:0"},{"expression":{"id":103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7,"src":"2534:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":102,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"2543:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2534:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":104,"nodeType":"ExpressionStatement","src":"2534:17:0"},{"eventCall":{"arguments":[{"id":106,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"2587:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"2597:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":105,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2566:20:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"EmitStatement","src":"2561:45:0"}]},"documentation":{"id":92,"nodeType":"StructuredDocumentation","src":"2278:143:0","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"id":111,"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"2435:18:0","nodeType":"FunctionDefinition","parameters":{"id":95,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94,"mutability":"mutable","name":"newOwner","nameLocation":"2462:8:0","nodeType":"VariableDeclaration","scope":111,"src":"2454:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93,"name":"address","nodeType":"ElementaryTypeName","src":"2454:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2453:18:0"},"returnParameters":{"id":96,"nodeType":"ParameterList","parameters":[],"src":"2489:0:0"},"scope":112,"src":"2426:187:0","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":113,"src":"654:1961:0","usedErrors":[],"usedEvents":[13]}],"src":"102:2514:0"},"id":0},"@openzeppelin/contracts/interfaces/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","exportedSymbols":{"IERC165":[2483]},"id":116,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":114,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:1"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../utils/introspection/IERC165.sol","id":115,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":116,"sourceUnit":2484,"src":"116:44:1","symbolAliases":[],"unitAlias":""}],"src":"91:70:1"},"id":1},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC4906.sol","exportedSymbols":{"IERC165":[2483],"IERC4906":[137],"IERC721":[1261]},"id":138,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":117,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:2"},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC165.sol","file":"./IERC165.sol","id":118,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":138,"sourceUnit":116,"src":"132:23:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC721.sol","file":"./IERC721.sol","id":119,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":138,"sourceUnit":141,"src":"156:23:2","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":121,"name":"IERC165","nameLocations":["248:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"248:7:2"},"id":122,"nodeType":"InheritanceSpecifier","src":"248:7:2"},{"baseName":{"id":123,"name":"IERC721","nameLocations":["257:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"257:7:2"},"id":124,"nodeType":"InheritanceSpecifier","src":"257:7:2"}],"canonicalName":"IERC4906","contractDependencies":[],"contractKind":"interface","documentation":{"id":120,"nodeType":"StructuredDocumentation","src":"181:45:2","text":"@title EIP-721 Metadata Update Extension"},"fullyImplemented":false,"id":137,"linearizedBaseContracts":[137,1261,2483],"name":"IERC4906","nameLocation":"236:8:2","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":125,"nodeType":"StructuredDocumentation","src":"271:201:2","text":"@dev This event emits when the metadata of a token is changed.\n So that the third-party platforms such as NFT market could\n timely update the images and related attributes of the NFT."},"eventSelector":"f8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7","id":129,"name":"MetadataUpdate","nameLocation":"483:14:2","nodeType":"EventDefinition","parameters":{"id":128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127,"indexed":false,"mutability":"mutable","name":"_tokenId","nameLocation":"506:8:2","nodeType":"VariableDeclaration","scope":129,"src":"498:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":126,"name":"uint256","nodeType":"ElementaryTypeName","src":"498:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"497:18:2"},"src":"477:39:2"},{"anonymous":false,"documentation":{"id":130,"nodeType":"StructuredDocumentation","src":"522:212:2","text":"@dev This event emits when the metadata of a range of tokens is changed.\n So that the third-party platforms such as NFT market could\n timely update the images and related attributes of the NFTs."},"eventSelector":"6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c","id":136,"name":"BatchMetadataUpdate","nameLocation":"745:19:2","nodeType":"EventDefinition","parameters":{"id":135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":132,"indexed":false,"mutability":"mutable","name":"_fromTokenId","nameLocation":"773:12:2","nodeType":"VariableDeclaration","scope":136,"src":"765:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":131,"name":"uint256","nodeType":"ElementaryTypeName","src":"765:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":134,"indexed":false,"mutability":"mutable","name":"_toTokenId","nameLocation":"795:10:2","nodeType":"VariableDeclaration","scope":136,"src":"787:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"787:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"764:42:2"},"src":"739:68:2"}],"scope":138,"src":"226:583:2","usedErrors":[],"usedEvents":[129,136,1160,1169,1178]}],"src":"107:703:2"},"id":2},"@openzeppelin/contracts/interfaces/IERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/IERC721.sol","exportedSymbols":{"IERC165":[2483],"IERC721":[1261]},"id":141,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":139,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"91:23:3"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../token/ERC721/IERC721.sol","id":140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":141,"sourceUnit":1262,"src":"116:37:3","symbolAliases":[],"unitAlias":""}],"src":"91:63:3"},"id":3},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[218]},"id":219,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":142,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"106:23:4"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":143,"nodeType":"StructuredDocumentation","src":"131:70:4","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"id":218,"linearizedBaseContracts":[218],"name":"IERC20","nameLocation":"212:6:4","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":144,"nodeType":"StructuredDocumentation","src":"225:158:4","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":152,"name":"Transfer","nameLocation":"394:8:4","nodeType":"EventDefinition","parameters":{"id":151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":146,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:4","nodeType":"VariableDeclaration","scope":152,"src":"403:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":145,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":148,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:4","nodeType":"VariableDeclaration","scope":152,"src":"425:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":147,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":150,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:4","nodeType":"VariableDeclaration","scope":152,"src":"445:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":149,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:4"},"src":"388:72:4"},{"anonymous":false,"documentation":{"id":153,"nodeType":"StructuredDocumentation","src":"466:148:4","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":161,"name":"Approval","nameLocation":"625:8:4","nodeType":"EventDefinition","parameters":{"id":160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":155,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:4","nodeType":"VariableDeclaration","scope":161,"src":"634:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":154,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":157,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:4","nodeType":"VariableDeclaration","scope":161,"src":"657:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":156,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":159,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:4","nodeType":"VariableDeclaration","scope":161,"src":"682:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":158,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:4"},"src":"619:78:4"},{"documentation":{"id":162,"nodeType":"StructuredDocumentation","src":"703:66:4","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","id":167,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:4","nodeType":"FunctionDefinition","parameters":{"id":163,"nodeType":"ParameterList","parameters":[],"src":"794:2:4"},"returnParameters":{"id":166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":167,"src":"820:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":164,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:4"},"scope":218,"src":"774:55:4","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":168,"nodeType":"StructuredDocumentation","src":"835:72:4","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","id":175,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:4","nodeType":"FunctionDefinition","parameters":{"id":171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":170,"mutability":"mutable","name":"account","nameLocation":"939:7:4","nodeType":"VariableDeclaration","scope":175,"src":"931:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":169,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:4"},"returnParameters":{"id":174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":175,"src":"971:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":172,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:4"},"scope":218,"src":"912:68:4","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"986:202:4","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","id":185,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:4","nodeType":"FunctionDefinition","parameters":{"id":181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"to","nameLocation":"1219:2:4","nodeType":"VariableDeclaration","scope":185,"src":"1211:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":177,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"amount","nameLocation":"1231:6:4","nodeType":"VariableDeclaration","scope":185,"src":"1223:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:4"},"returnParameters":{"id":184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":185,"src":"1257:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":182,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:4"},"scope":218,"src":"1193:70:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":186,"nodeType":"StructuredDocumentation","src":"1269:264:4","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","id":195,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:4","nodeType":"FunctionDefinition","parameters":{"id":191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":188,"mutability":"mutable","name":"owner","nameLocation":"1565:5:4","nodeType":"VariableDeclaration","scope":195,"src":"1557:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":187,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":190,"mutability":"mutable","name":"spender","nameLocation":"1580:7:4","nodeType":"VariableDeclaration","scope":195,"src":"1572:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":189,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:4"},"returnParameters":{"id":194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":195,"src":"1612:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":192,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:4"},"scope":218,"src":"1538:83:4","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":196,"nodeType":"StructuredDocumentation","src":"1627:642:4","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":205,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:4","nodeType":"FunctionDefinition","parameters":{"id":201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":198,"mutability":"mutable","name":"spender","nameLocation":"2299:7:4","nodeType":"VariableDeclaration","scope":205,"src":"2291:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":197,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":200,"mutability":"mutable","name":"amount","nameLocation":"2316:6:4","nodeType":"VariableDeclaration","scope":205,"src":"2308:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":199,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:4"},"returnParameters":{"id":204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":205,"src":"2342:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":202,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:4"},"scope":218,"src":"2274:74:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":206,"nodeType":"StructuredDocumentation","src":"2354:287:4","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":217,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:4","nodeType":"FunctionDefinition","parameters":{"id":213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":208,"mutability":"mutable","name":"from","nameLocation":"2676:4:4","nodeType":"VariableDeclaration","scope":217,"src":"2668:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":207,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":210,"mutability":"mutable","name":"to","nameLocation":"2690:2:4","nodeType":"VariableDeclaration","scope":217,"src":"2682:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":209,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":212,"mutability":"mutable","name":"amount","nameLocation":"2702:6:4","nodeType":"VariableDeclaration","scope":217,"src":"2694:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":211,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:4"},"returnParameters":{"id":216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":217,"src":"2728:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":214,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:4"},"scope":218,"src":"2646:88:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":219,"src":"202:2534:4","usedErrors":[],"usedEvents":[152,161]}],"src":"106:2631:4"},"id":4},"@openzeppelin/contracts/token/ERC721/ERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ERC165":[2471],"ERC721":[1145],"IERC165":[2483],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":1146,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":220,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"107:23:5"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"./IERC721.sol","id":221,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1262,"src":"132:23:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"./IERC721Receiver.sol","id":222,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1280,"src":"156:31:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"./extensions/IERC721Metadata.sol","id":223,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1493,"src":"188:42:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","id":224,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1823,"src":"231:33:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":225,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":1853,"src":"265:33:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"../../utils/Strings.sol","id":226,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":2082,"src":"299:33:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../utils/introspection/ERC165.sol","id":227,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1146,"sourceUnit":2472,"src":"333:46:5","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":229,"name":"Context","nameLocations":["647:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1852,"src":"647:7:5"},"id":230,"nodeType":"InheritanceSpecifier","src":"647:7:5"},{"baseName":{"id":231,"name":"ERC165","nameLocations":["656:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":2471,"src":"656:6:5"},"id":232,"nodeType":"InheritanceSpecifier","src":"656:6:5"},{"baseName":{"id":233,"name":"IERC721","nameLocations":["664:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"664:7:5"},"id":234,"nodeType":"InheritanceSpecifier","src":"664:7:5"},{"baseName":{"id":235,"name":"IERC721Metadata","nameLocations":["673:15:5"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"673:15:5"},"id":236,"nodeType":"InheritanceSpecifier","src":"673:15:5"}],"canonicalName":"ERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":228,"nodeType":"StructuredDocumentation","src":"381:246:5","text":" @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."},"fullyImplemented":true,"id":1145,"linearizedBaseContracts":[1145,1492,1261,2471,2483,1852],"name":"ERC721","nameLocation":"637:6:5","nodeType":"ContractDefinition","nodes":[{"global":false,"id":239,"libraryName":{"id":237,"name":"Address","nameLocations":["701:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":1822,"src":"701:7:5"},"nodeType":"UsingForDirective","src":"695:26:5","typeName":{"id":238,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"global":false,"id":242,"libraryName":{"id":240,"name":"Strings","nameLocations":["732:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":2081,"src":"732:7:5"},"nodeType":"UsingForDirective","src":"726:26:5","typeName":{"id":241,"name":"uint256","nodeType":"ElementaryTypeName","src":"744:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":244,"mutability":"mutable","name":"_name","nameLocation":"791:5:5","nodeType":"VariableDeclaration","scope":1145,"src":"776:20:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":243,"name":"string","nodeType":"ElementaryTypeName","src":"776:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":246,"mutability":"mutable","name":"_symbol","nameLocation":"838:7:5","nodeType":"VariableDeclaration","scope":1145,"src":"823:22:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":245,"name":"string","nodeType":"ElementaryTypeName","src":"823:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":250,"mutability":"mutable","name":"_owners","nameLocation":"934:7:5","nodeType":"VariableDeclaration","scope":1145,"src":"898:43:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":249,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":247,"name":"uint256","nodeType":"ElementaryTypeName","src":"906:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"898:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":248,"name":"address","nodeType":"ElementaryTypeName","src":"917:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":254,"mutability":"mutable","name":"_balances","nameLocation":"1028:9:5","nodeType":"VariableDeclaration","scope":1145,"src":"992:45:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":253,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":251,"name":"address","nodeType":"ElementaryTypeName","src":"1000:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"992:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":252,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":258,"mutability":"mutable","name":"_tokenApprovals","nameLocation":"1129:15:5","nodeType":"VariableDeclaration","scope":1145,"src":"1093:51:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":257,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":255,"name":"uint256","nodeType":"ElementaryTypeName","src":"1101:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1093:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":256,"name":"address","nodeType":"ElementaryTypeName","src":"1112:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"constant":false,"id":264,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"1252:18:5","nodeType":"VariableDeclaration","scope":1145,"src":"1199:71:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":263,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":259,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1199:44:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":262,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":260,"name":"address","nodeType":"ElementaryTypeName","src":"1226:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1218:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":261,"name":"bool","nodeType":"ElementaryTypeName","src":"1237:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"body":{"id":280,"nodeType":"Block","src":"1446:57:5","statements":[{"expression":{"id":274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":272,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"1456:5:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":273,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":267,"src":"1464:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1456:13:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":275,"nodeType":"ExpressionStatement","src":"1456:13:5"},{"expression":{"id":278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":276,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":246,"src":"1479:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":277,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":269,"src":"1489:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1479:17:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":279,"nodeType":"ExpressionStatement","src":"1479:17:5"}]},"documentation":{"id":265,"nodeType":"StructuredDocumentation","src":"1277:108:5","text":" @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."},"id":281,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":267,"mutability":"mutable","name":"name_","nameLocation":"1416:5:5","nodeType":"VariableDeclaration","scope":281,"src":"1402:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":266,"name":"string","nodeType":"ElementaryTypeName","src":"1402:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":269,"mutability":"mutable","name":"symbol_","nameLocation":"1437:7:5","nodeType":"VariableDeclaration","scope":281,"src":"1423:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":268,"name":"string","nodeType":"ElementaryTypeName","src":"1423:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1401:44:5"},"returnParameters":{"id":271,"nodeType":"ParameterList","parameters":[],"src":"1446:0:5"},"scope":1145,"src":"1390:113:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[2470,2482],"body":{"id":311,"nodeType":"Block","src":"1678:192:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":292,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"1707:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":294,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1261,"src":"1727:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721_$1261_$","typeString":"type(contract IERC721)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721_$1261_$","typeString":"type(contract IERC721)"}],"id":293,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1722:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1722:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721_$1261","typeString":"type(contract IERC721)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1736:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"1722:25:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1707:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":298,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"1763:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":300,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"1783:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$1492_$","typeString":"type(contract IERC721Metadata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$1492_$","typeString":"type(contract IERC721Metadata)"}],"id":299,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1778:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1778:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Metadata_$1492","typeString":"type(contract IERC721Metadata)"}},"id":302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1800:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"1778:33:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1763:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:104:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":307,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":284,"src":"1851:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":305,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1827:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721_$1145_$","typeString":"type(contract super ERC721)"}},"id":306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1833:17:5","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":2470,"src":"1827:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1827:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:156:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":291,"id":310,"nodeType":"Return","src":"1688:175:5"}]},"documentation":{"id":282,"nodeType":"StructuredDocumentation","src":"1509:56:5","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":312,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1579:17:5","nodeType":"FunctionDefinition","overrides":{"id":288,"nodeType":"OverrideSpecifier","overrides":[{"id":286,"name":"ERC165","nameLocations":["1646:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":2471,"src":"1646:6:5"},{"id":287,"name":"IERC165","nameLocations":["1654:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"1654:7:5"}],"src":"1637:25:5"},"parameters":{"id":285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":284,"mutability":"mutable","name":"interfaceId","nameLocation":"1604:11:5","nodeType":"VariableDeclaration","scope":312,"src":"1597:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":283,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1597:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1596:20:5"},"returnParameters":{"id":291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":312,"src":"1672:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":289,"name":"bool","nodeType":"ElementaryTypeName","src":"1672:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1671:6:5"},"scope":1145,"src":"1570:300:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1186],"body":{"id":335,"nodeType":"Block","src":"2010:123:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":322,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"2028:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2037:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":323,"name":"address","nodeType":"ElementaryTypeName","src":"2037:7:5","typeDescriptions":{}}},"id":326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2037:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2028:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572","id":328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2049:43:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""},"value":"ERC721: address zero is not a valid owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""}],"id":321,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2020:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2020:73:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"ExpressionStatement","src":"2020:73:5"},{"expression":{"baseExpression":{"id":331,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"2110:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":333,"indexExpression":{"id":332,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"2120:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2110:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":320,"id":334,"nodeType":"Return","src":"2103:23:5"}]},"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"1876:48:5","text":" @dev See {IERC721-balanceOf}."},"functionSelector":"70a08231","id":336,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1938:9:5","nodeType":"FunctionDefinition","overrides":{"id":317,"nodeType":"OverrideSpecifier","overrides":[],"src":"1983:8:5"},"parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"owner","nameLocation":"1956:5:5","nodeType":"VariableDeclaration","scope":336,"src":"1948:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"1948:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1947:15:5"},"returnParameters":{"id":320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":336,"src":"2001:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":318,"name":"uint256","nodeType":"ElementaryTypeName","src":"2001:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2000:9:5"},"scope":1145,"src":"1929:204:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1194],"body":{"id":363,"nodeType":"Block","src":"2271:138:5","statements":[{"assignments":[346],"declarations":[{"constant":false,"id":346,"mutability":"mutable","name":"owner","nameLocation":"2289:5:5","nodeType":"VariableDeclaration","scope":363,"src":"2281:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":345,"name":"address","nodeType":"ElementaryTypeName","src":"2281:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":350,"initialValue":{"arguments":[{"id":348,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"2306:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":347,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"2297:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2297:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2281:33:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":352,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"2332:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2349:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2341:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":353,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:5","typeDescriptions":{}}},"id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2341:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2332:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2353:26:5","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":351,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2324:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2324:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":360,"nodeType":"ExpressionStatement","src":"2324:56:5"},{"expression":{"id":361,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"2397:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":344,"id":362,"nodeType":"Return","src":"2390:12:5"}]},"documentation":{"id":337,"nodeType":"StructuredDocumentation","src":"2139:46:5","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","id":364,"implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2199:7:5","nodeType":"FunctionDefinition","overrides":{"id":341,"nodeType":"OverrideSpecifier","overrides":[],"src":"2244:8:5"},"parameters":{"id":340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":339,"mutability":"mutable","name":"tokenId","nameLocation":"2215:7:5","nodeType":"VariableDeclaration","scope":364,"src":"2207:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":338,"name":"uint256","nodeType":"ElementaryTypeName","src":"2207:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2206:17:5"},"returnParameters":{"id":344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":364,"src":"2262:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":342,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2261:9:5"},"scope":1145,"src":"2190:219:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1477],"body":{"id":373,"nodeType":"Block","src":"2540:29:5","statements":[{"expression":{"id":371,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"2557:5:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":370,"id":372,"nodeType":"Return","src":"2550:12:5"}]},"documentation":{"id":365,"nodeType":"StructuredDocumentation","src":"2415:51:5","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","id":374,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2480:4:5","nodeType":"FunctionDefinition","overrides":{"id":367,"nodeType":"OverrideSpecifier","overrides":[],"src":"2507:8:5"},"parameters":{"id":366,"nodeType":"ParameterList","parameters":[],"src":"2484:2:5"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":374,"src":"2525:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":368,"name":"string","nodeType":"ElementaryTypeName","src":"2525:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2524:15:5"},"scope":1145,"src":"2471:98:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1483],"body":{"id":383,"nodeType":"Block","src":"2704:31:5","statements":[{"expression":{"id":381,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":246,"src":"2721:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":380,"id":382,"nodeType":"Return","src":"2714:14:5"}]},"documentation":{"id":375,"nodeType":"StructuredDocumentation","src":"2575:53:5","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","id":384,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2642:6:5","nodeType":"FunctionDefinition","overrides":{"id":377,"nodeType":"OverrideSpecifier","overrides":[],"src":"2671:8:5"},"parameters":{"id":376,"nodeType":"ParameterList","parameters":[],"src":"2648:2:5"},"returnParameters":{"id":380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":379,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":384,"src":"2689:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":378,"name":"string","nodeType":"ElementaryTypeName","src":"2689:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2688:15:5"},"scope":1145,"src":"2633:102:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1491],"body":{"id":422,"nodeType":"Block","src":"2889:188:5","statements":[{"expression":{"arguments":[{"id":394,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":387,"src":"2914:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":393,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"2899:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":396,"nodeType":"ExpressionStatement","src":"2899:23:5"},{"assignments":[398],"declarations":[{"constant":false,"id":398,"mutability":"mutable","name":"baseURI","nameLocation":"2947:7:5","nodeType":"VariableDeclaration","scope":422,"src":"2933:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":397,"name":"string","nodeType":"ElementaryTypeName","src":"2933:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":401,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":399,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":432,"src":"2957:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2933:34:5"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":404,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"2990:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2984:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":402,"name":"bytes","nodeType":"ElementaryTypeName","src":"2984:5:5","typeDescriptions":{}}},"id":405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2984:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2999:6:5","memberName":"length","nodeType":"MemberAccess","src":"2984:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3008:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2984:25:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3068:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2984:86:5","trueExpression":{"arguments":[{"arguments":[{"id":413,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":398,"src":"3036:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":414,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":387,"src":"3045:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3053:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":1911,"src":"3045:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3045:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":411,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3019:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3023:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"3019:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3019:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3012:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":409,"name":"string","nodeType":"ElementaryTypeName","src":"3012:6:5","typeDescriptions":{}}},"id":418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3012:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":392,"id":421,"nodeType":"Return","src":"2977:93:5"}]},"documentation":{"id":385,"nodeType":"StructuredDocumentation","src":"2741:55:5","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":423,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2810:8:5","nodeType":"FunctionDefinition","overrides":{"id":389,"nodeType":"OverrideSpecifier","overrides":[],"src":"2856:8:5"},"parameters":{"id":388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":387,"mutability":"mutable","name":"tokenId","nameLocation":"2827:7:5","nodeType":"VariableDeclaration","scope":423,"src":"2819:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":386,"name":"uint256","nodeType":"ElementaryTypeName","src":"2819:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2818:17:5"},"returnParameters":{"id":392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":423,"src":"2874:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":390,"name":"string","nodeType":"ElementaryTypeName","src":"2874:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2873:15:5"},"scope":1145,"src":"2801:276:5","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":431,"nodeType":"Block","src":"3385:26:5","statements":[{"expression":{"hexValue":"","id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3402:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":428,"id":430,"nodeType":"Return","src":"3395:9:5"}]},"documentation":{"id":424,"nodeType":"StructuredDocumentation","src":"3083:231:5","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."},"id":432,"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"3328:8:5","nodeType":"FunctionDefinition","parameters":{"id":425,"nodeType":"ParameterList","parameters":[],"src":"3336:2:5"},"returnParameters":{"id":428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":427,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":432,"src":"3370:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":426,"name":"string","nodeType":"ElementaryTypeName","src":"3370:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3369:15:5"},"scope":1145,"src":"3319:92:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"baseFunctions":[1234],"body":{"id":474,"nodeType":"Block","src":"3538:336:5","statements":[{"assignments":[442],"declarations":[{"constant":false,"id":442,"mutability":"mutable","name":"owner","nameLocation":"3556:5:5","nodeType":"VariableDeclaration","scope":474,"src":"3548:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":441,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":447,"initialValue":{"arguments":[{"id":445,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"3579:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":443,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"3564:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3571:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"3564:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3564:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3548:39:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":449,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"3605:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":450,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"3611:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3605:11:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572","id":452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3618:35:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""},"value":"ERC721: approval to current owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""}],"id":448,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3597:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3597:57:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":454,"nodeType":"ExpressionStatement","src":"3597:57:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":456,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"3686:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3686:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":458,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"3702:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3686:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":461,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":442,"src":"3728:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":462,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"3735:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3735:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":460,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"3711:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3686:62:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","id":466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3762:63:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""},"value":"ERC721: approve caller is not token owner or approved for all"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""}],"id":455,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3665:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:170:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":468,"nodeType":"ExpressionStatement","src":"3665:170:5"},{"expression":{"arguments":[{"id":470,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"3855:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":471,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"3859:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":469,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":995,"src":"3846:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3846:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"3846:21:5"}]},"documentation":{"id":433,"nodeType":"StructuredDocumentation","src":"3417:46:5","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","id":475,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3477:7:5","nodeType":"FunctionDefinition","overrides":{"id":439,"nodeType":"OverrideSpecifier","overrides":[],"src":"3529:8:5"},"parameters":{"id":438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":435,"mutability":"mutable","name":"to","nameLocation":"3493:2:5","nodeType":"VariableDeclaration","scope":475,"src":"3485:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"3485:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":437,"mutability":"mutable","name":"tokenId","nameLocation":"3505:7:5","nodeType":"VariableDeclaration","scope":475,"src":"3497:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":436,"name":"uint256","nodeType":"ElementaryTypeName","src":"3497:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3484:29:5"},"returnParameters":{"id":440,"nodeType":"ParameterList","parameters":[],"src":"3538:0:5"},"scope":1145,"src":"3468:406:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1250],"body":{"id":492,"nodeType":"Block","src":"4020:82:5","statements":[{"expression":{"arguments":[{"id":485,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"4045:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":484,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"4030:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4030:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":487,"nodeType":"ExpressionStatement","src":"4030:23:5"},{"expression":{"baseExpression":{"id":488,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"4071:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":490,"indexExpression":{"id":489,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"4087:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4071:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":483,"id":491,"nodeType":"Return","src":"4064:31:5"}]},"documentation":{"id":476,"nodeType":"StructuredDocumentation","src":"3880:50:5","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","id":493,"implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"3944:11:5","nodeType":"FunctionDefinition","overrides":{"id":480,"nodeType":"OverrideSpecifier","overrides":[],"src":"3993:8:5"},"parameters":{"id":479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"tokenId","nameLocation":"3964:7:5","nodeType":"VariableDeclaration","scope":493,"src":"3956:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":477,"name":"uint256","nodeType":"ElementaryTypeName","src":"3956:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3955:17:5"},"returnParameters":{"id":483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":482,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":493,"src":"4011:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":481,"name":"address","nodeType":"ElementaryTypeName","src":"4011:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4010:9:5"},"scope":1145,"src":"3935:167:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1242],"body":{"id":509,"nodeType":"Block","src":"4253:69:5","statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":503,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"4282:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4282:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":505,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":496,"src":"4296:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":506,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":498,"src":"4306:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":502,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"4263:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"ExpressionStatement","src":"4263:52:5"}]},"documentation":{"id":494,"nodeType":"StructuredDocumentation","src":"4108:56:5","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","id":510,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4178:17:5","nodeType":"FunctionDefinition","overrides":{"id":500,"nodeType":"OverrideSpecifier","overrides":[],"src":"4244:8:5"},"parameters":{"id":499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":496,"mutability":"mutable","name":"operator","nameLocation":"4204:8:5","nodeType":"VariableDeclaration","scope":510,"src":"4196:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"4196:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":498,"mutability":"mutable","name":"approved","nameLocation":"4219:8:5","nodeType":"VariableDeclaration","scope":510,"src":"4214:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":497,"name":"bool","nodeType":"ElementaryTypeName","src":"4214:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4195:33:5"},"returnParameters":{"id":501,"nodeType":"ParameterList","parameters":[],"src":"4253:0:5"},"scope":1145,"src":"4169:153:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1260],"body":{"id":527,"nodeType":"Block","src":"4491:59:5","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":521,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"4508:18:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":523,"indexExpression":{"id":522,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":513,"src":"4527:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":525,"indexExpression":{"id":524,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"4534:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":520,"id":526,"nodeType":"Return","src":"4501:42:5"}]},"documentation":{"id":511,"nodeType":"StructuredDocumentation","src":"4328:55:5","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","id":528,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4397:16:5","nodeType":"FunctionDefinition","overrides":{"id":517,"nodeType":"OverrideSpecifier","overrides":[],"src":"4467:8:5"},"parameters":{"id":516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":513,"mutability":"mutable","name":"owner","nameLocation":"4422:5:5","nodeType":"VariableDeclaration","scope":528,"src":"4414:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":512,"name":"address","nodeType":"ElementaryTypeName","src":"4414:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":515,"mutability":"mutable","name":"operator","nameLocation":"4437:8:5","nodeType":"VariableDeclaration","scope":528,"src":"4429:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":514,"name":"address","nodeType":"ElementaryTypeName","src":"4429:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4413:33:5"},"returnParameters":{"id":520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":528,"src":"4485:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":518,"name":"bool","nodeType":"ElementaryTypeName","src":"4485:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4484:6:5"},"scope":1145,"src":"4388:162:5","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[1226],"body":{"id":554,"nodeType":"Block","src":"4701:207:5","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":541,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"4790:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":543,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":535,"src":"4804:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":540,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":698,"src":"4771:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4771:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4814:47:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":539,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4763:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:99:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":547,"nodeType":"ExpressionStatement","src":"4763:99:5"},{"expression":{"arguments":[{"id":549,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"4883:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":550,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":533,"src":"4889:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":551,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":535,"src":"4893:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":548,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"4873:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4873:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":553,"nodeType":"ExpressionStatement","src":"4873:28:5"}]},"documentation":{"id":529,"nodeType":"StructuredDocumentation","src":"4556:51:5","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","id":555,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4621:12:5","nodeType":"FunctionDefinition","overrides":{"id":537,"nodeType":"OverrideSpecifier","overrides":[],"src":"4692:8:5"},"parameters":{"id":536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":531,"mutability":"mutable","name":"from","nameLocation":"4642:4:5","nodeType":"VariableDeclaration","scope":555,"src":"4634:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":530,"name":"address","nodeType":"ElementaryTypeName","src":"4634:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":533,"mutability":"mutable","name":"to","nameLocation":"4656:2:5","nodeType":"VariableDeclaration","scope":555,"src":"4648:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":532,"name":"address","nodeType":"ElementaryTypeName","src":"4648:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":535,"mutability":"mutable","name":"tokenId","nameLocation":"4668:7:5","nodeType":"VariableDeclaration","scope":555,"src":"4660:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":534,"name":"uint256","nodeType":"ElementaryTypeName","src":"4660:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4633:43:5"},"returnParameters":{"id":538,"nodeType":"ParameterList","parameters":[],"src":"4701:0:5"},"scope":1145,"src":"4612:296:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1216],"body":{"id":573,"nodeType":"Block","src":"5067:56:5","statements":[{"expression":{"arguments":[{"id":567,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"5094:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":568,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"5100:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":569,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"5104:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5113:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":566,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[574,604],"referencedDeclaration":604,"src":"5077:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5077:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":572,"nodeType":"ExpressionStatement","src":"5077:39:5"}]},"documentation":{"id":556,"nodeType":"StructuredDocumentation","src":"4914:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","id":574,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4983:16:5","nodeType":"FunctionDefinition","overrides":{"id":564,"nodeType":"OverrideSpecifier","overrides":[],"src":"5058:8:5"},"parameters":{"id":563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":558,"mutability":"mutable","name":"from","nameLocation":"5008:4:5","nodeType":"VariableDeclaration","scope":574,"src":"5000:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":557,"name":"address","nodeType":"ElementaryTypeName","src":"5000:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"to","nameLocation":"5022:2:5","nodeType":"VariableDeclaration","scope":574,"src":"5014:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":559,"name":"address","nodeType":"ElementaryTypeName","src":"5014:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":562,"mutability":"mutable","name":"tokenId","nameLocation":"5034:7:5","nodeType":"VariableDeclaration","scope":574,"src":"5026:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":561,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4999:43:5"},"returnParameters":{"id":565,"nodeType":"ParameterList","parameters":[],"src":"5067:0:5"},"scope":1145,"src":"4974:149:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[1206],"body":{"id":603,"nodeType":"Block","src":"5301:164:5","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":589,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"5338:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5338:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":591,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"5352:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":588,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":698,"src":"5319:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5319:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5362:47:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":587,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5311:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5311:99:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":595,"nodeType":"ExpressionStatement","src":"5311:99:5"},{"expression":{"arguments":[{"id":597,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"5434:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":598,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":579,"src":"5440:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":599,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"5444:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":583,"src":"5453:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":596,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":633,"src":"5420:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5420:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"5420:38:5"}]},"documentation":{"id":575,"nodeType":"StructuredDocumentation","src":"5129:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","id":604,"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5198:16:5","nodeType":"FunctionDefinition","overrides":{"id":585,"nodeType":"OverrideSpecifier","overrides":[],"src":"5292:8:5"},"parameters":{"id":584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":577,"mutability":"mutable","name":"from","nameLocation":"5223:4:5","nodeType":"VariableDeclaration","scope":604,"src":"5215:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":576,"name":"address","nodeType":"ElementaryTypeName","src":"5215:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":579,"mutability":"mutable","name":"to","nameLocation":"5237:2:5","nodeType":"VariableDeclaration","scope":604,"src":"5229:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":578,"name":"address","nodeType":"ElementaryTypeName","src":"5229:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":581,"mutability":"mutable","name":"tokenId","nameLocation":"5249:7:5","nodeType":"VariableDeclaration","scope":604,"src":"5241:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":580,"name":"uint256","nodeType":"ElementaryTypeName","src":"5241:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":583,"mutability":"mutable","name":"data","nameLocation":"5271:4:5","nodeType":"VariableDeclaration","scope":604,"src":"5258:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":582,"name":"bytes","nodeType":"ElementaryTypeName","src":"5258:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5214:62:5"},"returnParameters":{"id":586,"nodeType":"ParameterList","parameters":[],"src":"5301:0:5"},"scope":1145,"src":"5189:276:5","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":632,"nodeType":"Block","src":"6428:165:5","statements":[{"expression":{"arguments":[{"id":617,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6448:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":618,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"6454:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":619,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"6458:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":616,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":971,"src":"6438:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6438:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":621,"nodeType":"ExpressionStatement","src":"6438:28:5"},{"expression":{"arguments":[{"arguments":[{"id":624,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6507:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":625,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"6513:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":626,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"6517:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":627,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"6526:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":623,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"src":"6484:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6484:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6533:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":622,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6476:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6476:110:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":631,"nodeType":"ExpressionStatement","src":"6476:110:5"}]},"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"5471:850:5","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":633,"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"6335:13:5","nodeType":"FunctionDefinition","parameters":{"id":614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":607,"mutability":"mutable","name":"from","nameLocation":"6357:4:5","nodeType":"VariableDeclaration","scope":633,"src":"6349:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":606,"name":"address","nodeType":"ElementaryTypeName","src":"6349:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":609,"mutability":"mutable","name":"to","nameLocation":"6371:2:5","nodeType":"VariableDeclaration","scope":633,"src":"6363:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":608,"name":"address","nodeType":"ElementaryTypeName","src":"6363:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"tokenId","nameLocation":"6383:7:5","nodeType":"VariableDeclaration","scope":633,"src":"6375:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":610,"name":"uint256","nodeType":"ElementaryTypeName","src":"6375:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":613,"mutability":"mutable","name":"data","nameLocation":"6405:4:5","nodeType":"VariableDeclaration","scope":633,"src":"6392:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":612,"name":"bytes","nodeType":"ElementaryTypeName","src":"6392:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:62:5"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"6428:0:5"},"scope":1145,"src":"6326:267:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":645,"nodeType":"Block","src":"6777:40:5","statements":[{"expression":{"baseExpression":{"id":641,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"6794:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":643,"indexExpression":{"id":642,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":636,"src":"6802:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6794:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":640,"id":644,"nodeType":"Return","src":"6787:23:5"}]},"documentation":{"id":634,"nodeType":"StructuredDocumentation","src":"6599:98:5","text":" @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist"},"id":646,"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"6711:8:5","nodeType":"FunctionDefinition","parameters":{"id":637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":636,"mutability":"mutable","name":"tokenId","nameLocation":"6728:7:5","nodeType":"VariableDeclaration","scope":646,"src":"6720:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":635,"name":"uint256","nodeType":"ElementaryTypeName","src":"6720:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6719:17:5"},"returnParameters":{"id":640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":646,"src":"6768:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":638,"name":"address","nodeType":"ElementaryTypeName","src":"6768:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6767:9:5"},"scope":1145,"src":"6702:115:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":663,"nodeType":"Block","src":"7191:55:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":655,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":649,"src":"7217:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":654,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"7208:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7208:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7237:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7229:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":657,"name":"address","nodeType":"ElementaryTypeName","src":"7229:7:5","typeDescriptions":{}}},"id":660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7229:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7208:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":653,"id":662,"nodeType":"Return","src":"7201:38:5"}]},"documentation":{"id":647,"nodeType":"StructuredDocumentation","src":"6823:292:5","text":" @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)."},"id":664,"implemented":true,"kind":"function","modifiers":[],"name":"_exists","nameLocation":"7129:7:5","nodeType":"FunctionDefinition","parameters":{"id":650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":649,"mutability":"mutable","name":"tokenId","nameLocation":"7145:7:5","nodeType":"VariableDeclaration","scope":664,"src":"7137:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":648,"name":"uint256","nodeType":"ElementaryTypeName","src":"7137:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7136:17:5"},"returnParameters":{"id":653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":664,"src":"7185:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":651,"name":"bool","nodeType":"ElementaryTypeName","src":"7185:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7184:6:5"},"scope":1145,"src":"7120:126:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":697,"nodeType":"Block","src":"7503:162:5","statements":[{"assignments":[675],"declarations":[{"constant":false,"id":675,"mutability":"mutable","name":"owner","nameLocation":"7521:5:5","nodeType":"VariableDeclaration","scope":697,"src":"7513:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":674,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":680,"initialValue":{"arguments":[{"id":678,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"7544:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":676,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"7529:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7536:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"7529:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7529:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7513:39:5"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":681,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"7570:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":682,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"7581:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7570:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":685,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"7607:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":686,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"7614:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":684,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":528,"src":"7590:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7570:52:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":690,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"7638:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":689,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":493,"src":"7626:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7626:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":692,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"7650:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7626:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7570:87:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":695,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7569:89:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":673,"id":696,"nodeType":"Return","src":"7562:96:5"}]},"documentation":{"id":665,"nodeType":"StructuredDocumentation","src":"7252:147:5","text":" @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."},"id":698,"implemented":true,"kind":"function","modifiers":[],"name":"_isApprovedOrOwner","nameLocation":"7413:18:5","nodeType":"FunctionDefinition","parameters":{"id":670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":667,"mutability":"mutable","name":"spender","nameLocation":"7440:7:5","nodeType":"VariableDeclaration","scope":698,"src":"7432:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":666,"name":"address","nodeType":"ElementaryTypeName","src":"7432:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":669,"mutability":"mutable","name":"tokenId","nameLocation":"7457:7:5","nodeType":"VariableDeclaration","scope":698,"src":"7449:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":668,"name":"uint256","nodeType":"ElementaryTypeName","src":"7449:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7431:34:5"},"returnParameters":{"id":673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":698,"src":"7497:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":671,"name":"bool","nodeType":"ElementaryTypeName","src":"7497:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7496:6:5"},"scope":1145,"src":"7404:261:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":712,"nodeType":"Block","src":"8060:43:5","statements":[{"expression":{"arguments":[{"id":707,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":701,"src":"8080:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":708,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":703,"src":"8084:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8093:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":706,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[713,742],"referencedDeclaration":742,"src":"8070:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8070:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":711,"nodeType":"ExpressionStatement","src":"8070:26:5"}]},"documentation":{"id":699,"nodeType":"StructuredDocumentation","src":"7671:319:5","text":" @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"id":713,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8004:9:5","nodeType":"FunctionDefinition","parameters":{"id":704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":701,"mutability":"mutable","name":"to","nameLocation":"8022:2:5","nodeType":"VariableDeclaration","scope":713,"src":"8014:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":700,"name":"address","nodeType":"ElementaryTypeName","src":"8014:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":703,"mutability":"mutable","name":"tokenId","nameLocation":"8034:7:5","nodeType":"VariableDeclaration","scope":713,"src":"8026:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":702,"name":"uint256","nodeType":"ElementaryTypeName","src":"8026:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8013:29:5"},"returnParameters":{"id":705,"nodeType":"ParameterList","parameters":[],"src":"8060:0:5"},"scope":1145,"src":"7995:108:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":741,"nodeType":"Block","src":"8408:195:5","statements":[{"expression":{"arguments":[{"id":724,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"8424:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":725,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"8428:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":723,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"8418:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8418:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":727,"nodeType":"ExpressionStatement","src":"8418:18:5"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8498:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8490:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":730,"name":"address","nodeType":"ElementaryTypeName","src":"8490:7:5","typeDescriptions":{}}},"id":733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8490:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":734,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"8502:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":735,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"8506:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":736,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"8515:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":729,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"src":"8467:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8534:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":728,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8446:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8446:150:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":740,"nodeType":"ExpressionStatement","src":"8446:150:5"}]},"documentation":{"id":714,"nodeType":"StructuredDocumentation","src":"8109:210:5","text":" @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"id":742,"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8333:9:5","nodeType":"FunctionDefinition","parameters":{"id":721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":716,"mutability":"mutable","name":"to","nameLocation":"8351:2:5","nodeType":"VariableDeclaration","scope":742,"src":"8343:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":715,"name":"address","nodeType":"ElementaryTypeName","src":"8343:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"tokenId","nameLocation":"8363:7:5","nodeType":"VariableDeclaration","scope":742,"src":"8355:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":717,"name":"uint256","nodeType":"ElementaryTypeName","src":"8355:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"data","nameLocation":"8385:4:5","nodeType":"VariableDeclaration","scope":742,"src":"8372:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":719,"name":"bytes","nodeType":"ElementaryTypeName","src":"8372:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8342:48:5"},"returnParameters":{"id":722,"nodeType":"ParameterList","parameters":[],"src":"8408:0:5"},"scope":1145,"src":"8324:279:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":818,"nodeType":"Block","src":"8986:859:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":751,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9004:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9018:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9010:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":752,"name":"address","nodeType":"ElementaryTypeName","src":"9010:7:5","typeDescriptions":{}}},"id":755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9004:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","id":757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9022:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""},"value":"ERC721: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""}],"id":750,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8996:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8996:61:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":759,"nodeType":"ExpressionStatement","src":"8996:61:5"},{"expression":{"arguments":[{"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9075:17:5","subExpression":{"arguments":[{"id":762,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9084:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":761,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"9076:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9076:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9094:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":760,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9067:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9067:58:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":767,"nodeType":"ExpressionStatement","src":"9067:58:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9165:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9157:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":769,"name":"address","nodeType":"ElementaryTypeName","src":"9157:7:5","typeDescriptions":{}}},"id":772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9157:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":773,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9169:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9173:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9182:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":768,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"9136:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9136:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":777,"nodeType":"ExpressionStatement","src":"9136:48:5"},{"expression":{"arguments":[{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9279:17:5","subExpression":{"arguments":[{"id":780,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9288:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":779,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"9280:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9280:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9298:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":778,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9271:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9271:58:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":785,"nodeType":"ExpressionStatement","src":"9271:58:5"},{"id":792,"nodeType":"UncheckedBlock","src":"9340:360:5","statements":[{"expression":{"id":790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":786,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"9671:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":788,"indexExpression":{"id":787,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9681:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9671:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9688:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9671:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":791,"nodeType":"ExpressionStatement","src":"9671:18:5"}]},{"expression":{"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":793,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"9710:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":795,"indexExpression":{"id":794,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9718:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9710:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":796,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9729:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9710:21:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":798,"nodeType":"ExpressionStatement","src":"9710:21:5"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9764:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9756:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":800,"name":"address","nodeType":"ElementaryTypeName","src":"9756:7:5","typeDescriptions":{}}},"id":803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9756:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":804,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9768:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":805,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9772:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":799,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"9747:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9747:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":807,"nodeType":"EmitStatement","src":"9742:38:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9819:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9811:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":809,"name":"address","nodeType":"ElementaryTypeName","src":"9811:7:5","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9811:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":813,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":745,"src":"9823:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":814,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"9827:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":808,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"9791:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":817,"nodeType":"ExpressionStatement","src":"9791:47:5"}]},"documentation":{"id":743,"nodeType":"StructuredDocumentation","src":"8609:311:5","text":" @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"id":819,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8934:5:5","nodeType":"FunctionDefinition","parameters":{"id":748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":745,"mutability":"mutable","name":"to","nameLocation":"8948:2:5","nodeType":"VariableDeclaration","scope":819,"src":"8940:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":744,"name":"address","nodeType":"ElementaryTypeName","src":"8940:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":747,"mutability":"mutable","name":"tokenId","nameLocation":"8960:7:5","nodeType":"VariableDeclaration","scope":819,"src":"8952:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":746,"name":"uint256","nodeType":"ElementaryTypeName","src":"8952:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8939:29:5"},"returnParameters":{"id":749,"nodeType":"ParameterList","parameters":[],"src":"8986:0:5"},"scope":1145,"src":"8925:920:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":885,"nodeType":"Block","src":"10220:713:5","statements":[{"assignments":[826],"declarations":[{"constant":false,"id":826,"mutability":"mutable","name":"owner","nameLocation":"10238:5:5","nodeType":"VariableDeclaration","scope":885,"src":"10230:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":825,"name":"address","nodeType":"ElementaryTypeName","src":"10230:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":831,"initialValue":{"arguments":[{"id":829,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10261:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":827,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"10246:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10253:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"10246:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10246:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10230:39:5"},{"expression":{"arguments":[{"id":833,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10301:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10316:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10308:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"10308:7:5","typeDescriptions":{}}},"id":837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10308:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":838,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10320:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10329:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":832,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"10280:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10280:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":841,"nodeType":"ExpressionStatement","src":"10280:51:5"},{"expression":{"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":842,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10433:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":845,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10456:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":843,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"10441:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10448:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"10441:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10441:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10433:31:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":848,"nodeType":"ExpressionStatement","src":"10433:31:5"},{"expression":{"id":852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10502:31:5","subExpression":{"baseExpression":{"id":849,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"10509:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":851,"indexExpression":{"id":850,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10525:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10509:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":853,"nodeType":"ExpressionStatement","src":"10502:31:5"},{"id":860,"nodeType":"UncheckedBlock","src":"10544:237:5","statements":[{"expression":{"id":858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":854,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"10749:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":856,"indexExpression":{"id":855,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10759:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10749:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10769:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10749:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":859,"nodeType":"ExpressionStatement","src":"10749:21:5"}]},{"expression":{"id":864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10790:23:5","subExpression":{"baseExpression":{"id":861,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"10797:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":863,"indexExpression":{"id":862,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10805:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10797:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":865,"nodeType":"ExpressionStatement","src":"10790:23:5"},{"eventCall":{"arguments":[{"id":867,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10838:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10853:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10845:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":868,"name":"address","nodeType":"ElementaryTypeName","src":"10845:7:5","typeDescriptions":{}}},"id":871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10845:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":872,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10857:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":866,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"10829:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10829:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":874,"nodeType":"EmitStatement","src":"10824:41:5"},{"expression":{"arguments":[{"id":876,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":826,"src":"10896:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10911:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10903:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":877,"name":"address","nodeType":"ElementaryTypeName","src":"10903:7:5","typeDescriptions":{}}},"id":880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10903:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":881,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"10915:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10924:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":875,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"10876:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10876:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":884,"nodeType":"ExpressionStatement","src":"10876:50:5"}]},"documentation":{"id":820,"nodeType":"StructuredDocumentation","src":"9851:315:5","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"id":886,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"10180:5:5","nodeType":"FunctionDefinition","parameters":{"id":823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":822,"mutability":"mutable","name":"tokenId","nameLocation":"10194:7:5","nodeType":"VariableDeclaration","scope":886,"src":"10186:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":821,"name":"uint256","nodeType":"ElementaryTypeName","src":"10186:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10185:17:5"},"returnParameters":{"id":824,"nodeType":"ParameterList","parameters":[],"src":"10220:0:5"},"scope":1145,"src":"10171:762:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":970,"nodeType":"Block","src":"11336:1124:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":899,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11369:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":897,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"11354:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11361:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"11354:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11354:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":901,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"11381:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11354:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11387:39:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":896,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11346:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11346:81:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":905,"nodeType":"ExpressionStatement","src":"11346:81:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":907,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"11445:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11459:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11451:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":908,"name":"address","nodeType":"ElementaryTypeName","src":"11451:7:5","typeDescriptions":{}}},"id":911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11451:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11445:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373","id":913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11463:38:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""},"value":"ERC721: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""}],"id":906,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11437:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11437:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":915,"nodeType":"ExpressionStatement","src":"11437:65:5"},{"expression":{"arguments":[{"id":917,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"11534:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":918,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"11540:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":919,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11544:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11553:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":916,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"11513:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:42:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":922,"nodeType":"ExpressionStatement","src":"11513:42:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":926,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11670:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":924,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"11655:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11662:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"11655:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11655:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":928,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"11682:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11655:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11688:39:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":923,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11647:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11647:81:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":932,"nodeType":"ExpressionStatement","src":"11647:81:5"},{"expression":{"id":936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11790:31:5","subExpression":{"baseExpression":{"id":933,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"11797:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":935,"indexExpression":{"id":934,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"11813:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11797:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":937,"nodeType":"ExpressionStatement","src":"11790:31:5"},{"id":950,"nodeType":"UncheckedBlock","src":"11832:496:5","statements":[{"expression":{"id":942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":938,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"12265:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":940,"indexExpression":{"id":939,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"12275:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12265:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12284:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12265:20:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":943,"nodeType":"ExpressionStatement","src":"12265:20:5"},{"expression":{"id":948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":944,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"12299:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":946,"indexExpression":{"id":945,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12309:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12299:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12316:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12299:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":949,"nodeType":"ExpressionStatement","src":"12299:18:5"}]},{"expression":{"id":955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":951,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"12337:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":953,"indexExpression":{"id":952,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"12345:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12337:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":954,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12356:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12337:21:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":956,"nodeType":"ExpressionStatement","src":"12337:21:5"},{"eventCall":{"arguments":[{"id":958,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"12383:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":959,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12389:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":960,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"12393:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":957,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1160,"src":"12374:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12374:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":962,"nodeType":"EmitStatement","src":"12369:32:5"},{"expression":{"arguments":[{"id":964,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":889,"src":"12432:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":965,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"12438:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":966,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":893,"src":"12442:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12451:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":963,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"12412:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12412:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":969,"nodeType":"ExpressionStatement","src":"12412:41:5"}]},"documentation":{"id":887,"nodeType":"StructuredDocumentation","src":"10939:313:5","text":" @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"id":971,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"11266:9:5","nodeType":"FunctionDefinition","parameters":{"id":894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":889,"mutability":"mutable","name":"from","nameLocation":"11284:4:5","nodeType":"VariableDeclaration","scope":971,"src":"11276:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":888,"name":"address","nodeType":"ElementaryTypeName","src":"11276:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":891,"mutability":"mutable","name":"to","nameLocation":"11298:2:5","nodeType":"VariableDeclaration","scope":971,"src":"11290:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":890,"name":"address","nodeType":"ElementaryTypeName","src":"11290:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":893,"mutability":"mutable","name":"tokenId","nameLocation":"11310:7:5","nodeType":"VariableDeclaration","scope":971,"src":"11302:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":892,"name":"uint256","nodeType":"ElementaryTypeName","src":"11302:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11275:43:5"},"returnParameters":{"id":895,"nodeType":"ParameterList","parameters":[],"src":"11336:0:5"},"scope":1145,"src":"11257:1203:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":994,"nodeType":"Block","src":"12636:107:5","statements":[{"expression":{"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":979,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":258,"src":"12646:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":981,"indexExpression":{"id":980,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"12662:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12646:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":982,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":974,"src":"12673:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12646:29:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":984,"nodeType":"ExpressionStatement","src":"12646:29:5"},{"eventCall":{"arguments":[{"arguments":[{"id":988,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"12714:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":986,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"12699:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$1145_$","typeString":"type(contract ERC721)"}},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12706:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":364,"src":"12699:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":990,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":974,"src":"12724:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":991,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":976,"src":"12728:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":985,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1169,"src":"12690:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12690:46:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":993,"nodeType":"EmitStatement","src":"12685:51:5"}]},"documentation":{"id":972,"nodeType":"StructuredDocumentation","src":"12466:101:5","text":" @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event."},"id":995,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"12581:8:5","nodeType":"FunctionDefinition","parameters":{"id":977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":974,"mutability":"mutable","name":"to","nameLocation":"12598:2:5","nodeType":"VariableDeclaration","scope":995,"src":"12590:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":973,"name":"address","nodeType":"ElementaryTypeName","src":"12590:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":976,"mutability":"mutable","name":"tokenId","nameLocation":"12610:7:5","nodeType":"VariableDeclaration","scope":995,"src":"12602:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":975,"name":"uint256","nodeType":"ElementaryTypeName","src":"12602:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12589:29:5"},"returnParameters":{"id":978,"nodeType":"ParameterList","parameters":[],"src":"12636:0:5"},"scope":1145,"src":"12572:171:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1026,"nodeType":"Block","src":"12972:184:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1006,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"12990:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1007,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"12999:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12990:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","id":1009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13009:27:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""},"value":"ERC721: approve to caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""}],"id":1005,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12982:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12982:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1011,"nodeType":"ExpressionStatement","src":"12982:55:5"},{"expression":{"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":1012,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"13047:18:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":1015,"indexExpression":{"id":1013,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"13066:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13047:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1016,"indexExpression":{"id":1014,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"13073:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13047:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1017,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1002,"src":"13085:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13047:46:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1019,"nodeType":"ExpressionStatement","src":"13047:46:5"},{"eventCall":{"arguments":[{"id":1021,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"13123:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1022,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"13130:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1023,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1002,"src":"13140:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1020,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"13108:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":1024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13108:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1025,"nodeType":"EmitStatement","src":"13103:46:5"}]},"documentation":{"id":996,"nodeType":"StructuredDocumentation","src":"12749:125:5","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."},"id":1027,"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"12888:18:5","nodeType":"FunctionDefinition","parameters":{"id":1003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":998,"mutability":"mutable","name":"owner","nameLocation":"12915:5:5","nodeType":"VariableDeclaration","scope":1027,"src":"12907:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":997,"name":"address","nodeType":"ElementaryTypeName","src":"12907:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1000,"mutability":"mutable","name":"operator","nameLocation":"12930:8:5","nodeType":"VariableDeclaration","scope":1027,"src":"12922:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":999,"name":"address","nodeType":"ElementaryTypeName","src":"12922:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1002,"mutability":"mutable","name":"approved","nameLocation":"12945:8:5","nodeType":"VariableDeclaration","scope":1027,"src":"12940:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1001,"name":"bool","nodeType":"ElementaryTypeName","src":"12940:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12906:48:5"},"returnParameters":{"id":1004,"nodeType":"ParameterList","parameters":[],"src":"12972:0:5"},"scope":1145,"src":"12879:277:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1040,"nodeType":"Block","src":"13303:70:5","statements":[{"expression":{"arguments":[{"arguments":[{"id":1035,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"13329:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1034,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"13321:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13321:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":1037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13339:26:5","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":1033,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13313:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13313:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1039,"nodeType":"ExpressionStatement","src":"13313:53:5"}]},"documentation":{"id":1028,"nodeType":"StructuredDocumentation","src":"13162:73:5","text":" @dev Reverts if the `tokenId` has not been minted yet."},"id":1041,"implemented":true,"kind":"function","modifiers":[],"name":"_requireMinted","nameLocation":"13249:14:5","nodeType":"FunctionDefinition","parameters":{"id":1031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1030,"mutability":"mutable","name":"tokenId","nameLocation":"13272:7:5","nodeType":"VariableDeclaration","scope":1041,"src":"13264:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1029,"name":"uint256","nodeType":"ElementaryTypeName","src":"13264:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13263:17:5"},"returnParameters":{"id":1032,"nodeType":"ParameterList","parameters":[],"src":"13303:0:5"},"scope":1145,"src":"13240:133:5","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1102,"nodeType":"Block","src":"14080:676:5","statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":1055,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"14094:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14097:10:5","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":1510,"src":"14094:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":1057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14094:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1100,"nodeType":"Block","src":"14714:36:5","statements":[{"expression":{"hexValue":"74727565","id":1098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14735:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":1054,"id":1099,"nodeType":"Return","src":"14728:11:5"}]},"id":1101,"nodeType":"IfStatement","src":"14090:660:5","trueBody":{"id":1097,"nodeType":"Block","src":"14111:597:5","statements":[{"clauses":[{"block":{"id":1077,"nodeType":"Block","src":"14225:91:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1071,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"14250:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":1072,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"14260:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$1279_$","typeString":"type(contract IERC721Receiver)"}},"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14276:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":1278,"src":"14260:32:5","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":1074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14293:8:5","memberName":"selector","nodeType":"MemberAccess","src":"14260:41:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"14250:51:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1054,"id":1076,"nodeType":"Return","src":"14243:58:5"}]},"errorName":"","id":1078,"nodeType":"TryCatchClause","parameters":{"id":1070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1069,"mutability":"mutable","name":"retval","nameLocation":"14217:6:5","nodeType":"VariableDeclaration","scope":1078,"src":"14210:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1068,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14210:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"14209:15:5"},"src":"14201:115:5"},{"block":{"id":1094,"nodeType":"Block","src":"14345:353:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1082,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1080,"src":"14367:6:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14374:6:5","memberName":"length","nodeType":"MemberAccess","src":"14367:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14384:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14367:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1092,"nodeType":"Block","src":"14494:190:5","statements":[{"AST":{"nodeType":"YulBlock","src":"14580:86:5","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14617:2:5","type":"","value":"32"},{"name":"reason","nodeType":"YulIdentifier","src":"14621:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14613:3:5"},"nodeType":"YulFunctionCall","src":"14613:15:5"},{"arguments":[{"name":"reason","nodeType":"YulIdentifier","src":"14636:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14630:5:5"},"nodeType":"YulFunctionCall","src":"14630:13:5"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14606:6:5"},"nodeType":"YulFunctionCall","src":"14606:38:5"},"nodeType":"YulExpressionStatement","src":"14606:38:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1080,"isOffset":false,"isSlot":false,"src":"14621:6:5","valueSize":1},{"declaration":1080,"isOffset":false,"isSlot":false,"src":"14636:6:5","valueSize":1}],"id":1091,"nodeType":"InlineAssembly","src":"14571:95:5"}]},"id":1093,"nodeType":"IfStatement","src":"14363:321:5","trueBody":{"id":1090,"nodeType":"Block","src":"14387:101:5","statements":[{"expression":{"arguments":[{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":1087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14416:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":1086,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"14409:6:5","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14409:60:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1089,"nodeType":"ExpressionStatement","src":"14409:60:5"}]}}]},"errorName":"","id":1095,"nodeType":"TryCatchClause","parameters":{"id":1081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1080,"mutability":"mutable","name":"reason","nameLocation":"14337:6:5","nodeType":"VariableDeclaration","scope":1095,"src":"14324:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1079,"name":"bytes","nodeType":"ElementaryTypeName","src":"14324:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14323:21:5"},"src":"14317:381:5"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":1062,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"14166:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14166:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1064,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1044,"src":"14180:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1065,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1048,"src":"14186:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1066,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1050,"src":"14195:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":1059,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"14145:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1058,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"14129:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$1279_$","typeString":"type(contract IERC721Receiver)"}},"id":1060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$1279","typeString":"contract IERC721Receiver"}},"id":1061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14149:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":1278,"src":"14129:36:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":1067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:71:5","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":1096,"nodeType":"TryStatement","src":"14125:573:5"}]}}]},"documentation":{"id":1042,"nodeType":"StructuredDocumentation","src":"13379:541:5","text":" @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value"},"id":1103,"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"13934:22:5","nodeType":"FunctionDefinition","parameters":{"id":1051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1044,"mutability":"mutable","name":"from","nameLocation":"13974:4:5","nodeType":"VariableDeclaration","scope":1103,"src":"13966:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1043,"name":"address","nodeType":"ElementaryTypeName","src":"13966:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1046,"mutability":"mutable","name":"to","nameLocation":"13996:2:5","nodeType":"VariableDeclaration","scope":1103,"src":"13988:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1045,"name":"address","nodeType":"ElementaryTypeName","src":"13988:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1048,"mutability":"mutable","name":"tokenId","nameLocation":"14016:7:5","nodeType":"VariableDeclaration","scope":1103,"src":"14008:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1047,"name":"uint256","nodeType":"ElementaryTypeName","src":"14008:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1050,"mutability":"mutable","name":"data","nameLocation":"14046:4:5","nodeType":"VariableDeclaration","scope":1103,"src":"14033:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1049,"name":"bytes","nodeType":"ElementaryTypeName","src":"14033:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13956:100:5"},"returnParameters":{"id":1054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1103,"src":"14074:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1052,"name":"bool","nodeType":"ElementaryTypeName","src":"14074:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14073:6:5"},"scope":1145,"src":"13925:831:5","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":1115,"nodeType":"Block","src":"15586:2:5","statements":[]},"documentation":{"id":1104,"nodeType":"StructuredDocumentation","src":"14762:705:5","text":" @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":1116,"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"15481:20:5","nodeType":"FunctionDefinition","parameters":{"id":1113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1106,"mutability":"mutable","name":"from","nameLocation":"15510:4:5","nodeType":"VariableDeclaration","scope":1116,"src":"15502:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1105,"name":"address","nodeType":"ElementaryTypeName","src":"15502:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1108,"mutability":"mutable","name":"to","nameLocation":"15524:2:5","nodeType":"VariableDeclaration","scope":1116,"src":"15516:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1107,"name":"address","nodeType":"ElementaryTypeName","src":"15516:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1110,"mutability":"mutable","name":"firstTokenId","nameLocation":"15536:12:5","nodeType":"VariableDeclaration","scope":1116,"src":"15528:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1109,"name":"uint256","nodeType":"ElementaryTypeName","src":"15528:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1112,"mutability":"mutable","name":"batchSize","nameLocation":"15558:9:5","nodeType":"VariableDeclaration","scope":1116,"src":"15550:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1111,"name":"uint256","nodeType":"ElementaryTypeName","src":"15550:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15501:67:5"},"returnParameters":{"id":1114,"nodeType":"ParameterList","parameters":[],"src":"15586:0:5"},"scope":1145,"src":"15472:116:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1128,"nodeType":"Block","src":"16407:2:5","statements":[]},"documentation":{"id":1117,"nodeType":"StructuredDocumentation","src":"15594:695:5","text":" @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"id":1129,"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"16303:19:5","nodeType":"FunctionDefinition","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1119,"mutability":"mutable","name":"from","nameLocation":"16331:4:5","nodeType":"VariableDeclaration","scope":1129,"src":"16323:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1118,"name":"address","nodeType":"ElementaryTypeName","src":"16323:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1121,"mutability":"mutable","name":"to","nameLocation":"16345:2:5","nodeType":"VariableDeclaration","scope":1129,"src":"16337:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1120,"name":"address","nodeType":"ElementaryTypeName","src":"16337:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1123,"mutability":"mutable","name":"firstTokenId","nameLocation":"16357:12:5","nodeType":"VariableDeclaration","scope":1129,"src":"16349:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1122,"name":"uint256","nodeType":"ElementaryTypeName","src":"16349:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1125,"mutability":"mutable","name":"batchSize","nameLocation":"16379:9:5","nodeType":"VariableDeclaration","scope":1129,"src":"16371:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1124,"name":"uint256","nodeType":"ElementaryTypeName","src":"16371:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16322:67:5"},"returnParameters":{"id":1127,"nodeType":"ParameterList","parameters":[],"src":"16407:0:5"},"scope":1145,"src":"16294:115:5","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1143,"nodeType":"Block","src":"16958:45:5","statements":[{"expression":{"id":1141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1137,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"16968:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":1139,"indexExpression":{"id":1138,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1132,"src":"16978:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16968:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1140,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1134,"src":"16990:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16968:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1142,"nodeType":"ExpressionStatement","src":"16968:28:5"}]},"documentation":{"id":1130,"nodeType":"StructuredDocumentation","src":"16415:409:5","text":" @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`."},"id":1144,"implemented":true,"kind":"function","modifiers":[],"name":"__unsafe_increaseBalance","nameLocation":"16891:24:5","nodeType":"FunctionDefinition","parameters":{"id":1135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1132,"mutability":"mutable","name":"account","nameLocation":"16924:7:5","nodeType":"VariableDeclaration","scope":1144,"src":"16916:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1131,"name":"address","nodeType":"ElementaryTypeName","src":"16916:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1134,"mutability":"mutable","name":"amount","nameLocation":"16941:6:5","nodeType":"VariableDeclaration","scope":1144,"src":"16933:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1133,"name":"uint256","nodeType":"ElementaryTypeName","src":"16933:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16915:33:5"},"returnParameters":{"id":1136,"nodeType":"ParameterList","parameters":[],"src":"16958:0:5"},"scope":1145,"src":"16882:121:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":1146,"src":"628:16377:5","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"107:16899:5"},"id":5},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","exportedSymbols":{"IERC165":[2483],"IERC721":[1261]},"id":1262,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1147,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"108:23:6"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","id":1148,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1262,"sourceUnit":2484,"src":"133:47:6","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1150,"name":"IERC165","nameLocations":["271:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"271:7:6"},"id":1151,"nodeType":"InheritanceSpecifier","src":"271:7:6"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":1149,"nodeType":"StructuredDocumentation","src":"182:67:6","text":" @dev Required interface of an ERC721 compliant contract."},"fullyImplemented":false,"id":1261,"linearizedBaseContracts":[1261,2483],"name":"IERC721","nameLocation":"260:7:6","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":1152,"nodeType":"StructuredDocumentation","src":"285:88:6","text":" @dev Emitted when `tokenId` token is transferred from `from` to `to`."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","id":1160,"name":"Transfer","nameLocation":"384:8:6","nodeType":"EventDefinition","parameters":{"id":1159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1154,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"409:4:6","nodeType":"VariableDeclaration","scope":1160,"src":"393:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1153,"name":"address","nodeType":"ElementaryTypeName","src":"393:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1156,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"431:2:6","nodeType":"VariableDeclaration","scope":1160,"src":"415:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1155,"name":"address","nodeType":"ElementaryTypeName","src":"415:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1158,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"451:7:6","nodeType":"VariableDeclaration","scope":1160,"src":"435:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1157,"name":"uint256","nodeType":"ElementaryTypeName","src":"435:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"392:67:6"},"src":"378:82:6"},{"anonymous":false,"documentation":{"id":1161,"nodeType":"StructuredDocumentation","src":"466:94:6","text":" @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","id":1169,"name":"Approval","nameLocation":"571:8:6","nodeType":"EventDefinition","parameters":{"id":1168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1163,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"596:5:6","nodeType":"VariableDeclaration","scope":1169,"src":"580:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1162,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1165,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"619:8:6","nodeType":"VariableDeclaration","scope":1169,"src":"603:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1164,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1167,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"645:7:6","nodeType":"VariableDeclaration","scope":1169,"src":"629:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1166,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"579:74:6"},"src":"565:89:6"},{"anonymous":false,"documentation":{"id":1170,"nodeType":"StructuredDocumentation","src":"660:117:6","text":" @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","id":1178,"name":"ApprovalForAll","nameLocation":"788:14:6","nodeType":"EventDefinition","parameters":{"id":1177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1172,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"819:5:6","nodeType":"VariableDeclaration","scope":1178,"src":"803:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1171,"name":"address","nodeType":"ElementaryTypeName","src":"803:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1174,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"842:8:6","nodeType":"VariableDeclaration","scope":1178,"src":"826:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1173,"name":"address","nodeType":"ElementaryTypeName","src":"826:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1176,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"857:8:6","nodeType":"VariableDeclaration","scope":1178,"src":"852:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1175,"name":"bool","nodeType":"ElementaryTypeName","src":"852:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"802:64:6"},"src":"782:85:6"},{"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"873:76:6","text":" @dev Returns the number of tokens in ``owner``'s account."},"functionSelector":"70a08231","id":1186,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"963:9:6","nodeType":"FunctionDefinition","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"owner","nameLocation":"981:5:6","nodeType":"VariableDeclaration","scope":1186,"src":"973:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"973:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"972:15:6"},"returnParameters":{"id":1185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1184,"mutability":"mutable","name":"balance","nameLocation":"1019:7:6","nodeType":"VariableDeclaration","scope":1186,"src":"1011:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1010:17:6"},"scope":1261,"src":"954:74:6","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1187,"nodeType":"StructuredDocumentation","src":"1034:131:6","text":" @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"6352211e","id":1194,"implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1179:7:6","nodeType":"FunctionDefinition","parameters":{"id":1190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1189,"mutability":"mutable","name":"tokenId","nameLocation":"1195:7:6","nodeType":"VariableDeclaration","scope":1194,"src":"1187:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1188,"name":"uint256","nodeType":"ElementaryTypeName","src":"1187:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1186:17:6"},"returnParameters":{"id":1193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1192,"mutability":"mutable","name":"owner","nameLocation":"1235:5:6","nodeType":"VariableDeclaration","scope":1194,"src":"1227:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1191,"name":"address","nodeType":"ElementaryTypeName","src":"1227:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1226:15:6"},"scope":1261,"src":"1170:72:6","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1195,"nodeType":"StructuredDocumentation","src":"1248:556:6","text":" @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"b88d4fde","id":1206,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1818:16:6","nodeType":"FunctionDefinition","parameters":{"id":1204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1197,"mutability":"mutable","name":"from","nameLocation":"1843:4:6","nodeType":"VariableDeclaration","scope":1206,"src":"1835:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1196,"name":"address","nodeType":"ElementaryTypeName","src":"1835:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1199,"mutability":"mutable","name":"to","nameLocation":"1857:2:6","nodeType":"VariableDeclaration","scope":1206,"src":"1849:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1198,"name":"address","nodeType":"ElementaryTypeName","src":"1849:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1201,"mutability":"mutable","name":"tokenId","nameLocation":"1869:7:6","nodeType":"VariableDeclaration","scope":1206,"src":"1861:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1200,"name":"uint256","nodeType":"ElementaryTypeName","src":"1861:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1203,"mutability":"mutable","name":"data","nameLocation":"1893:4:6","nodeType":"VariableDeclaration","scope":1206,"src":"1878:19:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1202,"name":"bytes","nodeType":"ElementaryTypeName","src":"1878:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1834:64:6"},"returnParameters":{"id":1205,"nodeType":"ParameterList","parameters":[],"src":"1907:0:6"},"scope":1261,"src":"1809:99:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1207,"nodeType":"StructuredDocumentation","src":"1914:687:6","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"42842e0e","id":1216,"implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2615:16:6","nodeType":"FunctionDefinition","parameters":{"id":1214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1209,"mutability":"mutable","name":"from","nameLocation":"2640:4:6","nodeType":"VariableDeclaration","scope":1216,"src":"2632:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1208,"name":"address","nodeType":"ElementaryTypeName","src":"2632:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1211,"mutability":"mutable","name":"to","nameLocation":"2654:2:6","nodeType":"VariableDeclaration","scope":1216,"src":"2646:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1210,"name":"address","nodeType":"ElementaryTypeName","src":"2646:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1213,"mutability":"mutable","name":"tokenId","nameLocation":"2666:7:6","nodeType":"VariableDeclaration","scope":1216,"src":"2658:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1212,"name":"uint256","nodeType":"ElementaryTypeName","src":"2658:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2631:43:6"},"returnParameters":{"id":1215,"nodeType":"ParameterList","parameters":[],"src":"2683:0:6"},"scope":1261,"src":"2606:78:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1217,"nodeType":"StructuredDocumentation","src":"2690:732:6","text":" @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","id":1226,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3436:12:6","nodeType":"FunctionDefinition","parameters":{"id":1224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1219,"mutability":"mutable","name":"from","nameLocation":"3457:4:6","nodeType":"VariableDeclaration","scope":1226,"src":"3449:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1218,"name":"address","nodeType":"ElementaryTypeName","src":"3449:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1221,"mutability":"mutable","name":"to","nameLocation":"3471:2:6","nodeType":"VariableDeclaration","scope":1226,"src":"3463:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1220,"name":"address","nodeType":"ElementaryTypeName","src":"3463:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1223,"mutability":"mutable","name":"tokenId","nameLocation":"3483:7:6","nodeType":"VariableDeclaration","scope":1226,"src":"3475:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1222,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3448:43:6"},"returnParameters":{"id":1225,"nodeType":"ParameterList","parameters":[],"src":"3500:0:6"},"scope":1261,"src":"3427:74:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1227,"nodeType":"StructuredDocumentation","src":"3507:452:6","text":" @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event."},"functionSelector":"095ea7b3","id":1234,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3973:7:6","nodeType":"FunctionDefinition","parameters":{"id":1232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1229,"mutability":"mutable","name":"to","nameLocation":"3989:2:6","nodeType":"VariableDeclaration","scope":1234,"src":"3981:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1228,"name":"address","nodeType":"ElementaryTypeName","src":"3981:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1231,"mutability":"mutable","name":"tokenId","nameLocation":"4001:7:6","nodeType":"VariableDeclaration","scope":1234,"src":"3993:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1230,"name":"uint256","nodeType":"ElementaryTypeName","src":"3993:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3980:29:6"},"returnParameters":{"id":1233,"nodeType":"ParameterList","parameters":[],"src":"4018:0:6"},"scope":1261,"src":"3964:55:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1235,"nodeType":"StructuredDocumentation","src":"4025:309:6","text":" @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."},"functionSelector":"a22cb465","id":1242,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4348:17:6","nodeType":"FunctionDefinition","parameters":{"id":1240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1237,"mutability":"mutable","name":"operator","nameLocation":"4374:8:6","nodeType":"VariableDeclaration","scope":1242,"src":"4366:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1236,"name":"address","nodeType":"ElementaryTypeName","src":"4366:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1239,"mutability":"mutable","name":"approved","nameLocation":"4389:8:6","nodeType":"VariableDeclaration","scope":1242,"src":"4384:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1238,"name":"bool","nodeType":"ElementaryTypeName","src":"4384:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4365:33:6"},"returnParameters":{"id":1241,"nodeType":"ParameterList","parameters":[],"src":"4407:0:6"},"scope":1261,"src":"4339:69:6","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":1243,"nodeType":"StructuredDocumentation","src":"4414:139:6","text":" @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"081812fc","id":1250,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4567:11:6","nodeType":"FunctionDefinition","parameters":{"id":1246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1245,"mutability":"mutable","name":"tokenId","nameLocation":"4587:7:6","nodeType":"VariableDeclaration","scope":1250,"src":"4579:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1244,"name":"uint256","nodeType":"ElementaryTypeName","src":"4579:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4578:17:6"},"returnParameters":{"id":1249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1248,"mutability":"mutable","name":"operator","nameLocation":"4627:8:6","nodeType":"VariableDeclaration","scope":1250,"src":"4619:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1247,"name":"address","nodeType":"ElementaryTypeName","src":"4619:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4618:18:6"},"scope":1261,"src":"4558:79:6","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1251,"nodeType":"StructuredDocumentation","src":"4643:138:6","text":" @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"},"functionSelector":"e985e9c5","id":1260,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4795:16:6","nodeType":"FunctionDefinition","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1253,"mutability":"mutable","name":"owner","nameLocation":"4820:5:6","nodeType":"VariableDeclaration","scope":1260,"src":"4812:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1252,"name":"address","nodeType":"ElementaryTypeName","src":"4812:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1255,"mutability":"mutable","name":"operator","nameLocation":"4835:8:6","nodeType":"VariableDeclaration","scope":1260,"src":"4827:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1254,"name":"address","nodeType":"ElementaryTypeName","src":"4827:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4811:33:6"},"returnParameters":{"id":1259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1260,"src":"4868:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1257,"name":"bool","nodeType":"ElementaryTypeName","src":"4868:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4867:6:6"},"scope":1261,"src":"4786:88:6","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1262,"src":"250:4626:6","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"108:4769:6"},"id":6},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","exportedSymbols":{"IERC721Receiver":[1279]},"id":1280,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1263,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"116:23:7"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":1264,"nodeType":"StructuredDocumentation","src":"141:152:7","text":" @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."},"fullyImplemented":false,"id":1279,"linearizedBaseContracts":[1279],"name":"IERC721Receiver","nameLocation":"304:15:7","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1265,"nodeType":"StructuredDocumentation","src":"326:493:7","text":" @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","id":1278,"implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"833:16:7","nodeType":"FunctionDefinition","parameters":{"id":1274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1267,"mutability":"mutable","name":"operator","nameLocation":"867:8:7","nodeType":"VariableDeclaration","scope":1278,"src":"859:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1266,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1269,"mutability":"mutable","name":"from","nameLocation":"893:4:7","nodeType":"VariableDeclaration","scope":1278,"src":"885:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1268,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1271,"mutability":"mutable","name":"tokenId","nameLocation":"915:7:7","nodeType":"VariableDeclaration","scope":1278,"src":"907:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"907:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1273,"mutability":"mutable","name":"data","nameLocation":"947:4:7","nodeType":"VariableDeclaration","scope":1278,"src":"932:19:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1272,"name":"bytes","nodeType":"ElementaryTypeName","src":"932:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:108:7"},"returnParameters":{"id":1277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1278,"src":"976:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1275,"name":"bytes4","nodeType":"ElementaryTypeName","src":"976:6:7","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"975:8:7"},"scope":1279,"src":"824:160:7","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1280,"src":"294:692:7","usedErrors":[],"usedEvents":[]}],"src":"116:871:7"},"id":7},"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ERC165":[2471],"ERC721":[1145],"ERC721Burnable":[1309],"IERC165":[2483],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":1310,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1281,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"126:23:8"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":1282,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1310,"sourceUnit":1146,"src":"151:23:8","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../../utils/Context.sol","id":1283,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1310,"sourceUnit":1853,"src":"175:36:8","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1285,"name":"Context","nameLocations":["342:7:8"],"nodeType":"IdentifierPath","referencedDeclaration":1852,"src":"342:7:8"},"id":1286,"nodeType":"InheritanceSpecifier","src":"342:7:8"},{"baseName":{"id":1287,"name":"ERC721","nameLocations":["351:6:8"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"351:6:8"},"id":1288,"nodeType":"InheritanceSpecifier","src":"351:6:8"}],"canonicalName":"ERC721Burnable","contractDependencies":[],"contractKind":"contract","documentation":{"id":1284,"nodeType":"StructuredDocumentation","src":"213:92:8","text":" @title ERC721 Burnable Token\n @dev ERC721 Token that can be burned (destroyed)."},"fullyImplemented":true,"id":1309,"linearizedBaseContracts":[1309,1145,1492,1261,2471,2483,1852],"name":"ERC721Burnable","nameLocation":"324:14:8","nodeType":"ContractDefinition","nodes":[{"body":{"id":1307,"nodeType":"Block","src":"577:192:8","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":1296,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1834,"src":"666:10:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"666:12:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1298,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"680:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1295,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":698,"src":"647:18:8","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":1299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"647:41:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":1300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"690:47:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":1294,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"639:7:8","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"639:99:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1302,"nodeType":"ExpressionStatement","src":"639:99:8"},{"expression":{"arguments":[{"id":1304,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1291,"src":"754:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1303,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":886,"src":"748:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"748:14:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1306,"nodeType":"ExpressionStatement","src":"748:14:8"}]},"documentation":{"id":1289,"nodeType":"StructuredDocumentation","src":"364:162:8","text":" @dev Burns `tokenId`. See {ERC721-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator."},"functionSelector":"42966c68","id":1308,"implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"540:4:8","nodeType":"FunctionDefinition","parameters":{"id":1292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1291,"mutability":"mutable","name":"tokenId","nameLocation":"553:7:8","nodeType":"VariableDeclaration","scope":1308,"src":"545:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1290,"name":"uint256","nodeType":"ElementaryTypeName","src":"545:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"544:17:8"},"returnParameters":{"id":1293,"nodeType":"ParameterList","parameters":[],"src":"577:0:8"},"scope":1309,"src":"531:238:8","stateMutability":"nonpayable","virtual":true,"visibility":"public"}],"scope":1310,"src":"306:465:8","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"126:646:8"},"id":8},"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","exportedSymbols":{"Address":[1822],"Context":[1852],"ERC165":[2471],"ERC721":[1145],"ERC721URIStorage":[1465],"IERC165":[2483],"IERC4906":[137],"IERC721":[1261],"IERC721Metadata":[1492],"IERC721Receiver":[1279],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":1466,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1311,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"128:23:9"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"../ERC721.sol","id":1312,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1466,"sourceUnit":1146,"src":"153:23:9","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/IERC4906.sol","file":"../../../interfaces/IERC4906.sol","id":1313,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1466,"sourceUnit":138,"src":"177:42:9","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":1315,"name":"IERC4906","nameLocations":["329:8:9"],"nodeType":"IdentifierPath","referencedDeclaration":137,"src":"329:8:9"},"id":1316,"nodeType":"InheritanceSpecifier","src":"329:8:9"},{"baseName":{"id":1317,"name":"ERC721","nameLocations":["339:6:9"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"339:6:9"},"id":1318,"nodeType":"InheritanceSpecifier","src":"339:6:9"}],"canonicalName":"ERC721URIStorage","contractDependencies":[],"contractKind":"contract","documentation":{"id":1314,"nodeType":"StructuredDocumentation","src":"221:69:9","text":" @dev ERC721 token with storage based token URI management."},"fullyImplemented":true,"id":1465,"linearizedBaseContracts":[1465,1145,1492,137,1261,2471,2483,1852],"name":"ERC721URIStorage","nameLocation":"309:16:9","nodeType":"ContractDefinition","nodes":[{"global":false,"id":1321,"libraryName":{"id":1319,"name":"Strings","nameLocations":["358:7:9"],"nodeType":"IdentifierPath","referencedDeclaration":2081,"src":"358:7:9"},"nodeType":"UsingForDirective","src":"352:26:9","typeName":{"id":1320,"name":"uint256","nodeType":"ElementaryTypeName","src":"370:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":1325,"mutability":"mutable","name":"_tokenURIs","nameLocation":"458:10:9","nodeType":"VariableDeclaration","scope":1465,"src":"423:45:9","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":1324,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1322,"name":"uint256","nodeType":"ElementaryTypeName","src":"431:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"423:26:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1323,"name":"string","nodeType":"ElementaryTypeName","src":"442:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"baseFunctions":[312,2482],"body":{"id":1348,"nodeType":"Block","src":"643:97:9","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":1341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1336,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"660:11:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30783439303634393036","id":1339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"682:10:9","typeDescriptions":{"typeIdentifier":"t_rational_1225148678_by_1","typeString":"int_const 1225148678"},"value":"0x49064906"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1225148678_by_1","typeString":"int_const 1225148678"}],"id":1338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"675:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":1337,"name":"bytes4","nodeType":"ElementaryTypeName","src":"675:6:9","typeDescriptions":{}}},"id":1340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"675:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"660:33:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1344,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"721:11:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":1342,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"697:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$1465_$","typeString":"type(contract super ERC721URIStorage)"}},"id":1343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"703:17:9","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":312,"src":"697:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":1345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"697:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"660:73:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1335,"id":1347,"nodeType":"Return","src":"653:80:9"}]},"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"475:55:9","text":" @dev See {IERC165-supportsInterface}"},"functionSelector":"01ffc9a7","id":1349,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"544:17:9","nodeType":"FunctionDefinition","overrides":{"id":1332,"nodeType":"OverrideSpecifier","overrides":[{"id":1330,"name":"ERC721","nameLocations":["611:6:9"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"611:6:9"},{"id":1331,"name":"IERC165","nameLocations":["619:7:9"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"619:7:9"}],"src":"602:25:9"},"parameters":{"id":1329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1328,"mutability":"mutable","name":"interfaceId","nameLocation":"569:11:9","nodeType":"VariableDeclaration","scope":1349,"src":"562:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1327,"name":"bytes4","nodeType":"ElementaryTypeName","src":"562:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"561:20:9"},"returnParameters":{"id":1335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1349,"src":"637:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1333,"name":"bool","nodeType":"ElementaryTypeName","src":"637:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"636:6:9"},"scope":1465,"src":"535:205:9","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[423],"body":{"id":1407,"nodeType":"Block","src":"894:520:9","statements":[{"expression":{"arguments":[{"id":1359,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1352,"src":"919:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1358,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1041,"src":"904:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":1360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1361,"nodeType":"ExpressionStatement","src":"904:23:9"},{"assignments":[1363],"declarations":[{"constant":false,"id":1363,"mutability":"mutable","name":"_tokenURI","nameLocation":"952:9:9","nodeType":"VariableDeclaration","scope":1407,"src":"938:23:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1362,"name":"string","nodeType":"ElementaryTypeName","src":"938:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":1367,"initialValue":{"baseExpression":{"id":1364,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"964:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1366,"indexExpression":{"id":1365,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1352,"src":"975:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"964:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"938:45:9"},{"assignments":[1369],"declarations":[{"constant":false,"id":1369,"mutability":"mutable","name":"base","nameLocation":"1007:4:9","nodeType":"VariableDeclaration","scope":1407,"src":"993:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1368,"name":"string","nodeType":"ElementaryTypeName","src":"993:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":1372,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":1370,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":432,"src":"1014:8:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1014:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"993:31:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1375,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"1103:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1097:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1373,"name":"bytes","nodeType":"ElementaryTypeName","src":"1097:5:9","typeDescriptions":{}}},"id":1376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1097:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1109:6:9","memberName":"length","nodeType":"MemberAccess","src":"1097:18:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1119:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1097:23:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1383,"nodeType":"IfStatement","src":"1093:70:9","trueBody":{"id":1382,"nodeType":"Block","src":"1122:41:9","statements":[{"expression":{"id":1380,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"1143:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1357,"id":1381,"nodeType":"Return","src":"1136:16:9"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1386,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"1271:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1265:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1384,"name":"bytes","nodeType":"ElementaryTypeName","src":"1265:5:9","typeDescriptions":{}}},"id":1387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1265:16:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1282:6:9","memberName":"length","nodeType":"MemberAccess","src":"1265:23:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1291:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1265:27:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1401,"nodeType":"IfStatement","src":"1261:106:9","trueBody":{"id":1400,"nodeType":"Block","src":"1294:73:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":1395,"name":"base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"1339:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1396,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"1345:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1322:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1326:12:9","memberName":"encodePacked","nodeType":"MemberAccess","src":"1322:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1322:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1315:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":1391,"name":"string","nodeType":"ElementaryTypeName","src":"1315:6:9","typeDescriptions":{}}},"id":1398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1315:41:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1357,"id":1399,"nodeType":"Return","src":"1308:48:9"}]}},{"expression":{"arguments":[{"id":1404,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1352,"src":"1399:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1402,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1384:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$1465_$","typeString":"type(contract super ERC721URIStorage)"}},"id":1403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1390:8:9","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":423,"src":"1384:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":1405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1357,"id":1406,"nodeType":"Return","src":"1377:30:9"}]},"documentation":{"id":1350,"nodeType":"StructuredDocumentation","src":"746:55:9","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","id":1408,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"815:8:9","nodeType":"FunctionDefinition","overrides":{"id":1354,"nodeType":"OverrideSpecifier","overrides":[],"src":"861:8:9"},"parameters":{"id":1353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1352,"mutability":"mutable","name":"tokenId","nameLocation":"832:7:9","nodeType":"VariableDeclaration","scope":1408,"src":"824:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1351,"name":"uint256","nodeType":"ElementaryTypeName","src":"824:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"823:17:9"},"returnParameters":{"id":1357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1408,"src":"879:13:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1355,"name":"string","nodeType":"ElementaryTypeName","src":"879:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"878:15:9"},"scope":1465,"src":"806:608:9","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":1433,"nodeType":"Block","src":"1680:172:9","statements":[{"expression":{"arguments":[{"arguments":[{"id":1418,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"1706:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1417,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"1698:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":1419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1698:16:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524337323155524953746f726167653a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e","id":1420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1716:48:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4","typeString":"literal_string \"ERC721URIStorage: URI set of nonexistent token\""},"value":"ERC721URIStorage: URI set of nonexistent token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4","typeString":"literal_string \"ERC721URIStorage: URI set of nonexistent token\""}],"id":1416,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1690:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1690:75:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1422,"nodeType":"ExpressionStatement","src":"1690:75:9"},{"expression":{"id":1427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1423,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"1775:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1425,"indexExpression":{"id":1424,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"1786:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1775:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1426,"name":"_tokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"src":"1797:9:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1775:31:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1428,"nodeType":"ExpressionStatement","src":"1775:31:9"},{"eventCall":{"arguments":[{"id":1430,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1411,"src":"1837:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1429,"name":"MetadataUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129,"src":"1822:14:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1822:23:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1432,"nodeType":"EmitStatement","src":"1817:28:9"}]},"documentation":{"id":1409,"nodeType":"StructuredDocumentation","src":"1420:174:9","text":" @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Emits {MetadataUpdate}.\n Requirements:\n - `tokenId` must exist."},"id":1434,"implemented":true,"kind":"function","modifiers":[],"name":"_setTokenURI","nameLocation":"1608:12:9","nodeType":"FunctionDefinition","parameters":{"id":1414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1411,"mutability":"mutable","name":"tokenId","nameLocation":"1629:7:9","nodeType":"VariableDeclaration","scope":1434,"src":"1621:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1410,"name":"uint256","nodeType":"ElementaryTypeName","src":"1621:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1413,"mutability":"mutable","name":"_tokenURI","nameLocation":"1652:9:9","nodeType":"VariableDeclaration","scope":1434,"src":"1638:23:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1412,"name":"string","nodeType":"ElementaryTypeName","src":"1638:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1620:42:9"},"returnParameters":{"id":1415,"nodeType":"ParameterList","parameters":[],"src":"1680:0:9"},"scope":1465,"src":"1599:253:9","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"baseFunctions":[886],"body":{"id":1463,"nodeType":"Block","src":"2128:142:9","statements":[{"expression":{"arguments":[{"id":1444,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"2150:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1441,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2138:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721URIStorage_$1465_$","typeString":"type(contract super ERC721URIStorage)"}},"id":1443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2144:5:9","memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":886,"src":"2138:11:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2138:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1446,"nodeType":"ExpressionStatement","src":"2138:20:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"baseExpression":{"id":1449,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"2179:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1451,"indexExpression":{"id":1450,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"2190:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2179:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":1448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2173:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1447,"name":"bytes","nodeType":"ElementaryTypeName","src":"2173:5:9","typeDescriptions":{}}},"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:26:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},"id":1453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2200:6:9","memberName":"length","nodeType":"MemberAccess","src":"2173:33:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":1454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2210:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2173:38:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1462,"nodeType":"IfStatement","src":"2169:95:9","trueBody":{"id":1461,"nodeType":"Block","src":"2213:51:9","statements":[{"expression":{"id":1459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2227:26:9","subExpression":{"baseExpression":{"id":1456,"name":"_tokenURIs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1325,"src":"2234:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":1458,"indexExpression":{"id":1457,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1437,"src":"2245:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2234:19:9","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1460,"nodeType":"ExpressionStatement","src":"2227:26:9"}]}}]},"documentation":{"id":1435,"nodeType":"StructuredDocumentation","src":"1858:207:9","text":" @dev See {ERC721-_burn}. This override additionally checks to see if a\n token-specific URI was set for the token, and if so, it deletes the token URI from\n the storage mapping."},"id":1464,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"2079:5:9","nodeType":"FunctionDefinition","overrides":{"id":1439,"nodeType":"OverrideSpecifier","overrides":[],"src":"2119:8:9"},"parameters":{"id":1438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1437,"mutability":"mutable","name":"tokenId","nameLocation":"2093:7:9","nodeType":"VariableDeclaration","scope":1464,"src":"2085:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1436,"name":"uint256","nodeType":"ElementaryTypeName","src":"2085:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2084:17:9"},"returnParameters":{"id":1440,"nodeType":"ParameterList","parameters":[],"src":"2128:0:9"},"scope":1465,"src":"2070:200:9","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":1466,"src":"291:1981:9","usedErrors":[],"usedEvents":[129,136,1160,1169,1178]}],"src":"128:2145:9"},"id":9},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","exportedSymbols":{"IERC165":[2483],"IERC721":[1261],"IERC721Metadata":[1492]},"id":1493,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1467,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:10"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","id":1468,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1493,"sourceUnit":1262,"src":"137:24:10","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":1470,"name":"IERC721","nameLocations":["326:7:10"],"nodeType":"IdentifierPath","referencedDeclaration":1261,"src":"326:7:10"},"id":1471,"nodeType":"InheritanceSpecifier","src":"326:7:10"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":1469,"nodeType":"StructuredDocumentation","src":"163:133:10","text":" @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"id":1492,"linearizedBaseContracts":[1492,1261,2483],"name":"IERC721Metadata","nameLocation":"307:15:10","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":1472,"nodeType":"StructuredDocumentation","src":"340:58:10","text":" @dev Returns the token collection name."},"functionSelector":"06fdde03","id":1477,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"412:4:10","nodeType":"FunctionDefinition","parameters":{"id":1473,"nodeType":"ParameterList","parameters":[],"src":"416:2:10"},"returnParameters":{"id":1476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1477,"src":"442:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1474,"name":"string","nodeType":"ElementaryTypeName","src":"442:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"441:15:10"},"scope":1492,"src":"403:54:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1478,"nodeType":"StructuredDocumentation","src":"463:60:10","text":" @dev Returns the token collection symbol."},"functionSelector":"95d89b41","id":1483,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"537:6:10","nodeType":"FunctionDefinition","parameters":{"id":1479,"nodeType":"ParameterList","parameters":[],"src":"543:2:10"},"returnParameters":{"id":1482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1483,"src":"569:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1480,"name":"string","nodeType":"ElementaryTypeName","src":"569:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"568:15:10"},"scope":1492,"src":"528:56:10","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":1484,"nodeType":"StructuredDocumentation","src":"590:90:10","text":" @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"functionSelector":"c87b56dd","id":1491,"implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"694:8:10","nodeType":"FunctionDefinition","parameters":{"id":1487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1486,"mutability":"mutable","name":"tokenId","nameLocation":"711:7:10","nodeType":"VariableDeclaration","scope":1491,"src":"703:15:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1485,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:17:10"},"returnParameters":{"id":1490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1491,"src":"743:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1488,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"742:15:10"},"scope":1492,"src":"685:73:10","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":1493,"src":"297:463:10","usedErrors":[],"usedEvents":[1160,1169,1178]}],"src":"112:649:10"},"id":10},"@openzeppelin/contracts/utils/Address.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Address.sol","exportedSymbols":{"Address":[1822]},"id":1823,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1494,"literals":["solidity","^","0.8",".1"],"nodeType":"PragmaDirective","src":"101:23:11"},{"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":1495,"nodeType":"StructuredDocumentation","src":"126:67:11","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"id":1822,"linearizedBaseContracts":[1822],"name":"Address","nameLocation":"202:7:11","nodeType":"ContractDefinition","nodes":[{"body":{"id":1509,"nodeType":"Block","src":"1478:254:11","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":1503,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1498,"src":"1702:7:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1710:4:11","memberName":"code","nodeType":"MemberAccess","src":"1702:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:6:11","memberName":"length","nodeType":"MemberAccess","src":"1702:19:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1724:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1702:23:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1502,"id":1508,"nodeType":"Return","src":"1695:30:11"}]},"documentation":{"id":1496,"nodeType":"StructuredDocumentation","src":"216:1191:11","text":" @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ===="},"id":1510,"implemented":true,"kind":"function","modifiers":[],"name":"isContract","nameLocation":"1421:10:11","nodeType":"FunctionDefinition","parameters":{"id":1499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1498,"mutability":"mutable","name":"account","nameLocation":"1440:7:11","nodeType":"VariableDeclaration","scope":1510,"src":"1432:15:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1497,"name":"address","nodeType":"ElementaryTypeName","src":"1432:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1431:17:11"},"returnParameters":{"id":1502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1510,"src":"1472:4:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1500,"name":"bool","nodeType":"ElementaryTypeName","src":"1472:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1471:6:11"},"scope":1822,"src":"1412:320:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1543,"nodeType":"Block","src":"2718:241:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1521,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2744:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}],"id":1520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2736:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1519,"name":"address","nodeType":"ElementaryTypeName","src":"2736:7:11","typeDescriptions":{}}},"id":1522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2736:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2750:7:11","memberName":"balance","nodeType":"MemberAccess","src":"2736:21:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1524,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"2761:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2736:31:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","id":1526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2769:31:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""},"value":"Address: insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""}],"id":1518,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2728:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:73:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1528,"nodeType":"ExpressionStatement","src":"2728:73:11"},{"assignments":[1530,null],"declarations":[{"constant":false,"id":1530,"mutability":"mutable","name":"success","nameLocation":"2818:7:11","nodeType":"VariableDeclaration","scope":1543,"src":"2813:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1529,"name":"bool","nodeType":"ElementaryTypeName","src":"2813:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":1537,"initialValue":{"arguments":[{"hexValue":"","id":1535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2861:2:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":1531,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"2831:9:11","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2841:4:11","memberName":"call","nodeType":"MemberAccess","src":"2831:14:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":1533,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"2853:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2831:29:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2812:52:11"},{"expression":{"arguments":[{"id":1539,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1530,"src":"2882:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2891:60:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""},"value":"Address: unable to send value, recipient may have reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""}],"id":1538,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2874:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2874:78:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1542,"nodeType":"ExpressionStatement","src":"2874:78:11"}]},"documentation":{"id":1511,"nodeType":"StructuredDocumentation","src":"1738:904:11","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]."},"id":1544,"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"2656:9:11","nodeType":"FunctionDefinition","parameters":{"id":1516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1513,"mutability":"mutable","name":"recipient","nameLocation":"2682:9:11","nodeType":"VariableDeclaration","scope":1544,"src":"2666:25:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1512,"name":"address","nodeType":"ElementaryTypeName","src":"2666:15:11","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":1515,"mutability":"mutable","name":"amount","nameLocation":"2701:6:11","nodeType":"VariableDeclaration","scope":1544,"src":"2693:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1514,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2665:43:11"},"returnParameters":{"id":1517,"nodeType":"ParameterList","parameters":[],"src":"2718:0:11"},"scope":1822,"src":"2647:312:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1561,"nodeType":"Block","src":"3790:96:11","statements":[{"expression":{"arguments":[{"id":1555,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1547,"src":"3829:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1556,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1549,"src":"3837:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":1557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3843:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564","id":1558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:32:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""},"value":"Address: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""}],"id":1554,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[1602,1646],"referencedDeclaration":1646,"src":"3807:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:72:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1553,"id":1560,"nodeType":"Return","src":"3800:79:11"}]},"documentation":{"id":1545,"nodeType":"StructuredDocumentation","src":"2965:731:11","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"},"id":1562,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"3710:12:11","nodeType":"FunctionDefinition","parameters":{"id":1550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1547,"mutability":"mutable","name":"target","nameLocation":"3731:6:11","nodeType":"VariableDeclaration","scope":1562,"src":"3723:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1546,"name":"address","nodeType":"ElementaryTypeName","src":"3723:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1549,"mutability":"mutable","name":"data","nameLocation":"3752:4:11","nodeType":"VariableDeclaration","scope":1562,"src":"3739:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1548,"name":"bytes","nodeType":"ElementaryTypeName","src":"3739:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3722:35:11"},"returnParameters":{"id":1553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1562,"src":"3776:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1551,"name":"bytes","nodeType":"ElementaryTypeName","src":"3776:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3775:14:11"},"scope":1822,"src":"3701:185:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1581,"nodeType":"Block","src":"4255:76:11","statements":[{"expression":{"arguments":[{"id":1575,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1565,"src":"4294:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1576,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1567,"src":"4302:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":1577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4308:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":1578,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1569,"src":"4311:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1574,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[1602,1646],"referencedDeclaration":1646,"src":"4272:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":1579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4272:52:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1573,"id":1580,"nodeType":"Return","src":"4265:59:11"}]},"documentation":{"id":1563,"nodeType":"StructuredDocumentation","src":"3892:211:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":1582,"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"4117:12:11","nodeType":"FunctionDefinition","parameters":{"id":1570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1565,"mutability":"mutable","name":"target","nameLocation":"4147:6:11","nodeType":"VariableDeclaration","scope":1582,"src":"4139:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1564,"name":"address","nodeType":"ElementaryTypeName","src":"4139:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1567,"mutability":"mutable","name":"data","nameLocation":"4176:4:11","nodeType":"VariableDeclaration","scope":1582,"src":"4163:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1566,"name":"bytes","nodeType":"ElementaryTypeName","src":"4163:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1569,"mutability":"mutable","name":"errorMessage","nameLocation":"4204:12:11","nodeType":"VariableDeclaration","scope":1582,"src":"4190:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1568,"name":"string","nodeType":"ElementaryTypeName","src":"4190:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4129:93:11"},"returnParameters":{"id":1573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1582,"src":"4241:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1571,"name":"bytes","nodeType":"ElementaryTypeName","src":"4241:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4240:14:11"},"scope":1822,"src":"4108:223:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1601,"nodeType":"Block","src":"4806:111:11","statements":[{"expression":{"arguments":[{"id":1595,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1585,"src":"4845:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1587,"src":"4853:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1597,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"4859:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564","id":1598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4866:43:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""},"value":"Address: low-level call with value failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""}],"id":1594,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[1602,1646],"referencedDeclaration":1646,"src":"4823:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:87:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1593,"id":1600,"nodeType":"Return","src":"4816:94:11"}]},"documentation":{"id":1583,"nodeType":"StructuredDocumentation","src":"4337:351:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._"},"id":1602,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"4702:21:11","nodeType":"FunctionDefinition","parameters":{"id":1590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"target","nameLocation":"4732:6:11","nodeType":"VariableDeclaration","scope":1602,"src":"4724:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1584,"name":"address","nodeType":"ElementaryTypeName","src":"4724:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1587,"mutability":"mutable","name":"data","nameLocation":"4753:4:11","nodeType":"VariableDeclaration","scope":1602,"src":"4740:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1586,"name":"bytes","nodeType":"ElementaryTypeName","src":"4740:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1589,"mutability":"mutable","name":"value","nameLocation":"4767:5:11","nodeType":"VariableDeclaration","scope":1602,"src":"4759:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1588,"name":"uint256","nodeType":"ElementaryTypeName","src":"4759:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4723:50:11"},"returnParameters":{"id":1593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1602,"src":"4792:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1591,"name":"bytes","nodeType":"ElementaryTypeName","src":"4792:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4791:14:11"},"scope":1822,"src":"4693:224:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1645,"nodeType":"Block","src":"5344:267:11","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":1619,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5370:4:11","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$1822","typeString":"library Address"}],"id":1618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5362:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1617,"name":"address","nodeType":"ElementaryTypeName","src":"5362:7:11","typeDescriptions":{}}},"id":1620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5362:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5376:7:11","memberName":"balance","nodeType":"MemberAccess","src":"5362:21:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1622,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"5387:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5362:30:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c","id":1624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5394:40:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""},"value":"Address: insufficient balance for call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""}],"id":1616,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5354:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5354:81:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1626,"nodeType":"ExpressionStatement","src":"5354:81:11"},{"assignments":[1628,1630],"declarations":[{"constant":false,"id":1628,"mutability":"mutable","name":"success","nameLocation":"5451:7:11","nodeType":"VariableDeclaration","scope":1645,"src":"5446:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1627,"name":"bool","nodeType":"ElementaryTypeName","src":"5446:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1630,"mutability":"mutable","name":"returndata","nameLocation":"5473:10:11","nodeType":"VariableDeclaration","scope":1645,"src":"5460:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1629,"name":"bytes","nodeType":"ElementaryTypeName","src":"5460:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1637,"initialValue":{"arguments":[{"id":1635,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1607,"src":"5513:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1631,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"5487:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5494:4:11","memberName":"call","nodeType":"MemberAccess","src":"5487:11:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":1633,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"5506:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5487:25:11","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5487:31:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5445:73:11"},{"expression":{"arguments":[{"id":1639,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"5562:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1640,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1628,"src":"5570:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1641,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1630,"src":"5579:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1642,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1611,"src":"5591:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1638,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1777,"src":"5535:26:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":1643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:69:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1615,"id":1644,"nodeType":"Return","src":"5528:76:11"}]},"documentation":{"id":1603,"nodeType":"StructuredDocumentation","src":"4923:237:11","text":" @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"id":1646,"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"5174:21:11","nodeType":"FunctionDefinition","parameters":{"id":1612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1605,"mutability":"mutable","name":"target","nameLocation":"5213:6:11","nodeType":"VariableDeclaration","scope":1646,"src":"5205:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1604,"name":"address","nodeType":"ElementaryTypeName","src":"5205:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1607,"mutability":"mutable","name":"data","nameLocation":"5242:4:11","nodeType":"VariableDeclaration","scope":1646,"src":"5229:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1606,"name":"bytes","nodeType":"ElementaryTypeName","src":"5229:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1609,"mutability":"mutable","name":"value","nameLocation":"5264:5:11","nodeType":"VariableDeclaration","scope":1646,"src":"5256:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5256:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1611,"mutability":"mutable","name":"errorMessage","nameLocation":"5293:12:11","nodeType":"VariableDeclaration","scope":1646,"src":"5279:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1610,"name":"string","nodeType":"ElementaryTypeName","src":"5279:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5195:116:11"},"returnParameters":{"id":1615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1646,"src":"5330:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1613,"name":"bytes","nodeType":"ElementaryTypeName","src":"5330:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5329:14:11"},"scope":1822,"src":"5165:446:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1662,"nodeType":"Block","src":"5888:97:11","statements":[{"expression":{"arguments":[{"id":1657,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1649,"src":"5924:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1658,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"5932:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564","id":1659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5938:39:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""},"value":"Address: low-level static call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""}],"id":1656,"name":"functionStaticCall","nodeType":"Identifier","overloadedDeclarations":[1663,1692],"referencedDeclaration":1692,"src":"5905:18:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) view returns (bytes memory)"}},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5905:73:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1655,"id":1661,"nodeType":"Return","src":"5898:80:11"}]},"documentation":{"id":1647,"nodeType":"StructuredDocumentation","src":"5617:166:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"id":1663,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"5797:18:11","nodeType":"FunctionDefinition","parameters":{"id":1652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1649,"mutability":"mutable","name":"target","nameLocation":"5824:6:11","nodeType":"VariableDeclaration","scope":1663,"src":"5816:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1648,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1651,"mutability":"mutable","name":"data","nameLocation":"5845:4:11","nodeType":"VariableDeclaration","scope":1663,"src":"5832:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1650,"name":"bytes","nodeType":"ElementaryTypeName","src":"5832:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5815:35:11"},"returnParameters":{"id":1655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1663,"src":"5874:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1653,"name":"bytes","nodeType":"ElementaryTypeName","src":"5874:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5873:14:11"},"scope":1822,"src":"5788:197:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1691,"nodeType":"Block","src":"6327:168:11","statements":[{"assignments":[1676,1678],"declarations":[{"constant":false,"id":1676,"mutability":"mutable","name":"success","nameLocation":"6343:7:11","nodeType":"VariableDeclaration","scope":1691,"src":"6338:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1675,"name":"bool","nodeType":"ElementaryTypeName","src":"6338:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1678,"mutability":"mutable","name":"returndata","nameLocation":"6365:10:11","nodeType":"VariableDeclaration","scope":1691,"src":"6352:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1677,"name":"bytes","nodeType":"ElementaryTypeName","src":"6352:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1683,"initialValue":{"arguments":[{"id":1681,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1668,"src":"6397:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1679,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"6379:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6386:10:11","memberName":"staticcall","nodeType":"MemberAccess","src":"6379:17:11","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":1682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6379:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6337:65:11"},{"expression":{"arguments":[{"id":1685,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"6446:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1686,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"6454:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1687,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1678,"src":"6463:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1688,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1670,"src":"6475:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1684,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1777,"src":"6419:26:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6419:69:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1674,"id":1690,"nodeType":"Return","src":"6412:76:11"}]},"documentation":{"id":1664,"nodeType":"StructuredDocumentation","src":"5991:173:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"id":1692,"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"6178:18:11","nodeType":"FunctionDefinition","parameters":{"id":1671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1666,"mutability":"mutable","name":"target","nameLocation":"6214:6:11","nodeType":"VariableDeclaration","scope":1692,"src":"6206:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1665,"name":"address","nodeType":"ElementaryTypeName","src":"6206:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1668,"mutability":"mutable","name":"data","nameLocation":"6243:4:11","nodeType":"VariableDeclaration","scope":1692,"src":"6230:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1667,"name":"bytes","nodeType":"ElementaryTypeName","src":"6230:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1670,"mutability":"mutable","name":"errorMessage","nameLocation":"6271:12:11","nodeType":"VariableDeclaration","scope":1692,"src":"6257:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1669,"name":"string","nodeType":"ElementaryTypeName","src":"6257:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6196:93:11"},"returnParameters":{"id":1674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1692,"src":"6313:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1672,"name":"bytes","nodeType":"ElementaryTypeName","src":"6313:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6312:14:11"},"scope":1822,"src":"6169:326:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1708,"nodeType":"Block","src":"6771:101:11","statements":[{"expression":{"arguments":[{"id":1703,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1695,"src":"6809:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1704,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1697,"src":"6817:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","id":1705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6823:41:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""},"value":"Address: low-level delegate call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""}],"id":1702,"name":"functionDelegateCall","nodeType":"Identifier","overloadedDeclarations":[1709,1738],"referencedDeclaration":1738,"src":"6788:20:11","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":1706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6788:77:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1701,"id":1707,"nodeType":"Return","src":"6781:84:11"}]},"documentation":{"id":1693,"nodeType":"StructuredDocumentation","src":"6501:168:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"id":1709,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"6683:20:11","nodeType":"FunctionDefinition","parameters":{"id":1698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1695,"mutability":"mutable","name":"target","nameLocation":"6712:6:11","nodeType":"VariableDeclaration","scope":1709,"src":"6704:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1694,"name":"address","nodeType":"ElementaryTypeName","src":"6704:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1697,"mutability":"mutable","name":"data","nameLocation":"6733:4:11","nodeType":"VariableDeclaration","scope":1709,"src":"6720:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1696,"name":"bytes","nodeType":"ElementaryTypeName","src":"6720:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6703:35:11"},"returnParameters":{"id":1701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1709,"src":"6757:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1699,"name":"bytes","nodeType":"ElementaryTypeName","src":"6757:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6756:14:11"},"scope":1822,"src":"6674:198:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1737,"nodeType":"Block","src":"7213:170:11","statements":[{"assignments":[1722,1724],"declarations":[{"constant":false,"id":1722,"mutability":"mutable","name":"success","nameLocation":"7229:7:11","nodeType":"VariableDeclaration","scope":1737,"src":"7224:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1721,"name":"bool","nodeType":"ElementaryTypeName","src":"7224:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1724,"mutability":"mutable","name":"returndata","nameLocation":"7251:10:11","nodeType":"VariableDeclaration","scope":1737,"src":"7238:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1723,"name":"bytes","nodeType":"ElementaryTypeName","src":"7238:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1729,"initialValue":{"arguments":[{"id":1727,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1714,"src":"7285:4:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1725,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1712,"src":"7265:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7272:12:11","memberName":"delegatecall","nodeType":"MemberAccess","src":"7265:19:11","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":1728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7265:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"7223:67:11"},{"expression":{"arguments":[{"id":1731,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1712,"src":"7334:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1732,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1722,"src":"7342:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1733,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1724,"src":"7351:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1734,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1716,"src":"7363:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1730,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1777,"src":"7307:26:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":1735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:69:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1720,"id":1736,"nodeType":"Return","src":"7300:76:11"}]},"documentation":{"id":1710,"nodeType":"StructuredDocumentation","src":"6878:175:11","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"id":1738,"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"7067:20:11","nodeType":"FunctionDefinition","parameters":{"id":1717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1712,"mutability":"mutable","name":"target","nameLocation":"7105:6:11","nodeType":"VariableDeclaration","scope":1738,"src":"7097:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1711,"name":"address","nodeType":"ElementaryTypeName","src":"7097:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1714,"mutability":"mutable","name":"data","nameLocation":"7134:4:11","nodeType":"VariableDeclaration","scope":1738,"src":"7121:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1713,"name":"bytes","nodeType":"ElementaryTypeName","src":"7121:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1716,"mutability":"mutable","name":"errorMessage","nameLocation":"7162:12:11","nodeType":"VariableDeclaration","scope":1738,"src":"7148:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1715,"name":"string","nodeType":"ElementaryTypeName","src":"7148:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7087:93:11"},"returnParameters":{"id":1720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1738,"src":"7199:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1718,"name":"bytes","nodeType":"ElementaryTypeName","src":"7199:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7198:14:11"},"scope":1822,"src":"7058:325:11","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1776,"nodeType":"Block","src":"7865:434:11","statements":[{"condition":{"id":1752,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1743,"src":"7879:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1774,"nodeType":"Block","src":"8235:58:11","statements":[{"expression":{"arguments":[{"id":1770,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"8257:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1771,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"8269:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1769,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1821,"src":"8249:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":1772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8249:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1773,"nodeType":"ExpressionStatement","src":"8249:33:11"}]},"id":1775,"nodeType":"IfStatement","src":"7875:418:11","trueBody":{"id":1768,"nodeType":"Block","src":"7888:341:11","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1753,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"7906:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:6:11","memberName":"length","nodeType":"MemberAccess","src":"7906:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7927:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7906:22:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1765,"nodeType":"IfStatement","src":"7902:286:11","trueBody":{"id":1764,"nodeType":"Block","src":"7930:258:11","statements":[{"expression":{"arguments":[{"arguments":[{"id":1759,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"8132:6:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1758,"name":"isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"8121:10:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8121:18:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","id":1761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8141:31:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""},"value":"Address: call to non-contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""}],"id":1757,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8113:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8113:60:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1763,"nodeType":"ExpressionStatement","src":"8113:60:11"}]}},{"expression":{"id":1766,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"8208:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1751,"id":1767,"nodeType":"Return","src":"8201:17:11"}]}}]},"documentation":{"id":1739,"nodeType":"StructuredDocumentation","src":"7389:277:11","text":" @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._"},"id":1777,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResultFromTarget","nameLocation":"7680:26:11","nodeType":"FunctionDefinition","parameters":{"id":1748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1741,"mutability":"mutable","name":"target","nameLocation":"7724:6:11","nodeType":"VariableDeclaration","scope":1777,"src":"7716:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1740,"name":"address","nodeType":"ElementaryTypeName","src":"7716:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1743,"mutability":"mutable","name":"success","nameLocation":"7745:7:11","nodeType":"VariableDeclaration","scope":1777,"src":"7740:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1742,"name":"bool","nodeType":"ElementaryTypeName","src":"7740:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1745,"mutability":"mutable","name":"returndata","nameLocation":"7775:10:11","nodeType":"VariableDeclaration","scope":1777,"src":"7762:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1744,"name":"bytes","nodeType":"ElementaryTypeName","src":"7762:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1747,"mutability":"mutable","name":"errorMessage","nameLocation":"7809:12:11","nodeType":"VariableDeclaration","scope":1777,"src":"7795:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1746,"name":"string","nodeType":"ElementaryTypeName","src":"7795:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7706:121:11"},"returnParameters":{"id":1751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1777,"src":"7851:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1749,"name":"bytes","nodeType":"ElementaryTypeName","src":"7851:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7850:14:11"},"scope":1822,"src":"7671:628:11","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":1800,"nodeType":"Block","src":"8680:135:11","statements":[{"condition":{"id":1789,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"8694:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1798,"nodeType":"Block","src":"8751:58:11","statements":[{"expression":{"arguments":[{"id":1794,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1782,"src":"8773:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1795,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1784,"src":"8785:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1793,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1821,"src":"8765:7:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":1796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8765:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1797,"nodeType":"ExpressionStatement","src":"8765:33:11"}]},"id":1799,"nodeType":"IfStatement","src":"8690:119:11","trueBody":{"id":1792,"nodeType":"Block","src":"8703:42:11","statements":[{"expression":{"id":1790,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1782,"src":"8724:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":1788,"id":1791,"nodeType":"Return","src":"8717:17:11"}]}}]},"documentation":{"id":1778,"nodeType":"StructuredDocumentation","src":"8305:210:11","text":" @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._"},"id":1801,"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResult","nameLocation":"8529:16:11","nodeType":"FunctionDefinition","parameters":{"id":1785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1780,"mutability":"mutable","name":"success","nameLocation":"8560:7:11","nodeType":"VariableDeclaration","scope":1801,"src":"8555:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1779,"name":"bool","nodeType":"ElementaryTypeName","src":"8555:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1782,"mutability":"mutable","name":"returndata","nameLocation":"8590:10:11","nodeType":"VariableDeclaration","scope":1801,"src":"8577:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1781,"name":"bytes","nodeType":"ElementaryTypeName","src":"8577:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1784,"mutability":"mutable","name":"errorMessage","nameLocation":"8624:12:11","nodeType":"VariableDeclaration","scope":1801,"src":"8610:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1783,"name":"string","nodeType":"ElementaryTypeName","src":"8610:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8545:97:11"},"returnParameters":{"id":1788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1787,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1801,"src":"8666:12:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1786,"name":"bytes","nodeType":"ElementaryTypeName","src":"8666:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8665:14:11"},"scope":1822,"src":"8520:295:11","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1820,"nodeType":"Block","src":"8904:457:11","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1808,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1803,"src":"8980:10:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8991:6:11","memberName":"length","nodeType":"MemberAccess","src":"8980:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9000:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8980:21:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1818,"nodeType":"Block","src":"9310:45:11","statements":[{"expression":{"arguments":[{"id":1815,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1805,"src":"9331:12:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1814,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9324:6:11","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":1816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9324:20:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1817,"nodeType":"ExpressionStatement","src":"9324:20:11"}]},"id":1819,"nodeType":"IfStatement","src":"8976:379:11","trueBody":{"id":1813,"nodeType":"Block","src":"9003:301:11","statements":[{"AST":{"nodeType":"YulBlock","src":"9161:133:11","statements":[{"nodeType":"YulVariableDeclaration","src":"9179:40:11","value":{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"9208:10:11"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9202:5:11"},"nodeType":"YulFunctionCall","src":"9202:17:11"},"variables":[{"name":"returndata_size","nodeType":"YulTypedName","src":"9183:15:11","type":""}]},{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9247:2:11","type":"","value":"32"},{"name":"returndata","nodeType":"YulIdentifier","src":"9251:10:11"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9243:3:11"},"nodeType":"YulFunctionCall","src":"9243:19:11"},{"name":"returndata_size","nodeType":"YulIdentifier","src":"9264:15:11"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9236:6:11"},"nodeType":"YulFunctionCall","src":"9236:44:11"},"nodeType":"YulExpressionStatement","src":"9236:44:11"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1803,"isOffset":false,"isSlot":false,"src":"9208:10:11","valueSize":1},{"declaration":1803,"isOffset":false,"isSlot":false,"src":"9251:10:11","valueSize":1}],"id":1812,"nodeType":"InlineAssembly","src":"9152:142:11"}]}}]},"id":1821,"implemented":true,"kind":"function","modifiers":[],"name":"_revert","nameLocation":"8830:7:11","nodeType":"FunctionDefinition","parameters":{"id":1806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1803,"mutability":"mutable","name":"returndata","nameLocation":"8851:10:11","nodeType":"VariableDeclaration","scope":1821,"src":"8838:23:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1802,"name":"bytes","nodeType":"ElementaryTypeName","src":"8838:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1805,"mutability":"mutable","name":"errorMessage","nameLocation":"8877:12:11","nodeType":"VariableDeclaration","scope":1821,"src":"8863:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1804,"name":"string","nodeType":"ElementaryTypeName","src":"8863:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8837:53:11"},"returnParameters":{"id":1807,"nodeType":"ParameterList","parameters":[],"src":"8904:0:11"},"scope":1822,"src":"8821:540:11","stateMutability":"pure","virtual":false,"visibility":"private"}],"scope":1823,"src":"194:9169:11","usedErrors":[],"usedEvents":[]}],"src":"101:9263:11"},"id":11},"@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[1852]},"id":1853,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1824,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:12"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":1825,"nodeType":"StructuredDocumentation","src":"126:496:12","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"id":1852,"linearizedBaseContracts":[1852],"name":"Context","nameLocation":"641:7:12","nodeType":"ContractDefinition","nodes":[{"body":{"id":1833,"nodeType":"Block","src":"717:34:12","statements":[{"expression":{"expression":{"id":1830,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"734:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"738:6:12","memberName":"sender","nodeType":"MemberAccess","src":"734:10:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1829,"id":1832,"nodeType":"Return","src":"727:17:12"}]},"id":1834,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"664:10:12","nodeType":"FunctionDefinition","parameters":{"id":1826,"nodeType":"ParameterList","parameters":[],"src":"674:2:12"},"returnParameters":{"id":1829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1834,"src":"708:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1827,"name":"address","nodeType":"ElementaryTypeName","src":"708:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"707:9:12"},"scope":1852,"src":"655:96:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1842,"nodeType":"Block","src":"824:32:12","statements":[{"expression":{"expression":{"id":1839,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"841:3:12","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"845:4:12","memberName":"data","nodeType":"MemberAccess","src":"841:8:12","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":1838,"id":1841,"nodeType":"Return","src":"834:15:12"}]},"id":1843,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"766:8:12","nodeType":"FunctionDefinition","parameters":{"id":1835,"nodeType":"ParameterList","parameters":[],"src":"774:2:12"},"returnParameters":{"id":1838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1837,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1843,"src":"808:14:12","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1836,"name":"bytes","nodeType":"ElementaryTypeName","src":"808:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"807:16:12"},"scope":1852,"src":"757:99:12","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1850,"nodeType":"Block","src":"934:25:12","statements":[{"expression":{"hexValue":"30","id":1848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"951:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":1847,"id":1849,"nodeType":"Return","src":"944:8:12"}]},"id":1851,"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"871:20:12","nodeType":"FunctionDefinition","parameters":{"id":1844,"nodeType":"ParameterList","parameters":[],"src":"891:2:12"},"returnParameters":{"id":1847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1851,"src":"925:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1845,"name":"uint256","nodeType":"ElementaryTypeName","src":"925:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"924:9:12"},"scope":1852,"src":"862:97:12","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":1853,"src":"623:338:12","usedErrors":[],"usedEvents":[]}],"src":"101:861:12"},"id":12},"@openzeppelin/contracts/utils/Strings.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","exportedSymbols":{"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":2082,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1854,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"101:23:13"},{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","id":1855,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2082,"sourceUnit":3350,"src":"126:25:13","symbolAliases":[],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/math/SignedMath.sol","file":"./math/SignedMath.sol","id":1856,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2082,"sourceUnit":3455,"src":"152:31:13","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":1857,"nodeType":"StructuredDocumentation","src":"185:34:13","text":" @dev String operations."},"fullyImplemented":true,"id":2081,"linearizedBaseContracts":[2081],"name":"Strings","nameLocation":"228:7:13","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":1860,"mutability":"constant","name":"_SYMBOLS","nameLocation":"267:8:13","nodeType":"VariableDeclaration","scope":2081,"src":"242:54:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":1858,"name":"bytes16","nodeType":"ElementaryTypeName","src":"242:7:13","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":1859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"278:18:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"constant":true,"id":1863,"mutability":"constant","name":"_ADDRESS_LENGTH","nameLocation":"325:15:13","nodeType":"VariableDeclaration","scope":2081,"src":"302:43:13","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1861,"name":"uint8","nodeType":"ElementaryTypeName","src":"302:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":1862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"343:2:13","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"body":{"id":1910,"nodeType":"Block","src":"518:625:13","statements":[{"id":1909,"nodeType":"UncheckedBlock","src":"528:609:13","statements":[{"assignments":[1872],"declarations":[{"constant":false,"id":1872,"mutability":"mutable","name":"length","nameLocation":"560:6:13","nodeType":"VariableDeclaration","scope":1909,"src":"552:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1871,"name":"uint256","nodeType":"ElementaryTypeName","src":"552:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1879,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1875,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"580:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1873,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3349,"src":"569:4:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$3349_$","typeString":"type(library Math)"}},"id":1874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"574:5:13","memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":3186,"src":"569:10:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":1876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"569:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"589:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"569:21:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"552:38:13"},{"assignments":[1881],"declarations":[{"constant":false,"id":1881,"mutability":"mutable","name":"buffer","nameLocation":"618:6:13","nodeType":"VariableDeclaration","scope":1909,"src":"604:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1880,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":1886,"initialValue":{"arguments":[{"id":1884,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1872,"src":"638:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"627:10:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":1885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"627:18:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"604:41:13"},{"assignments":[1888],"declarations":[{"constant":false,"id":1888,"mutability":"mutable","name":"ptr","nameLocation":"667:3:13","nodeType":"VariableDeclaration","scope":1909,"src":"659:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1887,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1889,"nodeType":"VariableDeclarationStatement","src":"659:11:13"},{"AST":{"nodeType":"YulBlock","src":"740:67:13","statements":[{"nodeType":"YulAssignment","src":"758:35:13","value":{"arguments":[{"name":"buffer","nodeType":"YulIdentifier","src":"769:6:13"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"781:2:13","type":"","value":"32"},{"name":"length","nodeType":"YulIdentifier","src":"785:6:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:13"},"nodeType":"YulFunctionCall","src":"777:15:13"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"765:3:13"},"nodeType":"YulFunctionCall","src":"765:28:13"},"variableNames":[{"name":"ptr","nodeType":"YulIdentifier","src":"758:3:13"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1881,"isOffset":false,"isSlot":false,"src":"769:6:13","valueSize":1},{"declaration":1872,"isOffset":false,"isSlot":false,"src":"785:6:13","valueSize":1},{"declaration":1888,"isOffset":false,"isSlot":false,"src":"758:3:13","valueSize":1}],"id":1890,"nodeType":"InlineAssembly","src":"731:76:13"},{"body":{"id":1905,"nodeType":"Block","src":"833:267:13","statements":[{"expression":{"id":1893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"851:5:13","subExpression":{"id":1892,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1888,"src":"851:3:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1894,"nodeType":"ExpressionStatement","src":"851:5:13"},{"AST":{"nodeType":"YulBlock","src":"934:84:13","statements":[{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"964:3:13"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"978:5:13"},{"kind":"number","nodeType":"YulLiteral","src":"985:2:13","type":"","value":"10"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"974:3:13"},"nodeType":"YulFunctionCall","src":"974:14:13"},{"name":"_SYMBOLS","nodeType":"YulIdentifier","src":"990:8:13"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"969:4:13"},"nodeType":"YulFunctionCall","src":"969:30:13"}],"functionName":{"name":"mstore8","nodeType":"YulIdentifier","src":"956:7:13"},"nodeType":"YulFunctionCall","src":"956:44:13"},"nodeType":"YulExpressionStatement","src":"956:44:13"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":1860,"isOffset":false,"isSlot":false,"src":"990:8:13","valueSize":1},{"declaration":1888,"isOffset":false,"isSlot":false,"src":"964:3:13","valueSize":1},{"declaration":1866,"isOffset":false,"isSlot":false,"src":"978:5:13","valueSize":1}],"id":1895,"nodeType":"InlineAssembly","src":"925:93:13"},{"expression":{"id":1898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1896,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"1035:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":1897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1044:2:13","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1035:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1899,"nodeType":"ExpressionStatement","src":"1035:11:13"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1900,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"1068:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1068:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1904,"nodeType":"IfStatement","src":"1064:21:13","trueBody":{"id":1903,"nodeType":"Break","src":"1080:5:13"}}]},"condition":{"hexValue":"74727565","id":1891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"827:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":1906,"nodeType":"WhileStatement","src":"820:280:13"},{"expression":{"id":1907,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1881,"src":"1120:6:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1870,"id":1908,"nodeType":"Return","src":"1113:13:13"}]}]},"documentation":{"id":1864,"nodeType":"StructuredDocumentation","src":"352:90:13","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"id":1911,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"456:8:13","nodeType":"FunctionDefinition","parameters":{"id":1867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1866,"mutability":"mutable","name":"value","nameLocation":"473:5:13","nodeType":"VariableDeclaration","scope":1911,"src":"465:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1865,"name":"uint256","nodeType":"ElementaryTypeName","src":"465:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"464:15:13"},"returnParameters":{"id":1870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1911,"src":"503:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1868,"name":"string","nodeType":"ElementaryTypeName","src":"503:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"502:15:13"},"scope":2081,"src":"447:696:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1938,"nodeType":"Block","src":"1313:103:13","statements":[{"expression":{"arguments":[{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1923,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"1354:5:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":1924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1362:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1354:9:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":1927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1372:2:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":1928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1354:20:13","trueExpression":{"hexValue":"2d","id":1926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1366:3:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":1932,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1914,"src":"1400:5:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1930,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3454,"src":"1385:10:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignedMath_$3454_$","typeString":"type(library SignedMath)"}},"id":1931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1396:3:13","memberName":"abs","nodeType":"MemberAccess","referencedDeclaration":3453,"src":"1385:14:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":1933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:21:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1929,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[1911,1939],"referencedDeclaration":1911,"src":"1376:8:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":1934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1376:31:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1337:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1341:12:13","memberName":"encodePacked","nodeType":"MemberAccess","src":"1337:16:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1337:71:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1330:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":1919,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:13","typeDescriptions":{}}},"id":1936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1330:79:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1918,"id":1937,"nodeType":"Return","src":"1323:86:13"}]},"documentation":{"id":1912,"nodeType":"StructuredDocumentation","src":"1149:89:13","text":" @dev Converts a `int256` to its ASCII `string` decimal representation."},"id":1939,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1252:8:13","nodeType":"FunctionDefinition","parameters":{"id":1915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1914,"mutability":"mutable","name":"value","nameLocation":"1268:5:13","nodeType":"VariableDeclaration","scope":1939,"src":"1261:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1913,"name":"int256","nodeType":"ElementaryTypeName","src":"1261:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1260:14:13"},"returnParameters":{"id":1918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1939,"src":"1298:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1916,"name":"string","nodeType":"ElementaryTypeName","src":"1298:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1297:15:13"},"scope":2081,"src":"1243:173:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":1958,"nodeType":"Block","src":"1595:100:13","statements":[{"id":1957,"nodeType":"UncheckedBlock","src":"1605:84:13","statements":[{"expression":{"arguments":[{"id":1948,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"1648:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1951,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1942,"src":"1667:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1949,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3349,"src":"1655:4:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$3349_$","typeString":"type(library Math)"}},"id":1950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:6:13","memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":3309,"src":"1655:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1655:18:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1676:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1655:22:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1947,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[1959,2035,2055],"referencedDeclaration":2035,"src":"1636:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":1955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1636:42:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1946,"id":1956,"nodeType":"Return","src":"1629:49:13"}]}]},"documentation":{"id":1940,"nodeType":"StructuredDocumentation","src":"1422:94:13","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"id":1959,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1530:11:13","nodeType":"FunctionDefinition","parameters":{"id":1943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1942,"mutability":"mutable","name":"value","nameLocation":"1550:5:13","nodeType":"VariableDeclaration","scope":1959,"src":"1542:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1941,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:15:13"},"returnParameters":{"id":1946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1959,"src":"1580:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1944,"name":"string","nodeType":"ElementaryTypeName","src":"1580:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1579:15:13"},"scope":2081,"src":"1521:174:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2034,"nodeType":"Block","src":"1908:347:13","statements":[{"assignments":[1970],"declarations":[{"constant":false,"id":1970,"mutability":"mutable","name":"buffer","nameLocation":"1931:6:13","nodeType":"VariableDeclaration","scope":2034,"src":"1918:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1969,"name":"bytes","nodeType":"ElementaryTypeName","src":"1918:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1979,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":1973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1950:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1974,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1964,"src":"1954:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1950:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":1976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1963:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1950:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1940:9:13","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":1971,"name":"bytes","nodeType":"ElementaryTypeName","src":"1944:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":1978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1918:47:13"},{"expression":{"id":1984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1980,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"1975:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1982,"indexExpression":{"hexValue":"30","id":1981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1982:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1975:9:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1987:3:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1975:15:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":1985,"nodeType":"ExpressionStatement","src":"1975:15:13"},{"expression":{"id":1990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1986,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"2000:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1988,"indexExpression":{"hexValue":"31","id":1987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2007:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2000:9:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":1989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2012:3:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"2000:15:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":1991,"nodeType":"ExpressionStatement","src":"2000:15:13"},{"body":{"id":2020,"nodeType":"Block","src":"2070:83:13","statements":[{"expression":{"id":2014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2006,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"2084:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2008,"indexExpression":{"id":2007,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"2091:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2084:9:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2009,"name":"_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1860,"src":"2096:8:13","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":2013,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2010,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1962,"src":"2105:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":2011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2113:3:13","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"2105:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2096:21:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2084:33:13","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":2015,"nodeType":"ExpressionStatement","src":"2084:33:13"},{"expression":{"id":2018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2016,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1962,"src":"2131:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":2017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2141:1:13","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"2131:11:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2019,"nodeType":"ExpressionStatement","src":"2131:11:13"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2000,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"2058:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":2001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2062:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2058:5:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2021,"initializationExpression":{"assignments":[1993],"declarations":[{"constant":false,"id":1993,"mutability":"mutable","name":"i","nameLocation":"2038:1:13","nodeType":"VariableDeclaration","scope":2021,"src":"2030:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1992,"name":"uint256","nodeType":"ElementaryTypeName","src":"2030:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1999,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":1994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1995,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1964,"src":"2046:6:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2042:10:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2055:1:13","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2042:14:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2030:26:13"},"loopExpression":{"expression":{"id":2004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2065:3:13","subExpression":{"id":2003,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"2067:1:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2005,"nodeType":"ExpressionStatement","src":"2065:3:13"},"nodeType":"ForStatement","src":"2025:128:13"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2023,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1962,"src":"2170:5:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2179:1:13","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2170:10:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":2026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2182:34:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""},"value":"Strings: hex length insufficient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""}],"id":2022,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2162:7:13","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2028,"nodeType":"ExpressionStatement","src":"2162:55:13"},{"expression":{"arguments":[{"id":2031,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1970,"src":"2241:6:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2234:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2029,"name":"string","nodeType":"ElementaryTypeName","src":"2234:6:13","typeDescriptions":{}}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2234:14:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":1968,"id":2033,"nodeType":"Return","src":"2227:21:13"}]},"documentation":{"id":1960,"nodeType":"StructuredDocumentation","src":"1701:112:13","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"id":2035,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1827:11:13","nodeType":"FunctionDefinition","parameters":{"id":1965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1962,"mutability":"mutable","name":"value","nameLocation":"1847:5:13","nodeType":"VariableDeclaration","scope":2035,"src":"1839:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1961,"name":"uint256","nodeType":"ElementaryTypeName","src":"1839:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1964,"mutability":"mutable","name":"length","nameLocation":"1862:6:13","nodeType":"VariableDeclaration","scope":2035,"src":"1854:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1963,"name":"uint256","nodeType":"ElementaryTypeName","src":"1854:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:31:13"},"returnParameters":{"id":1968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1967,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2035,"src":"1893:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1966,"name":"string","nodeType":"ElementaryTypeName","src":"1893:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1892:15:13"},"scope":2081,"src":"1818:437:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2054,"nodeType":"Block","src":"2480:76:13","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":2048,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2038,"src":"2525:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2517:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2046,"name":"uint160","nodeType":"ElementaryTypeName","src":"2517:7:13","typeDescriptions":{}}},"id":2049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2517:13:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2045,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2509:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2044,"name":"uint256","nodeType":"ElementaryTypeName","src":"2509:7:13","typeDescriptions":{}}},"id":2050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2051,"name":"_ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1863,"src":"2533:15:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2043,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[1959,2035,2055],"referencedDeclaration":2035,"src":"2497:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2497:52:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":2042,"id":2053,"nodeType":"Return","src":"2490:59:13"}]},"documentation":{"id":2036,"nodeType":"StructuredDocumentation","src":"2261:141:13","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation."},"id":2055,"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2416:11:13","nodeType":"FunctionDefinition","parameters":{"id":2039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2038,"mutability":"mutable","name":"addr","nameLocation":"2436:4:13","nodeType":"VariableDeclaration","scope":2055,"src":"2428:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2037,"name":"address","nodeType":"ElementaryTypeName","src":"2428:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2427:14:13"},"returnParameters":{"id":2042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2055,"src":"2465:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2040,"name":"string","nodeType":"ElementaryTypeName","src":"2465:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2464:15:13"},"scope":2081,"src":"2407:149:13","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2079,"nodeType":"Block","src":"2711:66:13","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2068,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2058,"src":"2744:1:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2738:5:13","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2066,"name":"bytes","nodeType":"ElementaryTypeName","src":"2738:5:13","typeDescriptions":{}}},"id":2069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2738:8:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2065,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2728:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":2074,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2060,"src":"2767:1:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2761:5:13","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2072,"name":"bytes","nodeType":"ElementaryTypeName","src":"2761:5:13","typeDescriptions":{}}},"id":2075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:8:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2071,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2751:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2751:19:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2728:42:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2064,"id":2078,"nodeType":"Return","src":"2721:49:13"}]},"documentation":{"id":2056,"nodeType":"StructuredDocumentation","src":"2562:66:13","text":" @dev Returns true if the two strings are equal."},"id":2080,"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"2642:5:13","nodeType":"FunctionDefinition","parameters":{"id":2061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2058,"mutability":"mutable","name":"a","nameLocation":"2662:1:13","nodeType":"VariableDeclaration","scope":2080,"src":"2648:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2057,"name":"string","nodeType":"ElementaryTypeName","src":"2648:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2060,"mutability":"mutable","name":"b","nameLocation":"2679:1:13","nodeType":"VariableDeclaration","scope":2080,"src":"2665:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2059,"name":"string","nodeType":"ElementaryTypeName","src":"2665:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2647:34:13"},"returnParameters":{"id":2064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2080,"src":"2705:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2062,"name":"bool","nodeType":"ElementaryTypeName","src":"2705:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2704:6:13"},"scope":2081,"src":"2633:144:13","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":2082,"src":"220:2559:13","usedErrors":[],"usedEvents":[]}],"src":"101:2679:13"},"id":13},"@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","exportedSymbols":{"ECDSA":[2447],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":2448,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2083,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"112:23:14"},{"absolutePath":"@openzeppelin/contracts/utils/Strings.sol","file":"../Strings.sol","id":2084,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2448,"sourceUnit":2082,"src":"137:24:14","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"library","documentation":{"id":2085,"nodeType":"StructuredDocumentation","src":"163:205:14","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"id":2447,"linearizedBaseContracts":[2447],"name":"ECDSA","nameLocation":"377:5:14","nodeType":"ContractDefinition","nodes":[{"canonicalName":"ECDSA.RecoverError","id":2091,"members":[{"id":2086,"name":"NoError","nameLocation":"417:7:14","nodeType":"EnumValue","src":"417:7:14"},{"id":2087,"name":"InvalidSignature","nameLocation":"434:16:14","nodeType":"EnumValue","src":"434:16:14"},{"id":2088,"name":"InvalidSignatureLength","nameLocation":"460:22:14","nodeType":"EnumValue","src":"460:22:14"},{"id":2089,"name":"InvalidSignatureS","nameLocation":"492:17:14","nodeType":"EnumValue","src":"492:17:14"},{"id":2090,"name":"InvalidSignatureV","nameLocation":"519:17:14","nodeType":"EnumValue","src":"519:17:14"}],"name":"RecoverError","nameLocation":"394:12:14","nodeType":"EnumDefinition","src":"389:175:14"},{"body":{"id":2134,"nodeType":"Block","src":"624:457:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2097,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"638:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2098,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"647:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"660:7:14","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":2086,"src":"647:20:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"638:29:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2103,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"734:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2104,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"743:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"756:16:14","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":2087,"src":"743:29:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"734:38:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2112,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"843:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2113,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"852:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"865:22:14","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":2088,"src":"852:35:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"843:44:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"id":2124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2121,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"965:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2122,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"974:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"987:17:14","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":2089,"src":"974:30:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"src":"965:39:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2130,"nodeType":"IfStatement","src":"961:114:14","trueBody":{"id":2129,"nodeType":"Block","src":"1006:69:14","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c7565","id":2126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1027:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""},"value":"ECDSA: invalid signature 's' value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""}],"id":2125,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1020:6:14","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1020:44:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2128,"nodeType":"ExpressionStatement","src":"1020:44:14"}]}},"id":2131,"nodeType":"IfStatement","src":"839:236:14","trueBody":{"id":2120,"nodeType":"Block","src":"889:66:14","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","id":2117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"910:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""},"value":"ECDSA: invalid signature length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""}],"id":2116,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"903:6:14","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"903:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2119,"nodeType":"ExpressionStatement","src":"903:41:14"}]}},"id":2132,"nodeType":"IfStatement","src":"730:345:14","trueBody":{"id":2111,"nodeType":"Block","src":"774:59:14","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","id":2108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"795:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""},"value":"ECDSA: invalid signature"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""}],"id":2107,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"788:6:14","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"788:34:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2110,"nodeType":"ExpressionStatement","src":"788:34:14"}]}},"id":2133,"nodeType":"IfStatement","src":"634:441:14","trueBody":{"id":2102,"nodeType":"Block","src":"669:55:14","statements":[{"functionReturnParameters":2096,"id":2101,"nodeType":"Return","src":"683:7:14"}]}}]},"id":2135,"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"579:11:14","nodeType":"FunctionDefinition","parameters":{"id":2095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2094,"mutability":"mutable","name":"error","nameLocation":"604:5:14","nodeType":"VariableDeclaration","scope":2135,"src":"591:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2093,"nodeType":"UserDefinedTypeName","pathNode":{"id":2092,"name":"RecoverError","nameLocations":["591:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"591:12:14"},"referencedDeclaration":2091,"src":"591:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"590:20:14"},"returnParameters":{"id":2096,"nodeType":"ParameterList","parameters":[],"src":"624:0:14"},"scope":2447,"src":"570:511:14","stateMutability":"pure","virtual":false,"visibility":"private"},{"body":{"id":2180,"nodeType":"Block","src":"2249:626:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2148,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2140,"src":"2263:9:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2273:6:14","memberName":"length","nodeType":"MemberAccess","src":"2263:16:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":2150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2283:2:14","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2263:22:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2178,"nodeType":"Block","src":"2788:81:14","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":2172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2818:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2810:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2170,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:14","typeDescriptions":{}}},"id":2173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2810:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2174,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"2822:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2835:22:14","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":2088,"src":"2822:35:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2176,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2809:49:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2147,"id":2177,"nodeType":"Return","src":"2802:56:14"}]},"id":2179,"nodeType":"IfStatement","src":"2259:610:14","trueBody":{"id":2169,"nodeType":"Block","src":"2287:495:14","statements":[{"assignments":[2153],"declarations":[{"constant":false,"id":2153,"mutability":"mutable","name":"r","nameLocation":"2309:1:14","nodeType":"VariableDeclaration","scope":2169,"src":"2301:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2301:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2154,"nodeType":"VariableDeclarationStatement","src":"2301:9:14"},{"assignments":[2156],"declarations":[{"constant":false,"id":2156,"mutability":"mutable","name":"s","nameLocation":"2332:1:14","nodeType":"VariableDeclaration","scope":2169,"src":"2324:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2155,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2324:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2157,"nodeType":"VariableDeclarationStatement","src":"2324:9:14"},{"assignments":[2159],"declarations":[{"constant":false,"id":2159,"mutability":"mutable","name":"v","nameLocation":"2353:1:14","nodeType":"VariableDeclaration","scope":2169,"src":"2347:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2158,"name":"uint8","nodeType":"ElementaryTypeName","src":"2347:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":2160,"nodeType":"VariableDeclarationStatement","src":"2347:7:14"},{"AST":{"nodeType":"YulBlock","src":"2555:171:14","statements":[{"nodeType":"YulAssignment","src":"2573:32:14","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2588:9:14"},{"kind":"number","nodeType":"YulLiteral","src":"2599:4:14","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2584:3:14"},"nodeType":"YulFunctionCall","src":"2584:20:14"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2578:5:14"},"nodeType":"YulFunctionCall","src":"2578:27:14"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"2573:1:14"}]},{"nodeType":"YulAssignment","src":"2622:32:14","value":{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2637:9:14"},{"kind":"number","nodeType":"YulLiteral","src":"2648:4:14","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2633:3:14"},"nodeType":"YulFunctionCall","src":"2633:20:14"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2627:5:14"},"nodeType":"YulFunctionCall","src":"2627:27:14"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"2622:1:14"}]},{"nodeType":"YulAssignment","src":"2671:41:14","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2681:1:14","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nodeType":"YulIdentifier","src":"2694:9:14"},{"kind":"number","nodeType":"YulLiteral","src":"2705:4:14","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2690:3:14"},"nodeType":"YulFunctionCall","src":"2690:20:14"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2684:5:14"},"nodeType":"YulFunctionCall","src":"2684:27:14"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"2676:4:14"},"nodeType":"YulFunctionCall","src":"2676:36:14"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"2671:1:14"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2153,"isOffset":false,"isSlot":false,"src":"2573:1:14","valueSize":1},{"declaration":2156,"isOffset":false,"isSlot":false,"src":"2622:1:14","valueSize":1},{"declaration":2140,"isOffset":false,"isSlot":false,"src":"2588:9:14","valueSize":1},{"declaration":2140,"isOffset":false,"isSlot":false,"src":"2637:9:14","valueSize":1},{"declaration":2140,"isOffset":false,"isSlot":false,"src":"2694:9:14","valueSize":1},{"declaration":2159,"isOffset":false,"isSlot":false,"src":"2671:1:14","valueSize":1}],"id":2161,"nodeType":"InlineAssembly","src":"2546:180:14"},{"expression":{"arguments":[{"id":2163,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2138,"src":"2757:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2164,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"2763:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2165,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2153,"src":"2766:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2166,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2156,"src":"2769:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2162,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2349,"src":"2746:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2746:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2147,"id":2168,"nodeType":"Return","src":"2739:32:14"}]}}]},"documentation":{"id":2136,"nodeType":"StructuredDocumentation","src":"1087:1053:14","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature` or error string. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n _Available since v4.3._"},"id":2181,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2154:10:14","nodeType":"FunctionDefinition","parameters":{"id":2141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2138,"mutability":"mutable","name":"hash","nameLocation":"2173:4:14","nodeType":"VariableDeclaration","scope":2181,"src":"2165:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2165:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2140,"mutability":"mutable","name":"signature","nameLocation":"2192:9:14","nodeType":"VariableDeclaration","scope":2181,"src":"2179:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2139,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2164:38:14"},"returnParameters":{"id":2147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2181,"src":"2226:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2142,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2146,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2181,"src":"2235:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2145,"nodeType":"UserDefinedTypeName","pathNode":{"id":2144,"name":"RecoverError","nameLocations":["2235:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"2235:12:14"},"referencedDeclaration":2091,"src":"2235:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"2225:23:14"},"scope":2447,"src":"2145:730:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2207,"nodeType":"Block","src":"3748:140:14","statements":[{"assignments":[2192,2195],"declarations":[{"constant":false,"id":2192,"mutability":"mutable","name":"recovered","nameLocation":"3767:9:14","nodeType":"VariableDeclaration","scope":2207,"src":"3759:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2191,"name":"address","nodeType":"ElementaryTypeName","src":"3759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2195,"mutability":"mutable","name":"error","nameLocation":"3791:5:14","nodeType":"VariableDeclaration","scope":2207,"src":"3778:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2194,"nodeType":"UserDefinedTypeName","pathNode":{"id":2193,"name":"RecoverError","nameLocations":["3778:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"3778:12:14"},"referencedDeclaration":2091,"src":"3778:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":2200,"initialValue":{"arguments":[{"id":2197,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2184,"src":"3811:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2198,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2186,"src":"3817:9:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2196,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2181,"src":"3800:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError)"}},"id":2199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"3758:69:14"},{"expression":{"arguments":[{"id":2202,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"3849:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}],"id":2201,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"3837:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$2091_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":2203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2204,"nodeType":"ExpressionStatement","src":"3837:18:14"},{"expression":{"id":2205,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"3872:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2190,"id":2206,"nodeType":"Return","src":"3865:16:14"}]},"documentation":{"id":2182,"nodeType":"StructuredDocumentation","src":"2881:775:14","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it."},"id":2208,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3670:7:14","nodeType":"FunctionDefinition","parameters":{"id":2187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2184,"mutability":"mutable","name":"hash","nameLocation":"3686:4:14","nodeType":"VariableDeclaration","scope":2208,"src":"3678:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3678:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2186,"mutability":"mutable","name":"signature","nameLocation":"3705:9:14","nodeType":"VariableDeclaration","scope":2208,"src":"3692:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2185,"name":"bytes","nodeType":"ElementaryTypeName","src":"3692:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3677:38:14"},"returnParameters":{"id":2190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2189,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2208,"src":"3739:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2188,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3738:9:14"},"scope":2447,"src":"3661:227:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2254,"nodeType":"Block","src":"4245:203:14","statements":[{"assignments":[2224],"declarations":[{"constant":false,"id":2224,"mutability":"mutable","name":"s","nameLocation":"4263:1:14","nodeType":"VariableDeclaration","scope":2254,"src":"4255:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4255:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2231,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2225,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"4267:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":2228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4280:66:14","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":2227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4272:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":2226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4272:7:14","typeDescriptions":{}}},"id":2229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4272:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4267:80:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4255:92:14"},{"assignments":[2233],"declarations":[{"constant":false,"id":2233,"mutability":"mutable","name":"v","nameLocation":"4363:1:14","nodeType":"VariableDeclaration","scope":2254,"src":"4357:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2232,"name":"uint8","nodeType":"ElementaryTypeName","src":"4357:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":2246,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2238,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"4382:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4374:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2236,"name":"uint256","nodeType":"ElementaryTypeName","src":"4374:7:14","typeDescriptions":{}}},"id":2239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4374:11:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":2240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4389:3:14","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4374:18:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2242,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4373:20:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":2243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4396:2:14","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4373:25:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4367:5:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":2234,"name":"uint8","nodeType":"ElementaryTypeName","src":"4367:5:14","typeDescriptions":{}}},"id":2245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4367:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4357:42:14"},{"expression":{"arguments":[{"id":2248,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"4427:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2249,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2233,"src":"4433:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2250,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2213,"src":"4436:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2251,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2224,"src":"4439:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2247,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2349,"src":"4416:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4416:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2222,"id":2253,"nodeType":"Return","src":"4409:32:14"}]},"documentation":{"id":2209,"nodeType":"StructuredDocumentation","src":"3894:243:14","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n _Available since v4.3._"},"id":2255,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4151:10:14","nodeType":"FunctionDefinition","parameters":{"id":2216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2211,"mutability":"mutable","name":"hash","nameLocation":"4170:4:14","nodeType":"VariableDeclaration","scope":2255,"src":"4162:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4162:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2213,"mutability":"mutable","name":"r","nameLocation":"4184:1:14","nodeType":"VariableDeclaration","scope":2255,"src":"4176:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4176:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2215,"mutability":"mutable","name":"vs","nameLocation":"4195:2:14","nodeType":"VariableDeclaration","scope":2255,"src":"4187:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4187:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4161:37:14"},"returnParameters":{"id":2222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2255,"src":"4222:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2217,"name":"address","nodeType":"ElementaryTypeName","src":"4222:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2255,"src":"4231:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2220,"nodeType":"UserDefinedTypeName","pathNode":{"id":2219,"name":"RecoverError","nameLocations":["4231:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"4231:12:14"},"referencedDeclaration":2091,"src":"4231:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"4221:23:14"},"scope":2447,"src":"4142:306:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2284,"nodeType":"Block","src":"4699:136:14","statements":[{"assignments":[2268,2271],"declarations":[{"constant":false,"id":2268,"mutability":"mutable","name":"recovered","nameLocation":"4718:9:14","nodeType":"VariableDeclaration","scope":2284,"src":"4710:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2267,"name":"address","nodeType":"ElementaryTypeName","src":"4710:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2271,"mutability":"mutable","name":"error","nameLocation":"4742:5:14","nodeType":"VariableDeclaration","scope":2284,"src":"4729:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2270,"nodeType":"UserDefinedTypeName","pathNode":{"id":2269,"name":"RecoverError","nameLocations":["4729:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"4729:12:14"},"referencedDeclaration":2091,"src":"4729:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":2277,"initialValue":{"arguments":[{"id":2273,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2258,"src":"4762:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2274,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2260,"src":"4768:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2275,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2262,"src":"4771:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2272,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2255,"src":"4751:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4751:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"4709:65:14"},{"expression":{"arguments":[{"id":2279,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2271,"src":"4796:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}],"id":2278,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"4784:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$2091_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":2280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4784:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2281,"nodeType":"ExpressionStatement","src":"4784:18:14"},{"expression":{"id":2282,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2268,"src":"4819:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2266,"id":2283,"nodeType":"Return","src":"4812:16:14"}]},"documentation":{"id":2256,"nodeType":"StructuredDocumentation","src":"4454:154:14","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n _Available since v4.2._"},"id":2285,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4622:7:14","nodeType":"FunctionDefinition","parameters":{"id":2263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2258,"mutability":"mutable","name":"hash","nameLocation":"4638:4:14","nodeType":"VariableDeclaration","scope":2285,"src":"4630:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4630:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2260,"mutability":"mutable","name":"r","nameLocation":"4652:1:14","nodeType":"VariableDeclaration","scope":2285,"src":"4644:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4644:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2262,"mutability":"mutable","name":"vs","nameLocation":"4663:2:14","nodeType":"VariableDeclaration","scope":2285,"src":"4655:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4655:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4629:37:14"},"returnParameters":{"id":2266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2285,"src":"4690:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2264,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4689:9:14"},"scope":2447,"src":"4613:222:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2348,"nodeType":"Block","src":"5120:1345:14","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2304,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"6016:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6008:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2302,"name":"uint256","nodeType":"ElementaryTypeName","src":"6008:7:14","typeDescriptions":{}}},"id":2305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6008:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":2306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6021:66:14","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6008:79:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2317,"nodeType":"IfStatement","src":"6004:161:14","trueBody":{"id":2316,"nodeType":"Block","src":"6089:76:14","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":2310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6119:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6111:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2308,"name":"address","nodeType":"ElementaryTypeName","src":"6111:7:14","typeDescriptions":{}}},"id":2311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6111:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2312,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6123:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6136:17:14","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":2089,"src":"6123:30:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2314,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6110:44:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2301,"id":2315,"nodeType":"Return","src":"6103:51:14"}]}},{"assignments":[2319],"declarations":[{"constant":false,"id":2319,"mutability":"mutable","name":"signer","nameLocation":"6267:6:14","nodeType":"VariableDeclaration","scope":2348,"src":"6259:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2318,"name":"address","nodeType":"ElementaryTypeName","src":"6259:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2326,"initialValue":{"arguments":[{"id":2321,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2288,"src":"6286:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2322,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"6292:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2323,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"6295:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2324,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"6298:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2320,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6276:9:14","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":2325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6276:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6259:41:14"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2327,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"6314:6:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6332:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6324:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"6324:7:14","typeDescriptions":{}}},"id":2331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6324:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6314:20:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2342,"nodeType":"IfStatement","src":"6310:101:14","trueBody":{"id":2341,"nodeType":"Block","src":"6336:75:14","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":2335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6366:1:14","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6358:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2333,"name":"address","nodeType":"ElementaryTypeName","src":"6358:7:14","typeDescriptions":{}}},"id":2336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6358:10:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2337,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6370:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6383:16:14","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":2087,"src":"6370:29:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2339,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6357:43:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2301,"id":2340,"nodeType":"Return","src":"6350:50:14"}]}},{"expression":{"components":[{"id":2343,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"6429:6:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":2344,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2091,"src":"6437:12:14","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$2091_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":2345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6450:7:14","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":2086,"src":"6437:20:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"id":2346,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6428:30:14","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":2301,"id":2347,"nodeType":"Return","src":"6421:37:14"}]},"documentation":{"id":2286,"nodeType":"StructuredDocumentation","src":"4841:163:14","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately.\n _Available since v4.3._"},"id":2349,"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5018:10:14","nodeType":"FunctionDefinition","parameters":{"id":2295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2288,"mutability":"mutable","name":"hash","nameLocation":"5037:4:14","nodeType":"VariableDeclaration","scope":2349,"src":"5029:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2287,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5029:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2290,"mutability":"mutable","name":"v","nameLocation":"5049:1:14","nodeType":"VariableDeclaration","scope":2349,"src":"5043:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2289,"name":"uint8","nodeType":"ElementaryTypeName","src":"5043:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":2292,"mutability":"mutable","name":"r","nameLocation":"5060:1:14","nodeType":"VariableDeclaration","scope":2349,"src":"5052:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5052:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2294,"mutability":"mutable","name":"s","nameLocation":"5071:1:14","nodeType":"VariableDeclaration","scope":2349,"src":"5063:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5063:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5028:45:14"},"returnParameters":{"id":2301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2349,"src":"5097:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2296,"name":"address","nodeType":"ElementaryTypeName","src":"5097:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2349,"src":"5106:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2299,"nodeType":"UserDefinedTypeName","pathNode":{"id":2298,"name":"RecoverError","nameLocations":["5106:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"5106:12:14"},"referencedDeclaration":2091,"src":"5106:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"5096:23:14"},"scope":2447,"src":"5009:1456:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2381,"nodeType":"Block","src":"6692:138:14","statements":[{"assignments":[2364,2367],"declarations":[{"constant":false,"id":2364,"mutability":"mutable","name":"recovered","nameLocation":"6711:9:14","nodeType":"VariableDeclaration","scope":2381,"src":"6703:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2363,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2367,"mutability":"mutable","name":"error","nameLocation":"6735:5:14","nodeType":"VariableDeclaration","scope":2381,"src":"6722:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":2366,"nodeType":"UserDefinedTypeName","pathNode":{"id":2365,"name":"RecoverError","nameLocations":["6722:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":2091,"src":"6722:12:14"},"referencedDeclaration":2091,"src":"6722:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":2374,"initialValue":{"arguments":[{"id":2369,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"6755:4:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2370,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"6761:1:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":2371,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"6764:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2372,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2358,"src":"6767:1:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2368,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[2181,2255,2349],"referencedDeclaration":2349,"src":"6744:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":2373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6744:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$2091_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"6702:67:14"},{"expression":{"arguments":[{"id":2376,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2367,"src":"6791:5:14","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$2091","typeString":"enum ECDSA.RecoverError"}],"id":2375,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2135,"src":"6779:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$2091_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6779:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2378,"nodeType":"ExpressionStatement","src":"6779:18:14"},{"expression":{"id":2379,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2364,"src":"6814:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2362,"id":2380,"nodeType":"Return","src":"6807:16:14"}]},"documentation":{"id":2350,"nodeType":"StructuredDocumentation","src":"6471:122:14","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"id":2382,"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"6607:7:14","nodeType":"FunctionDefinition","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2352,"mutability":"mutable","name":"hash","nameLocation":"6623:4:14","nodeType":"VariableDeclaration","scope":2382,"src":"6615:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6615:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2354,"mutability":"mutable","name":"v","nameLocation":"6635:1:14","nodeType":"VariableDeclaration","scope":2382,"src":"6629:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":2353,"name":"uint8","nodeType":"ElementaryTypeName","src":"6629:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":2356,"mutability":"mutable","name":"r","nameLocation":"6646:1:14","nodeType":"VariableDeclaration","scope":2382,"src":"6638:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6638:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2358,"mutability":"mutable","name":"s","nameLocation":"6657:1:14","nodeType":"VariableDeclaration","scope":2382,"src":"6649:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6649:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6614:45:14"},"returnParameters":{"id":2362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2382,"src":"6683:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2360,"name":"address","nodeType":"ElementaryTypeName","src":"6683:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6682:9:14"},"scope":2447,"src":"6598:232:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2391,"nodeType":"Block","src":"7206:310:14","statements":[{"AST":{"nodeType":"YulBlock","src":"7362:148:14","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7383:4:14","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nodeType":"YulLiteral","src":"7389:34:14","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7376:6:14"},"nodeType":"YulFunctionCall","src":"7376:48:14"},"nodeType":"YulExpressionStatement","src":"7376:48:14"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7444:4:14","type":"","value":"0x1c"},{"name":"hash","nodeType":"YulIdentifier","src":"7450:4:14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7437:6:14"},"nodeType":"YulFunctionCall","src":"7437:18:14"},"nodeType":"YulExpressionStatement","src":"7437:18:14"},{"nodeType":"YulAssignment","src":"7468:32:14","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7489:4:14","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"7495:4:14","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"7479:9:14"},"nodeType":"YulFunctionCall","src":"7479:21:14"},"variableNames":[{"name":"message","nodeType":"YulIdentifier","src":"7468:7:14"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2385,"isOffset":false,"isSlot":false,"src":"7450:4:14","valueSize":1},{"declaration":2388,"isOffset":false,"isSlot":false,"src":"7468:7:14","valueSize":1}],"id":2390,"nodeType":"InlineAssembly","src":"7353:157:14"}]},"documentation":{"id":2383,"nodeType":"StructuredDocumentation","src":"6836:279:14","text":" @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"id":2392,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7129:22:14","nodeType":"FunctionDefinition","parameters":{"id":2386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2385,"mutability":"mutable","name":"hash","nameLocation":"7160:4:14","nodeType":"VariableDeclaration","scope":2392,"src":"7152:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7152:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7151:14:14"},"returnParameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"mutability":"mutable","name":"message","nameLocation":"7197:7:14","nodeType":"VariableDeclaration","scope":2392,"src":"7189:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7189:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7188:17:14"},"scope":2447,"src":"7120:396:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2413,"nodeType":"Block","src":"7881:116:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a","id":2403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7925:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},"value":"\u0019Ethereum Signed Message:\n"},{"arguments":[{"expression":{"id":2406,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7976:1:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7978:6:14","memberName":"length","nodeType":"MemberAccess","src":"7976:8:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2404,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2081,"src":"7959:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$2081_$","typeString":"type(library Strings)"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7967:8:14","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":1911,"src":"7959:16:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":2408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7959:26:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2409,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2395,"src":"7987:1:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7908:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7912:12:14","memberName":"encodePacked","nodeType":"MemberAccess","src":"7908:16:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2400,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7898:9:14","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7898:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2399,"id":2412,"nodeType":"Return","src":"7891:99:14"}]},"documentation":{"id":2393,"nodeType":"StructuredDocumentation","src":"7522:274:14","text":" @dev Returns an Ethereum Signed Message, created from `s`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"id":2414,"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7810:22:14","nodeType":"FunctionDefinition","parameters":{"id":2396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2395,"mutability":"mutable","name":"s","nameLocation":"7846:1:14","nodeType":"VariableDeclaration","scope":2414,"src":"7833:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2394,"name":"bytes","nodeType":"ElementaryTypeName","src":"7833:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7832:16:14"},"returnParameters":{"id":2399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2414,"src":"7872:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2397,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7872:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7871:9:14"},"scope":2447,"src":"7801:196:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2425,"nodeType":"Block","src":"8443:290:14","statements":[{"AST":{"nodeType":"YulBlock","src":"8505:222:14","statements":[{"nodeType":"YulVariableDeclaration","src":"8519:22:14","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8536:4:14","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8530:5:14"},"nodeType":"YulFunctionCall","src":"8530:11:14"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"8523:3:14","type":""}]},{"expression":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8561:3:14"},{"hexValue":"1901","kind":"string","nodeType":"YulLiteral","src":"8566:10:14","type":"","value":"\u0019\u0001"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8554:6:14"},"nodeType":"YulFunctionCall","src":"8554:23:14"},"nodeType":"YulExpressionStatement","src":"8554:23:14"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8601:3:14"},{"kind":"number","nodeType":"YulLiteral","src":"8606:4:14","type":"","value":"0x02"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8597:3:14"},"nodeType":"YulFunctionCall","src":"8597:14:14"},{"name":"domainSeparator","nodeType":"YulIdentifier","src":"8613:15:14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8590:6:14"},"nodeType":"YulFunctionCall","src":"8590:39:14"},"nodeType":"YulExpressionStatement","src":"8590:39:14"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8653:3:14"},{"kind":"number","nodeType":"YulLiteral","src":"8658:4:14","type":"","value":"0x22"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8649:3:14"},"nodeType":"YulFunctionCall","src":"8649:14:14"},{"name":"structHash","nodeType":"YulIdentifier","src":"8665:10:14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8642:6:14"},"nodeType":"YulFunctionCall","src":"8642:34:14"},"nodeType":"YulExpressionStatement","src":"8642:34:14"},{"nodeType":"YulAssignment","src":"8689:28:14","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"8707:3:14"},{"kind":"number","nodeType":"YulLiteral","src":"8712:4:14","type":"","value":"0x42"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"8697:9:14"},"nodeType":"YulFunctionCall","src":"8697:20:14"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"8689:4:14"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":2422,"isOffset":false,"isSlot":false,"src":"8689:4:14","valueSize":1},{"declaration":2417,"isOffset":false,"isSlot":false,"src":"8613:15:14","valueSize":1},{"declaration":2419,"isOffset":false,"isSlot":false,"src":"8665:10:14","valueSize":1}],"id":2424,"nodeType":"InlineAssembly","src":"8496:231:14"}]},"documentation":{"id":2415,"nodeType":"StructuredDocumentation","src":"8003:328:14","text":" @dev Returns an Ethereum Signed Typed Data, created from a\n `domainSeparator` and a `structHash`. This produces hash corresponding\n to the one signed with the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n JSON-RPC method as part of EIP-712.\n See {recover}."},"id":2426,"implemented":true,"kind":"function","modifiers":[],"name":"toTypedDataHash","nameLocation":"8345:15:14","nodeType":"FunctionDefinition","parameters":{"id":2420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2417,"mutability":"mutable","name":"domainSeparator","nameLocation":"8369:15:14","nodeType":"VariableDeclaration","scope":2426,"src":"8361:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8361:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2419,"mutability":"mutable","name":"structHash","nameLocation":"8394:10:14","nodeType":"VariableDeclaration","scope":2426,"src":"8386:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8386:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8360:45:14"},"returnParameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"data","nameLocation":"8437:4:14","nodeType":"VariableDeclaration","scope":2426,"src":"8429:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2421,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8429:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8428:14:14"},"scope":2447,"src":"8336:397:14","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2445,"nodeType":"Block","src":"9048:80:14","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"1900","id":2439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9092:10:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},"value":"\u0019\u0000"},{"id":2440,"name":"validator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2429,"src":"9104:9:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2441,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"9115:4:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9075:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9079:12:14","memberName":"encodePacked","nodeType":"MemberAccess","src":"9075:16:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9075:45:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2436,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9065:9:14","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9065:56:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2435,"id":2444,"nodeType":"Return","src":"9058:63:14"}]},"documentation":{"id":2427,"nodeType":"StructuredDocumentation","src":"8739:193:14","text":" @dev Returns an Ethereum Signed Data with intended validator, created from a\n `validator` and `data` according to the version 0 of EIP-191.\n See {recover}."},"id":2446,"implemented":true,"kind":"function","modifiers":[],"name":"toDataWithIntendedValidatorHash","nameLocation":"8946:31:14","nodeType":"FunctionDefinition","parameters":{"id":2432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2429,"mutability":"mutable","name":"validator","nameLocation":"8986:9:14","nodeType":"VariableDeclaration","scope":2446,"src":"8978:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2428,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2431,"mutability":"mutable","name":"data","nameLocation":"9010:4:14","nodeType":"VariableDeclaration","scope":2446,"src":"8997:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2430,"name":"bytes","nodeType":"ElementaryTypeName","src":"8997:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8977:38:14"},"returnParameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2446,"src":"9039:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2433,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9039:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9038:9:14"},"scope":2447,"src":"8937:191:14","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":2448,"src":"369:8761:14","usedErrors":[],"usedEvents":[]}],"src":"112:9019:14"},"id":14},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/ERC165.sol","exportedSymbols":{"ERC165":[2471],"IERC165":[2483]},"id":2472,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2449,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"99:23:15"},{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","id":2450,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":2472,"sourceUnit":2484,"src":"124:23:15","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":2452,"name":"IERC165","nameLocations":["754:7:15"],"nodeType":"IdentifierPath","referencedDeclaration":2483,"src":"754:7:15"},"id":2453,"nodeType":"InheritanceSpecifier","src":"754:7:15"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":2451,"nodeType":"StructuredDocumentation","src":"149:576:15","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation."},"fullyImplemented":true,"id":2471,"linearizedBaseContracts":[2471,2483],"name":"ERC165","nameLocation":"744:6:15","nodeType":"ContractDefinition","nodes":[{"baseFunctions":[2482],"body":{"id":2469,"nodeType":"Block","src":"920:64:15","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":2467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2462,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2456,"src":"937:11:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":2464,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2483,"src":"957:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$2483_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$2483_$","typeString":"type(contract IERC165)"}],"id":2463,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"952:4:15","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:13:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$2483","typeString":"type(contract IERC165)"}},"id":2466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:11:15","memberName":"interfaceId","nodeType":"MemberAccess","src":"952:25:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"937:40:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2461,"id":2468,"nodeType":"Return","src":"930:47:15"}]},"documentation":{"id":2454,"nodeType":"StructuredDocumentation","src":"768:56:15","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","id":2470,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"838:17:15","nodeType":"FunctionDefinition","overrides":{"id":2458,"nodeType":"OverrideSpecifier","overrides":[],"src":"896:8:15"},"parameters":{"id":2457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2456,"mutability":"mutable","name":"interfaceId","nameLocation":"863:11:15","nodeType":"VariableDeclaration","scope":2470,"src":"856:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2455,"name":"bytes4","nodeType":"ElementaryTypeName","src":"856:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"855:20:15"},"returnParameters":{"id":2461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2470,"src":"914:4:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2459,"name":"bool","nodeType":"ElementaryTypeName","src":"914:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"913:6:15"},"scope":2471,"src":"829:155:15","stateMutability":"view","virtual":true,"visibility":"public"}],"scope":2472,"src":"726:260:15","usedErrors":[],"usedEvents":[]}],"src":"99:888:15"},"id":15},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/introspection/IERC165.sol","exportedSymbols":{"IERC165":[2483]},"id":2484,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2473,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"100:23:16"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"125:279:16","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"id":2483,"linearizedBaseContracts":[2483],"name":"IERC165","nameLocation":"415:7:16","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":2475,"nodeType":"StructuredDocumentation","src":"429:340:16","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","id":2482,"implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"783:17:16","nodeType":"FunctionDefinition","parameters":{"id":2478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2477,"mutability":"mutable","name":"interfaceId","nameLocation":"808:11:16","nodeType":"VariableDeclaration","scope":2482,"src":"801:18:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":2476,"name":"bytes4","nodeType":"ElementaryTypeName","src":"801:6:16","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"800:20:16"},"returnParameters":{"id":2481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2482,"src":"844:4:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2479,"name":"bool","nodeType":"ElementaryTypeName","src":"844:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"843:6:16"},"scope":2483,"src":"774:76:16","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":2484,"src":"405:447:16","usedErrors":[],"usedEvents":[]}],"src":"100:753:16"},"id":16},"@openzeppelin/contracts/utils/math/Math.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/Math.sol","exportedSymbols":{"Math":[3349]},"id":3350,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":2485,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"103:23:17"},{"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":2486,"nodeType":"StructuredDocumentation","src":"128:73:17","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"id":3349,"linearizedBaseContracts":[3349],"name":"Math","nameLocation":"210:4:17","nodeType":"ContractDefinition","nodes":[{"canonicalName":"Math.Rounding","id":2490,"members":[{"id":2487,"name":"Down","nameLocation":"245:4:17","nodeType":"EnumValue","src":"245:4:17"},{"id":2488,"name":"Up","nameLocation":"287:2:17","nodeType":"EnumValue","src":"287:2:17"},{"id":2489,"name":"Zero","nameLocation":"318:4:17","nodeType":"EnumValue","src":"318:4:17"}],"name":"Rounding","nameLocation":"226:8:17","nodeType":"EnumDefinition","src":"221:122:17"},{"body":{"id":2507,"nodeType":"Block","src":"480:37:17","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2500,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2493,"src":"497:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2501,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2495,"src":"501:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"497:5:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":2504,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2495,"src":"509:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"497:13:17","trueExpression":{"id":2503,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2493,"src":"505:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2499,"id":2506,"nodeType":"Return","src":"490:20:17"}]},"documentation":{"id":2491,"nodeType":"StructuredDocumentation","src":"349:59:17","text":" @dev Returns the largest of two numbers."},"id":2508,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"422:3:17","nodeType":"FunctionDefinition","parameters":{"id":2496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2493,"mutability":"mutable","name":"a","nameLocation":"434:1:17","nodeType":"VariableDeclaration","scope":2508,"src":"426:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2492,"name":"uint256","nodeType":"ElementaryTypeName","src":"426:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2495,"mutability":"mutable","name":"b","nameLocation":"445:1:17","nodeType":"VariableDeclaration","scope":2508,"src":"437:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2494,"name":"uint256","nodeType":"ElementaryTypeName","src":"437:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"425:22:17"},"returnParameters":{"id":2499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2498,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2508,"src":"471:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2497,"name":"uint256","nodeType":"ElementaryTypeName","src":"471:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"470:9:17"},"scope":3349,"src":"413:104:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2525,"nodeType":"Block","src":"655:37:17","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2518,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2511,"src":"672:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2519,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2513,"src":"676:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"672:5:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":2522,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2513,"src":"684:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"672:13:17","trueExpression":{"id":2521,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2511,"src":"680:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2517,"id":2524,"nodeType":"Return","src":"665:20:17"}]},"documentation":{"id":2509,"nodeType":"StructuredDocumentation","src":"523:60:17","text":" @dev Returns the smallest of two numbers."},"id":2526,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"597:3:17","nodeType":"FunctionDefinition","parameters":{"id":2514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2511,"mutability":"mutable","name":"a","nameLocation":"609:1:17","nodeType":"VariableDeclaration","scope":2526,"src":"601:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2510,"name":"uint256","nodeType":"ElementaryTypeName","src":"601:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2513,"mutability":"mutable","name":"b","nameLocation":"620:1:17","nodeType":"VariableDeclaration","scope":2526,"src":"612:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2512,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"600:22:17"},"returnParameters":{"id":2517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2526,"src":"646:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2515,"name":"uint256","nodeType":"ElementaryTypeName","src":"646:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"645:9:17"},"scope":3349,"src":"588:104:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2548,"nodeType":"Block","src":"876:82:17","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2536,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"931:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":2537,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"935:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"931:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"930:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2540,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"941:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":2541,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"945:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"941:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2543,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"940:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":2544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"950:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"940:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"930:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2535,"id":2547,"nodeType":"Return","src":"923:28:17"}]},"documentation":{"id":2527,"nodeType":"StructuredDocumentation","src":"698:102:17","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"id":2549,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"814:7:17","nodeType":"FunctionDefinition","parameters":{"id":2532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2529,"mutability":"mutable","name":"a","nameLocation":"830:1:17","nodeType":"VariableDeclaration","scope":2549,"src":"822:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2528,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2531,"mutability":"mutable","name":"b","nameLocation":"841:1:17","nodeType":"VariableDeclaration","scope":2549,"src":"833:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2530,"name":"uint256","nodeType":"ElementaryTypeName","src":"833:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:22:17"},"returnParameters":{"id":2535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2549,"src":"867:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2533,"name":"uint256","nodeType":"ElementaryTypeName","src":"867:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"866:9:17"},"scope":3349,"src":"805:153:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2573,"nodeType":"Block","src":"1228:123:17","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2559,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2552,"src":"1316:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1316:6:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2563,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2552,"src":"1330:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":2564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1334:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1330:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2566,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1329:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2567,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"1339:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1329:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1343:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1329:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1316:28:17","trueExpression":{"hexValue":"30","id":2562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2558,"id":2572,"nodeType":"Return","src":"1309:35:17"}]},"documentation":{"id":2550,"nodeType":"StructuredDocumentation","src":"964:188:17","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down."},"id":2574,"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"1166:7:17","nodeType":"FunctionDefinition","parameters":{"id":2555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2552,"mutability":"mutable","name":"a","nameLocation":"1182:1:17","nodeType":"VariableDeclaration","scope":2574,"src":"1174:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2551,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2554,"mutability":"mutable","name":"b","nameLocation":"1193:1:17","nodeType":"VariableDeclaration","scope":2574,"src":"1185:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2553,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1173:22:17"},"returnParameters":{"id":2558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2574,"src":"1219:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2556,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1218:9:17"},"scope":3349,"src":"1157:194:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2696,"nodeType":"Block","src":"1765:4115:17","statements":[{"id":2695,"nodeType":"UncheckedBlock","src":"1775:4099:17","statements":[{"assignments":[2587],"declarations":[{"constant":false,"id":2587,"mutability":"mutable","name":"prod0","nameLocation":"2104:5:17","nodeType":"VariableDeclaration","scope":2695,"src":"2096:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2586,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2588,"nodeType":"VariableDeclarationStatement","src":"2096:13:17"},{"assignments":[2590],"declarations":[{"constant":false,"id":2590,"mutability":"mutable","name":"prod1","nameLocation":"2176:5:17","nodeType":"VariableDeclaration","scope":2695,"src":"2168:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2589,"name":"uint256","nodeType":"ElementaryTypeName","src":"2168:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2591,"nodeType":"VariableDeclarationStatement","src":"2168:13:17"},{"AST":{"nodeType":"YulBlock","src":"2248:157:17","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:30:17","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2283:1:17"},{"name":"y","nodeType":"YulIdentifier","src":"2286:1:17"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2293:1:17","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2289:3:17"},"nodeType":"YulFunctionCall","src":"2289:6:17"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"2276:6:17"},"nodeType":"YulFunctionCall","src":"2276:20:17"},"variables":[{"name":"mm","nodeType":"YulTypedName","src":"2270:2:17","type":""}]},{"nodeType":"YulAssignment","src":"2313:18:17","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"2326:1:17"},{"name":"y","nodeType":"YulIdentifier","src":"2329:1:17"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"2322:3:17"},"nodeType":"YulFunctionCall","src":"2322:9:17"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"2313:5:17"}]},{"nodeType":"YulAssignment","src":"2348:43:17","value":{"arguments":[{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"2365:2:17"},{"name":"prod0","nodeType":"YulIdentifier","src":"2369:5:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2361:3:17"},"nodeType":"YulFunctionCall","src":"2361:14:17"},{"arguments":[{"name":"mm","nodeType":"YulIdentifier","src":"2380:2:17"},{"name":"prod0","nodeType":"YulIdentifier","src":"2384:5:17"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2377:2:17"},"nodeType":"YulFunctionCall","src":"2377:13:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2357:3:17"},"nodeType":"YulFunctionCall","src":"2357:34:17"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"2348:5:17"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2587,"isOffset":false,"isSlot":false,"src":"2313:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"2369:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"2384:5:17","valueSize":1},{"declaration":2590,"isOffset":false,"isSlot":false,"src":"2348:5:17","valueSize":1},{"declaration":2577,"isOffset":false,"isSlot":false,"src":"2283:1:17","valueSize":1},{"declaration":2577,"isOffset":false,"isSlot":false,"src":"2326:1:17","valueSize":1},{"declaration":2579,"isOffset":false,"isSlot":false,"src":"2286:1:17","valueSize":1},{"declaration":2579,"isOffset":false,"isSlot":false,"src":"2329:1:17","valueSize":1}],"id":2592,"nodeType":"InlineAssembly","src":"2239:166:17"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2593,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"2486:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2495:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2486:10:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2601,"nodeType":"IfStatement","src":"2482:368:17","trueBody":{"id":2600,"nodeType":"Block","src":"2498:352:17","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2596,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"2816:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2597,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"2824:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2816:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2585,"id":2599,"nodeType":"Return","src":"2809:26:17"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2603,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"2960:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2604,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"2974:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2960:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d6174683a206d756c446976206f766572666c6f77","id":2606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2981:23:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851","typeString":"literal_string \"Math: mulDiv overflow\""},"value":"Math: mulDiv overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851","typeString":"literal_string \"Math: mulDiv overflow\""}],"id":2602,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2952:7:17","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2952:53:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2608,"nodeType":"ExpressionStatement","src":"2952:53:17"},{"assignments":[2610],"declarations":[{"constant":false,"id":2610,"mutability":"mutable","name":"remainder","nameLocation":"3269:9:17","nodeType":"VariableDeclaration","scope":2695,"src":"3261:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2609,"name":"uint256","nodeType":"ElementaryTypeName","src":"3261:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2611,"nodeType":"VariableDeclarationStatement","src":"3261:17:17"},{"AST":{"nodeType":"YulBlock","src":"3301:291:17","statements":[{"nodeType":"YulAssignment","src":"3370:38:17","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"3390:1:17"},{"name":"y","nodeType":"YulIdentifier","src":"3393:1:17"},{"name":"denominator","nodeType":"YulIdentifier","src":"3396:11:17"}],"functionName":{"name":"mulmod","nodeType":"YulIdentifier","src":"3383:6:17"},"nodeType":"YulFunctionCall","src":"3383:25:17"},"variableNames":[{"name":"remainder","nodeType":"YulIdentifier","src":"3370:9:17"}]},{"nodeType":"YulAssignment","src":"3490:41:17","value":{"arguments":[{"name":"prod1","nodeType":"YulIdentifier","src":"3503:5:17"},{"arguments":[{"name":"remainder","nodeType":"YulIdentifier","src":"3513:9:17"},{"name":"prod0","nodeType":"YulIdentifier","src":"3524:5:17"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3510:2:17"},"nodeType":"YulFunctionCall","src":"3510:20:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3499:3:17"},"nodeType":"YulFunctionCall","src":"3499:32:17"},"variableNames":[{"name":"prod1","nodeType":"YulIdentifier","src":"3490:5:17"}]},{"nodeType":"YulAssignment","src":"3548:30:17","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"3561:5:17"},{"name":"remainder","nodeType":"YulIdentifier","src":"3568:9:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3557:3:17"},"nodeType":"YulFunctionCall","src":"3557:21:17"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"3548:5:17"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2581,"isOffset":false,"isSlot":false,"src":"3396:11:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"3524:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"3548:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"3561:5:17","valueSize":1},{"declaration":2590,"isOffset":false,"isSlot":false,"src":"3490:5:17","valueSize":1},{"declaration":2590,"isOffset":false,"isSlot":false,"src":"3503:5:17","valueSize":1},{"declaration":2610,"isOffset":false,"isSlot":false,"src":"3370:9:17","valueSize":1},{"declaration":2610,"isOffset":false,"isSlot":false,"src":"3513:9:17","valueSize":1},{"declaration":2610,"isOffset":false,"isSlot":false,"src":"3568:9:17","valueSize":1},{"declaration":2577,"isOffset":false,"isSlot":false,"src":"3390:1:17","valueSize":1},{"declaration":2579,"isOffset":false,"isSlot":false,"src":"3393:1:17","valueSize":1}],"id":2612,"nodeType":"InlineAssembly","src":"3292:300:17"},{"assignments":[2614],"declarations":[{"constant":false,"id":2614,"mutability":"mutable","name":"twos","nameLocation":"3907:4:17","nodeType":"VariableDeclaration","scope":2695,"src":"3899:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2613,"name":"uint256","nodeType":"ElementaryTypeName","src":"3899:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2622,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2615,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"3914:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3929:12:17","subExpression":{"id":2616,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"3930:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3944:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3929:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2620,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3928:18:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3914:32:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3899:47:17"},{"AST":{"nodeType":"YulBlock","src":"3969:362:17","statements":[{"nodeType":"YulAssignment","src":"4034:37:17","value":{"arguments":[{"name":"denominator","nodeType":"YulIdentifier","src":"4053:11:17"},{"name":"twos","nodeType":"YulIdentifier","src":"4066:4:17"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4049:3:17"},"nodeType":"YulFunctionCall","src":"4049:22:17"},"variableNames":[{"name":"denominator","nodeType":"YulIdentifier","src":"4034:11:17"}]},{"nodeType":"YulAssignment","src":"4138:25:17","value":{"arguments":[{"name":"prod0","nodeType":"YulIdentifier","src":"4151:5:17"},{"name":"twos","nodeType":"YulIdentifier","src":"4158:4:17"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4147:3:17"},"nodeType":"YulFunctionCall","src":"4147:16:17"},"variableNames":[{"name":"prod0","nodeType":"YulIdentifier","src":"4138:5:17"}]},{"nodeType":"YulAssignment","src":"4278:39:17","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4298:1:17","type":"","value":"0"},{"name":"twos","nodeType":"YulIdentifier","src":"4301:4:17"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4294:3:17"},"nodeType":"YulFunctionCall","src":"4294:12:17"},{"name":"twos","nodeType":"YulIdentifier","src":"4308:4:17"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"4290:3:17"},"nodeType":"YulFunctionCall","src":"4290:23:17"},{"kind":"number","nodeType":"YulLiteral","src":"4315:1:17","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4286:3:17"},"nodeType":"YulFunctionCall","src":"4286:31:17"},"variableNames":[{"name":"twos","nodeType":"YulIdentifier","src":"4278:4:17"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":2581,"isOffset":false,"isSlot":false,"src":"4034:11:17","valueSize":1},{"declaration":2581,"isOffset":false,"isSlot":false,"src":"4053:11:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"4138:5:17","valueSize":1},{"declaration":2587,"isOffset":false,"isSlot":false,"src":"4151:5:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4066:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4158:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4278:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4301:4:17","valueSize":1},{"declaration":2614,"isOffset":false,"isSlot":false,"src":"4308:4:17","valueSize":1}],"id":2623,"nodeType":"InlineAssembly","src":"3960:371:17"},{"expression":{"id":2628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2624,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"4397:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2625,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2590,"src":"4406:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2626,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"4414:4:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4406:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4397:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2629,"nodeType":"ExpressionStatement","src":"4397:21:17"},{"assignments":[2631],"declarations":[{"constant":false,"id":2631,"mutability":"mutable","name":"inverse","nameLocation":"4744:7:17","nodeType":"VariableDeclaration","scope":2695,"src":"4736:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2630,"name":"uint256","nodeType":"ElementaryTypeName","src":"4736:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2638,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":2632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4755:1:17","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2633,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"4759:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4755:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2635,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4754:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":2636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4774:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4754:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4736:39:17"},{"expression":{"id":2645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2639,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"4992:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5003:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2641,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5007:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2642,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5021:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5007:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5003:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4992:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2646,"nodeType":"ExpressionStatement","src":"4992:36:17"},{"expression":{"id":2653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2647,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5061:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5072:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2649,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5076:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2650,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5090:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5076:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5072:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5061:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2654,"nodeType":"ExpressionStatement","src":"5061:36:17"},{"expression":{"id":2661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2655,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5131:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5142:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2657,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5146:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2658,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5160:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5146:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5142:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5131:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2662,"nodeType":"ExpressionStatement","src":"5131:36:17"},{"expression":{"id":2669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2663,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5201:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5212:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2665,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5216:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2666,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5230:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5216:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5212:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5201:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2670,"nodeType":"ExpressionStatement","src":"5201:36:17"},{"expression":{"id":2677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2671,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5271:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5282:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2673,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5286:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2674,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5300:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5286:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5282:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5271:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2678,"nodeType":"ExpressionStatement","src":"5271:36:17"},{"expression":{"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2679,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5342:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":2680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5353:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2681,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2581,"src":"5357:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2682,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5371:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5357:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5353:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5342:36:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2686,"nodeType":"ExpressionStatement","src":"5342:36:17"},{"expression":{"id":2691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2687,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2584,"src":"5812:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2688,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2587,"src":"5821:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2689,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"5829:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5821:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5812:24:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2692,"nodeType":"ExpressionStatement","src":"5812:24:17"},{"expression":{"id":2693,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2584,"src":"5857:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2585,"id":2694,"nodeType":"Return","src":"5850:13:17"}]}]},"documentation":{"id":2575,"nodeType":"StructuredDocumentation","src":"1357:305:17","text":" @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license."},"id":2697,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"1676:6:17","nodeType":"FunctionDefinition","parameters":{"id":2582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2577,"mutability":"mutable","name":"x","nameLocation":"1691:1:17","nodeType":"VariableDeclaration","scope":2697,"src":"1683:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2576,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2579,"mutability":"mutable","name":"y","nameLocation":"1702:1:17","nodeType":"VariableDeclaration","scope":2697,"src":"1694:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"1694:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2581,"mutability":"mutable","name":"denominator","nameLocation":"1713:11:17","nodeType":"VariableDeclaration","scope":2697,"src":"1705:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1705:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1682:43:17"},"returnParameters":{"id":2585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2584,"mutability":"mutable","name":"result","nameLocation":"1757:6:17","nodeType":"VariableDeclaration","scope":2697,"src":"1749:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2583,"name":"uint256","nodeType":"ElementaryTypeName","src":"1749:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1748:16:17"},"scope":3349,"src":"1667:4213:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2740,"nodeType":"Block","src":"6122:189:17","statements":[{"assignments":[2713],"declarations":[{"constant":false,"id":2713,"mutability":"mutable","name":"result","nameLocation":"6140:6:17","nodeType":"VariableDeclaration","scope":2740,"src":"6132:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2712,"name":"uint256","nodeType":"ElementaryTypeName","src":"6132:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2719,"initialValue":{"arguments":[{"id":2715,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2700,"src":"6156:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2716,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2702,"src":"6159:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2717,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2704,"src":"6162:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2714,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[2697,2741],"referencedDeclaration":2697,"src":"6149:6:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":2718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6149:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6132:42:17"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2720,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2707,"src":"6188:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2721,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"6200:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":2722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6209:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"6200:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"6188:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2725,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2700,"src":"6222:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2726,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2702,"src":"6225:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2727,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2704,"src":"6228:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2724,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"6215:6:17","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6215:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6243:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6215:29:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6188:56:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2737,"nodeType":"IfStatement","src":"6184:98:17","trueBody":{"id":2736,"nodeType":"Block","src":"6246:36:17","statements":[{"expression":{"id":2734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2732,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"6260:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":2733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6270:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6260:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2735,"nodeType":"ExpressionStatement","src":"6260:11:17"}]}},{"expression":{"id":2738,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"6298:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2711,"id":2739,"nodeType":"Return","src":"6291:13:17"}]},"documentation":{"id":2698,"nodeType":"StructuredDocumentation","src":"5886:121:17","text":" @notice Calculates x * y / denominator with full precision, following the selected rounding direction."},"id":2741,"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"6021:6:17","nodeType":"FunctionDefinition","parameters":{"id":2708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2700,"mutability":"mutable","name":"x","nameLocation":"6036:1:17","nodeType":"VariableDeclaration","scope":2741,"src":"6028:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2699,"name":"uint256","nodeType":"ElementaryTypeName","src":"6028:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2702,"mutability":"mutable","name":"y","nameLocation":"6047:1:17","nodeType":"VariableDeclaration","scope":2741,"src":"6039:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2701,"name":"uint256","nodeType":"ElementaryTypeName","src":"6039:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2704,"mutability":"mutable","name":"denominator","nameLocation":"6058:11:17","nodeType":"VariableDeclaration","scope":2741,"src":"6050:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2703,"name":"uint256","nodeType":"ElementaryTypeName","src":"6050:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2707,"mutability":"mutable","name":"rounding","nameLocation":"6080:8:17","nodeType":"VariableDeclaration","scope":2741,"src":"6071:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":2706,"nodeType":"UserDefinedTypeName","pathNode":{"id":2705,"name":"Rounding","nameLocations":["6071:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"6071:8:17"},"referencedDeclaration":2490,"src":"6071:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"6027:62:17"},"returnParameters":{"id":2711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2741,"src":"6113:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2709,"name":"uint256","nodeType":"ElementaryTypeName","src":"6113:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6112:9:17"},"scope":3349,"src":"6012:299:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2852,"nodeType":"Block","src":"6587:1585:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2749,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"6601:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6606:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6601:6:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2755,"nodeType":"IfStatement","src":"6597:45:17","trueBody":{"id":2754,"nodeType":"Block","src":"6609:33:17","statements":[{"expression":{"hexValue":"30","id":2752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":2748,"id":2753,"nodeType":"Return","src":"6623:8:17"}]}},{"assignments":[2757],"declarations":[{"constant":false,"id":2757,"mutability":"mutable","name":"result","nameLocation":"7329:6:17","nodeType":"VariableDeclaration","scope":2852,"src":"7321:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2756,"name":"uint256","nodeType":"ElementaryTypeName","src":"7321:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2766,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":2758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7338:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2760,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7349:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2759,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[3021,3057],"referencedDeclaration":3021,"src":"7344:4:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7344:7:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7355:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7344:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2764,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7343:14:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7338:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7321:36:17"},{"id":2851,"nodeType":"UncheckedBlock","src":"7758:408:17","statements":[{"expression":{"id":2776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2767,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7782:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2768,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7792:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2769,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7801:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2770,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7805:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7792:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2773,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7791:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7791:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7782:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2777,"nodeType":"ExpressionStatement","src":"7782:35:17"},{"expression":{"id":2787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2778,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7831:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2779,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7841:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2780,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7850:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2781,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7854:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7850:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7841:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2784,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7840:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7865:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7840:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7831:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2788,"nodeType":"ExpressionStatement","src":"7831:35:17"},{"expression":{"id":2798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2789,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7880:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2790,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7890:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2791,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7899:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2792,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7903:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7890:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7889:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7914:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7889:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7880:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2799,"nodeType":"ExpressionStatement","src":"7880:35:17"},{"expression":{"id":2809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2800,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7929:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2801,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7939:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2802,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7948:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2803,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7952:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7948:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7939:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2806,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7938:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7963:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7938:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7929:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2810,"nodeType":"ExpressionStatement","src":"7929:35:17"},{"expression":{"id":2820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2811,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7978:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2812,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"7988:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2813,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"7997:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2814,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8001:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7997:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7988:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2817,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7987:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8012:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7987:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7978:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2821,"nodeType":"ExpressionStatement","src":"7978:35:17"},{"expression":{"id":2831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2822,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8027:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2823,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8037:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2824,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"8046:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2825,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8050:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8046:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8037:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2828,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8036:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8061:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8036:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8027:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2832,"nodeType":"ExpressionStatement","src":"8027:35:17"},{"expression":{"id":2842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2833,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8076:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2834,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8086:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2835,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"8095:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2836,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8099:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8095:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8086:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2839,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8085:21:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":2840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8110:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8085:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8076:35:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2843,"nodeType":"ExpressionStatement","src":"8076:35:17"},{"expression":{"arguments":[{"id":2845,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8136:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2846,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"8144:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2847,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"8148:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8144:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2844,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"8132:3:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8132:23:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2748,"id":2850,"nodeType":"Return","src":"8125:30:17"}]}]},"documentation":{"id":2742,"nodeType":"StructuredDocumentation","src":"6317:208:17","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)."},"id":2853,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"6539:4:17","nodeType":"FunctionDefinition","parameters":{"id":2745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2744,"mutability":"mutable","name":"a","nameLocation":"6552:1:17","nodeType":"VariableDeclaration","scope":2853,"src":"6544:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2743,"name":"uint256","nodeType":"ElementaryTypeName","src":"6544:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6543:11:17"},"returnParameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2747,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2853,"src":"6578:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2746,"name":"uint256","nodeType":"ElementaryTypeName","src":"6578:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6577:9:17"},"scope":3349,"src":"6530:1642:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":2888,"nodeType":"Block","src":"8348:161:17","statements":[{"id":2887,"nodeType":"UncheckedBlock","src":"8358:145:17","statements":[{"assignments":[2865],"declarations":[{"constant":false,"id":2865,"mutability":"mutable","name":"result","nameLocation":"8390:6:17","nodeType":"VariableDeclaration","scope":2887,"src":"8382:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2864,"name":"uint256","nodeType":"ElementaryTypeName","src":"8382:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2869,"initialValue":{"arguments":[{"id":2867,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2856,"src":"8404:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2866,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[2853,2889],"referencedDeclaration":2853,"src":"8399:4:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8399:7:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8382:24:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2870,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"8427:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":2874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2871,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2859,"src":"8437:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":2872,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"8449:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":2873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8458:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"8449:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"8437:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2875,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"8464:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":2876,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"8473:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8464:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2878,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2856,"src":"8482:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8464:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8437:46:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":2882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8490:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":2883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8437:54:17","trueExpression":{"hexValue":"31","id":2881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8486:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":2884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8436:56:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8427:65:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2863,"id":2886,"nodeType":"Return","src":"8420:72:17"}]}]},"documentation":{"id":2854,"nodeType":"StructuredDocumentation","src":"8178:89:17","text":" @notice Calculates sqrt(a), following the selected rounding direction."},"id":2889,"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"8281:4:17","nodeType":"FunctionDefinition","parameters":{"id":2860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2856,"mutability":"mutable","name":"a","nameLocation":"8294:1:17","nodeType":"VariableDeclaration","scope":2889,"src":"8286:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2855,"name":"uint256","nodeType":"ElementaryTypeName","src":"8286:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2859,"mutability":"mutable","name":"rounding","nameLocation":"8306:8:17","nodeType":"VariableDeclaration","scope":2889,"src":"8297:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":2858,"nodeType":"UserDefinedTypeName","pathNode":{"id":2857,"name":"Rounding","nameLocations":["8297:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"8297:8:17"},"referencedDeclaration":2490,"src":"8297:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"8285:30:17"},"returnParameters":{"id":2863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2862,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2889,"src":"8339:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2861,"name":"uint256","nodeType":"ElementaryTypeName","src":"8339:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8338:9:17"},"scope":3349,"src":"8272:237:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3020,"nodeType":"Block","src":"8694:922:17","statements":[{"assignments":[2898],"declarations":[{"constant":false,"id":2898,"mutability":"mutable","name":"result","nameLocation":"8712:6:17","nodeType":"VariableDeclaration","scope":3020,"src":"8704:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2897,"name":"uint256","nodeType":"ElementaryTypeName","src":"8704:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2900,"initialValue":{"hexValue":"30","id":2899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8721:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8704:18:17"},{"id":3017,"nodeType":"UncheckedBlock","src":"8732:855:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2901,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8760:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":2902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8760:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8775:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8760:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2915,"nodeType":"IfStatement","src":"8756:99:17","trueBody":{"id":2914,"nodeType":"Block","src":"8778:77:17","statements":[{"expression":{"id":2908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2906,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8796:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":2907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8806:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8796:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2909,"nodeType":"ExpressionStatement","src":"8796:13:17"},{"expression":{"id":2912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2910,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"8827:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"313238","id":2911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8837:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8827:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2913,"nodeType":"ExpressionStatement","src":"8827:13:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2916,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8872:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":2917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8881:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8872:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8886:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8872:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2930,"nodeType":"IfStatement","src":"8868:96:17","trueBody":{"id":2929,"nodeType":"Block","src":"8889:75:17","statements":[{"expression":{"id":2923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2921,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8907:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":2922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8917:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8907:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2924,"nodeType":"ExpressionStatement","src":"8907:12:17"},{"expression":{"id":2927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2925,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"8937:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":2926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8947:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8937:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2928,"nodeType":"ExpressionStatement","src":"8937:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2931,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"8981:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":2932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8990:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8981:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8995:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8981:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2945,"nodeType":"IfStatement","src":"8977:96:17","trueBody":{"id":2944,"nodeType":"Block","src":"8998:75:17","statements":[{"expression":{"id":2938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2936,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9016:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":2937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9026:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9016:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2939,"nodeType":"ExpressionStatement","src":"9016:12:17"},{"expression":{"id":2942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2940,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9046:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":2941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9056:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9046:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2943,"nodeType":"ExpressionStatement","src":"9046:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2946,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9090:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":2947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9099:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9090:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9104:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9090:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2960,"nodeType":"IfStatement","src":"9086:96:17","trueBody":{"id":2959,"nodeType":"Block","src":"9107:75:17","statements":[{"expression":{"id":2953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2951,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9125:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":2952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9135:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9125:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2954,"nodeType":"ExpressionStatement","src":"9125:12:17"},{"expression":{"id":2957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2955,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9155:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":2956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9165:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9155:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2958,"nodeType":"ExpressionStatement","src":"9155:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2961,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9199:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":2962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9208:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9199:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9212:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9199:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2975,"nodeType":"IfStatement","src":"9195:93:17","trueBody":{"id":2974,"nodeType":"Block","src":"9215:73:17","statements":[{"expression":{"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2966,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9233:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":2967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9243:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9233:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2969,"nodeType":"ExpressionStatement","src":"9233:11:17"},{"expression":{"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2970,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9262:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":2971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9272:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9262:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2973,"nodeType":"ExpressionStatement","src":"9262:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2976,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9305:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":2977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9314:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9305:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9318:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9305:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2990,"nodeType":"IfStatement","src":"9301:93:17","trueBody":{"id":2989,"nodeType":"Block","src":"9321:73:17","statements":[{"expression":{"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2981,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9339:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":2982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9349:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9339:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2984,"nodeType":"ExpressionStatement","src":"9339:11:17"},{"expression":{"id":2987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2985,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9368:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":2986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9378:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9368:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2988,"nodeType":"ExpressionStatement","src":"9368:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2991,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9411:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":2992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9420:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9411:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":2994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9424:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9411:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3005,"nodeType":"IfStatement","src":"9407:93:17","trueBody":{"id":3004,"nodeType":"Block","src":"9427:73:17","statements":[{"expression":{"id":2998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2996,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9445:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"32","id":2997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9455:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9445:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2999,"nodeType":"ExpressionStatement","src":"9445:11:17"},{"expression":{"id":3002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3000,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9474:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":3001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9484:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9474:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3003,"nodeType":"ExpressionStatement","src":"9474:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3006,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"9517:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":3007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9526:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9517:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9530:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9517:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3016,"nodeType":"IfStatement","src":"9513:64:17","trueBody":{"id":3015,"nodeType":"Block","src":"9533:44:17","statements":[{"expression":{"id":3013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3011,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9551:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9561:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9551:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3014,"nodeType":"ExpressionStatement","src":"9551:11:17"}]}}]},{"expression":{"id":3018,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"9603:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2896,"id":3019,"nodeType":"Return","src":"9596:13:17"}]},"documentation":{"id":2890,"nodeType":"StructuredDocumentation","src":"8515:113:17","text":" @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0."},"id":3021,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"8642:4:17","nodeType":"FunctionDefinition","parameters":{"id":2893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2892,"mutability":"mutable","name":"value","nameLocation":"8655:5:17","nodeType":"VariableDeclaration","scope":3021,"src":"8647:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2891,"name":"uint256","nodeType":"ElementaryTypeName","src":"8647:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8646:15:17"},"returnParameters":{"id":2896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3021,"src":"8685:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2894,"name":"uint256","nodeType":"ElementaryTypeName","src":"8685:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8684:9:17"},"scope":3349,"src":"8633:983:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3056,"nodeType":"Block","src":"9849:165:17","statements":[{"id":3055,"nodeType":"UncheckedBlock","src":"9859:149:17","statements":[{"assignments":[3033],"declarations":[{"constant":false,"id":3033,"mutability":"mutable","name":"result","nameLocation":"9891:6:17","nodeType":"VariableDeclaration","scope":3055,"src":"9883:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3032,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3037,"initialValue":{"arguments":[{"id":3035,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"9905:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3034,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[3021,3057],"referencedDeclaration":3021,"src":"9900:4:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9900:11:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9883:28:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3038,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"9932:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":3042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3039,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3027,"src":"9942:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3040,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"9954:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":3041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9963:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"9954:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"9942:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":3043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9969:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":3044,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3033,"src":"9974:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9969:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3046,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3024,"src":"9983:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9969:19:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:46:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":3050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9995:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9942:54:17","trueExpression":{"hexValue":"31","id":3049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9991:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3052,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9941:56:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9932:65:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3031,"id":3054,"nodeType":"Return","src":"9925:72:17"}]}]},"documentation":{"id":3022,"nodeType":"StructuredDocumentation","src":"9622:142:17","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":3057,"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"9778:4:17","nodeType":"FunctionDefinition","parameters":{"id":3028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3024,"mutability":"mutable","name":"value","nameLocation":"9791:5:17","nodeType":"VariableDeclaration","scope":3057,"src":"9783:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3023,"name":"uint256","nodeType":"ElementaryTypeName","src":"9783:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3027,"mutability":"mutable","name":"rounding","nameLocation":"9807:8:17","nodeType":"VariableDeclaration","scope":3057,"src":"9798:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":3026,"nodeType":"UserDefinedTypeName","pathNode":{"id":3025,"name":"Rounding","nameLocations":["9798:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"9798:8:17"},"referencedDeclaration":2490,"src":"9798:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"9782:34:17"},"returnParameters":{"id":3031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3057,"src":"9840:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3029,"name":"uint256","nodeType":"ElementaryTypeName","src":"9840:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9839:9:17"},"scope":3349,"src":"9769:245:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3185,"nodeType":"Block","src":"10201:854:17","statements":[{"assignments":[3066],"declarations":[{"constant":false,"id":3066,"mutability":"mutable","name":"result","nameLocation":"10219:6:17","nodeType":"VariableDeclaration","scope":3185,"src":"10211:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3065,"name":"uint256","nodeType":"ElementaryTypeName","src":"10211:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3068,"initialValue":{"hexValue":"30","id":3067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10228:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10211:18:17"},{"id":3182,"nodeType":"UncheckedBlock","src":"10239:787:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3069,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10267:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":3072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10276:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":3071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10282:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10276:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10267:17:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3085,"nodeType":"IfStatement","src":"10263:103:17","trueBody":{"id":3084,"nodeType":"Block","src":"10286:80:17","statements":[{"expression":{"id":3078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3074,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10304:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":3077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10313:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":3076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10319:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10313:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10304:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3079,"nodeType":"ExpressionStatement","src":"10304:17:17"},{"expression":{"id":3082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3080,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10339:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":3081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10339:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3083,"nodeType":"ExpressionStatement","src":"10339:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3086,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10383:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":3089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10392:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":3088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10398:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10392:8:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10383:17:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3102,"nodeType":"IfStatement","src":"10379:103:17","trueBody":{"id":3101,"nodeType":"Block","src":"10402:80:17","statements":[{"expression":{"id":3095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3091,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10420:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":3094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10429:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":3093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10435:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10429:8:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10420:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3096,"nodeType":"ExpressionStatement","src":"10420:17:17"},{"expression":{"id":3099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3097,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10455:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":3098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10465:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10455:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3100,"nodeType":"ExpressionStatement","src":"10455:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3103,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10499:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":3106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10508:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":3105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10514:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10508:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10499:17:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3119,"nodeType":"IfStatement","src":"10495:103:17","trueBody":{"id":3118,"nodeType":"Block","src":"10518:80:17","statements":[{"expression":{"id":3112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10536:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":3111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10545:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":3110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10551:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10545:8:17","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10536:17:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3113,"nodeType":"ExpressionStatement","src":"10536:17:17"},{"expression":{"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10571:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":3115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10581:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10571:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3117,"nodeType":"ExpressionStatement","src":"10571:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3120,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10615:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":3123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10624:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":3122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10630:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10624:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10615:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3136,"nodeType":"IfStatement","src":"10611:100:17","trueBody":{"id":3135,"nodeType":"Block","src":"10633:78:17","statements":[{"expression":{"id":3129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3125,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10651:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":3128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10660:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":3127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10666:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10660:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10651:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3130,"nodeType":"ExpressionStatement","src":"10651:16:17"},{"expression":{"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3131,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10685:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":3132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10695:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10685:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3134,"nodeType":"ExpressionStatement","src":"10685:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3137,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10728:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":3140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10737:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":3139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10743:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10737:7:17","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10728:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3153,"nodeType":"IfStatement","src":"10724:100:17","trueBody":{"id":3152,"nodeType":"Block","src":"10746:78:17","statements":[{"expression":{"id":3146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3142,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10764:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":3145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10773:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":3144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10779:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10773:7:17","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10764:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3147,"nodeType":"ExpressionStatement","src":"10764:16:17"},{"expression":{"id":3150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3148,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10798:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":3149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10808:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10798:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3151,"nodeType":"ExpressionStatement","src":"10798:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3154,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10841:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":3157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10850:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":3156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10856:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10850:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10841:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3170,"nodeType":"IfStatement","src":"10837:100:17","trueBody":{"id":3169,"nodeType":"Block","src":"10859:78:17","statements":[{"expression":{"id":3163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3159,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10877:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":3162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10886:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":3161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10892:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10886:7:17","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10877:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3164,"nodeType":"ExpressionStatement","src":"10877:16:17"},{"expression":{"id":3167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3165,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10911:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":3166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10921:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10911:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3168,"nodeType":"ExpressionStatement","src":"10911:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3171,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3060,"src":"10954:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":3174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10963:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":3173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10969:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10963:7:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"10954:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3181,"nodeType":"IfStatement","src":"10950:66:17","trueBody":{"id":3180,"nodeType":"Block","src":"10972:44:17","statements":[{"expression":{"id":3178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3176,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"10990:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11000:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10990:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3179,"nodeType":"ExpressionStatement","src":"10990:11:17"}]}}]},{"expression":{"id":3183,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"11042:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3064,"id":3184,"nodeType":"Return","src":"11035:13:17"}]},"documentation":{"id":3058,"nodeType":"StructuredDocumentation","src":"10020:114:17","text":" @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0."},"id":3186,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"10148:5:17","nodeType":"FunctionDefinition","parameters":{"id":3061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3060,"mutability":"mutable","name":"value","nameLocation":"10162:5:17","nodeType":"VariableDeclaration","scope":3186,"src":"10154:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3059,"name":"uint256","nodeType":"ElementaryTypeName","src":"10154:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10153:15:17"},"returnParameters":{"id":3064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3063,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3186,"src":"10192:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3062,"name":"uint256","nodeType":"ElementaryTypeName","src":"10192:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10191:9:17"},"scope":3349,"src":"10139:916:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3221,"nodeType":"Block","src":"11290:167:17","statements":[{"id":3220,"nodeType":"UncheckedBlock","src":"11300:151:17","statements":[{"assignments":[3198],"declarations":[{"constant":false,"id":3198,"mutability":"mutable","name":"result","nameLocation":"11332:6:17","nodeType":"VariableDeclaration","scope":3220,"src":"11324:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3197,"name":"uint256","nodeType":"ElementaryTypeName","src":"11324:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3202,"initialValue":{"arguments":[{"id":3200,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3189,"src":"11347:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3199,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[3186,3222],"referencedDeclaration":3186,"src":"11341:5:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11341:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11324:29:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3203,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3198,"src":"11374:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":3207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3204,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3192,"src":"11384:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3205,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"11396:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":3206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11405:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"11396:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"11384:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":3208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11411:2:17","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":3209,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3198,"src":"11417:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11411:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3211,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3189,"src":"11426:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11411:20:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11384:47:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":3215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11438:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11384:55:17","trueExpression":{"hexValue":"31","id":3214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11434:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11383:57:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11374:66:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3196,"id":3219,"nodeType":"Return","src":"11367:73:17"}]}]},"documentation":{"id":3187,"nodeType":"StructuredDocumentation","src":"11061:143:17","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":3222,"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"11218:5:17","nodeType":"FunctionDefinition","parameters":{"id":3193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3189,"mutability":"mutable","name":"value","nameLocation":"11232:5:17","nodeType":"VariableDeclaration","scope":3222,"src":"11224:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3188,"name":"uint256","nodeType":"ElementaryTypeName","src":"11224:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3192,"mutability":"mutable","name":"rounding","nameLocation":"11248:8:17","nodeType":"VariableDeclaration","scope":3222,"src":"11239:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":3191,"nodeType":"UserDefinedTypeName","pathNode":{"id":3190,"name":"Rounding","nameLocations":["11239:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"11239:8:17"},"referencedDeclaration":2490,"src":"11239:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11223:34:17"},"returnParameters":{"id":3196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3222,"src":"11281:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3194,"name":"uint256","nodeType":"ElementaryTypeName","src":"11281:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11280:9:17"},"scope":3349,"src":"11209:248:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3308,"nodeType":"Block","src":"11771:600:17","statements":[{"assignments":[3231],"declarations":[{"constant":false,"id":3231,"mutability":"mutable","name":"result","nameLocation":"11789:6:17","nodeType":"VariableDeclaration","scope":3308,"src":"11781:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3230,"name":"uint256","nodeType":"ElementaryTypeName","src":"11781:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3233,"initialValue":{"hexValue":"30","id":3232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11798:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11781:18:17"},{"id":3305,"nodeType":"UncheckedBlock","src":"11809:533:17","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3234,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11837:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":3235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11846:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11837:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11852:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11837:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3248,"nodeType":"IfStatement","src":"11833:98:17","trueBody":{"id":3247,"nodeType":"Block","src":"11855:76:17","statements":[{"expression":{"id":3241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3239,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11873:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":3240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11883:3:17","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11873:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3242,"nodeType":"ExpressionStatement","src":"11873:13:17"},{"expression":{"id":3245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3243,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"11904:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":3244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11904:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3246,"nodeType":"ExpressionStatement","src":"11904:12:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3249,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11948:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":3250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11957:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11948:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11962:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11948:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3263,"nodeType":"IfStatement","src":"11944:95:17","trueBody":{"id":3262,"nodeType":"Block","src":"11965:74:17","statements":[{"expression":{"id":3256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3254,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"11983:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":3255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11993:2:17","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11983:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3257,"nodeType":"ExpressionStatement","src":"11983:12:17"},{"expression":{"id":3260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3258,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12013:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":3259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12023:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12013:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3261,"nodeType":"ExpressionStatement","src":"12013:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3264,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12056:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":3265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12065:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12056:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12070:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12056:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3278,"nodeType":"IfStatement","src":"12052:95:17","trueBody":{"id":3277,"nodeType":"Block","src":"12073:74:17","statements":[{"expression":{"id":3271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3269,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12091:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":3270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12101:2:17","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12091:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3272,"nodeType":"ExpressionStatement","src":"12091:12:17"},{"expression":{"id":3275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3273,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12121:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":3274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12131:1:17","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"12121:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3276,"nodeType":"ExpressionStatement","src":"12121:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3279,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12164:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":3280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12173:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12164:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12178:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12164:15:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3293,"nodeType":"IfStatement","src":"12160:95:17","trueBody":{"id":3292,"nodeType":"Block","src":"12181:74:17","statements":[{"expression":{"id":3286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3284,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12199:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":3285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12209:2:17","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12199:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3287,"nodeType":"ExpressionStatement","src":"12199:12:17"},{"expression":{"id":3290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3288,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12229:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":3289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12239:1:17","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12229:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3291,"nodeType":"ExpressionStatement","src":"12229:11:17"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3294,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3225,"src":"12272:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":3295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12281:1:17","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12272:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":3297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12285:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12272:14:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3304,"nodeType":"IfStatement","src":"12268:64:17","trueBody":{"id":3303,"nodeType":"Block","src":"12288:44:17","statements":[{"expression":{"id":3301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3299,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12306:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":3300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12316:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12306:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3302,"nodeType":"ExpressionStatement","src":"12306:11:17"}]}}]},{"expression":{"id":3306,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3231,"src":"12358:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3229,"id":3307,"nodeType":"Return","src":"12351:13:17"}]},"documentation":{"id":3223,"nodeType":"StructuredDocumentation","src":"11463:240:17","text":" @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"id":3309,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"11717:6:17","nodeType":"FunctionDefinition","parameters":{"id":3226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3225,"mutability":"mutable","name":"value","nameLocation":"11732:5:17","nodeType":"VariableDeclaration","scope":3309,"src":"11724:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3224,"name":"uint256","nodeType":"ElementaryTypeName","src":"11724:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11723:15:17"},"returnParameters":{"id":3229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3309,"src":"11762:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3227,"name":"uint256","nodeType":"ElementaryTypeName","src":"11762:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11761:9:17"},"scope":3349,"src":"11708:663:17","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3347,"nodeType":"Block","src":"12608:174:17","statements":[{"id":3346,"nodeType":"UncheckedBlock","src":"12618:158:17","statements":[{"assignments":[3321],"declarations":[{"constant":false,"id":3321,"mutability":"mutable","name":"result","nameLocation":"12650:6:17","nodeType":"VariableDeclaration","scope":3346,"src":"12642:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3320,"name":"uint256","nodeType":"ElementaryTypeName","src":"12642:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3325,"initialValue":{"arguments":[{"id":3323,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3312,"src":"12666:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3322,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[3309,3348],"referencedDeclaration":3309,"src":"12659:6:17","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12659:13:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12642:30:17"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3326,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3321,"src":"12693:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"id":3330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3327,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3315,"src":"12703:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":3328,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2490,"src":"12715:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$2490_$","typeString":"type(enum Math.Rounding)"}},"id":3329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12724:2:17","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":2488,"src":"12715:11:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"src":"12703:23:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":3331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12730:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3332,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3321,"src":"12736:6:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":3333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12746:1:17","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"12736:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12735:13:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12730:18:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3337,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3312,"src":"12751:5:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12730:26:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12703:53:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":3341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12763:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12703:61:17","trueExpression":{"hexValue":"31","id":3340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12759:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":3343,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12702:63:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12693:72:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3319,"id":3345,"nodeType":"Return","src":"12686:79:17"}]}]},"documentation":{"id":3310,"nodeType":"StructuredDocumentation","src":"12377:144:17","text":" @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"id":3348,"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"12535:6:17","nodeType":"FunctionDefinition","parameters":{"id":3316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3312,"mutability":"mutable","name":"value","nameLocation":"12550:5:17","nodeType":"VariableDeclaration","scope":3348,"src":"12542:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3311,"name":"uint256","nodeType":"ElementaryTypeName","src":"12542:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3315,"mutability":"mutable","name":"rounding","nameLocation":"12566:8:17","nodeType":"VariableDeclaration","scope":3348,"src":"12557:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"},"typeName":{"id":3314,"nodeType":"UserDefinedTypeName","pathNode":{"id":3313,"name":"Rounding","nameLocations":["12557:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2490,"src":"12557:8:17"},"referencedDeclaration":2490,"src":"12557:8:17","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$2490","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"12541:34:17"},"returnParameters":{"id":3319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3318,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3348,"src":"12599:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3317,"name":"uint256","nodeType":"ElementaryTypeName","src":"12599:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12598:9:17"},"scope":3349,"src":"12526:256:17","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":3350,"src":"202:12582:17","usedErrors":[],"usedEvents":[]}],"src":"103:12682:17"},"id":17},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/math/SignedMath.sol","exportedSymbols":{"SignedMath":[3454]},"id":3455,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3351,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"109:23:18"},{"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":3352,"nodeType":"StructuredDocumentation","src":"134:80:18","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"id":3454,"linearizedBaseContracts":[3454],"name":"SignedMath","nameLocation":"223:10:18","nodeType":"ContractDefinition","nodes":[{"body":{"id":3369,"nodeType":"Block","src":"375:37:18","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3362,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"392:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3363,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3357,"src":"396:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"392:5:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3357,"src":"404:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"392:13:18","trueExpression":{"id":3365,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"400:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3361,"id":3368,"nodeType":"Return","src":"385:20:18"}]},"documentation":{"id":3353,"nodeType":"StructuredDocumentation","src":"240:66:18","text":" @dev Returns the largest of two signed numbers."},"id":3370,"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"320:3:18","nodeType":"FunctionDefinition","parameters":{"id":3358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3355,"mutability":"mutable","name":"a","nameLocation":"331:1:18","nodeType":"VariableDeclaration","scope":3370,"src":"324:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3354,"name":"int256","nodeType":"ElementaryTypeName","src":"324:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3357,"mutability":"mutable","name":"b","nameLocation":"341:1:18","nodeType":"VariableDeclaration","scope":3370,"src":"334:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3356,"name":"int256","nodeType":"ElementaryTypeName","src":"334:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"323:20:18"},"returnParameters":{"id":3361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3370,"src":"367:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3359,"name":"int256","nodeType":"ElementaryTypeName","src":"367:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"366:8:18"},"scope":3454,"src":"311:101:18","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3387,"nodeType":"Block","src":"554:37:18","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3380,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3373,"src":"571:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3381,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"575:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"571:5:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3384,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"583:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"571:13:18","trueExpression":{"id":3383,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3373,"src":"579:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3379,"id":3386,"nodeType":"Return","src":"564:20:18"}]},"documentation":{"id":3371,"nodeType":"StructuredDocumentation","src":"418:67:18","text":" @dev Returns the smallest of two signed numbers."},"id":3388,"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"499:3:18","nodeType":"FunctionDefinition","parameters":{"id":3376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3373,"mutability":"mutable","name":"a","nameLocation":"510:1:18","nodeType":"VariableDeclaration","scope":3388,"src":"503:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3372,"name":"int256","nodeType":"ElementaryTypeName","src":"503:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3375,"mutability":"mutable","name":"b","nameLocation":"520:1:18","nodeType":"VariableDeclaration","scope":3388,"src":"513:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3374,"name":"int256","nodeType":"ElementaryTypeName","src":"513:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"502:20:18"},"returnParameters":{"id":3379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3388,"src":"546:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3377,"name":"int256","nodeType":"ElementaryTypeName","src":"546:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"545:8:18"},"scope":3454,"src":"490:101:18","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3431,"nodeType":"Block","src":"796:162:18","statements":[{"assignments":[3399],"declarations":[{"constant":false,"id":3399,"mutability":"mutable","name":"x","nameLocation":"865:1:18","nodeType":"VariableDeclaration","scope":3431,"src":"858:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3398,"name":"int256","nodeType":"ElementaryTypeName","src":"858:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":3412,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"870:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":3401,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3393,"src":"874:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:5:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3403,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"869:7:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3404,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"881:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":3405,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3393,"src":"885:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"881:5:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3407,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:7:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":3408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"891:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"880:12:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3410,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"879:14:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"869:24:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"858:35:18"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3413,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"910:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3418,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"930:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"922:7:18","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3416,"name":"uint256","nodeType":"ElementaryTypeName","src":"922:7:18","typeDescriptions":{}}},"id":3419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:10:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":3420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"936:3:18","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"922:17:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"915:6:18","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":3414,"name":"int256","nodeType":"ElementaryTypeName","src":"915:6:18","typeDescriptions":{}}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:25:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3423,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"944:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":3424,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3393,"src":"948:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"944:5:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3426,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"943:7:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"915:35:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3428,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"914:37:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"910:41:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":3397,"id":3430,"nodeType":"Return","src":"903:48:18"}]},"documentation":{"id":3389,"nodeType":"StructuredDocumentation","src":"597:126:18","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"id":3432,"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"737:7:18","nodeType":"FunctionDefinition","parameters":{"id":3394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3391,"mutability":"mutable","name":"a","nameLocation":"752:1:18","nodeType":"VariableDeclaration","scope":3432,"src":"745:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3390,"name":"int256","nodeType":"ElementaryTypeName","src":"745:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3393,"mutability":"mutable","name":"b","nameLocation":"762:1:18","nodeType":"VariableDeclaration","scope":3432,"src":"755:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3392,"name":"int256","nodeType":"ElementaryTypeName","src":"755:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"744:20:18"},"returnParameters":{"id":3397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3432,"src":"788:6:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3395,"name":"int256","nodeType":"ElementaryTypeName","src":"788:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"787:8:18"},"scope":3454,"src":"728:230:18","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":3452,"nodeType":"Block","src":"1102:158:18","statements":[{"id":3451,"nodeType":"UncheckedBlock","src":"1112:142:18","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3442,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"1227:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":3443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1232:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1227:6:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1240:2:18","subExpression":{"id":3446,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"1241:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1227:15:18","trueExpression":{"id":3445,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3435,"src":"1236:1:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":3441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1219:7:18","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3440,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:18","typeDescriptions":{}}},"id":3449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1219:24:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3439,"id":3450,"nodeType":"Return","src":"1212:31:18"}]}]},"documentation":{"id":3433,"nodeType":"StructuredDocumentation","src":"964:78:18","text":" @dev Returns the absolute unsigned value of a signed value."},"id":3453,"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1056:3:18","nodeType":"FunctionDefinition","parameters":{"id":3436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3435,"mutability":"mutable","name":"n","nameLocation":"1067:1:18","nodeType":"VariableDeclaration","scope":3453,"src":"1060:8:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3434,"name":"int256","nodeType":"ElementaryTypeName","src":"1060:6:18","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1059:10:18"},"returnParameters":{"id":3439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3438,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3453,"src":"1093:7:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3437,"name":"uint256","nodeType":"ElementaryTypeName","src":"1093:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1092:9:18"},"scope":3454,"src":"1047:213:18","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":3455,"src":"215:1047:18","usedErrors":[],"usedEvents":[]}],"src":"109:1154:18"},"id":18},"contracts/gamma/GammaCards.v5.sol":{"ast":{"absolutePath":"contracts/gamma/GammaCards.v5.sol","exportedSymbols":{"CannotRemoveUserOffers":[3502],"CardLimitExceeded":[3492],"IERC20":[218],"IgammaOffersContract":[3565],"IgammaPacksContract":[3525],"IgammaTicketsContract":[3571],"IncorrectPrizeAmount":[3486],"InsufficientCards":[3498],"InsufficientFunds":[3496],"InvalidAddress":[3478],"InvalidCardNumber":[3480],"InvalidSignature":[3484],"InvalidTransfer":[3482],"LibControlMgmt":[5909],"LibPackVerifier":[5954],"LibStringUtils":[6035],"MustCompleteAlbum":[3500],"NofGammaCardsNFTV1":[5707],"NofGammaCardsV5":[5637],"NotYourPack":[3490],"OnlyGammaPacksContract":[3472],"OnlyOffersContract":[3474],"OnlyOwners":[3476],"Ownable":[112],"UserDoesNotHaveCardOrAlbum":[3494],"WrongPacksQuantity":[3488],"console":[14120]},"id":5638,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":3456,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:19"},{"absolutePath":"@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","id":3458,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":113,"src":"58:67:19","symbolAliases":[{"foreign":{"id":3457,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"66:7:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","id":3460,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":219,"src":"126:70:19","symbolAliases":[{"foreign":{"id":3459,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"134:6:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibStringUtils.sol","file":"./libs/LibStringUtils.sol","id":3462,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":6036,"src":"197:57:19","symbolAliases":[{"foreign":{"id":3461,"name":"LibStringUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6035,"src":"205:14:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibPackVerifier.sol","file":"./libs/LibPackVerifier.sol","id":3464,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":5955,"src":"255:59:19","symbolAliases":[{"foreign":{"id":3463,"name":"LibPackVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5954,"src":"263:15:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","file":"./libs/LibControlMgmt.sol","id":3466,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":5910,"src":"315:57:19","symbolAliases":[{"foreign":{"id":3465,"name":"LibControlMgmt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5909,"src":"323:14:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"hardhat/console.sol","file":"hardhat/console.sol","id":3468,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":14121,"src":"373:44:19","symbolAliases":[{"foreign":{"id":3467,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14120,"src":"381:7:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"contracts/gamma/GammaCardsNFT.v1.sol","file":"./GammaCardsNFT.v1.sol","id":3470,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5638,"sourceUnit":5708,"src":"418:58:19","symbolAliases":[{"foreign":{"id":3469,"name":"NofGammaCardsNFTV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5707,"src":"426:18:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"errorSelector":"7473cc70","id":3472,"name":"OnlyGammaPacksContract","nameLocation":"484:22:19","nodeType":"ErrorDefinition","parameters":{"id":3471,"nodeType":"ParameterList","parameters":[],"src":"506:2:19"},"src":"478:31:19"},{"errorSelector":"8eea8241","id":3474,"name":"OnlyOffersContract","nameLocation":"516:18:19","nodeType":"ErrorDefinition","parameters":{"id":3473,"nodeType":"ParameterList","parameters":[],"src":"534:2:19"},"src":"510:27:19"},{"errorSelector":"4289c493","id":3476,"name":"OnlyOwners","nameLocation":"544:10:19","nodeType":"ErrorDefinition","parameters":{"id":3475,"nodeType":"ParameterList","parameters":[],"src":"554:2:19"},"src":"538:19:19"},{"errorSelector":"e6c4247b","id":3478,"name":"InvalidAddress","nameLocation":"564:14:19","nodeType":"ErrorDefinition","parameters":{"id":3477,"nodeType":"ParameterList","parameters":[],"src":"578:2:19"},"src":"558:23:19"},{"errorSelector":"1a3d9e2e","id":3480,"name":"InvalidCardNumber","nameLocation":"588:17:19","nodeType":"ErrorDefinition","parameters":{"id":3479,"nodeType":"ParameterList","parameters":[],"src":"605:2:19"},"src":"582:26:19"},{"errorSelector":"2f352531","id":3482,"name":"InvalidTransfer","nameLocation":"615:15:19","nodeType":"ErrorDefinition","parameters":{"id":3481,"nodeType":"ParameterList","parameters":[],"src":"630:2:19"},"src":"609:24:19"},{"errorSelector":"8baa579f","id":3484,"name":"InvalidSignature","nameLocation":"640:16:19","nodeType":"ErrorDefinition","parameters":{"id":3483,"nodeType":"ParameterList","parameters":[],"src":"656:2:19"},"src":"634:25:19"},{"errorSelector":"4b1c6ca1","id":3486,"name":"IncorrectPrizeAmount","nameLocation":"666:20:19","nodeType":"ErrorDefinition","parameters":{"id":3485,"nodeType":"ParameterList","parameters":[],"src":"686:2:19"},"src":"660:29:19"},{"errorSelector":"b154b3b0","id":3488,"name":"WrongPacksQuantity","nameLocation":"696:18:19","nodeType":"ErrorDefinition","parameters":{"id":3487,"nodeType":"ParameterList","parameters":[],"src":"714:2:19"},"src":"690:27:19"},{"errorSelector":"7f6ecdf5","id":3490,"name":"NotYourPack","nameLocation":"724:11:19","nodeType":"ErrorDefinition","parameters":{"id":3489,"nodeType":"ParameterList","parameters":[],"src":"735:2:19"},"src":"718:20:19"},{"errorSelector":"9dcca733","id":3492,"name":"CardLimitExceeded","nameLocation":"745:17:19","nodeType":"ErrorDefinition","parameters":{"id":3491,"nodeType":"ParameterList","parameters":[],"src":"762:2:19"},"src":"739:26:19"},{"errorSelector":"843c0744","id":3494,"name":"UserDoesNotHaveCardOrAlbum","nameLocation":"772:26:19","nodeType":"ErrorDefinition","parameters":{"id":3493,"nodeType":"ParameterList","parameters":[],"src":"798:2:19"},"src":"766:35:19"},{"errorSelector":"356680b7","id":3496,"name":"InsufficientFunds","nameLocation":"808:17:19","nodeType":"ErrorDefinition","parameters":{"id":3495,"nodeType":"ParameterList","parameters":[],"src":"825:2:19"},"src":"802:26:19"},{"errorSelector":"907d371a","id":3498,"name":"InsufficientCards","nameLocation":"835:17:19","nodeType":"ErrorDefinition","parameters":{"id":3497,"nodeType":"ParameterList","parameters":[],"src":"852:2:19"},"src":"829:26:19"},{"errorSelector":"07bd0520","id":3500,"name":"MustCompleteAlbum","nameLocation":"862:17:19","nodeType":"ErrorDefinition","parameters":{"id":3499,"nodeType":"ParameterList","parameters":[],"src":"879:2:19"},"src":"856:26:19"},{"errorSelector":"e07c7c8d","id":3502,"name":"CannotRemoveUserOffers","nameLocation":"889:22:19","nodeType":"ErrorDefinition","parameters":{"id":3501,"nodeType":"ParameterList","parameters":[],"src":"911:2:19"},"src":"883:31:19"},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaPacksContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":3525,"linearizedBaseContracts":[3525],"name":"IgammaPacksContract","nameLocation":"926:19:19","nodeType":"ContractDefinition","nodes":[{"functionSelector":"d3e6a7ad","id":3509,"implemented":false,"kind":"function","modifiers":[],"name":"getPackOwner","nameLocation":"959:12:19","nodeType":"FunctionDefinition","parameters":{"id":3505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3504,"mutability":"mutable","name":"tokenId","nameLocation":"980:7:19","nodeType":"VariableDeclaration","scope":3509,"src":"972:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3503,"name":"uint256","nodeType":"ElementaryTypeName","src":"972:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"971:17:19"},"returnParameters":{"id":3508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3507,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3509,"src":"1012:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3506,"name":"address","nodeType":"ElementaryTypeName","src":"1012:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1011:9:19"},"scope":3525,"src":"950:71:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"80f2540b","id":3516,"implemented":false,"kind":"function","modifiers":[],"name":"openPack","nameLocation":"1034:8:19","nodeType":"FunctionDefinition","parameters":{"id":3514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3511,"mutability":"mutable","name":"tokenId","nameLocation":"1051:7:19","nodeType":"VariableDeclaration","scope":3516,"src":"1043:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3510,"name":"uint256","nodeType":"ElementaryTypeName","src":"1043:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3513,"mutability":"mutable","name":"owner","nameLocation":"1068:5:19","nodeType":"VariableDeclaration","scope":3516,"src":"1060:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3512,"name":"address","nodeType":"ElementaryTypeName","src":"1060:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1042:32:19"},"returnParameters":{"id":3515,"nodeType":"ParameterList","parameters":[],"src":"1083:0:19"},"scope":3525,"src":"1025:59:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"97f8b3d3","id":3524,"implemented":false,"kind":"function","modifiers":[],"name":"openPacks","nameLocation":"1097:9:19","nodeType":"FunctionDefinition","parameters":{"id":3522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3519,"mutability":"mutable","name":"tokenIds","nameLocation":"1124:8:19","nodeType":"VariableDeclaration","scope":3524,"src":"1107:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3517,"name":"uint256","nodeType":"ElementaryTypeName","src":"1107:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3518,"nodeType":"ArrayTypeName","src":"1107:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3521,"mutability":"mutable","name":"owner","nameLocation":"1142:5:19","nodeType":"VariableDeclaration","scope":3524,"src":"1134:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3520,"name":"address","nodeType":"ElementaryTypeName","src":"1134:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1106:42:19"},"returnParameters":{"id":3523,"nodeType":"ParameterList","parameters":[],"src":"1157:0:19"},"scope":3525,"src":"1088:70:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5638,"src":"916:244:19","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaOffersContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":3565,"linearizedBaseContracts":[3565],"name":"IgammaOffersContract","nameLocation":"1172:20:19","nodeType":"ContractDefinition","nodes":[{"functionSelector":"2edb5fcf","id":3534,"implemented":false,"kind":"function","modifiers":[],"name":"hasOffer","nameLocation":"1206:8:19","nodeType":"FunctionDefinition","parameters":{"id":3530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3527,"mutability":"mutable","name":"user","nameLocation":"1223:4:19","nodeType":"VariableDeclaration","scope":3534,"src":"1215:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3526,"name":"address","nodeType":"ElementaryTypeName","src":"1215:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3529,"mutability":"mutable","name":"cardNumber","nameLocation":"1235:10:19","nodeType":"VariableDeclaration","scope":3534,"src":"1229:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3528,"name":"uint8","nodeType":"ElementaryTypeName","src":"1229:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1214:32:19"},"returnParameters":{"id":3533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3534,"src":"1270:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3531,"name":"bool","nodeType":"ElementaryTypeName","src":"1270:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1269:6:19"},"scope":3565,"src":"1197:79:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"fc9e80fc","id":3541,"implemented":false,"kind":"function","modifiers":[],"name":"removeOffersByUser","nameLocation":"1289:18:19","nodeType":"FunctionDefinition","parameters":{"id":3537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3536,"mutability":"mutable","name":"user","nameLocation":"1316:4:19","nodeType":"VariableDeclaration","scope":3541,"src":"1308:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3535,"name":"address","nodeType":"ElementaryTypeName","src":"1308:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1307:14:19"},"returnParameters":{"id":3540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3541,"src":"1340:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3538,"name":"bool","nodeType":"ElementaryTypeName","src":"1340:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1339:6:19"},"scope":3565,"src":"1280:66:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"functionSelector":"0cdb3117","id":3548,"implemented":false,"kind":"function","modifiers":[],"name":"getOffersByUserCounter","nameLocation":"1359:22:19","nodeType":"FunctionDefinition","parameters":{"id":3544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3543,"mutability":"mutable","name":"user","nameLocation":"1390:4:19","nodeType":"VariableDeclaration","scope":3548,"src":"1382:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3542,"name":"address","nodeType":"ElementaryTypeName","src":"1382:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1381:14:19"},"returnParameters":{"id":3547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3546,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3548,"src":"1419:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3545,"name":"uint256","nodeType":"ElementaryTypeName","src":"1419:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1418:9:19"},"scope":3565,"src":"1350:78:19","stateMutability":"view","virtual":false,"visibility":"external"},{"functionSelector":"9f915069","id":3564,"implemented":false,"kind":"function","modifiers":[],"name":"getOfferByUserAndCardNumber","nameLocation":"1441:27:19","nodeType":"FunctionDefinition","parameters":{"id":3553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3550,"mutability":"mutable","name":"user","nameLocation":"1482:4:19","nodeType":"VariableDeclaration","scope":3564,"src":"1474:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3549,"name":"address","nodeType":"ElementaryTypeName","src":"1474:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3552,"mutability":"mutable","name":"cardNumber","nameLocation":"1498:10:19","nodeType":"VariableDeclaration","scope":3564,"src":"1492:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3551,"name":"uint8","nodeType":"ElementaryTypeName","src":"1492:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1468:44:19"},"returnParameters":{"id":3563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3564,"src":"1536:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3554,"name":"uint256","nodeType":"ElementaryTypeName","src":"1536:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3557,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3564,"src":"1545:5:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3556,"name":"uint8","nodeType":"ElementaryTypeName","src":"1545:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3564,"src":"1552:14:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":3558,"name":"uint8","nodeType":"ElementaryTypeName","src":"1552:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3559,"nodeType":"ArrayTypeName","src":"1552:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":3562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3564,"src":"1568:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3561,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1535:41:19"},"scope":3565,"src":"1432:145:19","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":5638,"src":"1162:417:19","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IgammaTicketsContract","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":3571,"linearizedBaseContracts":[3571],"name":"IgammaTicketsContract","nameLocation":"1591:21:19","nodeType":"ContractDefinition","nodes":[{"functionSelector":"fa8213d3","id":3570,"implemented":false,"kind":"function","modifiers":[],"name":"generateTicket","nameLocation":"1626:14:19","nodeType":"FunctionDefinition","parameters":{"id":3568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3567,"mutability":"mutable","name":"user","nameLocation":"1649:4:19","nodeType":"VariableDeclaration","scope":3570,"src":"1641:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3566,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1640:14:19"},"returnParameters":{"id":3569,"nodeType":"ParameterList","parameters":[],"src":"1663:0:19"},"scope":3571,"src":"1617:47:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5638,"src":"1581:85:19","usedErrors":[],"usedEvents":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":3572,"name":"NofGammaCardsNFTV1","nameLocations":["1696:18:19"],"nodeType":"IdentifierPath","referencedDeclaration":5707,"src":"1696:18:19"},"id":3573,"nodeType":"InheritanceSpecifier","src":"1696:18:19"},{"baseName":{"id":3574,"name":"Ownable","nameLocations":["1716:7:19"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"1716:7:19"},"id":3575,"nodeType":"InheritanceSpecifier","src":"1716:7:19"}],"canonicalName":"NofGammaCardsV5","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":5637,"linearizedBaseContracts":[5637,112,5707,1309,1465,1145,1492,137,1261,2471,2483,1852],"name":"NofGammaCardsV5","nameLocation":"1677:15:19","nodeType":"ContractDefinition","nodes":[{"global":false,"id":3578,"libraryName":{"id":3576,"name":"LibStringUtils","nameLocations":["1734:14:19"],"nodeType":"IdentifierPath","referencedDeclaration":6035,"src":"1734:14:19"},"nodeType":"UsingForDirective","src":"1728:31:19","typeName":{"id":3577,"name":"uint8","nodeType":"ElementaryTypeName","src":"1753:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}},{"global":false,"id":3582,"libraryName":{"id":3579,"name":"LibControlMgmt","nameLocations":["1768:14:19"],"nodeType":"IdentifierPath","referencedDeclaration":5909,"src":"1768:14:19"},"nodeType":"UsingForDirective","src":"1762:45:19","typeName":{"id":3581,"nodeType":"UserDefinedTypeName","pathNode":{"id":3580,"name":"LibControlMgmt.Data","nameLocations":["1787:14:19","1802:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"1787:19:19"},"referencedDeclaration":5718,"src":"1787:19:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}}},{"constant":false,"functionSelector":"2f9e026a","id":3585,"mutability":"mutable","name":"gammaPacksContract","nameLocation":"1838:18:19","nodeType":"VariableDeclaration","scope":5637,"src":"1811:45:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"},"typeName":{"id":3584,"nodeType":"UserDefinedTypeName","pathNode":{"id":3583,"name":"IgammaPacksContract","nameLocations":["1811:19:19"],"nodeType":"IdentifierPath","referencedDeclaration":3525,"src":"1811:19:19"},"referencedDeclaration":3525,"src":"1811:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"visibility":"public"},{"constant":false,"functionSelector":"d322b563","id":3588,"mutability":"mutable","name":"gammaOffersContract","nameLocation":"1888:19:19","nodeType":"VariableDeclaration","scope":5637,"src":"1860:47:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"},"typeName":{"id":3587,"nodeType":"UserDefinedTypeName","pathNode":{"id":3586,"name":"IgammaOffersContract","nameLocations":["1860:20:19"],"nodeType":"IdentifierPath","referencedDeclaration":3565,"src":"1860:20:19"},"referencedDeclaration":3565,"src":"1860:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"visibility":"public"},{"constant":false,"functionSelector":"14cca36a","id":3591,"mutability":"mutable","name":"gammaTicketsContract","nameLocation":"1940:20:19","nodeType":"VariableDeclaration","scope":5637,"src":"1911:49:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"},"typeName":{"id":3590,"nodeType":"UserDefinedTypeName","pathNode":{"id":3589,"name":"IgammaTicketsContract","nameLocations":["1911:21:19"],"nodeType":"IdentifierPath","referencedDeclaration":3571,"src":"1911:21:19"},"referencedDeclaration":3571,"src":"1911:21:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"visibility":"public"},{"constant":false,"id":3594,"mutability":"mutable","name":"ownersData","nameLocation":"1993:10:19","nodeType":"VariableDeclaration","scope":5637,"src":"1965:38:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":3593,"nodeType":"UserDefinedTypeName","pathNode":{"id":3592,"name":"LibControlMgmt.Data","nameLocations":["1965:14:19","1980:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"1965:19:19"},"referencedDeclaration":5718,"src":"1965:19:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"constant":false,"id":3597,"mutability":"mutable","name":"signersData","nameLocation":"2035:11:19","nodeType":"VariableDeclaration","scope":5637,"src":"2007:39:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":3596,"nodeType":"UserDefinedTypeName","pathNode":{"id":3595,"name":"LibControlMgmt.Data","nameLocations":["2007:14:19","2022:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"2007:19:19"},"referencedDeclaration":5718,"src":"2007:19:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"private"},{"constant":false,"functionSelector":"ab535160","id":3600,"mutability":"mutable","name":"s_maxPacksToOpenAtOnce","nameLocation":"2064:22:19","nodeType":"VariableDeclaration","scope":5637,"src":"2051:40:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3598,"name":"uint8","nodeType":"ElementaryTypeName","src":"2051:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3130","id":3599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2089:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"constant":false,"functionSelector":"6d0af178","id":3603,"mutability":"mutable","name":"s_lotteryPrizePercentage","nameLocation":"2108:24:19","nodeType":"VariableDeclaration","scope":5637,"src":"2095:42:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3601,"name":"uint8","nodeType":"ElementaryTypeName","src":"2095:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3530","id":3602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2135:2:19","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"public"},{"constant":false,"functionSelector":"e606df87","id":3605,"mutability":"mutable","name":"DAI_TOKEN","nameLocation":"2156:9:19","nodeType":"VariableDeclaration","scope":5637,"src":"2141:24:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3604,"name":"address","nodeType":"ElementaryTypeName","src":"2141:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"82d8a118","id":3607,"mutability":"mutable","name":"s_tokenIdCounter","nameLocation":"2184:16:19","nodeType":"VariableDeclaration","scope":5637,"src":"2169:31:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3606,"name":"uint256","nodeType":"ElementaryTypeName","src":"2169:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"656bd0ad","id":3610,"mutability":"mutable","name":"s_packPrice","nameLocation":"2219:11:19","nodeType":"VariableDeclaration","scope":5637,"src":"2204:34:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3608,"name":"uint256","nodeType":"ElementaryTypeName","src":"2204:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3132653137","id":3609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2233:5:19","typeDescriptions":{"typeIdentifier":"t_rational_1200000000000000000_by_1","typeString":"int_const 1200000000000000000"},"value":"12e17"},"visibility":"public"},{"constant":false,"functionSelector":"d7093f40","id":3613,"mutability":"mutable","name":"s_prizesBalance","nameLocation":"2268:15:19","nodeType":"VariableDeclaration","scope":5637,"src":"2253:34:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3611,"name":"uint256","nodeType":"ElementaryTypeName","src":"2253:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":3612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2286:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"constant":false,"functionSelector":"21a7c6b0","id":3616,"mutability":"mutable","name":"s_mainAlbumPrize","nameLocation":"2306:16:19","nodeType":"VariableDeclaration","scope":5637,"src":"2291:39:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3614,"name":"uint256","nodeType":"ElementaryTypeName","src":"2291:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135653138","id":3615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2325:5:19","typeDescriptions":{"typeIdentifier":"t_rational_15000000000000000000_by_1","typeString":"int_const 15000000000000000000"},"value":"15e18"},"visibility":"public"},{"constant":false,"functionSelector":"b3526185","id":3619,"mutability":"mutable","name":"s_secondaryAlbumPrize","nameLocation":"2390:21:19","nodeType":"VariableDeclaration","scope":5637,"src":"2375:43:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3617,"name":"uint256","nodeType":"ElementaryTypeName","src":"2375:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31653138","id":3618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2414:4:19","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"visibility":"public"},{"constant":false,"functionSelector":"79e8dadc","id":3621,"mutability":"mutable","name":"s_mainUri","nameLocation":"2477:9:19","nodeType":"VariableDeclaration","scope":5637,"src":"2463:23:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":3620,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"4039327e","id":3623,"mutability":"mutable","name":"s_secondaryUri","nameLocation":"2504:14:19","nodeType":"VariableDeclaration","scope":5637,"src":"2490:28:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":3622,"name":"string","nodeType":"ElementaryTypeName","src":"2490:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"e8a7e31d","id":3625,"mutability":"mutable","name":"s_baseUri","nameLocation":"2536:9:19","nodeType":"VariableDeclaration","scope":5637,"src":"2522:23:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":3624,"name":"string","nodeType":"ElementaryTypeName","src":"2522:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"constant":false,"functionSelector":"e4ae0b9b","id":3627,"mutability":"mutable","name":"s_requireOpenPackSignerValidation","nameLocation":"2561:33:19","nodeType":"VariableDeclaration","scope":5637,"src":"2549:45:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3626,"name":"bool","nodeType":"ElementaryTypeName","src":"2549:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":false,"functionSelector":"147baac7","id":3630,"mutability":"mutable","name":"s_requireOfferValidationInMint","nameLocation":"2610:30:19","nodeType":"VariableDeclaration","scope":5637,"src":"2598:49:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3628,"name":"bool","nodeType":"ElementaryTypeName","src":"2598:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":3629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2643:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"constant":false,"functionSelector":"9a5613ad","id":3633,"mutability":"mutable","name":"s_requireOfferValidationInTransfer","nameLocation":"2663:34:19","nodeType":"VariableDeclaration","scope":5637,"src":"2651:53:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3631,"name":"bool","nodeType":"ElementaryTypeName","src":"2651:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":3632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2700:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"canonicalName":"NofGammaCardsV5.Card","id":3644,"members":[{"constant":false,"id":3635,"mutability":"mutable","name":"tokenId","nameLocation":"2735:7:19","nodeType":"VariableDeclaration","scope":3644,"src":"2727:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3634,"name":"uint256","nodeType":"ElementaryTypeName","src":"2727:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3637,"mutability":"mutable","name":"number","nameLocation":"2756:6:19","nodeType":"VariableDeclaration","scope":3644,"src":"2748:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3636,"name":"uint256","nodeType":"ElementaryTypeName","src":"2748:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3639,"mutability":"mutable","name":"pasted","nameLocation":"2773:6:19","nodeType":"VariableDeclaration","scope":3644,"src":"2768:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3638,"name":"bool","nodeType":"ElementaryTypeName","src":"2768:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3641,"mutability":"mutable","name":"class","nameLocation":"2791:5:19","nodeType":"VariableDeclaration","scope":3644,"src":"2785:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3640,"name":"uint8","nodeType":"ElementaryTypeName","src":"2785:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3643,"mutability":"mutable","name":"completion","nameLocation":"2868:10:19","nodeType":"VariableDeclaration","scope":3644,"src":"2860:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3642,"name":"uint256","nodeType":"ElementaryTypeName","src":"2860:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Card","nameLocation":"2716:4:19","nodeType":"StructDefinition","scope":5637,"src":"2709:219:19","visibility":"public"},{"constant":false,"functionSelector":"4c03cd0b","id":3649,"mutability":"mutable","name":"s_cards","nameLocation":"2972:7:19","nodeType":"VariableDeclaration","scope":5637,"src":"2932:47:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3644_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card)"},"typeName":{"id":3648,"keyName":"tokenId","keyNameLocation":"2948:7:19","keyType":{"id":3645,"name":"uint256","nodeType":"ElementaryTypeName","src":"2940:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2932:32:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3644_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3647,"nodeType":"UserDefinedTypeName","pathNode":{"id":3646,"name":"Card","nameLocations":["2959:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":3644,"src":"2959:4:19"},"referencedDeclaration":3644,"src":"2959:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3644_storage_ptr","typeString":"struct NofGammaCardsV5.Card"}}},"visibility":"public"},{"constant":false,"functionSelector":"88e0ef80","id":3653,"mutability":"mutable","name":"s_cardsInventory","nameLocation":"3036:16:19","nodeType":"VariableDeclaration","scope":5637,"src":"2983:69:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":3652,"keyName":"cardNumber","keyNameLocation":"2999:10:19","keyType":{"id":3650,"name":"uint256","nodeType":"ElementaryTypeName","src":"2991:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2983:45:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"amount","valueNameLocation":"3021:6:19","valueType":{"id":3651,"name":"uint256","nodeType":"ElementaryTypeName","src":"3013:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"07b2e246","id":3657,"mutability":"mutable","name":"s_burnedCards","nameLocation":"3127:13:19","nodeType":"VariableDeclaration","scope":5637,"src":"3080:60:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":3656,"keyName":"user","keyNameLocation":"3096:4:19","keyType":{"id":3654,"name":"address","nodeType":"ElementaryTypeName","src":"3088:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3080:39:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"amount","valueNameLocation":"3112:6:19","valueType":{"id":3655,"name":"uint256","nodeType":"ElementaryTypeName","src":"3104:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"9ff26efd","id":3663,"mutability":"mutable","name":"s_cardsByUser","nameLocation":"3218:13:19","nodeType":"VariableDeclaration","scope":5637,"src":"3144:87:19","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"},"typeName":{"id":3662,"keyName":"user","keyNameLocation":"3160:4:19","keyType":{"id":3658,"name":"address","nodeType":"ElementaryTypeName","src":"3152:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3144:66:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3661,"keyName":"cardNumber","keyNameLocation":"3182:10:19","keyType":{"id":3659,"name":"uint8","nodeType":"ElementaryTypeName","src":"3176:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"3168:41:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"},"valueName":"amount","valueNameLocation":"3202:6:19","valueType":{"id":3660,"name":"uint8","nodeType":"ElementaryTypeName","src":"3196:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}}},"visibility":"public"},{"anonymous":false,"eventSelector":"538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead0","id":3667,"name":"NewGammaOffersContract","nameLocation":"3242:22:19","nodeType":"EventDefinition","parameters":{"id":3666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3665,"indexed":true,"mutability":"mutable","name":"newGammaOffersContract","nameLocation":"3281:22:19","nodeType":"VariableDeclaration","scope":3667,"src":"3265:38:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3664,"name":"address","nodeType":"ElementaryTypeName","src":"3265:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3264:40:19"},"src":"3236:69:19"},{"anonymous":false,"eventSelector":"5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f","id":3671,"name":"NewGammaPacksContract","nameLocation":"3314:21:19","nodeType":"EventDefinition","parameters":{"id":3670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3669,"indexed":true,"mutability":"mutable","name":"newGammaPacksContract","nameLocation":"3352:21:19","nodeType":"VariableDeclaration","scope":3671,"src":"3336:37:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3668,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3335:39:19"},"src":"3308:67:19"},{"anonymous":false,"eventSelector":"563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa202","id":3675,"name":"NewGammaTicketsContract","nameLocation":"3384:23:19","nodeType":"EventDefinition","parameters":{"id":3674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3673,"indexed":true,"mutability":"mutable","name":"newGammaTicketContract","nameLocation":"3424:22:19","nodeType":"VariableDeclaration","scope":3675,"src":"3408:38:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3672,"name":"address","nodeType":"ElementaryTypeName","src":"3408:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3407:40:19"},"src":"3378:70:19"},{"anonymous":false,"eventSelector":"babe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e3","id":3684,"name":"PackOpened","nameLocation":"3457:10:19","nodeType":"EventDefinition","parameters":{"id":3683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3677,"indexed":true,"mutability":"mutable","name":"player","nameLocation":"3484:6:19","nodeType":"VariableDeclaration","scope":3684,"src":"3468:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3676,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3680,"indexed":true,"mutability":"mutable","name":"packData","nameLocation":"3508:8:19","nodeType":"VariableDeclaration","scope":3684,"src":"3492:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":3678,"name":"uint8","nodeType":"ElementaryTypeName","src":"3492:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3679,"nodeType":"ArrayTypeName","src":"3492:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":3682,"indexed":true,"mutability":"mutable","name":"packNumber","nameLocation":"3534:10:19","nodeType":"VariableDeclaration","scope":3684,"src":"3518:26:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3681,"name":"uint256","nodeType":"ElementaryTypeName","src":"3518:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3467:78:19"},"src":"3451:95:19"},{"anonymous":false,"eventSelector":"6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa","id":3690,"name":"AlbumCompleted","nameLocation":"3555:14:19","nodeType":"EventDefinition","parameters":{"id":3689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3686,"indexed":true,"mutability":"mutable","name":"player","nameLocation":"3586:6:19","nodeType":"VariableDeclaration","scope":3690,"src":"3570:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3685,"name":"address","nodeType":"ElementaryTypeName","src":"3570:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3688,"indexed":true,"mutability":"mutable","name":"albumClass","nameLocation":"3608:10:19","nodeType":"VariableDeclaration","scope":3690,"src":"3594:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3687,"name":"uint8","nodeType":"ElementaryTypeName","src":"3594:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3569:50:19"},"src":"3549:71:19"},{"anonymous":false,"eventSelector":"7ab6504e276a4cc030e62b9e8909a879d55dba80fca5fa9d909fbe6bf19798ba","id":3698,"name":"CardPasted","nameLocation":"3629:10:19","nodeType":"EventDefinition","parameters":{"id":3697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3692,"indexed":true,"mutability":"mutable","name":"player","nameLocation":"3656:6:19","nodeType":"VariableDeclaration","scope":3698,"src":"3640:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3691,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3694,"indexed":true,"mutability":"mutable","name":"cardTokenId","nameLocation":"3680:11:19","nodeType":"VariableDeclaration","scope":3698,"src":"3664:27:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3693,"name":"uint256","nodeType":"ElementaryTypeName","src":"3664:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3696,"indexed":true,"mutability":"mutable","name":"albumTokenId","nameLocation":"3709:12:19","nodeType":"VariableDeclaration","scope":3698,"src":"3693:28:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3695,"name":"uint256","nodeType":"ElementaryTypeName","src":"3693:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3639:83:19"},"src":"3623:100:19"},{"anonymous":false,"eventSelector":"23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f20","id":3704,"name":"EmergencyWithdrawal","nameLocation":"3732:19:19","nodeType":"EventDefinition","parameters":{"id":3703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3700,"indexed":true,"mutability":"mutable","name":"receiver","nameLocation":"3768:8:19","nodeType":"VariableDeclaration","scope":3704,"src":"3752:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3699,"name":"address","nodeType":"ElementaryTypeName","src":"3752:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3702,"indexed":true,"mutability":"mutable","name":"amount","nameLocation":"3794:6:19","nodeType":"VariableDeclaration","scope":3704,"src":"3778:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3701,"name":"uint256","nodeType":"ElementaryTypeName","src":"3778:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3751:50:19"},"src":"3726:76:19"},{"anonymous":false,"eventSelector":"ffafe5c39be83f4bcf20d7e1a150f6e21c1858ea0948315ba84b6b1c386d45bb","id":3708,"name":"NewSigner","nameLocation":"3811:9:19","nodeType":"EventDefinition","parameters":{"id":3707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3706,"indexed":true,"mutability":"mutable","name":"newSigner","nameLocation":"3837:9:19","nodeType":"VariableDeclaration","scope":3708,"src":"3821:25:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3705,"name":"address","nodeType":"ElementaryTypeName","src":"3821:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3820:27:19"},"src":"3805:43:19"},{"anonymous":false,"eventSelector":"abfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec6","id":3714,"name":"NewUris","nameLocation":"3857:7:19","nodeType":"EventDefinition","parameters":{"id":3713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3710,"indexed":true,"mutability":"mutable","name":"newMainUri","nameLocation":"3880:10:19","nodeType":"VariableDeclaration","scope":3714,"src":"3865:25:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3709,"name":"string","nodeType":"ElementaryTypeName","src":"3865:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3712,"indexed":true,"mutability":"mutable","name":"newSecondaryUri","nameLocation":"3907:15:19","nodeType":"VariableDeclaration","scope":3714,"src":"3892:30:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3711,"name":"string","nodeType":"ElementaryTypeName","src":"3892:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3864:59:19"},"src":"3851:73:19"},{"anonymous":false,"eventSelector":"52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524","id":3724,"name":"OfferCardsExchanged","nameLocation":"3933:19:19","nodeType":"EventDefinition","parameters":{"id":3723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3716,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"3969:4:19","nodeType":"VariableDeclaration","scope":3724,"src":"3953:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3715,"name":"address","nodeType":"ElementaryTypeName","src":"3953:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3718,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"3991:2:19","nodeType":"VariableDeclaration","scope":3724,"src":"3975:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3717,"name":"address","nodeType":"ElementaryTypeName","src":"3975:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3720,"indexed":false,"mutability":"mutable","name":"cardNumberFrom","nameLocation":"4001:14:19","nodeType":"VariableDeclaration","scope":3724,"src":"3995:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3719,"name":"uint8","nodeType":"ElementaryTypeName","src":"3995:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":3722,"indexed":false,"mutability":"mutable","name":"cardNumberTo","nameLocation":"4023:12:19","nodeType":"VariableDeclaration","scope":3724,"src":"4017:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3721,"name":"uint8","nodeType":"ElementaryTypeName","src":"4017:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3952:84:19"},"src":"3927:110:19"},{"anonymous":false,"eventSelector":"1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da","id":3732,"name":"CardTransfered","nameLocation":"4046:14:19","nodeType":"EventDefinition","parameters":{"id":3731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3726,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"4077:4:19","nodeType":"VariableDeclaration","scope":3732,"src":"4061:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3725,"name":"address","nodeType":"ElementaryTypeName","src":"4061:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3728,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"4099:2:19","nodeType":"VariableDeclaration","scope":3732,"src":"4083:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3727,"name":"address","nodeType":"ElementaryTypeName","src":"4083:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3730,"indexed":false,"mutability":"mutable","name":"cardNumber","nameLocation":"4109:10:19","nodeType":"VariableDeclaration","scope":3732,"src":"4103:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3729,"name":"uint8","nodeType":"ElementaryTypeName","src":"4103:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"4060:60:19"},"src":"4040:81:19"},{"anonymous":false,"eventSelector":"368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b","id":3741,"name":"CardsTransfered","nameLocation":"4130:15:19","nodeType":"EventDefinition","parameters":{"id":3740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3734,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"4162:4:19","nodeType":"VariableDeclaration","scope":3741,"src":"4146:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3733,"name":"address","nodeType":"ElementaryTypeName","src":"4146:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3736,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"4184:2:19","nodeType":"VariableDeclaration","scope":3741,"src":"4168:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3735,"name":"address","nodeType":"ElementaryTypeName","src":"4168:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3739,"indexed":true,"mutability":"mutable","name":"cardNumber","nameLocation":"4204:10:19","nodeType":"VariableDeclaration","scope":3741,"src":"4188:26:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":3737,"name":"uint8","nodeType":"ElementaryTypeName","src":"4188:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3738,"nodeType":"ArrayTypeName","src":"4188:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"4145:70:19"},"src":"4124:92:19"},{"anonymous":false,"eventSelector":"dbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b1","id":3748,"name":"CardsBurned","nameLocation":"4225:11:19","nodeType":"EventDefinition","parameters":{"id":3747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3743,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"4253:4:19","nodeType":"VariableDeclaration","scope":3748,"src":"4237:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3742,"name":"address","nodeType":"ElementaryTypeName","src":"4237:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3746,"indexed":true,"mutability":"mutable","name":"cardsNumber","nameLocation":"4275:11:19","nodeType":"VariableDeclaration","scope":3748,"src":"4259:27:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":3744,"name":"uint8","nodeType":"ElementaryTypeName","src":"4259:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3745,"nodeType":"ArrayTypeName","src":"4259:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"4236:51:19"},"src":"4219:69:19"},{"body":{"id":3762,"nodeType":"Block","src":"4326:95:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3750,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4335:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4339:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4335:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3754,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"4357:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}],"id":3753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4349:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3752,"name":"address","nodeType":"ElementaryTypeName","src":"4349:7:19","typeDescriptions":{}}},"id":3755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4349:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4335:41:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3760,"nodeType":"IfStatement","src":"4332:77:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3757,"name":"OnlyGammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3472,"src":"4385:22:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:24:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3759,"nodeType":"RevertStatement","src":"4378:31:19"}},{"id":3761,"nodeType":"PlaceholderStatement","src":"4415:1:19"}]},"id":3763,"name":"onlyGammaPacksContract","nameLocation":"4301:22:19","nodeType":"ModifierDefinition","parameters":{"id":3749,"nodeType":"ParameterList","parameters":[],"src":"4323:2:19"},"src":"4292:129:19","virtual":false,"visibility":"internal"},{"body":{"id":3777,"nodeType":"Block","src":"4460:92:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3765,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4469:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4473:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4469:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3769,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"4491:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}],"id":3768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4483:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3767,"name":"address","nodeType":"ElementaryTypeName","src":"4483:7:19","typeDescriptions":{}}},"id":3770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4483:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4469:42:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3775,"nodeType":"IfStatement","src":"4466:74:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3772,"name":"OnlyOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3474,"src":"4520:18:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3774,"nodeType":"RevertStatement","src":"4513:27:19"}},{"id":3776,"nodeType":"PlaceholderStatement","src":"4546:1:19"}]},"id":3778,"name":"onlyGammaOffersContract","nameLocation":"4434:23:19","nodeType":"ModifierDefinition","parameters":{"id":3764,"nodeType":"ParameterList","parameters":[],"src":"4457:2:19"},"src":"4425:127:19","virtual":false,"visibility":"internal"},{"body":{"id":3791,"nodeType":"Block","src":"4578:72:19","statements":[{"condition":{"id":3785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4587:30:19","subExpression":{"baseExpression":{"expression":{"id":3780,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3594,"src":"4588:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4599:6:19","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"4588:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3784,"indexExpression":{"expression":{"id":3782,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4606:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4610:6:19","memberName":"sender","nodeType":"MemberAccess","src":"4606:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4588:29:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3789,"nodeType":"IfStatement","src":"4584:54:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3786,"name":"OnlyOwners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3476,"src":"4626:10:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3788,"nodeType":"RevertStatement","src":"4619:19:19"}},{"id":3790,"nodeType":"PlaceholderStatement","src":"4644:1:19"}]},"id":3792,"name":"onlyOwners","nameLocation":"4565:10:19","nodeType":"ModifierDefinition","parameters":{"id":3779,"nodeType":"ParameterList","parameters":[],"src":"4575:2:19"},"src":"4556:94:19","virtual":false,"visibility":"internal"},{"body":{"id":3807,"nodeType":"Block","src":"4698:68:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3796,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3794,"src":"4707:8:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":3799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4727:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4719:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3797,"name":"address","nodeType":"ElementaryTypeName","src":"4719:7:19","typeDescriptions":{}}},"id":3800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4719:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4707:22:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3805,"nodeType":"IfStatement","src":"4704:50:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3802,"name":"InvalidAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3478,"src":"4738:14:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:16:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3804,"nodeType":"RevertStatement","src":"4731:23:19"}},{"id":3806,"nodeType":"PlaceholderStatement","src":"4760:1:19"}]},"id":3808,"name":"checkAddressZero","nameLocation":"4663:16:19","nodeType":"ModifierDefinition","parameters":{"id":3795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3794,"mutability":"mutable","name":"_address","nameLocation":"4688:8:19","nodeType":"VariableDeclaration","scope":3808,"src":"4680:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3793,"name":"address","nodeType":"ElementaryTypeName","src":"4680:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4679:18:19"},"src":"4654:112:19","virtual":false,"visibility":"internal"},{"body":{"id":3935,"nodeType":"Block","src":"4988:657:19","statements":[{"expression":{"id":3832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3825,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3594,"src":"4994:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5005:6:19","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"4994:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3830,"indexExpression":{"expression":{"id":3827,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5012:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5016:6:19","memberName":"sender","nodeType":"MemberAccess","src":"5012:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4994:29:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5026:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4994:36:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3833,"nodeType":"ExpressionStatement","src":"4994:36:19"},{"expression":{"id":3836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3834,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"5037:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3835,"name":"_daiTokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3810,"src":"5049:16:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5037:28:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3837,"nodeType":"ExpressionStatement","src":"5037:28:19"},{"expression":{"id":3842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3838,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"5071:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3840,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3812,"src":"5112:19:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3839,"name":"IgammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"5092:19:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaPacksContract_$3525_$","typeString":"type(contract IgammaPacksContract)"}},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5092:40:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"src":"5071:61:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"id":3843,"nodeType":"ExpressionStatement","src":"5071:61:19"},{"expression":{"id":3848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3844,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"5138:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3846,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3816,"src":"5183:21:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3845,"name":"IgammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3571,"src":"5161:21:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaTicketsContract_$3571_$","typeString":"type(contract IgammaTicketsContract)"}},"id":3847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5161:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"src":"5138:67:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"id":3849,"nodeType":"ExpressionStatement","src":"5138:67:19"},{"expression":{"id":3854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3850,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"5211:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3852,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3814,"src":"5254:20:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3851,"name":"IgammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"5233:20:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaOffersContract_$3565_$","typeString":"type(contract IgammaOffersContract)"}},"id":3853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5233:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"src":"5211:64:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":3855,"nodeType":"ExpressionStatement","src":"5211:64:19"},{"expression":{"id":3858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3856,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"5282:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3857,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"5294:8:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5282:20:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3859,"nodeType":"ExpressionStatement","src":"5282:20:19"},{"expression":{"id":3883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3860,"name":"s_mainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3621,"src":"5308:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":3867,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"5350:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":3866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5344:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3865,"name":"bytes","nodeType":"ElementaryTypeName","src":"5344:5:19","typeDescriptions":{}}},"id":3868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5344:16:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":3871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5368:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":3870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5362:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3869,"name":"bytes","nodeType":"ElementaryTypeName","src":"5362:5:19","typeDescriptions":{}}},"id":3872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5362:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"313230","id":3875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5380:5:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_583f4f71b32721321fd0f20e674c3938142ce9f243e802c16cfc4def7d2dc523","typeString":"literal_string \"120\""},"value":"120"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_583f4f71b32721321fd0f20e674c3938142ce9f243e802c16cfc4def7d2dc523","typeString":"literal_string \"120\""}],"id":3874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5374:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3873,"name":"bytes","nodeType":"ElementaryTypeName","src":"5374:5:19","typeDescriptions":{}}},"id":3876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5374:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"462e6a736f6e","id":3879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5394:8:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""},"value":"F.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""}],"id":3878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5388:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3877,"name":"bytes","nodeType":"ElementaryTypeName","src":"5388:5:19","typeDescriptions":{}}},"id":3880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:15:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5327:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5331:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"5327:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5327:77:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5320:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3861,"name":"string","nodeType":"ElementaryTypeName","src":"5320:6:19","typeDescriptions":{}}},"id":3882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5320:85:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5308:97:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3884,"nodeType":"ExpressionStatement","src":"5308:97:19"},{"expression":{"id":3908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3885,"name":"s_secondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3623,"src":"5411:14:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":3892,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"5465:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":3891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5459:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3890,"name":"bytes","nodeType":"ElementaryTypeName","src":"5459:5:19","typeDescriptions":{}}},"id":3893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5459:16:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":3896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5483:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":3895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5477:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3894,"name":"bytes","nodeType":"ElementaryTypeName","src":"5477:5:19","typeDescriptions":{}}},"id":3897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5477:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"313231","id":3900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5495:5:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9aa4ff60d3edb7fbc3b53bd780c9274ed80a5ba1a237d38b011edab2b031b4a","typeString":"literal_string \"121\""},"value":"121"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b9aa4ff60d3edb7fbc3b53bd780c9274ed80a5ba1a237d38b011edab2b031b4a","typeString":"literal_string \"121\""}],"id":3899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5489:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3898,"name":"bytes","nodeType":"ElementaryTypeName","src":"5489:5:19","typeDescriptions":{}}},"id":3901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5489:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"462e6a736f6e","id":3904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5509:8:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""},"value":"F.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e89312d9b1c1ffddb8d91a9503c4e5a2b95fb259f0184ae47a00b0e567380bb","typeString":"literal_string \"F.json\""}],"id":3903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5503:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3902,"name":"bytes","nodeType":"ElementaryTypeName","src":"5503:5:19","typeDescriptions":{}}},"id":3905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:15:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5442:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5446:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"5442:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5442:77:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5428:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3886,"name":"string","nodeType":"ElementaryTypeName","src":"5428:6:19","typeDescriptions":{}}},"id":3907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5428:97:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5411:114:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3909,"nodeType":"ExpressionStatement","src":"5411:114:19"},{"expression":{"id":3916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":3910,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"5531:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5543:7:19","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"5531:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3914,"indexExpression":{"id":3912,"name":"_signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3820,"src":"5551:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5531:28:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5562:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5531:35:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3917,"nodeType":"ExpressionStatement","src":"5531:35:19"},{"body":{"id":3933,"nodeType":"Block","src":"5603:38:19","statements":[{"expression":{"id":3931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3927,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"5611:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3929,"indexExpression":{"id":3928,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3919,"src":"5628:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5611:19:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":3930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5633:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5611:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3932,"nodeType":"ExpressionStatement","src":"5611:23:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3921,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3919,"src":"5589:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"313232","id":3922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5593:3:19","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"},"src":"5589:7:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3934,"initializationExpression":{"assignments":[3919],"declarations":[{"constant":false,"id":3919,"mutability":"mutable","name":"i","nameLocation":"5586:1:19","nodeType":"VariableDeclaration","scope":3934,"src":"5578:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3918,"name":"uint256","nodeType":"ElementaryTypeName","src":"5578:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3920,"nodeType":"VariableDeclarationStatement","src":"5578:9:19"},"loopExpression":{"expression":{"id":3925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5598:3:19","subExpression":{"id":3924,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3919,"src":"5598:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3926,"nodeType":"ExpressionStatement","src":"5598:3:19"},"nodeType":"ForStatement","src":"5573:68:19"}]},"functionSelector":"7de99bd9","id":3936,"implemented":true,"kind":"function","modifiers":[{"id":3823,"kind":"modifierInvocation","modifierName":{"id":3822,"name":"onlyOwner","nameLocations":["4978:9:19"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4978:9:19"},"nodeType":"ModifierInvocation","src":"4978:9:19"}],"name":"init","nameLocation":"4779:4:19","nodeType":"FunctionDefinition","parameters":{"id":3821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3810,"mutability":"mutable","name":"_daiTokenAddress","nameLocation":"4797:16:19","nodeType":"VariableDeclaration","scope":3936,"src":"4789:24:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3809,"name":"address","nodeType":"ElementaryTypeName","src":"4789:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3812,"mutability":"mutable","name":"_gammaPacksContract","nameLocation":"4827:19:19","nodeType":"VariableDeclaration","scope":3936,"src":"4819:27:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3811,"name":"address","nodeType":"ElementaryTypeName","src":"4819:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3814,"mutability":"mutable","name":"_gammaOffersContract","nameLocation":"4860:20:19","nodeType":"VariableDeclaration","scope":3936,"src":"4852:28:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3813,"name":"address","nodeType":"ElementaryTypeName","src":"4852:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3816,"mutability":"mutable","name":"_gammaTicketsContract","nameLocation":"4894:21:19","nodeType":"VariableDeclaration","scope":3936,"src":"4886:29:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3815,"name":"address","nodeType":"ElementaryTypeName","src":"4886:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3818,"mutability":"mutable","name":"_baseUri","nameLocation":"4935:8:19","nodeType":"VariableDeclaration","scope":3936,"src":"4921:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3817,"name":"string","nodeType":"ElementaryTypeName","src":"4921:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3820,"mutability":"mutable","name":"_signer","nameLocation":"4957:7:19","nodeType":"VariableDeclaration","scope":3936,"src":"4949:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3819,"name":"address","nodeType":"ElementaryTypeName","src":"4949:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4783:185:19"},"returnParameters":{"id":3824,"nodeType":"ParameterList","parameters":[],"src":"4988:0:19"},"scope":5637,"src":"4770:875:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":3949,"nodeType":"Block","src":"5706:41:19","statements":[{"expression":{"arguments":[{"id":3946,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3938,"src":"5732:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3943,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3594,"src":"5712:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5723:8:19","memberName":"addOwner","nodeType":"MemberAccess","referencedDeclaration":5774,"src":"5712:19:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$5718_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$5718_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":3947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5712:30:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3948,"nodeType":"ExpressionStatement","src":"5712:30:19"}]},"functionSelector":"7065cb48","id":3950,"implemented":true,"kind":"function","modifiers":[{"id":3941,"kind":"modifierInvocation","modifierName":{"id":3940,"name":"onlyOwners","nameLocations":["5695:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"5695:10:19"},"nodeType":"ModifierInvocation","src":"5695:10:19"}],"name":"addOwner","nameLocation":"5658:8:19","nodeType":"FunctionDefinition","parameters":{"id":3939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3938,"mutability":"mutable","name":"_newOwner","nameLocation":"5675:9:19","nodeType":"VariableDeclaration","scope":3950,"src":"5667:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3937,"name":"address","nodeType":"ElementaryTypeName","src":"5667:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5666:19:19"},"returnParameters":{"id":3942,"nodeType":"ParameterList","parameters":[],"src":"5706:0:19"},"scope":5637,"src":"5649:98:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":3963,"nodeType":"Block","src":"5816:49:19","statements":[{"expression":{"arguments":[{"id":3960,"name":"_ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3952,"src":"5845:14:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3957,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3594,"src":"5822:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5833:11:19","memberName":"removeOwner","nodeType":"MemberAccess","referencedDeclaration":5821,"src":"5822:22:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$5718_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$5718_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":3961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:38:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3962,"nodeType":"ExpressionStatement","src":"5822:38:19"}]},"functionSelector":"173825d9","id":3964,"implemented":true,"kind":"function","modifiers":[{"id":3955,"kind":"modifierInvocation","modifierName":{"id":3954,"name":"onlyOwners","nameLocations":["5805:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"5805:10:19"},"nodeType":"ModifierInvocation","src":"5805:10:19"}],"name":"removeOwner","nameLocation":"5760:11:19","nodeType":"FunctionDefinition","parameters":{"id":3953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3952,"mutability":"mutable","name":"_ownerToRemove","nameLocation":"5780:14:19","nodeType":"VariableDeclaration","scope":3964,"src":"5772:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3951,"name":"address","nodeType":"ElementaryTypeName","src":"5772:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5771:24:19"},"returnParameters":{"id":3956,"nodeType":"ParameterList","parameters":[],"src":"5816:0:19"},"scope":5637,"src":"5751:114:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":3977,"nodeType":"Block","src":"5928:44:19","statements":[{"expression":{"arguments":[{"id":3974,"name":"_newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3966,"src":"5956:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3971,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"5934:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5946:9:19","memberName":"addSigner","nodeType":"MemberAccess","referencedDeclaration":5861,"src":"5934:21:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$5718_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$5718_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":3975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5934:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3976,"nodeType":"ExpressionStatement","src":"5934:33:19"}]},"functionSelector":"eb12d61e","id":3978,"implemented":true,"kind":"function","modifiers":[{"id":3969,"kind":"modifierInvocation","modifierName":{"id":3968,"name":"onlyOwners","nameLocations":["5917:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"5917:10:19"},"nodeType":"ModifierInvocation","src":"5917:10:19"}],"name":"addSigner","nameLocation":"5878:9:19","nodeType":"FunctionDefinition","parameters":{"id":3967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3966,"mutability":"mutable","name":"_newSigner","nameLocation":"5896:10:19","nodeType":"VariableDeclaration","scope":3978,"src":"5888:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3965,"name":"address","nodeType":"ElementaryTypeName","src":"5888:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5887:20:19"},"returnParameters":{"id":3970,"nodeType":"ParameterList","parameters":[],"src":"5928:0:19"},"scope":5637,"src":"5869:103:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":3991,"nodeType":"Block","src":"6043:52:19","statements":[{"expression":{"arguments":[{"id":3988,"name":"_signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"6074:15:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3985,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"6049:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":3987,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6061:12:19","memberName":"removeSigner","nodeType":"MemberAccess","referencedDeclaration":5908,"src":"6049:24:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$5718_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_Data_$5718_storage_ptr_$","typeString":"function (struct LibControlMgmt.Data storage pointer,address)"}},"id":3989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6049:41:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3990,"nodeType":"ExpressionStatement","src":"6049:41:19"}]},"functionSelector":"0e316ab7","id":3992,"implemented":true,"kind":"function","modifiers":[{"id":3983,"kind":"modifierInvocation","modifierName":{"id":3982,"name":"onlyOwners","nameLocations":["6032:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"6032:10:19"},"nodeType":"ModifierInvocation","src":"6032:10:19"}],"name":"removeSigner","nameLocation":"5985:12:19","nodeType":"FunctionDefinition","parameters":{"id":3981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3980,"mutability":"mutable","name":"_signerToRemove","nameLocation":"6006:15:19","nodeType":"VariableDeclaration","scope":3992,"src":"5998:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3979,"name":"address","nodeType":"ElementaryTypeName","src":"5998:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5997:25:19"},"returnParameters":{"id":3984,"nodeType":"ParameterList","parameters":[],"src":"6043:0:19"},"scope":5637,"src":"5976:119:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4012,"nodeType":"Block","src":"6220:130:19","statements":[{"expression":{"id":4006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4002,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"6226:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4004,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3994,"src":"6269:20:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4003,"name":"IgammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6248:20:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaOffersContract_$3565_$","typeString":"type(contract IgammaOffersContract)"}},"id":4005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6248:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"src":"6226:64:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":4007,"nodeType":"ExpressionStatement","src":"6226:64:19"},{"eventCall":{"arguments":[{"id":4009,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3994,"src":"6324:20:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4008,"name":"NewGammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3667,"src":"6301:22:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6301:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4011,"nodeType":"EmitStatement","src":"6296:49:19"}]},"functionSelector":"128916dc","id":4013,"implemented":true,"kind":"function","modifiers":[{"id":3997,"kind":"modifierInvocation","modifierName":{"id":3996,"name":"onlyOwners","nameLocations":["6170:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"6170:10:19"},"nodeType":"ModifierInvocation","src":"6170:10:19"},{"arguments":[{"id":3999,"name":"_gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3994,"src":"6198:20:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4000,"kind":"modifierInvocation","modifierName":{"id":3998,"name":"checkAddressZero","nameLocations":["6181:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"6181:16:19"},"nodeType":"ModifierInvocation","src":"6181:38:19"}],"name":"setGammaOffersContract","nameLocation":"6108:22:19","nodeType":"FunctionDefinition","parameters":{"id":3995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3994,"mutability":"mutable","name":"_gammaOffersContract","nameLocation":"6139:20:19","nodeType":"VariableDeclaration","scope":4013,"src":"6131:28:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3993,"name":"address","nodeType":"ElementaryTypeName","src":"6131:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6130:30:19"},"returnParameters":{"id":4001,"nodeType":"ParameterList","parameters":[],"src":"6220:0:19"},"scope":5637,"src":"6099:251:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4033,"nodeType":"Block","src":"6471:125:19","statements":[{"expression":{"id":4027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4023,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"6477:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4025,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4015,"src":"6518:19:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4024,"name":"IgammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6498:19:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaPacksContract_$3525_$","typeString":"type(contract IgammaPacksContract)"}},"id":4026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6498:40:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"src":"6477:61:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"id":4028,"nodeType":"ExpressionStatement","src":"6477:61:19"},{"eventCall":{"arguments":[{"id":4030,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4015,"src":"6571:19:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4029,"name":"NewGammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3671,"src":"6549:21:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6549:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4032,"nodeType":"EmitStatement","src":"6544:47:19"}]},"functionSelector":"cafaa473","id":4034,"implemented":true,"kind":"function","modifiers":[{"id":4018,"kind":"modifierInvocation","modifierName":{"id":4017,"name":"onlyOwners","nameLocations":["6423:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"6423:10:19"},"nodeType":"ModifierInvocation","src":"6423:10:19"},{"arguments":[{"id":4020,"name":"_gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4015,"src":"6451:19:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4021,"kind":"modifierInvocation","modifierName":{"id":4019,"name":"checkAddressZero","nameLocations":["6434:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"6434:16:19"},"nodeType":"ModifierInvocation","src":"6434:37:19"}],"name":"setGammaPacksContract","nameLocation":"6363:21:19","nodeType":"FunctionDefinition","parameters":{"id":4016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4015,"mutability":"mutable","name":"_gammaPacksContract","nameLocation":"6393:19:19","nodeType":"VariableDeclaration","scope":4034,"src":"6385:27:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4014,"name":"address","nodeType":"ElementaryTypeName","src":"6385:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6384:29:19"},"returnParameters":{"id":4022,"nodeType":"ParameterList","parameters":[],"src":"6471:0:19"},"scope":5637,"src":"6354:242:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4054,"nodeType":"Block","src":"6723:135:19","statements":[{"expression":{"id":4048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4044,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6729:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4046,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4036,"src":"6774:21:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4045,"name":"IgammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3571,"src":"6752:21:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IgammaTicketsContract_$3571_$","typeString":"type(contract IgammaTicketsContract)"}},"id":4047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6752:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"src":"6729:67:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"id":4049,"nodeType":"ExpressionStatement","src":"6729:67:19"},{"eventCall":{"arguments":[{"id":4051,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4036,"src":"6831:21:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4050,"name":"NewGammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3675,"src":"6807:23:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6807:46:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4053,"nodeType":"EmitStatement","src":"6802:51:19"}]},"functionSelector":"ddb975e8","id":4055,"implemented":true,"kind":"function","modifiers":[{"id":4039,"kind":"modifierInvocation","modifierName":{"id":4038,"name":"onlyOwners","nameLocations":["6673:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"6673:10:19"},"nodeType":"ModifierInvocation","src":"6673:10:19"},{"arguments":[{"id":4041,"name":"_gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4036,"src":"6701:21:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4042,"kind":"modifierInvocation","modifierName":{"id":4040,"name":"checkAddressZero","nameLocations":["6684:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"6684:16:19"},"nodeType":"ModifierInvocation","src":"6684:39:19"}],"name":"setGammaTicketsContract","nameLocation":"6609:23:19","nodeType":"FunctionDefinition","parameters":{"id":4037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4036,"mutability":"mutable","name":"_gammaTicketsContract","nameLocation":"6641:21:19","nodeType":"VariableDeclaration","scope":4055,"src":"6633:29:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4035,"name":"address","nodeType":"ElementaryTypeName","src":"6633:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6632:31:19"},"returnParameters":{"id":4043,"nodeType":"ParameterList","parameters":[],"src":"6723:0:19"},"scope":5637,"src":"6600:258:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4066,"nodeType":"Block","src":"6936:36:19","statements":[{"expression":{"id":4064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4062,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"6942:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":4063,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4057,"src":"6961:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6942:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4065,"nodeType":"ExpressionStatement","src":"6942:25:19"}]},"functionSelector":"5e31ce48","id":4067,"implemented":true,"kind":"function","modifiers":[{"id":4060,"kind":"modifierInvocation","modifierName":{"id":4059,"name":"onlyGammaPacksContract","nameLocations":["6913:22:19"],"nodeType":"IdentifierPath","referencedDeclaration":3763,"src":"6913:22:19"},"nodeType":"ModifierInvocation","src":"6913:22:19"}],"name":"setPrizesBalance","nameLocation":"6871:16:19","nodeType":"FunctionDefinition","parameters":{"id":4058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4057,"mutability":"mutable","name":"amount","nameLocation":"6896:6:19","nodeType":"VariableDeclaration","scope":4067,"src":"6888:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4056,"name":"uint256","nodeType":"ElementaryTypeName","src":"6888:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6887:16:19"},"returnParameters":{"id":4061,"nodeType":"ParameterList","parameters":[],"src":"6936:0:19"},"scope":5637,"src":"6862:110:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4085,"nodeType":"Block","src":"7039:87:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4074,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4069,"src":"7048:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7058:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7048:11:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4080,"nodeType":"IfStatement","src":"7045:45:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4077,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3486,"src":"7068:20:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7068:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4079,"nodeType":"RevertStatement","src":"7061:29:19"}},{"expression":{"id":4083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4081,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3616,"src":"7096:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4082,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4069,"src":"7115:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7096:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4084,"nodeType":"ExpressionStatement","src":"7096:25:19"}]},"functionSelector":"7232d7d4","id":4086,"implemented":true,"kind":"function","modifiers":[{"id":4072,"kind":"modifierInvocation","modifierName":{"id":4071,"name":"onlyOwners","nameLocations":["7028:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"7028:10:19"},"nodeType":"ModifierInvocation","src":"7028:10:19"}],"name":"setMainAlbumPrize","nameLocation":"6985:17:19","nodeType":"FunctionDefinition","parameters":{"id":4070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4069,"mutability":"mutable","name":"amount","nameLocation":"7011:6:19","nodeType":"VariableDeclaration","scope":4086,"src":"7003:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4068,"name":"uint256","nodeType":"ElementaryTypeName","src":"7003:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7002:16:19"},"returnParameters":{"id":4073,"nodeType":"ParameterList","parameters":[],"src":"7039:0:19"},"scope":5637,"src":"6976:150:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4104,"nodeType":"Block","src":"7198:92:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4093,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4088,"src":"7207:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7217:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7207:11:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4099,"nodeType":"IfStatement","src":"7204:45:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4096,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3486,"src":"7227:20:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7227:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4098,"nodeType":"RevertStatement","src":"7220:29:19"}},{"expression":{"id":4102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4100,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"7255:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4101,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4088,"src":"7279:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7255:30:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4103,"nodeType":"ExpressionStatement","src":"7255:30:19"}]},"functionSelector":"ba6c0fbc","id":4105,"implemented":true,"kind":"function","modifiers":[{"id":4091,"kind":"modifierInvocation","modifierName":{"id":4090,"name":"onlyOwners","nameLocations":["7187:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"7187:10:19"},"nodeType":"ModifierInvocation","src":"7187:10:19"}],"name":"setSecondaryAlbumPrize","nameLocation":"7139:22:19","nodeType":"FunctionDefinition","parameters":{"id":4089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4088,"mutability":"mutable","name":"amount","nameLocation":"7170:6:19","nodeType":"VariableDeclaration","scope":4105,"src":"7162:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4087,"name":"uint256","nodeType":"ElementaryTypeName","src":"7162:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7161:16:19"},"returnParameters":{"id":4092,"nodeType":"ParameterList","parameters":[],"src":"7198:0:19"},"scope":5637,"src":"7130:160:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4123,"nodeType":"Block","src":"7363:96:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4112,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4107,"src":"7372:6:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"313030","id":4113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7381:3:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"7372:12:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4118,"nodeType":"IfStatement","src":"7369:46:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4115,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3486,"src":"7393:20:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7393:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4117,"nodeType":"RevertStatement","src":"7386:29:19"}},{"expression":{"id":4121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4119,"name":"s_lotteryPrizePercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3603,"src":"7421:24:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4120,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4107,"src":"7448:6:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"7421:33:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4122,"nodeType":"ExpressionStatement","src":"7421:33:19"}]},"functionSelector":"7ce65f7b","id":4124,"implemented":true,"kind":"function","modifiers":[{"id":4110,"kind":"modifierInvocation","modifierName":{"id":4109,"name":"onlyOwners","nameLocations":["7352:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"7352:10:19"},"nodeType":"ModifierInvocation","src":"7352:10:19"}],"name":"setLotteryPrizePercentage","nameLocation":"7303:25:19","nodeType":"FunctionDefinition","parameters":{"id":4108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4107,"mutability":"mutable","name":"amount","nameLocation":"7335:6:19","nodeType":"VariableDeclaration","scope":4124,"src":"7329:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4106,"name":"uint8","nodeType":"ElementaryTypeName","src":"7329:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"7328:14:19"},"returnParameters":{"id":4111,"nodeType":"ParameterList","parameters":[],"src":"7363:0:19"},"scope":5637,"src":"7294:165:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4146,"nodeType":"Block","src":"7557:118:19","statements":[{"expression":{"id":4135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4133,"name":"s_mainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3621,"src":"7563:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4134,"name":"newMainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4126,"src":"7575:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7563:22:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4136,"nodeType":"ExpressionStatement","src":"7563:22:19"},{"expression":{"id":4139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4137,"name":"s_secondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3623,"src":"7591:14:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4138,"name":"newSecondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4128,"src":"7608:15:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7591:32:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4140,"nodeType":"ExpressionStatement","src":"7591:32:19"},{"eventCall":{"arguments":[{"id":4142,"name":"newMainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4126,"src":"7642:10:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4143,"name":"newSecondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4128,"src":"7654:15:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4141,"name":"NewUris","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3714,"src":"7634:7:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":4144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7634:36:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4145,"nodeType":"EmitStatement","src":"7629:41:19"}]},"functionSelector":"9c7f707f","id":4147,"implemented":true,"kind":"function","modifiers":[{"id":4131,"kind":"modifierInvocation","modifierName":{"id":4130,"name":"onlyOwners","nameLocations":["7546:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"7546:10:19"},"nodeType":"ModifierInvocation","src":"7546:10:19"}],"name":"setUris","nameLocation":"7472:7:19","nodeType":"FunctionDefinition","parameters":{"id":4129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4126,"mutability":"mutable","name":"newMainUri","nameLocation":"7494:10:19","nodeType":"VariableDeclaration","scope":4147,"src":"7480:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4125,"name":"string","nodeType":"ElementaryTypeName","src":"7480:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4128,"mutability":"mutable","name":"newSecondaryUri","nameLocation":"7520:15:19","nodeType":"VariableDeclaration","scope":4147,"src":"7506:29:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4127,"name":"string","nodeType":"ElementaryTypeName","src":"7506:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7479:57:19"},"returnParameters":{"id":4132,"nodeType":"ParameterList","parameters":[],"src":"7557:0:19"},"scope":5637,"src":"7463:212:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4158,"nodeType":"Block","src":"7761:55:19","statements":[{"expression":{"id":4156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4154,"name":"s_requireOpenPackSignerValidation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3627,"src":"7767:33:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4155,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4149,"src":"7803:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7767:44:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4157,"nodeType":"ExpressionStatement","src":"7767:44:19"}]},"functionSelector":"dbfc05cf","id":4159,"implemented":true,"kind":"function","modifiers":[{"id":4152,"kind":"modifierInvocation","modifierName":{"id":4151,"name":"onlyOwners","nameLocations":["7750:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"7750:10:19"},"nodeType":"ModifierInvocation","src":"7750:10:19"}],"name":"changeRequireOpenPackSignerValidation","nameLocation":"7688:37:19","nodeType":"FunctionDefinition","parameters":{"id":4150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4149,"mutability":"mutable","name":"required","nameLocation":"7731:8:19","nodeType":"VariableDeclaration","scope":4159,"src":"7726:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4148,"name":"bool","nodeType":"ElementaryTypeName","src":"7726:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7725:15:19"},"returnParameters":{"id":4153,"nodeType":"ParameterList","parameters":[],"src":"7761:0:19"},"scope":5637,"src":"7679:137:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4170,"nodeType":"Block","src":"7899:52:19","statements":[{"expression":{"id":4168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4166,"name":"s_requireOfferValidationInMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3630,"src":"7905:30:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4167,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4161,"src":"7938:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7905:41:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4169,"nodeType":"ExpressionStatement","src":"7905:41:19"}]},"functionSelector":"f98fd283","id":4171,"implemented":true,"kind":"function","modifiers":[{"id":4164,"kind":"modifierInvocation","modifierName":{"id":4163,"name":"onlyOwners","nameLocations":["7888:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"7888:10:19"},"nodeType":"ModifierInvocation","src":"7888:10:19"}],"name":"changeRequireOfferValidationInMint","nameLocation":"7829:34:19","nodeType":"FunctionDefinition","parameters":{"id":4162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4161,"mutability":"mutable","name":"required","nameLocation":"7869:8:19","nodeType":"VariableDeclaration","scope":4171,"src":"7864:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4160,"name":"bool","nodeType":"ElementaryTypeName","src":"7864:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7863:15:19"},"returnParameters":{"id":4165,"nodeType":"ParameterList","parameters":[],"src":"7899:0:19"},"scope":5637,"src":"7820:131:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4182,"nodeType":"Block","src":"8038:56:19","statements":[{"expression":{"id":4180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4178,"name":"s_requireOfferValidationInTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3633,"src":"8044:34:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4179,"name":"required","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4173,"src":"8081:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8044:45:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4181,"nodeType":"ExpressionStatement","src":"8044:45:19"}]},"functionSelector":"68cc5bc1","id":4183,"implemented":true,"kind":"function","modifiers":[{"id":4176,"kind":"modifierInvocation","modifierName":{"id":4175,"name":"onlyOwners","nameLocations":["8027:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"8027:10:19"},"nodeType":"ModifierInvocation","src":"8027:10:19"}],"name":"changeRequireOfferValidationInTransfer","nameLocation":"7964:38:19","nodeType":"FunctionDefinition","parameters":{"id":4174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4173,"mutability":"mutable","name":"required","nameLocation":"8008:8:19","nodeType":"VariableDeclaration","scope":4183,"src":"8003:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4172,"name":"bool","nodeType":"ElementaryTypeName","src":"8003:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8002:15:19"},"returnParameters":{"id":4177,"nodeType":"ParameterList","parameters":[],"src":"8038:0:19"},"scope":5637,"src":"7955:139:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4194,"nodeType":"Block","src":"8177:37:19","statements":[{"expression":{"id":4192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4190,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"8183:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4191,"name":"newPackPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4185,"src":"8197:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8183:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4193,"nodeType":"ExpressionStatement","src":"8183:26:19"}]},"functionSelector":"e1883c6e","id":4195,"implemented":true,"kind":"function","modifiers":[{"id":4188,"kind":"modifierInvocation","modifierName":{"id":4187,"name":"onlyGammaPacksContract","nameLocations":["8154:22:19"],"nodeType":"IdentifierPath","referencedDeclaration":3763,"src":"8154:22:19"},"nodeType":"ModifierInvocation","src":"8154:22:19"}],"name":"changePackPrice","nameLocation":"8107:15:19","nodeType":"FunctionDefinition","parameters":{"id":4186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4185,"mutability":"mutable","name":"newPackPrice","nameLocation":"8131:12:19","nodeType":"VariableDeclaration","scope":4195,"src":"8123:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4184,"name":"uint256","nodeType":"ElementaryTypeName","src":"8123:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8122:22:19"},"returnParameters":{"id":4189,"nodeType":"ParameterList","parameters":[],"src":"8177:0:19"},"scope":5637,"src":"8098:116:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4206,"nodeType":"Block","src":"8303:57:19","statements":[{"expression":{"id":4204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4202,"name":"s_maxPacksToOpenAtOnce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3600,"src":"8309:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4203,"name":"_maxPacksToOpenAtOnce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4197,"src":"8334:21:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8309:46:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4205,"nodeType":"ExpressionStatement","src":"8309:46:19"}]},"functionSelector":"241a08fe","id":4207,"implemented":true,"kind":"function","modifiers":[{"id":4200,"kind":"modifierInvocation","modifierName":{"id":4199,"name":"onlyOwners","nameLocations":["8292:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"8292:10:19"},"nodeType":"ModifierInvocation","src":"8292:10:19"}],"name":"changeMaxPacksToOpenAtOnce","nameLocation":"8227:26:19","nodeType":"FunctionDefinition","parameters":{"id":4198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4197,"mutability":"mutable","name":"_maxPacksToOpenAtOnce","nameLocation":"8260:21:19","nodeType":"VariableDeclaration","scope":4207,"src":"8254:27:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4196,"name":"uint8","nodeType":"ElementaryTypeName","src":"8254:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8253:29:19"},"returnParameters":{"id":4201,"nodeType":"ParameterList","parameters":[],"src":"8303:0:19"},"scope":5637,"src":"8218:142:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4223,"nodeType":"Block","src":"8456:44:19","statements":[{"expression":{"id":4221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"8462:33:19","subExpression":{"baseExpression":{"baseExpression":{"id":4216,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"8462:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4219,"indexExpression":{"id":4217,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4209,"src":"8476:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8462:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4220,"indexExpression":{"id":4218,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4211,"src":"8482:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8462:31:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4222,"nodeType":"ExpressionStatement","src":"8462:33:19"}]},"functionSelector":"7155a3ac","id":4224,"implemented":true,"kind":"function","modifiers":[{"id":4214,"kind":"modifierInvocation","modifierName":{"id":4213,"name":"onlyGammaOffersContract","nameLocations":["8432:23:19"],"nodeType":"IdentifierPath","referencedDeclaration":3778,"src":"8432:23:19"},"nodeType":"ModifierInvocation","src":"8432:23:19"}],"name":"removeCardByOffer","nameLocation":"8373:17:19","nodeType":"FunctionDefinition","parameters":{"id":4212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4209,"mutability":"mutable","name":"user","nameLocation":"8399:4:19","nodeType":"VariableDeclaration","scope":4224,"src":"8391:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4208,"name":"address","nodeType":"ElementaryTypeName","src":"8391:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4211,"mutability":"mutable","name":"cardNumber","nameLocation":"8411:10:19","nodeType":"VariableDeclaration","scope":4224,"src":"8405:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4210,"name":"uint8","nodeType":"ElementaryTypeName","src":"8405:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8390:32:19"},"returnParameters":{"id":4215,"nodeType":"ParameterList","parameters":[],"src":"8456:0:19"},"scope":5637,"src":"8364:136:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4240,"nodeType":"Block","src":"8597:44:19","statements":[{"expression":{"id":4238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"8603:33:19","subExpression":{"baseExpression":{"baseExpression":{"id":4233,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"8603:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4236,"indexExpression":{"id":4234,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4226,"src":"8617:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8603:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4237,"indexExpression":{"id":4235,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4228,"src":"8623:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8603:31:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4239,"nodeType":"ExpressionStatement","src":"8603:33:19"}]},"functionSelector":"155e2f92","id":4241,"implemented":true,"kind":"function","modifiers":[{"id":4231,"kind":"modifierInvocation","modifierName":{"id":4230,"name":"onlyGammaOffersContract","nameLocations":["8573:23:19"],"nodeType":"IdentifierPath","referencedDeclaration":3778,"src":"8573:23:19"},"nodeType":"ModifierInvocation","src":"8573:23:19"}],"name":"restoreCardByOffer","nameLocation":"8513:18:19","nodeType":"FunctionDefinition","parameters":{"id":4229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4226,"mutability":"mutable","name":"user","nameLocation":"8540:4:19","nodeType":"VariableDeclaration","scope":4241,"src":"8532:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4225,"name":"address","nodeType":"ElementaryTypeName","src":"8532:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4228,"mutability":"mutable","name":"cardNumber","nameLocation":"8552:10:19","nodeType":"VariableDeclaration","scope":4241,"src":"8546:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4227,"name":"uint8","nodeType":"ElementaryTypeName","src":"8546:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8531:32:19"},"returnParameters":{"id":4232,"nodeType":"ParameterList","parameters":[],"src":"8597:0:19"},"scope":5637,"src":"8504:137:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4260,"nodeType":"Block","src":"8770:53:19","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4252,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"8783:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4254,"indexExpression":{"id":4253,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4243,"src":"8797:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8783:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4256,"indexExpression":{"id":4255,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4245,"src":"8803:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8783:31:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8817:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8783:35:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4251,"id":4259,"nodeType":"Return","src":"8776:42:19"}]},"functionSelector":"8bf670c8","id":4261,"implemented":true,"kind":"function","modifiers":[{"id":4248,"kind":"modifierInvocation","modifierName":{"id":4247,"name":"onlyGammaOffersContract","nameLocations":["8727:23:19"],"nodeType":"IdentifierPath","referencedDeclaration":3778,"src":"8727:23:19"},"nodeType":"ModifierInvocation","src":"8727:23:19"}],"name":"hasCardByOffer","nameLocation":"8654:14:19","nodeType":"FunctionDefinition","parameters":{"id":4246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4243,"mutability":"mutable","name":"user","nameLocation":"8682:4:19","nodeType":"VariableDeclaration","scope":4261,"src":"8674:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4242,"name":"address","nodeType":"ElementaryTypeName","src":"8674:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4245,"mutability":"mutable","name":"cardNumber","nameLocation":"8698:10:19","nodeType":"VariableDeclaration","scope":4261,"src":"8692:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4244,"name":"uint8","nodeType":"ElementaryTypeName","src":"8692:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8668:44:19"},"returnParameters":{"id":4251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4250,"mutability":"mutable","name":"has","nameLocation":"8765:3:19","nodeType":"VariableDeclaration","scope":4261,"src":"8760:8:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4249,"name":"bool","nodeType":"ElementaryTypeName","src":"8760:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8759:10:19"},"scope":5637,"src":"8645:178:19","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":4281,"nodeType":"Block","src":"8927:50:19","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4273,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"8940:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4275,"indexExpression":{"id":4274,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4263,"src":"8954:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8940:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4277,"indexExpression":{"id":4276,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4265,"src":"8960:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8940:28:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8971:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8940:32:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4272,"id":4280,"nodeType":"Return","src":"8933:39:19"}]},"functionSelector":"886eb60f","id":4282,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4268,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4263,"src":"8902:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4269,"kind":"modifierInvocation","modifierName":{"id":4267,"name":"checkAddressZero","nameLocations":["8885:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"8885:16:19"},"nodeType":"ModifierInvocation","src":"8885:22:19"}],"name":"hasCard","nameLocation":"8836:7:19","nodeType":"FunctionDefinition","parameters":{"id":4266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4263,"mutability":"mutable","name":"user","nameLocation":"8852:4:19","nodeType":"VariableDeclaration","scope":4282,"src":"8844:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4262,"name":"address","nodeType":"ElementaryTypeName","src":"8844:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4265,"mutability":"mutable","name":"cardNum","nameLocation":"8864:7:19","nodeType":"VariableDeclaration","scope":4282,"src":"8858:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4264,"name":"uint8","nodeType":"ElementaryTypeName","src":"8858:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"8843:29:19"},"returnParameters":{"id":4272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4271,"mutability":"mutable","name":"has","nameLocation":"8922:3:19","nodeType":"VariableDeclaration","scope":4282,"src":"8917:8:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4270,"name":"bool","nodeType":"ElementaryTypeName","src":"8917:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8916:10:19"},"scope":5637,"src":"8827:150:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4294,"nodeType":"Block","src":"9041:41:19","statements":[{"expression":{"baseExpression":{"expression":{"id":4289,"name":"ownersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3594,"src":"9054:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":4290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9065:6:19","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"9054:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":4292,"indexExpression":{"id":4291,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4284,"src":"9072:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9054:23:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4288,"id":4293,"nodeType":"Return","src":"9047:30:19"}]},"functionSelector":"2f54bf6e","id":4295,"implemented":true,"kind":"function","modifiers":[],"name":"isOwner","nameLocation":"8990:7:19","nodeType":"FunctionDefinition","parameters":{"id":4285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4284,"mutability":"mutable","name":"user","nameLocation":"9006:4:19","nodeType":"VariableDeclaration","scope":4295,"src":"8998:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4283,"name":"address","nodeType":"ElementaryTypeName","src":"8998:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8997:14:19"},"returnParameters":{"id":4288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4295,"src":"9035:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4286,"name":"bool","nodeType":"ElementaryTypeName","src":"9035:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9034:6:19"},"scope":5637,"src":"8981:101:19","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":4307,"nodeType":"Block","src":"9147:43:19","statements":[{"expression":{"baseExpression":{"expression":{"id":4302,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"9160:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":4303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9172:7:19","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"9160:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":4305,"indexExpression":{"id":4304,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4297,"src":"9180:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9160:25:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4301,"id":4306,"nodeType":"Return","src":"9153:32:19"}]},"functionSelector":"7df73e27","id":4308,"implemented":true,"kind":"function","modifiers":[],"name":"isSigner","nameLocation":"9095:8:19","nodeType":"FunctionDefinition","parameters":{"id":4298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4297,"mutability":"mutable","name":"user","nameLocation":"9112:4:19","nodeType":"VariableDeclaration","scope":4308,"src":"9104:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4296,"name":"address","nodeType":"ElementaryTypeName","src":"9104:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9103:14:19"},"returnParameters":{"id":4301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4308,"src":"9141:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4299,"name":"bool","nodeType":"ElementaryTypeName","src":"9141:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9140:6:19"},"scope":5637,"src":"9086:104:19","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":4320,"nodeType":"Block","src":"9251:68:19","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4313,"name":"s_lotteryPrizePercentage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3603,"src":"9265:24:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":4314,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"9292:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9265:42:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4316,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9264:44:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"313030","id":4317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9311:3:19","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"9264:50:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4312,"id":4319,"nodeType":"Return","src":"9257:57:19"}]},"functionSelector":"d780c477","id":4321,"implemented":true,"kind":"function","modifiers":[],"name":"getLotteryPrize","nameLocation":"9203:15:19","nodeType":"FunctionDefinition","parameters":{"id":4309,"nodeType":"ParameterList","parameters":[],"src":"9218:2:19"},"returnParameters":{"id":4312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4321,"src":"9242:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4310,"name":"uint256","nodeType":"ElementaryTypeName","src":"9242:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9241:9:19"},"scope":5637,"src":"9194:125:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4339,"nodeType":"Block","src":"9434:46:19","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":4333,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"9447:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4335,"indexExpression":{"id":4334,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4323,"src":"9461:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9447:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4337,"indexExpression":{"id":4336,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4325,"src":"9467:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9447:28:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":4332,"id":4338,"nodeType":"Return","src":"9440:35:19"}]},"functionSelector":"1585cc4e","id":4340,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4328,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4323,"src":"9412:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4329,"kind":"modifierInvocation","modifierName":{"id":4327,"name":"checkAddressZero","nameLocations":["9395:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"9395:16:19"},"nodeType":"ModifierInvocation","src":"9395:22:19"}],"name":"getCardQuantityByUser","nameLocation":"9332:21:19","nodeType":"FunctionDefinition","parameters":{"id":4326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4323,"mutability":"mutable","name":"user","nameLocation":"9362:4:19","nodeType":"VariableDeclaration","scope":4340,"src":"9354:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4322,"name":"address","nodeType":"ElementaryTypeName","src":"9354:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4325,"mutability":"mutable","name":"cardNum","nameLocation":"9374:7:19","nodeType":"VariableDeclaration","scope":4340,"src":"9368:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4324,"name":"uint8","nodeType":"ElementaryTypeName","src":"9368:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9353:29:19"},"returnParameters":{"id":4332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4340,"src":"9427:5:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4330,"name":"uint8","nodeType":"ElementaryTypeName","src":"9427:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"9426:7:19"},"scope":5637,"src":"9323:157:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4354,"nodeType":"Block","src":"9584:37:19","statements":[{"expression":{"baseExpression":{"id":4350,"name":"s_burnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3657,"src":"9597:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":4352,"indexExpression":{"id":4351,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4342,"src":"9611:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9597:19:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4349,"id":4353,"nodeType":"Return","src":"9590:26:19"}]},"functionSelector":"7cf86b72","id":4355,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4345,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4342,"src":"9560:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4346,"kind":"modifierInvocation","modifierName":{"id":4344,"name":"checkAddressZero","nameLocations":["9543:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"9543:16:19"},"nodeType":"ModifierInvocation","src":"9543:22:19"}],"name":"getBurnedCardQttyByUser","nameLocation":"9493:23:19","nodeType":"FunctionDefinition","parameters":{"id":4343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4342,"mutability":"mutable","name":"user","nameLocation":"9525:4:19","nodeType":"VariableDeclaration","scope":4355,"src":"9517:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4341,"name":"address","nodeType":"ElementaryTypeName","src":"9517:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9516:14:19"},"returnParameters":{"id":4349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4355,"src":"9575:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4347,"name":"uint256","nodeType":"ElementaryTypeName","src":"9575:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9574:9:19"},"scope":5637,"src":"9484:137:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4528,"nodeType":"Block","src":"9739:822:19","statements":[{"assignments":[4373],"declarations":[{"constant":false,"id":4373,"mutability":"mutable","name":"cardNumbers","nameLocation":"9760:11:19","nodeType":"VariableDeclaration","scope":4528,"src":"9745:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4371,"name":"uint8","nodeType":"ElementaryTypeName","src":"9745:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4372,"nodeType":"ArrayTypeName","src":"9745:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":4379,"initialValue":{"arguments":[{"hexValue":"313232","id":4377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9786:3:19","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"}],"id":4376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9774:11:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":4374,"name":"uint8","nodeType":"ElementaryTypeName","src":"9778:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4375,"nodeType":"ArrayTypeName","src":"9778:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":4378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9774:16:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9745:45:19"},{"assignments":[4384],"declarations":[{"constant":false,"id":4384,"mutability":"mutable","name":"quantities","nameLocation":"9811:10:19","nodeType":"VariableDeclaration","scope":4528,"src":"9796:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4382,"name":"uint8","nodeType":"ElementaryTypeName","src":"9796:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4383,"nodeType":"ArrayTypeName","src":"9796:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":4390,"initialValue":{"arguments":[{"hexValue":"313232","id":4388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836:3:19","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"}],"id":4387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9824:11:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":4385,"name":"uint8","nodeType":"ElementaryTypeName","src":"9828:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4386,"nodeType":"ArrayTypeName","src":"9828:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":4389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9824:16:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9796:44:19"},{"assignments":[4395],"declarations":[{"constant":false,"id":4395,"mutability":"mutable","name":"offers","nameLocation":"9860:6:19","nodeType":"VariableDeclaration","scope":4528,"src":"9846:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":4393,"name":"bool","nodeType":"ElementaryTypeName","src":"9846:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4394,"nodeType":"ArrayTypeName","src":"9846:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"id":4401,"initialValue":{"arguments":[{"hexValue":"313232","id":4399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9880:3:19","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"122"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"}],"id":4398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9869:10:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bool[] memory)"},"typeName":{"baseType":{"id":4396,"name":"bool","nodeType":"ElementaryTypeName","src":"9873:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4397,"nodeType":"ArrayTypeName","src":"9873:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}}},"id":4400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9869:15:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9846:38:19"},{"assignments":[4403],"declarations":[{"constant":false,"id":4403,"mutability":"mutable","name":"index","nameLocation":"9896:5:19","nodeType":"VariableDeclaration","scope":4528,"src":"9890:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4402,"name":"uint8","nodeType":"ElementaryTypeName","src":"9890:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":4405,"initialValue":{"hexValue":"30","id":4404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9904:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9890:15:19"},{"body":{"id":4453,"nodeType":"Block","src":"9941:219:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4415,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"9953:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4417,"indexExpression":{"id":4416,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4357,"src":"9967:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9953:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4419,"indexExpression":{"id":4418,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4407,"src":"9973:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9953:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9978:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9953:26:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4452,"nodeType":"IfStatement","src":"9949:205:19","trueBody":{"id":4451,"nodeType":"Block","src":"9981:173:19","statements":[{"expression":{"id":4426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4422,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4373,"src":"9991:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4424,"indexExpression":{"id":4423,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10003:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9991:18:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4425,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4407,"src":"10012:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9991:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4427,"nodeType":"ExpressionStatement","src":"9991:22:19"},{"expression":{"id":4436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4428,"name":"quantities","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4384,"src":"10023:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4430,"indexExpression":{"id":4429,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10034:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10023:17:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":4431,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"10043:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4433,"indexExpression":{"id":4432,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4357,"src":"10057:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10043:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4435,"indexExpression":{"id":4434,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4407,"src":"10063:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10043:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10023:42:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4437,"nodeType":"ExpressionStatement","src":"10023:42:19"},{"expression":{"id":4446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4438,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"10075:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":4440,"indexExpression":{"id":4439,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10082:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10075:13:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4443,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4357,"src":"10120:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4444,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4407,"src":"10126:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4441,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"10091:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":4442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10111:8:19","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":3534,"src":"10091:28:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":4445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10091:37:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10075:53:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4447,"nodeType":"ExpressionStatement","src":"10075:53:19"},{"expression":{"id":4449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10138:7:19","subExpression":{"id":4448,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10138:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4450,"nodeType":"ExpressionStatement","src":"10138:7:19"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4409,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4407,"src":"9926:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313231","id":4410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9931:3:19","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"src":"9926:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4454,"initializationExpression":{"assignments":[4407],"declarations":[{"constant":false,"id":4407,"mutability":"mutable","name":"i","nameLocation":"9923:1:19","nodeType":"VariableDeclaration","scope":4454,"src":"9917:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4406,"name":"uint8","nodeType":"ElementaryTypeName","src":"9917:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":4408,"nodeType":"VariableDeclarationStatement","src":"9917:7:19"},"loopExpression":{"expression":{"id":4413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9936:3:19","subExpression":{"id":4412,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4407,"src":"9936:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4414,"nodeType":"ExpressionStatement","src":"9936:3:19"},"nodeType":"ForStatement","src":"9912:248:19"},{"assignments":[4459],"declarations":[{"constant":false,"id":4459,"mutability":"mutable","name":"userCardNumbers","nameLocation":"10181:15:19","nodeType":"VariableDeclaration","scope":4528,"src":"10166:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4457,"name":"uint8","nodeType":"ElementaryTypeName","src":"10166:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4458,"nodeType":"ArrayTypeName","src":"10166:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":4465,"initialValue":{"arguments":[{"id":4463,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10211:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10199:11:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":4460,"name":"uint8","nodeType":"ElementaryTypeName","src":"10203:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4461,"nodeType":"ArrayTypeName","src":"10203:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":4464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10199:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10166:51:19"},{"assignments":[4470],"declarations":[{"constant":false,"id":4470,"mutability":"mutable","name":"userCardsQtty","nameLocation":"10238:13:19","nodeType":"VariableDeclaration","scope":4528,"src":"10223:28:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4468,"name":"uint8","nodeType":"ElementaryTypeName","src":"10223:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4469,"nodeType":"ArrayTypeName","src":"10223:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":4476,"initialValue":{"arguments":[{"id":4474,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10266:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10254:11:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":4471,"name":"uint8","nodeType":"ElementaryTypeName","src":"10258:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4472,"nodeType":"ArrayTypeName","src":"10258:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":4475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10254:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10223:49:19"},{"assignments":[4481],"declarations":[{"constant":false,"id":4481,"mutability":"mutable","name":"userCardsOffers","nameLocation":"10292:15:19","nodeType":"VariableDeclaration","scope":4528,"src":"10278:29:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":4479,"name":"bool","nodeType":"ElementaryTypeName","src":"10278:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4480,"nodeType":"ArrayTypeName","src":"10278:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"id":4487,"initialValue":{"arguments":[{"id":4485,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10321:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"10310:10:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bool[] memory)"},"typeName":{"baseType":{"id":4482,"name":"bool","nodeType":"ElementaryTypeName","src":"10314:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4483,"nodeType":"ArrayTypeName","src":"10314:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}}},"id":4486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10310:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10278:49:19"},{"body":{"id":4521,"nodeType":"Block","src":"10366:128:19","statements":[{"expression":{"id":4503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4497,"name":"userCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4459,"src":"10374:15:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4499,"indexExpression":{"id":4498,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10390:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10374:18:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":4500,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4373,"src":"10395:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4502,"indexExpression":{"id":4501,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10407:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10395:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10374:35:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4504,"nodeType":"ExpressionStatement","src":"10374:35:19"},{"expression":{"id":4511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4505,"name":"userCardsQtty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4470,"src":"10417:13:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4507,"indexExpression":{"id":4506,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10431:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10417:16:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":4508,"name":"quantities","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4384,"src":"10436:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4510,"indexExpression":{"id":4509,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10447:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10436:13:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10417:32:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4512,"nodeType":"ExpressionStatement","src":"10417:32:19"},{"expression":{"id":4519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4513,"name":"userCardsOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4481,"src":"10457:15:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":4515,"indexExpression":{"id":4514,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10473:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10457:18:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":4516,"name":"offers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"10478:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":4518,"indexExpression":{"id":4517,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10485:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10478:9:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10457:30:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4520,"nodeType":"ExpressionStatement","src":"10457:30:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4491,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10350:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4492,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4403,"src":"10354:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10350:9:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4522,"initializationExpression":{"assignments":[4489],"declarations":[{"constant":false,"id":4489,"mutability":"mutable","name":"j","nameLocation":"10347:1:19","nodeType":"VariableDeclaration","scope":4522,"src":"10339:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4488,"name":"uint256","nodeType":"ElementaryTypeName","src":"10339:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4490,"nodeType":"VariableDeclarationStatement","src":"10339:9:19"},"loopExpression":{"expression":{"id":4495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10361:3:19","subExpression":{"id":4494,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4489,"src":"10361:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4496,"nodeType":"ExpressionStatement","src":"10361:3:19"},"nodeType":"ForStatement","src":"10334:160:19"},{"expression":{"components":[{"id":4523,"name":"userCardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4459,"src":"10508:15:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":4524,"name":"userCardsQtty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4470,"src":"10525:13:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":4525,"name":"userCardsOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4481,"src":"10540:15:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"id":4526,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10507:49:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"tuple(uint8[] memory,uint8[] memory,bool[] memory)"}},"functionReturnParameters":4368,"id":4527,"nodeType":"Return","src":"10500:56:19"}]},"functionSelector":"0435dcaf","id":4529,"implemented":true,"kind":"function","modifiers":[],"name":"getCardsByUser","nameLocation":"9634:14:19","nodeType":"FunctionDefinition","parameters":{"id":4358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4357,"mutability":"mutable","name":"user","nameLocation":"9662:4:19","nodeType":"VariableDeclaration","scope":4529,"src":"9654:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4356,"name":"address","nodeType":"ElementaryTypeName","src":"9654:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9648:22:19"},"returnParameters":{"id":4368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4529,"src":"9692:14:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4359,"name":"uint8","nodeType":"ElementaryTypeName","src":"9692:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4360,"nodeType":"ArrayTypeName","src":"9692:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":4364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4529,"src":"9708:14:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4362,"name":"uint8","nodeType":"ElementaryTypeName","src":"9708:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4363,"nodeType":"ArrayTypeName","src":"9708:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":4367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4529,"src":"9724:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":4365,"name":"bool","nodeType":"ElementaryTypeName","src":"9724:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4366,"nodeType":"ArrayTypeName","src":"9724:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9691:47:19"},"scope":5637,"src":"9625:936:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4550,"nodeType":"Block","src":"10715:95:19","statements":[{"expression":{"arguments":[{"expression":{"id":4543,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10761:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10765:6:19","memberName":"sender","nodeType":"MemberAccess","src":"10761:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4545,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4531,"src":"10773:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4546,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4534,"src":"10785:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":4547,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4536,"src":"10795:9:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":4541,"name":"LibPackVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5954,"src":"10728:15:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibPackVerifier_$5954_$","typeString":"type(library LibPackVerifier)"}},"id":4542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10744:16:19","memberName":"verifyPackSigner","nodeType":"MemberAccess","referencedDeclaration":5953,"src":"10728:32:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (address,uint256,uint8[] memory,bytes memory) pure returns (address)"}},"id":4548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10728:77:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4540,"id":4549,"nodeType":"Return","src":"10721:84:19"}]},"functionSelector":"1306952c","id":4551,"implemented":true,"kind":"function","modifiers":[],"name":"verifyPackSigner","nameLocation":"10574:16:19","nodeType":"FunctionDefinition","parameters":{"id":4537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4531,"mutability":"mutable","name":"packNumber","nameLocation":"10604:10:19","nodeType":"VariableDeclaration","scope":4551,"src":"10596:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4530,"name":"uint256","nodeType":"ElementaryTypeName","src":"10596:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4534,"mutability":"mutable","name":"packData","nameLocation":"10635:8:19","nodeType":"VariableDeclaration","scope":4551,"src":"10620:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4532,"name":"uint8","nodeType":"ElementaryTypeName","src":"10620:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4533,"nodeType":"ArrayTypeName","src":"10620:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":4536,"mutability":"mutable","name":"signature","nameLocation":"10664:9:19","nodeType":"VariableDeclaration","scope":4551,"src":"10649:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":4535,"name":"bytes","nodeType":"ElementaryTypeName","src":"10649:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10590:87:19"},"returnParameters":{"id":4540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4539,"mutability":"mutable","name":"signer","nameLocation":"10707:6:19","nodeType":"VariableDeclaration","scope":4551,"src":"10699:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4538,"name":"address","nodeType":"ElementaryTypeName","src":"10699:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10698:16:19"},"scope":5637,"src":"10565:245:19","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":4569,"nodeType":"Block","src":"10928:65:19","statements":[{"expression":{"arguments":[{"expression":{"id":4562,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10944:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10948:6:19","memberName":"sender","nodeType":"MemberAccess","src":"10944:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4564,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4553,"src":"10956:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4565,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4556,"src":"10968:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":4566,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4558,"src":"10978:9:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":4561,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4754,"src":"10934:9:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,uint8[] memory,bytes calldata)"}},"id":4567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10934:54:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4568,"nodeType":"ExpressionStatement","src":"10934:54:19"}]},"functionSelector":"267b841d","id":4570,"implemented":true,"kind":"function","modifiers":[],"name":"openPack","nameLocation":"10823:8:19","nodeType":"FunctionDefinition","parameters":{"id":4559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4553,"mutability":"mutable","name":"packNumber","nameLocation":"10845:10:19","nodeType":"VariableDeclaration","scope":4570,"src":"10837:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4552,"name":"uint256","nodeType":"ElementaryTypeName","src":"10837:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4556,"mutability":"mutable","name":"packData","nameLocation":"10876:8:19","nodeType":"VariableDeclaration","scope":4570,"src":"10861:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4554,"name":"uint8","nodeType":"ElementaryTypeName","src":"10861:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4555,"nodeType":"ArrayTypeName","src":"10861:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":4558,"mutability":"mutable","name":"signature","nameLocation":"10905:9:19","nodeType":"VariableDeclaration","scope":4570,"src":"10890:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":4557,"name":"bytes","nodeType":"ElementaryTypeName","src":"10890:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10831:87:19"},"returnParameters":{"id":4560,"nodeType":"ParameterList","parameters":[],"src":"10928:0:19"},"scope":5637,"src":"10814:179:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4621,"nodeType":"Block","src":"11153:230:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4585,"name":"packsQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"11162:13:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11179:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11162:18:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4588,"name":"packsQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"11184:13:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4589,"name":"s_maxPacksToOpenAtOnce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3600,"src":"11200:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11184:38:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11162:60:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4595,"nodeType":"IfStatement","src":"11159:92:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4592,"name":"WrongPacksQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3488,"src":"11231:18:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11231:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4594,"nodeType":"RevertStatement","src":"11224:27:19"}},{"body":{"id":4619,"nodeType":"Block","src":"11298:81:19","statements":[{"expression":{"arguments":[{"expression":{"id":4606,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11316:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11320:6:19","memberName":"sender","nodeType":"MemberAccess","src":"11316:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":4608,"name":"packsNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4575,"src":"11328:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":4610,"indexExpression":{"id":4609,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"11340:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11328:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":4611,"name":"packsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"11344:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptr","typeString":"uint8[] memory[] memory"}},"id":4613,"indexExpression":{"id":4612,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"11354:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11344:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"baseExpression":{"id":4614,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"11358:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes calldata[] calldata"}},"id":4616,"indexExpression":{"id":4615,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"11369:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11358:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":4605,"name":"_openPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4754,"src":"11306:9:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,uint256,uint8[] memory,bytes calldata)"}},"id":4617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11306:66:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4618,"nodeType":"ExpressionStatement","src":"11306:66:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4599,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"11274:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4600,"name":"packsQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4572,"src":"11278:13:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11274:17:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4620,"initializationExpression":{"assignments":[4597],"declarations":[{"constant":false,"id":4597,"mutability":"mutable","name":"i","nameLocation":"11271:1:19","nodeType":"VariableDeclaration","scope":4620,"src":"11263:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4596,"name":"uint256","nodeType":"ElementaryTypeName","src":"11263:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4598,"nodeType":"VariableDeclarationStatement","src":"11263:9:19"},"loopExpression":{"expression":{"id":4603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11293:3:19","subExpression":{"id":4602,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"11293:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4604,"nodeType":"ExpressionStatement","src":"11293:3:19"},"nodeType":"ForStatement","src":"11258:121:19"}]},"functionSelector":"203335f6","id":4622,"implemented":true,"kind":"function","modifiers":[],"name":"openPacks","nameLocation":"11006:9:19","nodeType":"FunctionDefinition","parameters":{"id":4583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4572,"mutability":"mutable","name":"packsQuantity","nameLocation":"11027:13:19","nodeType":"VariableDeclaration","scope":4622,"src":"11021:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4571,"name":"uint8","nodeType":"ElementaryTypeName","src":"11021:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4575,"mutability":"mutable","name":"packsNumber","nameLocation":"11063:11:19","nodeType":"VariableDeclaration","scope":4622,"src":"11046:28:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":4573,"name":"uint256","nodeType":"ElementaryTypeName","src":"11046:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4574,"nodeType":"ArrayTypeName","src":"11046:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":4579,"mutability":"mutable","name":"packsData","nameLocation":"11097:9:19","nodeType":"VariableDeclaration","scope":4622,"src":"11080:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptr","typeString":"uint8[][]"},"typeName":{"baseType":{"baseType":{"id":4576,"name":"uint8","nodeType":"ElementaryTypeName","src":"11080:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4577,"nodeType":"ArrayTypeName","src":"11080:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"id":4578,"nodeType":"ArrayTypeName","src":"11080:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint8_$dyn_storage_$dyn_storage_ptr","typeString":"uint8[][]"}},"visibility":"internal"},{"constant":false,"id":4582,"mutability":"mutable","name":"signatures","nameLocation":"11129:10:19","nodeType":"VariableDeclaration","scope":4622,"src":"11112:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":4580,"name":"bytes","nodeType":"ElementaryTypeName","src":"11112:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":4581,"nodeType":"ArrayTypeName","src":"11112:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11015:128:19"},"returnParameters":{"id":4584,"nodeType":"ParameterList","parameters":[],"src":"11153:0:19"},"scope":5637,"src":"10997:386:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4753,"nodeType":"Block","src":"11519:1001:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4636,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4626,"src":"11560:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4634,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"11528:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"id":4635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11547:12:19","memberName":"getPackOwner","nodeType":"MemberAccess","referencedDeclaration":3509,"src":"11528:31:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":4637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11528:43:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":4638,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"11575:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11528:51:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4643,"nodeType":"IfStatement","src":"11525:76:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4640,"name":"NotYourPack","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3490,"src":"11588:11:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11588:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4642,"nodeType":"RevertStatement","src":"11581:20:19"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4644,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"11610:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11619:6:19","memberName":"length","nodeType":"MemberAccess","src":"11610:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3135","id":4646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11629:2:19","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"src":"11610:21:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4651,"nodeType":"IfStatement","src":"11607:52:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4648,"name":"CardLimitExceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3492,"src":"11640:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11640:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4650,"nodeType":"RevertStatement","src":"11633:26:19"}},{"condition":{"id":4652,"name":"s_requireOpenPackSignerValidation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3627,"src":"11670:33:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4674,"nodeType":"IfStatement","src":"11666:319:19","trueBody":{"id":4673,"nodeType":"Block","src":"11705:280:19","statements":[{"assignments":[4654],"declarations":[{"constant":false,"id":4654,"mutability":"mutable","name":"signer","nameLocation":"11779:6:19","nodeType":"VariableDeclaration","scope":4673,"src":"11771:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4653,"name":"address","nodeType":"ElementaryTypeName","src":"11771:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4663,"initialValue":{"arguments":[{"expression":{"id":4657,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11830:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11834:6:19","memberName":"sender","nodeType":"MemberAccess","src":"11830:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4659,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4626,"src":"11850:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4660,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"11870:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":4661,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4631,"src":"11888:9:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":4655,"name":"LibPackVerifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5954,"src":"11788:15:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibPackVerifier_$5954_$","typeString":"type(library LibPackVerifier)"}},"id":4656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11804:16:19","memberName":"verifyPackSigner","nodeType":"MemberAccess","referencedDeclaration":5953,"src":"11788:32:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_address_$_t_uint256_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (address,uint256,uint8[] memory,bytes memory) pure returns (address)"}},"id":4662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11788:117:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11771:134:19"},{"condition":{"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11923:28:19","subExpression":{"baseExpression":{"expression":{"id":4664,"name":"signersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3597,"src":"11924:11:19","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage","typeString":"struct LibControlMgmt.Data storage ref"}},"id":4665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11936:7:19","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"11924:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":4667,"indexExpression":{"id":4666,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4654,"src":"11944:6:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11924:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4672,"nodeType":"IfStatement","src":"11920:58:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4669,"name":"InvalidSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3484,"src":"11960:16:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11960:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4671,"nodeType":"RevertStatement","src":"11953:25:19"}}]}},{"expression":{"arguments":[{"id":4678,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4626,"src":"12019:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4679,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"12031:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4675,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"11991:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"id":4677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12010:8:19","memberName":"openPack","nodeType":"MemberAccess","referencedDeclaration":3516,"src":"11991:27:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":4680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11991:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4681,"nodeType":"ExpressionStatement","src":"11991:45:19"},{"expression":{"id":4688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4682,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"12042:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4683,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"12061:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4684,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"12075:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":4685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12089:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"12075:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12061:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12042:48:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4689,"nodeType":"ExpressionStatement","src":"12042:48:19"},{"body":{"id":4745,"nodeType":"Block","src":"12140:326:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":4697,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"12151:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4699,"indexExpression":{"id":4698,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"12160:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12151:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313230","id":4700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12166:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"src":"12151:18:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":4723,"nodeType":"Block","src":"12254:86:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":4712,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"12267:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4716,"indexExpression":{"baseExpression":{"id":4713,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"12284:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4715,"indexExpression":{"id":4714,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"12293:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12284:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12267:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35303030","id":4717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12299:4:19","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"},"src":"12267:36:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4722,"nodeType":"IfStatement","src":"12264:67:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4719,"name":"InvalidCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3480,"src":"12312:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12312:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4721,"nodeType":"RevertStatement","src":"12305:26:19"}}]},"id":4724,"nodeType":"IfStatement","src":"12148:192:19","trueBody":{"id":4711,"nodeType":"Block","src":"12170:78:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":4702,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"12183:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4704,"indexExpression":{"hexValue":"313230","id":4703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12200:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12183:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"33303030","id":4705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12207:4:19","typeDescriptions":{"typeIdentifier":"t_rational_3000_by_1","typeString":"int_const 3000"},"value":"3000"},"src":"12183:28:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4710,"nodeType":"IfStatement","src":"12180:59:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4707,"name":"InvalidCardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3480,"src":"12220:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12220:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4709,"nodeType":"RevertStatement","src":"12213:26:19"}}]}},{"expression":{"id":4730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12347:31:19","subExpression":{"baseExpression":{"id":4725,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"12347:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4729,"indexExpression":{"baseExpression":{"id":4726,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"12364:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4728,"indexExpression":{"id":4727,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"12373:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12364:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12347:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4731,"nodeType":"ExpressionStatement","src":"12347:31:19"},{"expression":{"id":4739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12386:34:19","subExpression":{"baseExpression":{"baseExpression":{"id":4732,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12386:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4737,"indexExpression":{"id":4733,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"12400:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12386:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4738,"indexExpression":{"baseExpression":{"id":4734,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"12406:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4736,"indexExpression":{"id":4735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"12415:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12406:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12386:32:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4740,"nodeType":"ExpressionStatement","src":"12386:34:19"},{"id":4744,"nodeType":"UncheckedBlock","src":"12428:32:19","statements":[{"expression":{"id":4742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12448:3:19","subExpression":{"id":4741,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"12448:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4743,"nodeType":"ExpressionStatement","src":"12448:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4693,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4691,"src":"12118:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4694,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"12122:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":4695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12131:6:19","memberName":"length","nodeType":"MemberAccess","src":"12122:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12118:19:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4746,"initializationExpression":{"assignments":[4691],"declarations":[{"constant":false,"id":4691,"mutability":"mutable","name":"i","nameLocation":"12115:1:19","nodeType":"VariableDeclaration","scope":4746,"src":"12107:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4690,"name":"uint256","nodeType":"ElementaryTypeName","src":"12107:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4692,"nodeType":"VariableDeclarationStatement","src":"12107:9:19"},"nodeType":"ForStatement","src":"12102:364:19"},{"eventCall":{"arguments":[{"id":4748,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"12488:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4749,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"12494:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":4750,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4626,"src":"12504:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4747,"name":"PackOpened","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3684,"src":"12477:10:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_uint8_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,uint8[] memory,uint256)"}},"id":4751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12477:38:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4752,"nodeType":"EmitStatement","src":"12472:43:19"}]},"id":4754,"implemented":true,"kind":"function","modifiers":[],"name":"_openPack","nameLocation":"11396:9:19","nodeType":"FunctionDefinition","parameters":{"id":4632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4624,"mutability":"mutable","name":"user","nameLocation":"11419:4:19","nodeType":"VariableDeclaration","scope":4754,"src":"11411:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4623,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4626,"mutability":"mutable","name":"packNumber","nameLocation":"11437:10:19","nodeType":"VariableDeclaration","scope":4754,"src":"11429:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4625,"name":"uint256","nodeType":"ElementaryTypeName","src":"11429:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4629,"mutability":"mutable","name":"packData","nameLocation":"11468:8:19","nodeType":"VariableDeclaration","scope":4754,"src":"11453:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4627,"name":"uint8","nodeType":"ElementaryTypeName","src":"11453:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4628,"nodeType":"ArrayTypeName","src":"11453:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":4631,"mutability":"mutable","name":"signature","nameLocation":"11497:9:19","nodeType":"VariableDeclaration","scope":4754,"src":"11482:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":4630,"name":"bytes","nodeType":"ElementaryTypeName","src":"11482:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11405:105:19"},"returnParameters":{"id":4633,"nodeType":"ParameterList","parameters":[],"src":"11519:0:19"},"scope":5637,"src":"11387:1133:19","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":4827,"nodeType":"Block","src":"12717:367:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4773,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12726:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4775,"indexExpression":{"id":4774,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4756,"src":"12740:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12726:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4777,"indexExpression":{"id":4776,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4758,"src":"12746:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12726:35:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12765:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12726:40:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4780,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12770:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4782,"indexExpression":{"id":4781,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4760,"src":"12784:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12770:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4784,"indexExpression":{"id":4783,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4762,"src":"12788:12:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12770:31:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12805:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12770:36:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12726:80:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4791,"nodeType":"IfStatement","src":"12723:120:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4788,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"12815:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12815:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4790,"nodeType":"RevertStatement","src":"12808:35:19"}},{"expression":{"id":4797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"12850:37:19","subExpression":{"baseExpression":{"baseExpression":{"id":4792,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12850:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4795,"indexExpression":{"id":4793,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4756,"src":"12864:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12850:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4796,"indexExpression":{"id":4794,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4758,"src":"12870:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12850:35:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4798,"nodeType":"ExpressionStatement","src":"12850:37:19"},{"expression":{"id":4804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12893:35:19","subExpression":{"baseExpression":{"baseExpression":{"id":4799,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12893:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4802,"indexExpression":{"id":4800,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4760,"src":"12907:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12893:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4803,"indexExpression":{"id":4801,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4758,"src":"12911:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12893:33:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4805,"nodeType":"ExpressionStatement","src":"12893:35:19"},{"expression":{"id":4811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"12934:33:19","subExpression":{"baseExpression":{"baseExpression":{"id":4806,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12934:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4809,"indexExpression":{"id":4807,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4760,"src":"12948:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12934:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4810,"indexExpression":{"id":4808,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4762,"src":"12952:12:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12934:31:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4812,"nodeType":"ExpressionStatement","src":"12934:33:19"},{"expression":{"id":4818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12973:35:19","subExpression":{"baseExpression":{"baseExpression":{"id":4813,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"12973:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4816,"indexExpression":{"id":4814,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4756,"src":"12987:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12973:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4817,"indexExpression":{"id":4815,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4762,"src":"12993:12:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12973:33:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4819,"nodeType":"ExpressionStatement","src":"12973:35:19"},{"eventCall":{"arguments":[{"id":4821,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4756,"src":"13040:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4822,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4760,"src":"13046:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4823,"name":"cardNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4758,"src":"13050:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":4824,"name":"cardNumberTo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4762,"src":"13066:12:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4820,"name":"OfferCardsExchanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3724,"src":"13020:19:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint8_$_t_uint8_$returns$__$","typeString":"function (address,address,uint8,uint8)"}},"id":4825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13020:59:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4826,"nodeType":"EmitStatement","src":"13015:64:19"}]},"functionSelector":"ad1684fa","id":4828,"implemented":true,"kind":"function","modifiers":[{"id":4765,"kind":"modifierInvocation","modifierName":{"id":4764,"name":"onlyGammaOffersContract","nameLocations":["12649:23:19"],"nodeType":"IdentifierPath","referencedDeclaration":3778,"src":"12649:23:19"},"nodeType":"ModifierInvocation","src":"12649:23:19"},{"arguments":[{"id":4767,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4756,"src":"12690:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4768,"kind":"modifierInvocation","modifierName":{"id":4766,"name":"checkAddressZero","nameLocations":["12673:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"12673:16:19"},"nodeType":"ModifierInvocation","src":"12673:22:19"},{"arguments":[{"id":4770,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4760,"src":"12713:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4771,"kind":"modifierInvocation","modifierName":{"id":4769,"name":"checkAddressZero","nameLocations":["12696:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"12696:16:19"},"nodeType":"ModifierInvocation","src":"12696:20:19"}],"name":"exchangeCardsOffer","nameLocation":"12533:18:19","nodeType":"FunctionDefinition","parameters":{"id":4763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4756,"mutability":"mutable","name":"from","nameLocation":"12565:4:19","nodeType":"VariableDeclaration","scope":4828,"src":"12557:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4755,"name":"address","nodeType":"ElementaryTypeName","src":"12557:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4758,"mutability":"mutable","name":"cardNumberFrom","nameLocation":"12581:14:19","nodeType":"VariableDeclaration","scope":4828,"src":"12575:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4757,"name":"uint8","nodeType":"ElementaryTypeName","src":"12575:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4760,"mutability":"mutable","name":"to","nameLocation":"12609:2:19","nodeType":"VariableDeclaration","scope":4828,"src":"12601:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4759,"name":"address","nodeType":"ElementaryTypeName","src":"12601:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4762,"mutability":"mutable","name":"cardNumberTo","nameLocation":"12623:12:19","nodeType":"VariableDeclaration","scope":4828,"src":"12617:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4761,"name":"uint8","nodeType":"ElementaryTypeName","src":"12617:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"12551:88:19"},"returnParameters":{"id":4772,"nodeType":"ParameterList","parameters":[],"src":"12717:0:19"},"scope":5637,"src":"12524:560:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":4911,"nodeType":"Block","src":"13170:815:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4838,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"13179:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4841,"indexExpression":{"expression":{"id":4839,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13193:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13197:6:19","memberName":"sender","nodeType":"MemberAccess","src":"13193:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13179:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4843,"indexExpression":{"id":4842,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4832,"src":"13205:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13179:37:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13220:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13179:42:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4849,"nodeType":"IfStatement","src":"13176:82:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4846,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"13230:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13230:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4848,"nodeType":"RevertStatement","src":"13223:35:19"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4850,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4830,"src":"13267:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4851,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13273:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13277:6:19","memberName":"sender","nodeType":"MemberAccess","src":"13273:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13267:16:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4857,"nodeType":"IfStatement","src":"13264:45:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4854,"name":"InvalidTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3482,"src":"13292:15:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13292:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4856,"nodeType":"RevertStatement","src":"13285:24:19"}},{"condition":{"id":4858,"name":"s_requireOfferValidationInTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3633,"src":"13320:34:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4888,"nodeType":"IfStatement","src":"13316:529:19","trueBody":{"id":4887,"nodeType":"Block","src":"13356:489:19","statements":[{"assignments":[4860],"declarations":[{"constant":false,"id":4860,"mutability":"mutable","name":"hasOffer","nameLocation":"13369:8:19","nodeType":"VariableDeclaration","scope":4887,"src":"13364:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4859,"name":"bool","nodeType":"ElementaryTypeName","src":"13364:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4867,"initialValue":{"arguments":[{"expression":{"id":4863,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13409:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13413:6:19","memberName":"sender","nodeType":"MemberAccess","src":"13409:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4865,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4832,"src":"13421:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4861,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"13380:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":4862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13400:8:19","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":3534,"src":"13380:28:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":4866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13380:52:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13364:68:19"},{"assignments":[4869],"declarations":[{"constant":false,"id":4869,"mutability":"mutable","name":"hasMoreThanOne","nameLocation":"13445:14:19","nodeType":"VariableDeclaration","scope":4887,"src":"13440:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4868,"name":"bool","nodeType":"ElementaryTypeName","src":"13440:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4878,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4870,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"13462:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4873,"indexExpression":{"expression":{"id":4871,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13476:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13480:6:19","memberName":"sender","nodeType":"MemberAccess","src":"13476:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13462:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4875,"indexExpression":{"id":4874,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4832,"src":"13488:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13462:37:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":4876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13502:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13462:41:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"13440:63:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13783:9:19","subExpression":{"id":4880,"name":"hasOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4860,"src":"13784:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":4882,"name":"hasMoreThanOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"13796:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13783:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468697320636172642068617320616e206f666665722e","id":4884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13812:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""},"value":"This card has an offer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""}],"id":4879,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13775:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13775:63:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4886,"nodeType":"ExpressionStatement","src":"13775:63:19"}]}},{"expression":{"id":4895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"13851:39:19","subExpression":{"baseExpression":{"baseExpression":{"id":4889,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"13851:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4893,"indexExpression":{"expression":{"id":4890,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13865:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13869:6:19","memberName":"sender","nodeType":"MemberAccess","src":"13865:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13851:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4894,"indexExpression":{"id":4892,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4832,"src":"13877:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13851:37:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4896,"nodeType":"ExpressionStatement","src":"13851:39:19"},{"expression":{"id":4902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13896:31:19","subExpression":{"baseExpression":{"baseExpression":{"id":4897,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"13896:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4900,"indexExpression":{"id":4898,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4830,"src":"13910:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13896:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4901,"indexExpression":{"id":4899,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4832,"src":"13914:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13896:29:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4903,"nodeType":"ExpressionStatement","src":"13896:31:19"},{"eventCall":{"arguments":[{"expression":{"id":4905,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13953:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13957:6:19","memberName":"sender","nodeType":"MemberAccess","src":"13953:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4907,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4830,"src":"13965:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4908,"name":"cardNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4832,"src":"13969:10:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4904,"name":"CardTransfered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3732,"src":"13938:14:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,address,uint8)"}},"id":4909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13938:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4910,"nodeType":"EmitStatement","src":"13933:47:19"}]},"functionSelector":"2ca699e7","id":4912,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4835,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4830,"src":"13166:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4836,"kind":"modifierInvocation","modifierName":{"id":4834,"name":"checkAddressZero","nameLocations":["13149:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"13149:16:19"},"nodeType":"ModifierInvocation","src":"13149:20:19"}],"name":"transferCard","nameLocation":"13097:12:19","nodeType":"FunctionDefinition","parameters":{"id":4833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4830,"mutability":"mutable","name":"to","nameLocation":"13118:2:19","nodeType":"VariableDeclaration","scope":4912,"src":"13110:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4829,"name":"address","nodeType":"ElementaryTypeName","src":"13110:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4832,"mutability":"mutable","name":"cardNumber","nameLocation":"13128:10:19","nodeType":"VariableDeclaration","scope":4912,"src":"13122:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4831,"name":"uint8","nodeType":"ElementaryTypeName","src":"13122:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"13109:30:19"},"returnParameters":{"id":4837,"nodeType":"ParameterList","parameters":[],"src":"13170:0:19"},"scope":5637,"src":"13088:897:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5018,"nodeType":"Block","src":"14082:928:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4923,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"14091:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4924,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14097:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14101:6:19","memberName":"sender","nodeType":"MemberAccess","src":"14097:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14091:16:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4930,"nodeType":"IfStatement","src":"14088:45:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4927,"name":"InvalidTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3482,"src":"14116:15:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14116:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4929,"nodeType":"RevertStatement","src":"14109:24:19"}},{"body":{"id":5009,"nodeType":"Block","src":"14185:766:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4941,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"14196:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4944,"indexExpression":{"expression":{"id":4942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14210:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14214:6:19","memberName":"sender","nodeType":"MemberAccess","src":"14210:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14196:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4948,"indexExpression":{"baseExpression":{"id":4945,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14222:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":4947,"indexExpression":{"id":4946,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14234:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14222:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14196:41:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14241:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14196:46:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4954,"nodeType":"IfStatement","src":"14193:86:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4951,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"14251:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14251:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4953,"nodeType":"RevertStatement","src":"14244:35:19"}},{"expression":{"id":4963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"14287:43:19","subExpression":{"baseExpression":{"baseExpression":{"id":4955,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"14287:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4961,"indexExpression":{"expression":{"id":4956,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14301:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14305:6:19","memberName":"sender","nodeType":"MemberAccess","src":"14301:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14287:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4962,"indexExpression":{"baseExpression":{"id":4958,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14313:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":4960,"indexExpression":{"id":4959,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14325:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14313:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14287:41:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4964,"nodeType":"ExpressionStatement","src":"14287:43:19"},{"expression":{"id":4972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14338:35:19","subExpression":{"baseExpression":{"baseExpression":{"id":4965,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"14338:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4970,"indexExpression":{"id":4966,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"14352:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14338:17:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4971,"indexExpression":{"baseExpression":{"id":4967,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14356:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":4969,"indexExpression":{"id":4968,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14368:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14356:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14338:33:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4973,"nodeType":"ExpressionStatement","src":"14338:35:19"},{"condition":{"id":4974,"name":"s_requireOfferValidationInTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3633,"src":"14386:34:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5008,"nodeType":"IfStatement","src":"14382:563:19","trueBody":{"id":5007,"nodeType":"Block","src":"14422:523:19","statements":[{"assignments":[4976],"declarations":[{"constant":false,"id":4976,"mutability":"mutable","name":"hasOffer","nameLocation":"14437:8:19","nodeType":"VariableDeclaration","scope":5007,"src":"14432:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4975,"name":"bool","nodeType":"ElementaryTypeName","src":"14432:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4985,"initialValue":{"arguments":[{"expression":{"id":4979,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14477:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14481:6:19","memberName":"sender","nodeType":"MemberAccess","src":"14477:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":4981,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14489:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":4983,"indexExpression":{"id":4982,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14501:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14489:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4977,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"14448:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":4978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14468:8:19","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":3534,"src":"14448:28:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":4984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14448:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14432:72:19"},{"assignments":[4987],"declarations":[{"constant":false,"id":4987,"mutability":"mutable","name":"hasMoreThanOne","nameLocation":"14519:14:19","nodeType":"VariableDeclaration","scope":5007,"src":"14514:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4986,"name":"bool","nodeType":"ElementaryTypeName","src":"14514:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4998,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":4997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4988,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"14536:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":4991,"indexExpression":{"expression":{"id":4989,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14550:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:6:19","memberName":"sender","nodeType":"MemberAccess","src":"14550:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14536:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":4995,"indexExpression":{"baseExpression":{"id":4992,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14562:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":4994,"indexExpression":{"id":4993,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14574:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14562:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14536:41:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":4996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14580:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14536:45:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14514:67:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14881:9:19","subExpression":{"id":5000,"name":"hasOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4976,"src":"14882:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":5002,"name":"hasMoreThanOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4987,"src":"14894:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14881:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468697320636172642068617320616e206f666665722e","id":5004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14910:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""},"value":"This card has an offer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""}],"id":4999,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14873:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14873:63:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5006,"nodeType":"ExpressionStatement","src":"14873:63:19"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4934,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14156:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4935,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14160:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":4936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14172:6:19","memberName":"length","nodeType":"MemberAccess","src":"14160:18:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14156:22:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5010,"initializationExpression":{"assignments":[4932],"declarations":[{"constant":false,"id":4932,"mutability":"mutable","name":"i","nameLocation":"14153:1:19","nodeType":"VariableDeclaration","scope":5010,"src":"14145:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4931,"name":"uint256","nodeType":"ElementaryTypeName","src":"14145:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4933,"nodeType":"VariableDeclarationStatement","src":"14145:9:19"},"loopExpression":{"expression":{"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14180:3:19","subExpression":{"id":4938,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4932,"src":"14180:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4940,"nodeType":"ExpressionStatement","src":"14180:3:19"},"nodeType":"ForStatement","src":"14140:811:19"},{"eventCall":{"arguments":[{"expression":{"id":5012,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14977:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14981:6:19","memberName":"sender","nodeType":"MemberAccess","src":"14977:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5014,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"14989:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5015,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4917,"src":"14993:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}],"id":5011,"name":"CardsTransfered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"14961:15:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (address,address,uint8[] memory)"}},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14961:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5017,"nodeType":"EmitStatement","src":"14956:49:19"}]},"functionSelector":"a1af8ad4","id":5019,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":4920,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"14078:2:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":4921,"kind":"modifierInvocation","modifierName":{"id":4919,"name":"checkAddressZero","nameLocations":["14061:16:19"],"nodeType":"IdentifierPath","referencedDeclaration":3808,"src":"14061:16:19"},"nodeType":"ModifierInvocation","src":"14061:20:19"}],"name":"transferCards","nameLocation":"13998:13:19","nodeType":"FunctionDefinition","parameters":{"id":4918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4914,"mutability":"mutable","name":"to","nameLocation":"14020:2:19","nodeType":"VariableDeclaration","scope":5019,"src":"14012:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4913,"name":"address","nodeType":"ElementaryTypeName","src":"14012:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4917,"mutability":"mutable","name":"cardNumbers","nameLocation":"14041:11:19","nodeType":"VariableDeclaration","scope":5019,"src":"14024:28:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":4915,"name":"uint8","nodeType":"ElementaryTypeName","src":"14024:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":4916,"nodeType":"ArrayTypeName","src":"14024:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"14011:42:19"},"returnParameters":{"id":4922,"nodeType":"ParameterList","parameters":[],"src":"14082:0:19"},"scope":5637,"src":"13989:1021:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5148,"nodeType":"Block","src":"15175:1120:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5024,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"15240:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5027,"indexExpression":{"expression":{"id":5025,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15254:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15258:6:19","memberName":"sender","nodeType":"MemberAccess","src":"15254:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15240:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5029,"indexExpression":{"hexValue":"313230","id":5028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15266:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15240:30:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15274:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15240:35:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5035,"nodeType":"IfStatement","src":"15237:75:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5032,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"15284:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5034,"nodeType":"RevertStatement","src":"15277:35:19"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5036,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"15321:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5037,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3616,"src":"15339:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15321:34:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5042,"nodeType":"IfStatement","src":"15318:68:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5039,"name":"IncorrectPrizeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3486,"src":"15364:20:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15364:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5041,"nodeType":"RevertStatement","src":"15357:29:19"}},{"assignments":[5044],"declarations":[{"constant":false,"id":5044,"mutability":"mutable","name":"contractBalance","nameLocation":"15401:15:19","nodeType":"VariableDeclaration","scope":5148,"src":"15393:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5043,"name":"uint256","nodeType":"ElementaryTypeName","src":"15393:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5054,"initialValue":{"arguments":[{"arguments":[{"id":5051,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15455:4:19","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaCardsV5_$5637","typeString":"contract NofGammaCardsV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaCardsV5_$5637","typeString":"contract NofGammaCardsV5"}],"id":5050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15447:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5049,"name":"address","nodeType":"ElementaryTypeName","src":"15447:7:19","typeDescriptions":{}}},"id":5052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15447:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":5046,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"15426:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5045,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"15419:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":5047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15419:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":5048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15437:9:19","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":175,"src":"15419:27:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":5053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15419:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15393:68:19"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5055,"name":"contractBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5044,"src":"15470:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5056,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3616,"src":"15488:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15470:34:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5061,"nodeType":"IfStatement","src":"15467:65:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5058,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3496,"src":"15513:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15513:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5060,"nodeType":"RevertStatement","src":"15506:26:19"}},{"assignments":[5063],"declarations":[{"constant":false,"id":5063,"mutability":"mutable","name":"unfinished","nameLocation":"15604:10:19","nodeType":"VariableDeclaration","scope":5148,"src":"15599:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5062,"name":"bool","nodeType":"ElementaryTypeName","src":"15599:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5064,"nodeType":"VariableDeclarationStatement","src":"15599:15:19"},{"body":{"id":5098,"nodeType":"Block","src":"15650:181:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5071,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"15662:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5074,"indexExpression":{"expression":{"id":5072,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15676:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15680:6:19","memberName":"sender","nodeType":"MemberAccess","src":"15676:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15662:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5076,"indexExpression":{"id":5075,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5066,"src":"15688:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15662:28:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15694:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15662:33:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5085,"nodeType":"IfStatement","src":"15658:90:19","trueBody":{"id":5084,"nodeType":"Block","src":"15697:51:19","statements":[{"expression":{"id":5081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5079,"name":"unfinished","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5063,"src":"15707:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15720:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15707:17:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5082,"nodeType":"ExpressionStatement","src":"15707:17:19"},{"id":5083,"nodeType":"Break","src":"15734:5:19"}]}},{"expression":{"id":5092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"15755:30:19","subExpression":{"baseExpression":{"baseExpression":{"id":5086,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"15755:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5090,"indexExpression":{"expression":{"id":5087,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15769:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15773:6:19","memberName":"sender","nodeType":"MemberAccess","src":"15769:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15755:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5091,"indexExpression":{"id":5089,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5066,"src":"15781:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15755:28:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5093,"nodeType":"ExpressionStatement","src":"15755:30:19"},{"id":5097,"nodeType":"UncheckedBlock","src":"15793:32:19","statements":[{"expression":{"id":5095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15813:3:19","subExpression":{"id":5094,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5066,"src":"15813:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5096,"nodeType":"ExpressionStatement","src":"15813:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5068,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5066,"src":"15639:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313230","id":5069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15644:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"src":"15639:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5099,"initializationExpression":{"assignments":[5066],"declarations":[{"constant":false,"id":5066,"mutability":"mutable","name":"i","nameLocation":"15636:1:19","nodeType":"VariableDeclaration","scope":5099,"src":"15630:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5065,"name":"uint8","nodeType":"ElementaryTypeName","src":"15630:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5067,"nodeType":"VariableDeclarationStatement","src":"15630:7:19"},"nodeType":"ForStatement","src":"15625:206:19"},{"condition":{"id":5100,"name":"unfinished","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5063,"src":"15839:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5104,"nodeType":"IfStatement","src":"15836:41:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5101,"name":"MustCompleteAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3500,"src":"15858:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15858:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5103,"nodeType":"RevertStatement","src":"15851:26:19"}},{"expression":{"arguments":[{"expression":{"id":5106,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15926:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15930:6:19","memberName":"sender","nodeType":"MemberAccess","src":"15926:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5108,"name":"s_mainUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3621,"src":"15938:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"hexValue":"313230","id":5109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15949:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},{"hexValue":"32","id":5110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15954:1:19","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":5105,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5493,"src":"15917:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15917:39:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5112,"nodeType":"ExpressionStatement","src":"15917:39:19"},{"expression":{"id":5115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5113,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"15993:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":5114,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3616,"src":"16012:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15993:35:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5116,"nodeType":"ExpressionStatement","src":"15993:35:19"},{"expression":{"arguments":[{"expression":{"id":5121,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16061:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16065:6:19","memberName":"sender","nodeType":"MemberAccess","src":"16061:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5123,"name":"s_mainAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3616,"src":"16073:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5118,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"16041:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5117,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"16034:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16034:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":5120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16052:8:19","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"16034:26:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":5124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16034:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5125,"nodeType":"ExpressionStatement","src":"16034:56:19"},{"assignments":[5127],"declarations":[{"constant":false,"id":5127,"mutability":"mutable","name":"userOffersRemoved","nameLocation":"16102:17:19","nodeType":"VariableDeclaration","scope":5148,"src":"16097:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5126,"name":"bool","nodeType":"ElementaryTypeName","src":"16097:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5133,"initialValue":{"arguments":[{"expression":{"id":5130,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16161:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16165:6:19","memberName":"sender","nodeType":"MemberAccess","src":"16161:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5128,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"16122:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":5129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16142:18:19","memberName":"removeOffersByUser","nodeType":"MemberAccess","referencedDeclaration":3541,"src":"16122:38:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) external returns (bool)"}},"id":5132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16122:50:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16097:75:19"},{"condition":{"id":5135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16181:18:19","subExpression":{"id":5134,"name":"userOffersRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5127,"src":"16182:17:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5139,"nodeType":"IfStatement","src":"16178:54:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5136,"name":"CannotRemoveUserOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3502,"src":"16208:22:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16208:24:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5138,"nodeType":"RevertStatement","src":"16201:31:19"}},{"eventCall":{"arguments":[{"expression":{"id":5141,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16259:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16263:6:19","memberName":"sender","nodeType":"MemberAccess","src":"16259:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":5143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16271:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":5140,"name":"AlbumCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3690,"src":"16244:14:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8)"}},"id":5144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16244:29:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5145,"nodeType":"EmitStatement","src":"16239:34:19"},{"expression":{"hexValue":"74727565","id":5146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16286:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":5023,"id":5147,"nodeType":"Return","src":"16279:11:19"}]},"functionSelector":"9038f414","id":5149,"implemented":true,"kind":"function","modifiers":[],"name":"finishAlbum","nameLocation":"15139:11:19","nodeType":"FunctionDefinition","parameters":{"id":5020,"nodeType":"ParameterList","parameters":[],"src":"15150:2:19"},"returnParameters":{"id":5023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5022,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5149,"src":"15169:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5021,"name":"bool","nodeType":"ElementaryTypeName","src":"15169:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15168:6:19"},"scope":5637,"src":"15130:1165:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5349,"nodeType":"Block","src":"16473:1508:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5155,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"16482:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5158,"indexExpression":{"expression":{"id":5156,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16496:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16500:6:19","memberName":"sender","nodeType":"MemberAccess","src":"16496:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16482:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5160,"indexExpression":{"hexValue":"313231","id":5159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16508:3:19","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16482:30:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16516:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16482:35:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5166,"nodeType":"IfStatement","src":"16479:75:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5163,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"16526:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16526:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5165,"nodeType":"RevertStatement","src":"16519:35:19"}},{"assignments":[5168],"declarations":[{"constant":false,"id":5168,"mutability":"mutable","name":"totalUserBurnedCards","nameLocation":"16568:20:19","nodeType":"VariableDeclaration","scope":5349,"src":"16560:28:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5167,"name":"uint256","nodeType":"ElementaryTypeName","src":"16560:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5176,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5169,"name":"s_burnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3657,"src":"16591:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":5172,"indexExpression":{"expression":{"id":5170,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16605:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16609:6:19","memberName":"sender","nodeType":"MemberAccess","src":"16605:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16591:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":5173,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"16619:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16631:6:19","memberName":"length","nodeType":"MemberAccess","src":"16619:18:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16591:46:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16560:77:19"},{"assignments":[5178],"declarations":[{"constant":false,"id":5178,"mutability":"mutable","name":"mustPayPrize","nameLocation":"16648:12:19","nodeType":"VariableDeclaration","scope":5349,"src":"16643:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5177,"name":"bool","nodeType":"ElementaryTypeName","src":"16643:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5179,"nodeType":"VariableDeclarationStatement","src":"16643:17:19"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5180,"name":"totalUserBurnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5168,"src":"16671:20:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3630","id":5181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16695:2:19","typeDescriptions":{"typeIdentifier":"t_rational_60_by_1","typeString":"int_const 60"},"value":"60"},"src":"16671:26:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5211,"nodeType":"IfStatement","src":"16667:263:19","trueBody":{"id":5210,"nodeType":"Block","src":"16699:231:19","statements":[{"assignments":[5184],"declarations":[{"constant":false,"id":5184,"mutability":"mutable","name":"contractBalance","nameLocation":"16715:15:19","nodeType":"VariableDeclaration","scope":5210,"src":"16707:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5183,"name":"uint256","nodeType":"ElementaryTypeName","src":"16707:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5194,"initialValue":{"arguments":[{"arguments":[{"id":5191,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16769:4:19","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaCardsV5_$5637","typeString":"contract NofGammaCardsV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaCardsV5_$5637","typeString":"contract NofGammaCardsV5"}],"id":5190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16761:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5189,"name":"address","nodeType":"ElementaryTypeName","src":"16761:7:19","typeDescriptions":{}}},"id":5192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16761:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":5186,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"16740:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5185,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"16733:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":5187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16733:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16751:9:19","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":175,"src":"16733:27:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16733:42:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16707:68:19"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5195,"name":"contractBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5184,"src":"16786:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5196,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"16804:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16786:39:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5198,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"16829:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5199,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"16847:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16829:39:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16786:82:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5205,"nodeType":"IfStatement","src":"16783:113:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3496,"src":"16877:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16877:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5204,"nodeType":"RevertStatement","src":"16870:26:19"}},{"expression":{"id":5208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5206,"name":"mustPayPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5178,"src":"16904:12:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16919:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16904:19:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5209,"nodeType":"ExpressionStatement","src":"16904:19:19"}]}},{"assignments":[5213],"declarations":[{"constant":false,"id":5213,"mutability":"mutable","name":"userHasOffers","nameLocation":"16941:13:19","nodeType":"VariableDeclaration","scope":5349,"src":"16936:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5212,"name":"bool","nodeType":"ElementaryTypeName","src":"16936:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5222,"initialValue":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":5216,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17001:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17005:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17001:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5214,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"16958:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":5215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16978:22:19","memberName":"getOffersByUserCounter","nodeType":"MemberAccess","referencedDeclaration":3548,"src":"16958:42:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":5218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16958:54:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17015:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16958:58:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":5221,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16957:60:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16936:81:19"},{"assignments":[5224],"declarations":[{"constant":false,"id":5224,"mutability":"mutable","name":"cardNumbersLength","nameLocation":"17031:17:19","nodeType":"VariableDeclaration","scope":5349,"src":"17023:25:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5223,"name":"uint256","nodeType":"ElementaryTypeName","src":"17023:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5227,"initialValue":{"expression":{"id":5225,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"17051:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":5226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17063:6:19","memberName":"length","nodeType":"MemberAccess","src":"17051:18:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17023:46:19"},{"body":{"id":5289,"nodeType":"Block","src":"17115:396:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5234,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"17126:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5237,"indexExpression":{"expression":{"id":5235,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17140:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17144:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17140:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17126:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5241,"indexExpression":{"baseExpression":{"id":5238,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"17152:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":5240,"indexExpression":{"id":5239,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"17164:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17152:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17126:41:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17171:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17126:46:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5247,"nodeType":"IfStatement","src":"17123:86:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5244,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"17181:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17181:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5246,"nodeType":"RevertStatement","src":"17174:35:19"}},{"condition":{"id":5248,"name":"userHasOffers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5213,"src":"17221:13:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5274,"nodeType":"IfStatement","src":"17217:198:19","trueBody":{"id":5273,"nodeType":"Block","src":"17236:179:19","statements":[{"condition":{"arguments":[{"expression":{"id":5251,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17279:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17283:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17279:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":5253,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"17291:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":5255,"indexExpression":{"id":5254,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"17303:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17291:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5249,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"17250:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":5250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17270:8:19","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":3534,"src":"17250:28:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":5256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17250:56:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5272,"nodeType":"IfStatement","src":"17246:161:19","trueBody":{"id":5271,"nodeType":"Block","src":"17308:99:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5257,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"17323:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5260,"indexExpression":{"expression":{"id":5258,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17337:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17341:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17337:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17323:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5264,"indexExpression":{"baseExpression":{"id":5261,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"17349:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":5263,"indexExpression":{"id":5262,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"17361:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17349:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17323:41:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"32","id":5265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17367:1:19","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"17323:45:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5270,"nodeType":"IfStatement","src":"17320:76:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5267,"name":"InsufficientCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3498,"src":"17377:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17377:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5269,"nodeType":"RevertStatement","src":"17370:26:19"}}]}}]}},{"expression":{"id":5283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"17422:43:19","subExpression":{"baseExpression":{"baseExpression":{"id":5275,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"17422:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5281,"indexExpression":{"expression":{"id":5276,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17436:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17440:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17436:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17422:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5282,"indexExpression":{"baseExpression":{"id":5278,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"17448:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}},"id":5280,"indexExpression":{"id":5279,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"17460:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17448:14:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17422:41:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5284,"nodeType":"ExpressionStatement","src":"17422:43:19"},{"id":5288,"nodeType":"UncheckedBlock","src":"17473:32:19","statements":[{"expression":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17493:3:19","subExpression":{"id":5285,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"17493:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5287,"nodeType":"ExpressionStatement","src":"17493:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5231,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5229,"src":"17091:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5232,"name":"cardNumbersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5224,"src":"17095:17:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17091:21:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5290,"initializationExpression":{"assignments":[5229],"declarations":[{"constant":false,"id":5229,"mutability":"mutable","name":"i","nameLocation":"17088:1:19","nodeType":"VariableDeclaration","scope":5290,"src":"17080:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5228,"name":"uint256","nodeType":"ElementaryTypeName","src":"17080:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5230,"nodeType":"VariableDeclarationStatement","src":"17080:9:19"},"nodeType":"ForStatement","src":"17075:436:19"},{"expression":{"id":5296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5291,"name":"s_burnedCards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3657,"src":"17517:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":5294,"indexExpression":{"expression":{"id":5292,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17531:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17535:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17531:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17517:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":5295,"name":"cardNumbersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5224,"src":"17546:17:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17517:46:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5297,"nodeType":"ExpressionStatement","src":"17517:46:19"},{"eventCall":{"arguments":[{"expression":{"id":5299,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17586:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17590:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17586:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5301,"name":"cardNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5152,"src":"17598:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[] calldata"}],"id":5298,"name":"CardsBurned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3748,"src":"17574:11:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_array$_t_uint8_$dyn_memory_ptr_$returns$__$","typeString":"function (address,uint8[] memory)"}},"id":5302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17574:36:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5303,"nodeType":"EmitStatement","src":"17569:41:19"},{"condition":{"id":5304,"name":"mustPayPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5178,"src":"17621:12:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5348,"nodeType":"IfStatement","src":"17617:360:19","trueBody":{"id":5347,"nodeType":"Block","src":"17635:342:19","statements":[{"expression":{"id":5311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"17643:32:19","subExpression":{"baseExpression":{"baseExpression":{"id":5305,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"17643:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5309,"indexExpression":{"expression":{"id":5306,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17657:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17661:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17657:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17643:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5310,"indexExpression":{"hexValue":"313231","id":5308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17669:3:19","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17643:30:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5312,"nodeType":"ExpressionStatement","src":"17643:32:19"},{"expression":{"arguments":[{"expression":{"id":5314,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17692:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17696:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17692:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5316,"name":"s_secondaryUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3623,"src":"17704:14:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"hexValue":"313231","id":5317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17720:3:19","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},{"hexValue":"32","id":5318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17725:1:19","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":5313,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5493,"src":"17683:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":5319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17683:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5320,"nodeType":"ExpressionStatement","src":"17683:44:19"},{"expression":{"id":5323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5321,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"17763:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":5322,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"17782:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17763:40:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5324,"nodeType":"ExpressionStatement","src":"17763:40:19"},{"expression":{"arguments":[{"expression":{"id":5329,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17838:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17842:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17838:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5331,"name":"s_secondaryAlbumPrize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3619,"src":"17850:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5326,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"17818:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5325,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"17811:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":5327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17811:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":5328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17829:8:19","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"17811:26:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":5332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17811:61:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5333,"nodeType":"ExpressionStatement","src":"17811:61:19"},{"expression":{"arguments":[{"expression":{"id":5337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17917:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17921:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17917:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5334,"name":"gammaTicketsContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"17881:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaTicketsContract_$3571","typeString":"contract IgammaTicketsContract"}},"id":5336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17902:14:19","memberName":"generateTicket","nodeType":"MemberAccess","referencedDeclaration":3570,"src":"17881:35:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17881:47:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5340,"nodeType":"ExpressionStatement","src":"17881:47:19"},{"eventCall":{"arguments":[{"expression":{"id":5342,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17956:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17960:6:19","memberName":"sender","nodeType":"MemberAccess","src":"17956:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"32","id":5344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17968:1:19","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":5341,"name":"AlbumCompleted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3690,"src":"17941:14:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$returns$__$","typeString":"function (address,uint8)"}},"id":5345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17941:29:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5346,"nodeType":"EmitStatement","src":"17936:34:19"}]}}]},"functionSelector":"20965a5f","id":5350,"implemented":true,"kind":"function","modifiers":[],"name":"burnCards","nameLocation":"16426:9:19","nodeType":"FunctionDefinition","parameters":{"id":5153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5152,"mutability":"mutable","name":"cardNumbers","nameLocation":"16453:11:19","nodeType":"VariableDeclaration","scope":5350,"src":"16436:28:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_calldata_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5150,"name":"uint8","nodeType":"ElementaryTypeName","src":"16436:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5151,"nodeType":"ArrayTypeName","src":"16436:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"16435:30:19"},"returnParameters":{"id":5154,"nodeType":"ParameterList","parameters":[],"src":"16473:0:19"},"scope":5637,"src":"16417:1564:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5441,"nodeType":"Block","src":"18025:838:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5355,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"18034:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5358,"indexExpression":{"expression":{"id":5356,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18048:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18052:6:19","memberName":"sender","nodeType":"MemberAccess","src":"18048:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18034:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5360,"indexExpression":{"id":5359,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"18060:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18034:34:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18072:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18034:39:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5366,"nodeType":"IfStatement","src":"18031:79:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5363,"name":"UserDoesNotHaveCardOrAlbum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"18082:26:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18082:28:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5365,"nodeType":"RevertStatement","src":"18075:35:19"}},{"condition":{"id":5367,"name":"s_requireOfferValidationInMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3630,"src":"18121:30:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5397,"nodeType":"IfStatement","src":"18117:519:19","trueBody":{"id":5396,"nodeType":"Block","src":"18153:483:19","statements":[{"assignments":[5369],"declarations":[{"constant":false,"id":5369,"mutability":"mutable","name":"hasOffer","nameLocation":"18166:8:19","nodeType":"VariableDeclaration","scope":5396,"src":"18161:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5368,"name":"bool","nodeType":"ElementaryTypeName","src":"18161:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5376,"initialValue":{"arguments":[{"expression":{"id":5372,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18206:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18210:6:19","memberName":"sender","nodeType":"MemberAccess","src":"18206:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5374,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"18218:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5370,"name":"gammaOffersContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3588,"src":"18177:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaOffersContract_$3565","typeString":"contract IgammaOffersContract"}},"id":5371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18197:8:19","memberName":"hasOffer","nodeType":"MemberAccess","referencedDeclaration":3534,"src":"18177:28:19","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint8_$returns$_t_bool_$","typeString":"function (address,uint8) view external returns (bool)"}},"id":5375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18177:49:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18161:65:19"},{"assignments":[5378],"declarations":[{"constant":false,"id":5378,"mutability":"mutable","name":"hasMoreThanOne","nameLocation":"18239:14:19","nodeType":"VariableDeclaration","scope":5396,"src":"18234:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5377,"name":"bool","nodeType":"ElementaryTypeName","src":"18234:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5387,"initialValue":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":5379,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"18256:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5382,"indexExpression":{"expression":{"id":5380,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18270:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18274:6:19","memberName":"sender","nodeType":"MemberAccess","src":"18270:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18256:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5384,"indexExpression":{"id":5383,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"18282:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18256:34:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":5385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18293:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18256:38:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18234:60:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18574:9:19","subExpression":{"id":5389,"name":"hasOffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5369,"src":"18575:8:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":5391,"name":"hasMoreThanOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5378,"src":"18587:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18574:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5468697320636172642068617320616e206f666665722e","id":5393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18603:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""},"value":"This card has an offer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232","typeString":"literal_string \"This card has an offer.\""}],"id":5388,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18566:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18566:63:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5395,"nodeType":"ExpressionStatement","src":"18566:63:19"}]}},{"expression":{"id":5404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"18642:36:19","subExpression":{"baseExpression":{"baseExpression":{"id":5398,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"18642:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5402,"indexExpression":{"expression":{"id":5399,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18656:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18660:6:19","memberName":"sender","nodeType":"MemberAccess","src":"18656:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18642:25:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5403,"indexExpression":{"id":5401,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"18668:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18642:34:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5405,"nodeType":"ExpressionStatement","src":"18642:36:19"},{"assignments":[5407],"declarations":[{"constant":false,"id":5407,"mutability":"mutable","name":"uri","nameLocation":"18699:3:19","nodeType":"VariableDeclaration","scope":5441,"src":"18685:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5406,"name":"string","nodeType":"ElementaryTypeName","src":"18685:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5432,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":5414,"name":"s_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"18742:9:19","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":5413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18736:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5412,"name":"bytes","nodeType":"ElementaryTypeName","src":"18736:5:19","typeDescriptions":{}}},"id":5415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18736:16:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},{"arguments":[{"hexValue":"2f","id":5418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18760:3:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""},"value":"/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527","typeString":"literal_string \"/\""}],"id":5417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18754:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5416,"name":"bytes","nodeType":"ElementaryTypeName","src":"18754:5:19","typeDescriptions":{}}},"id":5419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18754:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5422,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"18772:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18780:8:19","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":6034,"src":"18772:16:19","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":5424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18772:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18766:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5420,"name":"bytes","nodeType":"ElementaryTypeName","src":"18766:5:19","typeDescriptions":{}}},"id":5425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18766:25:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"arguments":[{"hexValue":"2e6a736f6e","id":5428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18799:7:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""},"value":".json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972","typeString":"literal_string \".json\""}],"id":5427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18793:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5426,"name":"bytes","nodeType":"ElementaryTypeName","src":"18793:5:19","typeDescriptions":{}}},"id":5429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18793:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18719:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18723:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"18719:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18719:89:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18705:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5408,"name":"string","nodeType":"ElementaryTypeName","src":"18705:6:19","typeDescriptions":{}}},"id":5431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18705:109:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"18685:129:19"},{"expression":{"arguments":[{"expression":{"id":5434,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18830:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18834:6:19","memberName":"sender","nodeType":"MemberAccess","src":"18830:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5436,"name":"uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5407,"src":"18842:3:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5437,"name":"cardNum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5352,"src":"18847:7:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"hexValue":"31","id":5438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18856:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":5433,"name":"safeMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5493,"src":"18821:8:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":5439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18821:37:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5440,"nodeType":"ExpressionStatement","src":"18821:37:19"}]},"functionSelector":"bf400a6a","id":5442,"implemented":true,"kind":"function","modifiers":[],"name":"mintCard","nameLocation":"17994:8:19","nodeType":"FunctionDefinition","parameters":{"id":5353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5352,"mutability":"mutable","name":"cardNum","nameLocation":"18009:7:19","nodeType":"VariableDeclaration","scope":5442,"src":"18003:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5351,"name":"uint8","nodeType":"ElementaryTypeName","src":"18003:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"18002:15:19"},"returnParameters":{"id":5354,"nodeType":"ParameterList","parameters":[],"src":"18025:0:19"},"scope":5637,"src":"17985:878:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5492,"nodeType":"Block","src":"18958:250:19","statements":[{"assignments":[5454],"declarations":[{"constant":false,"id":5454,"mutability":"mutable","name":"tokenId","nameLocation":"18972:7:19","nodeType":"VariableDeclaration","scope":5492,"src":"18964:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5453,"name":"uint256","nodeType":"ElementaryTypeName","src":"18964:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5456,"initialValue":{"id":5455,"name":"s_tokenIdCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"18982:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18964:34:19"},{"expression":{"id":5462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5457,"name":"s_cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3649,"src":"19004:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3644_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card storage ref)"}},"id":5459,"indexExpression":{"id":5458,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19012:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19004:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3644_storage","typeString":"struct NofGammaCardsV5.Card storage ref"}},"id":5460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19021:7:19","memberName":"tokenId","nodeType":"MemberAccess","referencedDeclaration":3635,"src":"19004:24:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5461,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19031:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19004:34:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5463,"nodeType":"ExpressionStatement","src":"19004:34:19"},{"expression":{"id":5469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5464,"name":"s_cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3649,"src":"19044:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3644_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card storage ref)"}},"id":5466,"indexExpression":{"id":5465,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19052:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19044:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3644_storage","typeString":"struct NofGammaCardsV5.Card storage ref"}},"id":5467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19061:6:19","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":3637,"src":"19044:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5468,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5448,"src":"19070:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19044:33:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5470,"nodeType":"ExpressionStatement","src":"19044:33:19"},{"expression":{"id":5476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5471,"name":"s_cards","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3649,"src":"19083:7:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Card_$3644_storage_$","typeString":"mapping(uint256 => struct NofGammaCardsV5.Card storage ref)"}},"id":5473,"indexExpression":{"id":5472,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19091:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19083:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Card_$3644_storage","typeString":"struct NofGammaCardsV5.Card storage ref"}},"id":5474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19100:5:19","memberName":"class","nodeType":"MemberAccess","referencedDeclaration":3641,"src":"19083:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5475,"name":"_class","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"19108:6:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"19083:31:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5477,"nodeType":"ExpressionStatement","src":"19083:31:19"},{"expression":{"arguments":[{"id":5479,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5444,"src":"19130:3:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5480,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19135:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5478,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[713,742],"referencedDeclaration":713,"src":"19120:9:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":5481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19120:23:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5482,"nodeType":"ExpressionStatement","src":"19120:23:19"},{"expression":{"arguments":[{"id":5484,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19162:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5485,"name":"_uri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5446,"src":"19171:4:19","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5483,"name":"_setTokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1434,"src":"19149:12:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory)"}},"id":5486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19149:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5487,"nodeType":"ExpressionStatement","src":"19149:27:19"},{"expression":{"id":5490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5488,"name":"s_tokenIdCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3607,"src":"19182:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":5489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19202:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19182:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5491,"nodeType":"ExpressionStatement","src":"19182:21:19"}]},"id":5493,"implemented":true,"kind":"function","modifiers":[],"name":"safeMint","nameLocation":"18876:8:19","nodeType":"FunctionDefinition","parameters":{"id":5451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5444,"mutability":"mutable","name":"_to","nameLocation":"18893:3:19","nodeType":"VariableDeclaration","scope":5493,"src":"18885:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5443,"name":"address","nodeType":"ElementaryTypeName","src":"18885:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5446,"mutability":"mutable","name":"_uri","nameLocation":"18912:4:19","nodeType":"VariableDeclaration","scope":5493,"src":"18898:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5445,"name":"string","nodeType":"ElementaryTypeName","src":"18898:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5448,"mutability":"mutable","name":"_number","nameLocation":"18926:7:19","nodeType":"VariableDeclaration","scope":5493,"src":"18918:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5447,"name":"uint256","nodeType":"ElementaryTypeName","src":"18918:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5450,"mutability":"mutable","name":"_class","nameLocation":"18941:6:19","nodeType":"VariableDeclaration","scope":5493,"src":"18935:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5449,"name":"uint8","nodeType":"ElementaryTypeName","src":"18935:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"18884:64:19"},"returnParameters":{"id":5452,"nodeType":"ParameterList","parameters":[],"src":"18958:0:19"},"scope":5637,"src":"18867:341:19","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":5531,"nodeType":"Block","src":"19314:208:19","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":5503,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19341:4:19","typeDescriptions":{"typeIdentifier":"t_contract$_NofGammaCardsV5_$5637","typeString":"contract NofGammaCardsV5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NofGammaCardsV5_$5637","typeString":"contract NofGammaCardsV5"}],"id":5502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19333:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5501,"name":"address","nodeType":"ElementaryTypeName","src":"19333:7:19","typeDescriptions":{}}},"id":5504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19333:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5500,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":336,"src":"19323:9:19","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":5505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19323:24:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5506,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5495,"src":"19350:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19323:33:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5511,"nodeType":"IfStatement","src":"19320:64:19","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5508,"name":"InsufficientFunds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3496,"src":"19365:17:19","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19365:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5510,"nodeType":"RevertStatement","src":"19358:26:19"}},{"expression":{"id":5514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5512,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"19390:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":5513,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5495,"src":"19409:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19390:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5515,"nodeType":"ExpressionStatement","src":"19390:25:19"},{"expression":{"arguments":[{"expression":{"id":5520,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19448:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19452:6:19","memberName":"sender","nodeType":"MemberAccess","src":"19448:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5522,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5495,"src":"19460:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5517,"name":"DAI_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3605,"src":"19428:9:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5516,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"19421:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$218_$","typeString":"type(contract IERC20)"}},"id":5518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19421:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$218","typeString":"contract IERC20"}},"id":5519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19439:8:19","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":185,"src":"19421:26:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":5523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19421:46:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5524,"nodeType":"ExpressionStatement","src":"19421:46:19"},{"eventCall":{"arguments":[{"expression":{"id":5526,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19498:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19502:6:19","memberName":"sender","nodeType":"MemberAccess","src":"19498:10:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5528,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5495,"src":"19510:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5525,"name":"EmergencyWithdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3704,"src":"19478:19:19","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":5529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19478:39:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5530,"nodeType":"EmitStatement","src":"19473:44:19"}]},"functionSelector":"5312ea8e","id":5532,"implemented":true,"kind":"function","modifiers":[{"id":5498,"kind":"modifierInvocation","modifierName":{"id":5497,"name":"onlyOwners","nameLocations":["19303:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"19303:10:19"},"nodeType":"ModifierInvocation","src":"19303:10:19"}],"name":"emergencyWithdraw","nameLocation":"19262:17:19","nodeType":"FunctionDefinition","parameters":{"id":5496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5495,"mutability":"mutable","name":"amount","nameLocation":"19288:6:19","nodeType":"VariableDeclaration","scope":5532,"src":"19280:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5494,"name":"uint256","nodeType":"ElementaryTypeName","src":"19280:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19279:16:19"},"returnParameters":{"id":5499,"nodeType":"ParameterList","parameters":[],"src":"19314:0:19"},"scope":5637,"src":"19253:269:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5557,"nodeType":"Block","src":"19637:129:19","statements":[{"body":{"id":5555,"nodeType":"Block","src":"19670:92:19","statements":[{"expression":{"id":5553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19729:24:19","subExpression":{"baseExpression":{"baseExpression":{"id":5548,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"19729:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5551,"indexExpression":{"id":5549,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"19743:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19729:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5552,"indexExpression":{"id":5550,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5540,"src":"19749:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19729:22:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5554,"nodeType":"ExpressionStatement","src":"19729:24:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5542,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5540,"src":"19658:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"313231","id":5543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19661:3:19","typeDescriptions":{"typeIdentifier":"t_rational_121_by_1","typeString":"int_const 121"},"value":"121"},"src":"19658:6:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5556,"initializationExpression":{"assignments":[5540],"declarations":[{"constant":false,"id":5540,"mutability":"mutable","name":"i","nameLocation":"19655:1:19","nodeType":"VariableDeclaration","scope":5556,"src":"19649:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5539,"name":"uint8","nodeType":"ElementaryTypeName","src":"19649:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":5541,"nodeType":"VariableDeclarationStatement","src":"19649:7:19"},"loopExpression":{"expression":{"id":5546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19666:3:19","subExpression":{"id":5545,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5540,"src":"19666:1:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5547,"nodeType":"ExpressionStatement","src":"19666:3:19"},"nodeType":"ForStatement","src":"19645:117:19"}]},"functionSelector":"a419811d","id":5558,"implemented":true,"kind":"function","modifiers":[{"id":5537,"kind":"modifierInvocation","modifierName":{"id":5536,"name":"onlyOwners","nameLocations":["19626:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"19626:10:19"},"nodeType":"ModifierInvocation","src":"19626:10:19"}],"name":"testAddCards","nameLocation":"19592:12:19","nodeType":"FunctionDefinition","parameters":{"id":5535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5534,"mutability":"mutable","name":"user","nameLocation":"19613:4:19","nodeType":"VariableDeclaration","scope":5558,"src":"19605:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5533,"name":"address","nodeType":"ElementaryTypeName","src":"19605:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19604:14:19"},"returnParameters":{"id":5538,"nodeType":"ParameterList","parameters":[],"src":"19637:0:19"},"scope":5637,"src":"19583:183:19","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":5635,"nodeType":"Block","src":"19871:472:19","statements":[{"expression":{"arguments":[{"id":5573,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5562,"src":"19909:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5574,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5560,"src":"19921:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5570,"name":"gammaPacksContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"19881:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IgammaPacksContract_$3525","typeString":"contract IgammaPacksContract"}},"id":5572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19900:8:19","memberName":"openPack","nodeType":"MemberAccess","referencedDeclaration":3516,"src":"19881:27:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address) external"}},"id":5575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19881:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5576,"nodeType":"ExpressionStatement","src":"19881:45:19"},{"expression":{"id":5583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5577,"name":"s_prizesBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3613,"src":"19936:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5578,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"19955:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5579,"name":"s_packPrice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3610,"src":"19969:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"36","id":5580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19983:1:19","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"src":"19969:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19955:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19936:48:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5584,"nodeType":"ExpressionStatement","src":"19936:48:19"},{"body":{"id":5633,"nodeType":"Block","src":"20033:304:19","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":5600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5596,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5565,"src":"20055:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5598,"indexExpression":{"id":5597,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"20064:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20055:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"313230","id":5599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20070:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"src":"20055:18:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5606,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"20107:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":5610,"indexExpression":{"baseExpression":{"id":5607,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5565,"src":"20124:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5609,"indexExpression":{"id":5608,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"20133:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20124:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20107:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"35303031","id":5611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20139:4:19","typeDescriptions":{"typeIdentifier":"t_rational_5001_by_1","typeString":"int_const 5001"},"value":"5001"},"src":"20107:36:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20055:88:19","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5601,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"20076:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":5603,"indexExpression":{"hexValue":"313230","id":5602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20093:3:19","typeDescriptions":{"typeIdentifier":"t_rational_120_by_1","typeString":"int_const 120"},"value":"120"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20076:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"33303031","id":5604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20100:4:19","typeDescriptions":{"typeIdentifier":"t_rational_3001_by_1","typeString":"int_const 3001"},"value":"3001"},"src":"20076:28:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"696e76616c69642063617264496e76656e746f727920706f736974696f6e","id":5614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20162:32:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8","typeString":"literal_string \"invalid cardInventory position\""},"value":"invalid cardInventory position"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8","typeString":"literal_string \"invalid cardInventory position\""}],"id":5595,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20047:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20047:148:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5616,"nodeType":"ExpressionStatement","src":"20047:148:19"},{"expression":{"id":5622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20209:31:19","subExpression":{"baseExpression":{"id":5617,"name":"s_cardsInventory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3653,"src":"20209:16:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":5621,"indexExpression":{"baseExpression":{"id":5618,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5565,"src":"20226:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5620,"indexExpression":{"id":5619,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"20235:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20226:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20209:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5623,"nodeType":"ExpressionStatement","src":"20209:31:19"},{"expression":{"id":5631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20273:34:19","subExpression":{"baseExpression":{"baseExpression":{"id":5624,"name":"s_cardsByUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3663,"src":"20273:13:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint8_$_t_uint8_$_$","typeString":"mapping(address => mapping(uint8 => uint8))"}},"id":5629,"indexExpression":{"id":5625,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5560,"src":"20287:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20273:19:19","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_uint8_$","typeString":"mapping(uint8 => uint8)"}},"id":5630,"indexExpression":{"baseExpression":{"id":5626,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5565,"src":"20293:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5628,"indexExpression":{"id":5627,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"20302:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20293:11:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20273:32:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5632,"nodeType":"ExpressionStatement","src":"20273:34:19"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5588,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"20010:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5589,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5565,"src":"20012:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":5590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20021:6:19","memberName":"length","nodeType":"MemberAccess","src":"20012:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20010:17:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5634,"initializationExpression":{"assignments":[5586],"declarations":[{"constant":false,"id":5586,"mutability":"mutable","name":"i","nameLocation":"20007:1:19","nodeType":"VariableDeclaration","scope":5634,"src":"19999:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5585,"name":"uint256","nodeType":"ElementaryTypeName","src":"19999:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5587,"nodeType":"VariableDeclarationStatement","src":"19999:9:19"},"loopExpression":{"expression":{"id":5593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"20029:3:19","subExpression":{"id":5592,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5586,"src":"20029:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5594,"nodeType":"ExpressionStatement","src":"20029:3:19"},"nodeType":"ForStatement","src":"19995:342:19"}]},"functionSelector":"30f5cc58","id":5636,"implemented":true,"kind":"function","modifiers":[{"id":5568,"kind":"modifierInvocation","modifierName":{"id":5567,"name":"onlyOwners","nameLocations":["19860:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":3792,"src":"19860:10:19"},"nodeType":"ModifierInvocation","src":"19860:10:19"}],"name":"testOpenPack","nameLocation":"19779:12:19","nodeType":"FunctionDefinition","parameters":{"id":5566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5560,"mutability":"mutable","name":"user","nameLocation":"19800:4:19","nodeType":"VariableDeclaration","scope":5636,"src":"19792:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5559,"name":"address","nodeType":"ElementaryTypeName","src":"19792:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5562,"mutability":"mutable","name":"packNumber","nameLocation":"19814:10:19","nodeType":"VariableDeclaration","scope":5636,"src":"19806:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5561,"name":"uint256","nodeType":"ElementaryTypeName","src":"19806:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5565,"mutability":"mutable","name":"packData","nameLocation":"19841:8:19","nodeType":"VariableDeclaration","scope":5636,"src":"19826:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5563,"name":"uint8","nodeType":"ElementaryTypeName","src":"19826:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5564,"nodeType":"ArrayTypeName","src":"19826:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"19791:59:19"},"returnParameters":{"id":5569,"nodeType":"ParameterList","parameters":[],"src":"19871:0:19"},"scope":5637,"src":"19770:573:19","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5638,"src":"1668:18731:19","usedErrors":[3472,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3494,3496,3498,3500,3502],"usedEvents":[13,129,136,1160,1169,1178,3667,3671,3675,3684,3690,3698,3704,3708,3714,3724,3732,3741,3748]}],"src":"32:20368:19"},"id":19},"contracts/gamma/GammaCardsNFT.v1.sol":{"ast":{"absolutePath":"contracts/gamma/GammaCardsNFT.v1.sol","exportedSymbols":{"ERC721":[1145],"ERC721Burnable":[1309],"ERC721URIStorage":[1465],"NofGammaCardsNFTV1":[5707]},"id":5708,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5639,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:20"},{"absolutePath":"@openzeppelin/contracts/token/ERC721/ERC721.sol","file":"@openzeppelin/contracts/token/ERC721/ERC721.sol","id":5641,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5708,"sourceUnit":1146,"src":"58:71:20","symbolAliases":[{"foreign":{"id":5640,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1145,"src":"66:6:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol","id":5643,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5708,"sourceUnit":1466,"src":"130:102:20","symbolAliases":[{"foreign":{"id":5642,"name":"ERC721URIStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1465,"src":"138:16:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol","id":5645,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5708,"sourceUnit":1310,"src":"233:98:20","symbolAliases":[{"foreign":{"id":5644,"name":"ERC721Burnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"241:14:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":5646,"name":"ERC721","nameLocations":["364:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"364:6:20"},"id":5647,"nodeType":"InheritanceSpecifier","src":"364:6:20"},{"baseName":{"id":5648,"name":"ERC721URIStorage","nameLocations":["372:16:20"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"372:16:20"},"id":5649,"nodeType":"InheritanceSpecifier","src":"372:16:20"},{"baseName":{"id":5650,"name":"ERC721Burnable","nameLocations":["390:14:20"],"nodeType":"IdentifierPath","referencedDeclaration":1309,"src":"390:14:20"},"id":5651,"nodeType":"InheritanceSpecifier","src":"390:14:20"}],"canonicalName":"NofGammaCardsNFTV1","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":5707,"linearizedBaseContracts":[5707,1309,1465,1145,1492,137,1261,2471,2483,1852],"name":"NofGammaCardsNFTV1","nameLocation":"342:18:20","nodeType":"ContractDefinition","nodes":[{"body":{"id":5658,"nodeType":"Block","src":"457:2:20","statements":[]},"id":5659,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"47616d6d614361726473","id":5654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"433:12:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_08e769a9d293abdacc40b084f84d4380cbaaf73461944eb3f34daf9fed6c07e7","typeString":"literal_string \"GammaCards\""},"value":"GammaCards"},{"hexValue":"4e4f465f4743","id":5655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"447:8:20","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7f918eba56aee1e5ed39fb369bdef1bfd5ed12a0360c4730fa49007d201a169","typeString":"literal_string \"NOF_GC\""},"value":"NOF_GC"}],"id":5656,"kind":"baseConstructorSpecifier","modifierName":{"id":5653,"name":"ERC721","nameLocations":["426:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"426:6:20"},"nodeType":"ModifierInvocation","src":"426:30:20"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":5652,"nodeType":"ParameterList","parameters":[],"src":"423:2:20"},"returnParameters":{"id":5657,"nodeType":"ParameterList","parameters":[],"src":"457:0:20"},"scope":5707,"src":"412:47:20","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"baseFunctions":[886,1464],"body":{"id":5673,"nodeType":"Block","src":"541:37:20","statements":[{"expression":{"arguments":[{"id":5670,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5661,"src":"563:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5667,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"551:5:20","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofGammaCardsNFTV1_$5707_$","typeString":"type(contract super NofGammaCardsNFTV1)"}},"id":5669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"557:5:20","memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":1464,"src":"551:11:20","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":5671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"551:20:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5672,"nodeType":"ExpressionStatement","src":"551:20:20"}]},"id":5674,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"474:5:20","nodeType":"FunctionDefinition","overrides":{"id":5665,"nodeType":"OverrideSpecifier","overrides":[{"id":5663,"name":"ERC721","nameLocations":["515:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"515:6:20"},{"id":5664,"name":"ERC721URIStorage","nameLocations":["523:16:20"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"523:16:20"}],"src":"506:34:20"},"parameters":{"id":5662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5661,"mutability":"mutable","name":"tokenId","nameLocation":"488:7:20","nodeType":"VariableDeclaration","scope":5674,"src":"480:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5660,"name":"uint256","nodeType":"ElementaryTypeName","src":"480:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"479:17:20"},"returnParameters":{"id":5666,"nodeType":"ParameterList","parameters":[],"src":"541:0:20"},"scope":5707,"src":"465:113:20","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[423,1408],"body":{"id":5689,"nodeType":"Block","src":"702:47:20","statements":[{"expression":{"arguments":[{"id":5686,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5676,"src":"734:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5684,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"719:5:20","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofGammaCardsNFTV1_$5707_$","typeString":"type(contract super NofGammaCardsNFTV1)"}},"id":5685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"725:8:20","memberName":"tokenURI","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"719:14:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view returns (string memory)"}},"id":5687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"719:23:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5683,"id":5688,"nodeType":"Return","src":"712:30:20"}]},"functionSelector":"c87b56dd","id":5690,"implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"593:8:20","nodeType":"FunctionDefinition","overrides":{"id":5680,"nodeType":"OverrideSpecifier","overrides":[{"id":5678,"name":"ERC721","nameLocations":["640:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"640:6:20"},{"id":5679,"name":"ERC721URIStorage","nameLocations":["648:16:20"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"648:16:20"}],"src":"631:34:20"},"parameters":{"id":5677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5676,"mutability":"mutable","name":"tokenId","nameLocation":"610:7:20","nodeType":"VariableDeclaration","scope":5690,"src":"602:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5675,"name":"uint256","nodeType":"ElementaryTypeName","src":"602:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"601:17:20"},"returnParameters":{"id":5683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5690,"src":"683:13:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5681,"name":"string","nodeType":"ElementaryTypeName","src":"683:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"682:15:20"},"scope":5707,"src":"584:165:20","stateMutability":"view","virtual":false,"visibility":"public"},{"baseFunctions":[312,1349],"body":{"id":5705,"nodeType":"Block","src":"876:60:20","statements":[{"expression":{"arguments":[{"id":5702,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5692,"src":"917:11:20","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":5700,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"893:5:20","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_NofGammaCardsNFTV1_$5707_$","typeString":"type(contract super NofGammaCardsNFTV1)"}},"id":5701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"899:17:20","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":1349,"src":"893:23:20","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":5703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"893:36:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5699,"id":5704,"nodeType":"Return","src":"886:43:20"}]},"functionSelector":"01ffc9a7","id":5706,"implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"764:17:20","nodeType":"FunctionDefinition","overrides":{"id":5696,"nodeType":"OverrideSpecifier","overrides":[{"id":5694,"name":"ERC721","nameLocations":["823:6:20"],"nodeType":"IdentifierPath","referencedDeclaration":1145,"src":"823:6:20"},{"id":5695,"name":"ERC721URIStorage","nameLocations":["831:16:20"],"nodeType":"IdentifierPath","referencedDeclaration":1465,"src":"831:16:20"}],"src":"814:34:20"},"parameters":{"id":5693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5692,"mutability":"mutable","name":"interfaceId","nameLocation":"789:11:20","nodeType":"VariableDeclaration","scope":5706,"src":"782:18:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5691,"name":"bytes4","nodeType":"ElementaryTypeName","src":"782:6:20","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"781:20:20"},"returnParameters":{"id":5699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5698,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5706,"src":"866:4:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5697,"name":"bool","nodeType":"ElementaryTypeName","src":"866:4:20","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"865:6:20"},"scope":5707,"src":"755:181:20","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":5708,"src":"333:606:20","usedErrors":[],"usedEvents":[129,136,1160,1169,1178]}],"src":"32:908:20"},"id":20},"contracts/gamma/libs/LibControlMgmt.sol":{"ast":{"absolutePath":"contracts/gamma/libs/LibControlMgmt.sol","exportedSymbols":{"LibControlMgmt":[5909]},"id":5910,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5709,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:21"},{"abstract":false,"baseContracts":[],"canonicalName":"LibControlMgmt","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":5909,"linearizedBaseContracts":[5909],"name":"LibControlMgmt","nameLocation":"66:14:21","nodeType":"ContractDefinition","nodes":[{"canonicalName":"LibControlMgmt.Data","id":5718,"members":[{"constant":false,"id":5713,"mutability":"mutable","name":"owners","nameLocation":"134:6:21","nodeType":"VariableDeclaration","scope":5718,"src":"109:31:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":5712,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":5710,"name":"address","nodeType":"ElementaryTypeName","src":"117:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"109:24:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5711,"name":"bool","nodeType":"ElementaryTypeName","src":"128:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"},{"constant":false,"id":5717,"mutability":"mutable","name":"signers","nameLocation":"175:7:21","nodeType":"VariableDeclaration","scope":5718,"src":"150:32:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":5716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":5714,"name":"address","nodeType":"ElementaryTypeName","src":"158:7:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"150:24:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5715,"name":"bool","nodeType":"ElementaryTypeName","src":"169:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"internal"}],"name":"Data","nameLocation":"94:4:21","nodeType":"StructDefinition","scope":5909,"src":"87:102:21","visibility":"public"},{"anonymous":false,"eventSelector":"6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d","id":5722,"name":"NewOwnerAdded","nameLocation":"201:13:21","nodeType":"EventDefinition","parameters":{"id":5721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5720,"indexed":false,"mutability":"mutable","name":"newOwner","nameLocation":"223:8:21","nodeType":"VariableDeclaration","scope":5722,"src":"215:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5719,"name":"address","nodeType":"ElementaryTypeName","src":"215:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"214:18:21"},"src":"195:38:21"},{"anonymous":false,"eventSelector":"58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da","id":5726,"name":"OwnerRemoved","nameLocation":"244:12:21","nodeType":"EventDefinition","parameters":{"id":5725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5724,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"265:5:21","nodeType":"VariableDeclaration","scope":5726,"src":"257:13:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5723,"name":"address","nodeType":"ElementaryTypeName","src":"257:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"256:15:21"},"src":"238:34:21"},{"anonymous":false,"eventSelector":"72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa3","id":5730,"name":"NewSignerAdded","nameLocation":"283:14:21","nodeType":"EventDefinition","parameters":{"id":5729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5728,"indexed":false,"mutability":"mutable","name":"newSigner","nameLocation":"306:9:21","nodeType":"VariableDeclaration","scope":5730,"src":"298:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5727,"name":"address","nodeType":"ElementaryTypeName","src":"298:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"297:19:21"},"src":"277:40:21"},{"anonymous":false,"eventSelector":"3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b","id":5734,"name":"SignerRemoved","nameLocation":"328:13:21","nodeType":"EventDefinition","parameters":{"id":5733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5732,"indexed":false,"mutability":"mutable","name":"signer","nameLocation":"350:6:21","nodeType":"VariableDeclaration","scope":5734,"src":"342:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5731,"name":"address","nodeType":"ElementaryTypeName","src":"342:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"341:16:21"},"src":"322:36:21"},{"body":{"id":5773,"nodeType":"Block","src":"428:217:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5743,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5739,"src":"446:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"466:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"458:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5744,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:21","typeDescriptions":{}}},"id":5747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"458:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"446:22:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":5749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"470:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":5742,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"438:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"438:51:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5751,"nodeType":"ExpressionStatement","src":"438:51:21"},{"expression":{"arguments":[{"id":5757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"507:22:21","subExpression":{"baseExpression":{"expression":{"id":5753,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5737,"src":"508:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5754,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"513:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"508:11:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5756,"indexExpression":{"id":5755,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5739,"src":"520:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"508:21:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4164647265737320697320616c726561647920616e206f776e65722e","id":5758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"531:30:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f","typeString":"literal_string \"Address is already an owner.\""},"value":"Address is already an owner."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f","typeString":"literal_string \"Address is already an owner.\""}],"id":5752,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"499:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"499:63:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5760,"nodeType":"ExpressionStatement","src":"499:63:21"},{"expression":{"id":5767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":5761,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5737,"src":"572:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5764,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"577:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"572:11:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5765,"indexExpression":{"id":5763,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5739,"src":"584:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"572:21:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"596:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"572:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5768,"nodeType":"ExpressionStatement","src":"572:28:21"},{"eventCall":{"arguments":[{"id":5770,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5739,"src":"629:8:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5769,"name":"NewOwnerAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5722,"src":"615:13:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"615:23:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5772,"nodeType":"EmitStatement","src":"610:28:21"}]},"functionSelector":"b4d78ae4","id":5774,"implemented":true,"kind":"function","modifiers":[],"name":"addOwner","nameLocation":"373:8:21","nodeType":"FunctionDefinition","parameters":{"id":5740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5737,"mutability":"mutable","name":"self","nameLocation":"395:4:21","nodeType":"VariableDeclaration","scope":5774,"src":"382:17:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":5736,"nodeType":"UserDefinedTypeName","pathNode":{"id":5735,"name":"Data","nameLocations":["382:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"382:4:21"},"referencedDeclaration":5718,"src":"382:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":5739,"mutability":"mutable","name":"newOwner","nameLocation":"409:8:21","nodeType":"VariableDeclaration","scope":5774,"src":"401:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5738,"name":"address","nodeType":"ElementaryTypeName","src":"401:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381:37:21"},"returnParameters":{"id":5741,"nodeType":"ParameterList","parameters":[],"src":"428:0:21"},"scope":5909,"src":"364:281:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5820,"nodeType":"Block","src":"723:321:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5783,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"741:13:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"766:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"758:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5784,"name":"address","nodeType":"ElementaryTypeName","src":"758:7:21","typeDescriptions":{}}},"id":5787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"758:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"741:27:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":5789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"770:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":5782,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"733:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"733:56:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5791,"nodeType":"ExpressionStatement","src":"733:56:21"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":5793,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5777,"src":"807:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"812:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"807:11:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5796,"indexExpression":{"id":5795,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"819:13:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"807:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41646472657373206973206e6f7420616e206f776e65722e","id":5797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"835:26:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502","typeString":"literal_string \"Address is not an owner.\""},"value":"Address is not an owner."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502","typeString":"literal_string \"Address is not an owner.\""}],"id":5792,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"799:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"799:63:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5799,"nodeType":"ExpressionStatement","src":"799:63:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5801,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"880:13:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":5802,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"897:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"901:6:21","memberName":"sender","nodeType":"MemberAccess","src":"897:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"880:27:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e206f776e65722e","id":5805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"909:41:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75","typeString":"literal_string \"You cannot remove yourself as an owner.\""},"value":"You cannot remove yourself as an owner."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75","typeString":"literal_string \"You cannot remove yourself as an owner.\""}],"id":5800,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"872:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:79:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5807,"nodeType":"ExpressionStatement","src":"872:79:21"},{"expression":{"id":5814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":5808,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5777,"src":"961:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"966:6:21","memberName":"owners","nodeType":"MemberAccess","referencedDeclaration":5713,"src":"961:11:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5812,"indexExpression":{"id":5810,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"973:13:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"961:26:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":5813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"990:5:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"961:34:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5815,"nodeType":"ExpressionStatement","src":"961:34:21"},{"eventCall":{"arguments":[{"id":5817,"name":"ownerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5779,"src":"1023:13:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5816,"name":"OwnerRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5726,"src":"1010:12:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1010:27:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5819,"nodeType":"EmitStatement","src":"1005:32:21"}]},"functionSelector":"b764b1a4","id":5821,"implemented":true,"kind":"function","modifiers":[],"name":"removeOwner","nameLocation":"660:11:21","nodeType":"FunctionDefinition","parameters":{"id":5780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5777,"mutability":"mutable","name":"self","nameLocation":"685:4:21","nodeType":"VariableDeclaration","scope":5821,"src":"672:17:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":5776,"nodeType":"UserDefinedTypeName","pathNode":{"id":5775,"name":"Data","nameLocations":["672:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"672:4:21"},"referencedDeclaration":5718,"src":"672:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":5779,"mutability":"mutable","name":"ownerToRemove","nameLocation":"699:13:21","nodeType":"VariableDeclaration","scope":5821,"src":"691:21:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5778,"name":"address","nodeType":"ElementaryTypeName","src":"691:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"671:42:21"},"returnParameters":{"id":5781,"nodeType":"ParameterList","parameters":[],"src":"723:0:21"},"scope":5909,"src":"651:393:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5860,"nodeType":"Block","src":"1116:224:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5830,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5826,"src":"1134:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1155:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1147:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5831,"name":"address","nodeType":"ElementaryTypeName","src":"1147:7:21","typeDescriptions":{}}},"id":5834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1147:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1134:23:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":5836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1159:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":5829,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1126:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1126:52:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5838,"nodeType":"ExpressionStatement","src":"1126:52:21"},{"expression":{"arguments":[{"id":5844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1196:24:21","subExpression":{"baseExpression":{"expression":{"id":5840,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5824,"src":"1197:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5841,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1202:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"1197:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5843,"indexExpression":{"id":5842,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5826,"src":"1210:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1197:23:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4164647265737320697320616c72656164792061207369676e65722e","id":5845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1222:30:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9","typeString":"literal_string \"Address is already a signer.\""},"value":"Address is already a signer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9","typeString":"literal_string \"Address is already a signer.\""}],"id":5839,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1188:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1188:65:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5847,"nodeType":"ExpressionStatement","src":"1188:65:21"},{"expression":{"id":5854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":5848,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5824,"src":"1263:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5851,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1268:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"1263:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5852,"indexExpression":{"id":5850,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5826,"src":"1276:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1263:23:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1289:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1263:30:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5855,"nodeType":"ExpressionStatement","src":"1263:30:21"},{"eventCall":{"arguments":[{"id":5857,"name":"newSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5826,"src":"1323:9:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5856,"name":"NewSignerAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5730,"src":"1308:14:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1308:25:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5859,"nodeType":"EmitStatement","src":"1303:30:21"}]},"functionSelector":"773b6d12","id":5861,"implemented":true,"kind":"function","modifiers":[],"name":"addSigner","nameLocation":"1059:9:21","nodeType":"FunctionDefinition","parameters":{"id":5827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5824,"mutability":"mutable","name":"self","nameLocation":"1082:4:21","nodeType":"VariableDeclaration","scope":5861,"src":"1069:17:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":5823,"nodeType":"UserDefinedTypeName","pathNode":{"id":5822,"name":"Data","nameLocations":["1069:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"1069:4:21"},"referencedDeclaration":5718,"src":"1069:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":5826,"mutability":"mutable","name":"newSigner","nameLocation":"1096:9:21","nodeType":"VariableDeclaration","scope":5861,"src":"1088:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5825,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1068:38:21"},"returnParameters":{"id":5828,"nodeType":"ParameterList","parameters":[],"src":"1116:0:21"},"scope":5909,"src":"1050:290:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":5907,"nodeType":"Block","src":"1420:329:21","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5870,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5866,"src":"1438:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1464:1:21","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1456:7:21","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5871,"name":"address","nodeType":"ElementaryTypeName","src":"1456:7:21","typeDescriptions":{}}},"id":5874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1456:10:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1438:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420616464726573732e","id":5876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1468:18:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""},"value":"Invalid address."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34","typeString":"literal_string \"Invalid address.\""}],"id":5869,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1430:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1430:57:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5878,"nodeType":"ExpressionStatement","src":"1430:57:21"},{"expression":{"arguments":[{"baseExpression":{"expression":{"id":5880,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5864,"src":"1505:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1510:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"1505:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5883,"indexExpression":{"id":5882,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5866,"src":"1518:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1505:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41646472657373206973206e6f742061207369676e65722e","id":5884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1535:26:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d","typeString":"literal_string \"Address is not a signer.\""},"value":"Address is not a signer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d","typeString":"literal_string \"Address is not a signer.\""}],"id":5879,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1497:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1497:65:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5886,"nodeType":"ExpressionStatement","src":"1497:65:21"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5888,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5866,"src":"1580:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":5889,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:21","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:21","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1580:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c662061732061207369676e65722e","id":5892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1610:41:21","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed","typeString":"literal_string \"You cannot remove yourself as a signer.\""},"value":"You cannot remove yourself as a signer."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed","typeString":"literal_string \"You cannot remove yourself as a signer.\""}],"id":5887,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1572:7:21","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1572:80:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5894,"nodeType":"ExpressionStatement","src":"1572:80:21"},{"expression":{"id":5901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":5895,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5864,"src":"1662:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data storage pointer"}},"id":5898,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1667:7:21","memberName":"signers","nodeType":"MemberAccess","referencedDeclaration":5717,"src":"1662:12:21","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5899,"indexExpression":{"id":5897,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5866,"src":"1675:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1662:28:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":5900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1693:5:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"1662:36:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5902,"nodeType":"ExpressionStatement","src":"1662:36:21"},{"eventCall":{"arguments":[{"id":5904,"name":"signerToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5866,"src":"1727:14:21","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5903,"name":"SignerRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5734,"src":"1713:13:21","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1713:29:21","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5906,"nodeType":"EmitStatement","src":"1708:34:21"}]},"functionSelector":"982088f0","id":5908,"implemented":true,"kind":"function","modifiers":[],"name":"removeSigner","nameLocation":"1355:12:21","nodeType":"FunctionDefinition","parameters":{"id":5867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5864,"mutability":"mutable","name":"self","nameLocation":"1381:4:21","nodeType":"VariableDeclaration","scope":5908,"src":"1368:17:21","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"},"typeName":{"id":5863,"nodeType":"UserDefinedTypeName","pathNode":{"id":5862,"name":"Data","nameLocations":["1368:4:21"],"nodeType":"IdentifierPath","referencedDeclaration":5718,"src":"1368:4:21"},"referencedDeclaration":5718,"src":"1368:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$5718_storage_ptr","typeString":"struct LibControlMgmt.Data"}},"visibility":"internal"},{"constant":false,"id":5866,"mutability":"mutable","name":"signerToRemove","nameLocation":"1395:14:21","nodeType":"VariableDeclaration","scope":5908,"src":"1387:22:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5865,"name":"address","nodeType":"ElementaryTypeName","src":"1387:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1367:43:21"},"returnParameters":{"id":5868,"nodeType":"ParameterList","parameters":[],"src":"1420:0:21"},"scope":5909,"src":"1346:403:21","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":5910,"src":"58:1693:21","usedErrors":[],"usedEvents":[5722,5726,5730,5734]}],"src":"32:1720:21"},"id":21},"contracts/gamma/libs/LibPackVerifier.sol":{"ast":{"absolutePath":"contracts/gamma/libs/LibPackVerifier.sol","exportedSymbols":{"ECDSA":[2447],"LibPackVerifier":[5954],"Math":[3349],"SignedMath":[3454],"Strings":[2081]},"id":5955,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5911,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:22"},{"absolutePath":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"@openzeppelin/contracts/utils/cryptography/ECDSA.sol","id":5912,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5955,"sourceUnit":2448,"src":"58:62:22","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"LibPackVerifier","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":5954,"linearizedBaseContracts":[5954],"name":"LibPackVerifier","nameLocation":"130:15:22","nodeType":"ContractDefinition","nodes":[{"global":false,"id":5915,"libraryName":{"id":5913,"name":"ECDSA","nameLocations":["158:5:22"],"nodeType":"IdentifierPath","referencedDeclaration":2447,"src":"158:5:22"},"nodeType":"UsingForDirective","src":"152:24:22","typeName":{"id":5914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"168:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},{"body":{"id":5952,"nodeType":"Block","src":"363:288:22","statements":[{"assignments":[5930],"declarations":[{"constant":false,"id":5930,"mutability":"mutable","name":"messageHash","nameLocation":"381:11:22","nodeType":"VariableDeclaration","scope":5952,"src":"373:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5929,"name":"bytes32","nodeType":"ElementaryTypeName","src":"373:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":5942,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":5934,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5917,"src":"435:6:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5935,"name":"packNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5919,"src":"443:10:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5936,"name":"packData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5922,"src":"455:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"hexValue":"307866316444373138393565343962313536333639333936396465353038393831393763444633343831","id":5937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"465:44:22","typeDescriptions":{"typeIdentifier":"t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be","typeString":"literal_string \"0xf1dD71895e49b1563693969de50898197cDF3481\""},"value":"0xf1dD71895e49b1563693969de50898197cDF3481"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be","typeString":"literal_string \"0xf1dD71895e49b1563693969de50898197cDF3481\""}],"expression":{"id":5932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"418:3:22","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"422:12:22","memberName":"encodePacked","nodeType":"MemberAccess","src":"418:16:22","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"418:92:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5931,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"395:9:22","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"395:125:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"521:22:22","memberName":"toEthSignedMessageHash","nodeType":"MemberAccess","referencedDeclaration":2392,"src":"395:148:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$attached_to$_t_bytes32_$","typeString":"function (bytes32) pure returns (bytes32)"}},"id":5941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"395:150:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"373:172:22"},{"assignments":[5944],"declarations":[{"constant":false,"id":5944,"mutability":"mutable","name":"recoveredSigner","nameLocation":"564:15:22","nodeType":"VariableDeclaration","scope":5952,"src":"556:23:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5943,"name":"address","nodeType":"ElementaryTypeName","src":"556:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5949,"initialValue":{"arguments":[{"id":5947,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5924,"src":"602:9:22","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":5945,"name":"messageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5930,"src":"582:11:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"594:7:22","memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"582:19:22","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$attached_to$_t_bytes32_$","typeString":"function (bytes32,bytes memory) pure returns (address)"}},"id":5948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"582:30:22","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"556:56:22"},{"expression":{"id":5950,"name":"recoveredSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5944,"src":"629:15:22","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5928,"id":5951,"nodeType":"Return","src":"622:22:22"}]},"functionSelector":"38fb7d8b","id":5953,"implemented":true,"kind":"function","modifiers":[],"name":"verifyPackSigner","nameLocation":"191:16:22","nodeType":"FunctionDefinition","parameters":{"id":5925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5917,"mutability":"mutable","name":"sender","nameLocation":"225:6:22","nodeType":"VariableDeclaration","scope":5953,"src":"217:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5916,"name":"address","nodeType":"ElementaryTypeName","src":"217:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5919,"mutability":"mutable","name":"packNumber","nameLocation":"249:10:22","nodeType":"VariableDeclaration","scope":5953,"src":"241:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5918,"name":"uint256","nodeType":"ElementaryTypeName","src":"241:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5922,"mutability":"mutable","name":"packData","nameLocation":"284:8:22","nodeType":"VariableDeclaration","scope":5953,"src":"269:23:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":5920,"name":"uint8","nodeType":"ElementaryTypeName","src":"269:5:22","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":5921,"nodeType":"ArrayTypeName","src":"269:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":5924,"mutability":"mutable","name":"signature","nameLocation":"317:9:22","nodeType":"VariableDeclaration","scope":5953,"src":"302:24:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5923,"name":"bytes","nodeType":"ElementaryTypeName","src":"302:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"207:125:22"},"returnParameters":{"id":5928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5927,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5953,"src":"354:7:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5926,"name":"address","nodeType":"ElementaryTypeName","src":"354:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"353:9:22"},"scope":5954,"src":"182:469:22","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":5955,"src":"122:531:22","usedErrors":[],"usedEvents":[]}],"src":"32:622:22"},"id":22},"contracts/gamma/libs/LibStringUtils.sol":{"ast":{"absolutePath":"contracts/gamma/libs/LibStringUtils.sol","exportedSymbols":{"LibStringUtils":[6035]},"id":6036,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":5956,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:23"},{"abstract":false,"baseContracts":[],"canonicalName":"LibStringUtils","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":6035,"linearizedBaseContracts":[6035],"name":"LibStringUtils","nameLocation":"66:14:23","nodeType":"ContractDefinition","nodes":[{"body":{"id":6033,"nodeType":"Block","src":"323:379:23","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5963,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5958,"src":"334:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"343:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"334:10:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5969,"nodeType":"IfStatement","src":"330:43:23","trueBody":{"id":5968,"nodeType":"Block","src":"346:27:23","statements":[{"expression":{"hexValue":"30","id":5966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"363:3:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"functionReturnParameters":5962,"id":5967,"nodeType":"Return","src":"356:10:23"}]}},{"assignments":[5971],"declarations":[{"constant":false,"id":5971,"mutability":"mutable","name":"temp","nameLocation":"386:4:23","nodeType":"VariableDeclaration","scope":6033,"src":"378:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5970,"name":"uint256","nodeType":"ElementaryTypeName","src":"378:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5973,"initialValue":{"id":5972,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5958,"src":"393:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"378:20:23"},{"assignments":[5975],"declarations":[{"constant":false,"id":5975,"mutability":"mutable","name":"digits","nameLocation":"412:6:23","nodeType":"VariableDeclaration","scope":6033,"src":"404:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5974,"name":"uint256","nodeType":"ElementaryTypeName","src":"404:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5976,"nodeType":"VariableDeclarationStatement","src":"404:14:23"},{"body":{"id":5987,"nodeType":"Block","src":"442:45:23","statements":[{"expression":{"id":5981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"452:8:23","subExpression":{"id":5980,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5975,"src":"452:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5982,"nodeType":"ExpressionStatement","src":"452:8:23"},{"expression":{"id":5985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5983,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5971,"src":"470:4:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":5984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"478:2:23","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"470:10:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5986,"nodeType":"ExpressionStatement","src":"470:10:23"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5977,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5971,"src":"431:4:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"439:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"431:9:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5988,"nodeType":"WhileStatement","src":"424:63:23"},{"assignments":[5990],"declarations":[{"constant":false,"id":5990,"mutability":"mutable","name":"buffer","nameLocation":"505:6:23","nodeType":"VariableDeclaration","scope":6033,"src":"492:19:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5989,"name":"bytes","nodeType":"ElementaryTypeName","src":"492:5:23","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5995,"initialValue":{"arguments":[{"id":5993,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5975,"src":"524:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"514:9:23","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":5991,"name":"bytes","nodeType":"ElementaryTypeName","src":"518:5:23","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":5994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"514:17:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"492:39:23"},{"body":{"id":6026,"nodeType":"Block","src":"556:115:23","statements":[{"expression":{"id":6001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5999,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5975,"src":"566:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":6000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"576:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"566:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6002,"nodeType":"ExpressionStatement","src":"566:11:23"},{"expression":{"id":6020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":6003,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5990,"src":"587:6:23","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6005,"indexExpression":{"id":6004,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5975,"src":"594:6:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"587:14:23","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3438","id":6010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"617:2:23","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6013,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5958,"src":"630:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3130","id":6014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"638:2:23","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"630:10:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"622:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6011,"name":"uint256","nodeType":"ElementaryTypeName","src":"622:7:23","typeDescriptions":{}}},"id":6016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"622:19:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"617:24:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"611:5:23","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":6008,"name":"uint8","nodeType":"ElementaryTypeName","src":"611:5:23","typeDescriptions":{}}},"id":6018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"611:31:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":6007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"604:6:23","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":6006,"name":"bytes1","nodeType":"ElementaryTypeName","src":"604:6:23","typeDescriptions":{}}},"id":6019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"604:39:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"587:56:23","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":6021,"nodeType":"ExpressionStatement","src":"587:56:23"},{"expression":{"id":6024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6022,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5958,"src":"653:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":6023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"662:2:23","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"653:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6025,"nodeType":"ExpressionStatement","src":"653:11:23"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5996,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5958,"src":"544:5:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"553:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"544:10:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6027,"nodeType":"WhileStatement","src":"537:134:23"},{"expression":{"arguments":[{"id":6030,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5990,"src":"690:6:23","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"683:6:23","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":6028,"name":"string","nodeType":"ElementaryTypeName","src":"683:6:23","typeDescriptions":{}}},"id":6031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"683:14:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":5962,"id":6032,"nodeType":"Return","src":"676:21:23"}]},"functionSelector":"6900a3ae","id":6034,"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"263:8:23","nodeType":"FunctionDefinition","parameters":{"id":5959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5958,"mutability":"mutable","name":"value","nameLocation":"280:5:23","nodeType":"VariableDeclaration","scope":6034,"src":"272:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5957,"name":"uint256","nodeType":"ElementaryTypeName","src":"272:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"271:15:23"},"returnParameters":{"id":5962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5961,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6034,"src":"308:13:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5960,"name":"string","nodeType":"ElementaryTypeName","src":"308:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"307:15:23"},"scope":6035,"src":"254:448:23","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":6036,"src":"58:647:23","usedErrors":[],"usedEvents":[]}],"src":"32:674:23"},"id":23},"hardhat/console.sol":{"ast":{"absolutePath":"hardhat/console.sol","exportedSymbols":{"console":[14120]},"id":14121,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":6037,"literals":["solidity",">=","0.4",".22","<","0.9",".0"],"nodeType":"PragmaDirective","src":"32:32:24"},{"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":14120,"linearizedBaseContracts":[14120],"name":"console","nameLocation":"74:7:24","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":6040,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:24","nodeType":"VariableDeclaration","scope":14120,"src":"88:85:24","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6038,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":6039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"body":{"id":6050,"nodeType":"Block","src":"255:388:24","statements":[{"assignments":[6046],"declarations":[{"constant":false,"id":6046,"mutability":"mutable","name":"consoleAddress","nameLocation":"273:14:24","nodeType":"VariableDeclaration","scope":6050,"src":"265:22:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6045,"name":"address","nodeType":"ElementaryTypeName","src":"265:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":6048,"initialValue":{"id":6047,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6040,"src":"290:15:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"265:40:24"},{"AST":{"nodeType":"YulBlock","src":"367:270:24","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"434:3:24"},"nodeType":"YulFunctionCall","src":"434:5:24"},{"name":"consoleAddress","nodeType":"YulIdentifier","src":"461:14:24"},{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"501:7:24"},{"kind":"number","nodeType":"YulLiteral","src":"510:2:24","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"497:3:24"},"nodeType":"YulFunctionCall","src":"497:16:24"},{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"541:7:24"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"535:5:24"},"nodeType":"YulFunctionCall","src":"535:14:24"},{"kind":"number","nodeType":"YulLiteral","src":"571:1:24","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"594:1:24","type":"","value":"0"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"402:10:24"},"nodeType":"YulFunctionCall","src":"402:211:24"}],"functionName":{"name":"pop","nodeType":"YulIdentifier","src":"381:3:24"},"nodeType":"YulFunctionCall","src":"381:246:24"},"nodeType":"YulExpressionStatement","src":"381:246:24"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":6046,"isOffset":false,"isSlot":false,"src":"461:14:24","valueSize":1},{"declaration":6042,"isOffset":false,"isSlot":false,"src":"501:7:24","valueSize":1},{"declaration":6042,"isOffset":false,"isSlot":false,"src":"541:7:24","valueSize":1}],"id":6049,"nodeType":"InlineAssembly","src":"358:279:24"}]},"id":6051,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadImplementation","nameLocation":"189:29:24","nodeType":"FunctionDefinition","parameters":{"id":6043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6042,"mutability":"mutable","name":"payload","nameLocation":"232:7:24","nodeType":"VariableDeclaration","scope":6051,"src":"219:20:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6041,"name":"bytes","nodeType":"ElementaryTypeName","src":"219:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"218:22:24"},"returnParameters":{"id":6044,"nodeType":"ParameterList","parameters":[],"src":"255:0:24"},"scope":14120,"src":"180:463:24","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":6067,"nodeType":"Block","src":"783:62:24","statements":[{"AST":{"nodeType":"YulBlock","src":"802:37:24","statements":[{"nodeType":"YulAssignment","src":"816:13:24","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"825:4:24"},"variableNames":[{"name":"fnOut","nodeType":"YulIdentifier","src":"816:5:24"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":6057,"isOffset":false,"isSlot":false,"src":"825:4:24","valueSize":1},{"declaration":6064,"isOffset":false,"isSlot":false,"src":"816:5:24","valueSize":1}],"id":6066,"nodeType":"InlineAssembly","src":"793:46:24"}]},"id":6068,"implemented":true,"kind":"function","modifiers":[],"name":"_castToPure","nameLocation":"658:11:24","nodeType":"FunctionDefinition","parameters":{"id":6058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6057,"mutability":"mutable","name":"fnIn","nameLocation":"714:4:24","nodeType":"VariableDeclaration","scope":6068,"src":"677:41:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":6056,"nodeType":"FunctionTypeName","parameterTypes":{"id":6054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6056,"src":"686:12:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6052,"name":"bytes","nodeType":"ElementaryTypeName","src":"686:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"685:14:24"},"returnParameterTypes":{"id":6055,"nodeType":"ParameterList","parameters":[],"src":"714:0:24"},"src":"677:41:24","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"669:55:24"},"returnParameters":{"id":6065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6064,"mutability":"mutable","name":"fnOut","nameLocation":"776:5:24","nodeType":"VariableDeclaration","scope":6068,"src":"748:33:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":6063,"nodeType":"FunctionTypeName","parameterTypes":{"id":6061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6063,"src":"757:12:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6059,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"756:14:24"},"returnParameterTypes":{"id":6062,"nodeType":"ParameterList","parameters":[],"src":"776:0:24"},"src":"748:33:24","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"747:35:24"},"scope":14120,"src":"649:196:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6079,"nodeType":"Block","src":"912:68:24","statements":[{"expression":{"arguments":[{"id":6076,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6070,"src":"965:7:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":6074,"name":"_sendLogPayloadImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6051,"src":"934:29:24","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":6073,"name":"_castToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6068,"src":"922:11:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"922:51:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6078,"nodeType":"ExpressionStatement","src":"922:51:24"}]},"id":6080,"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"860:15:24","nodeType":"FunctionDefinition","parameters":{"id":6071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6070,"mutability":"mutable","name":"payload","nameLocation":"889:7:24","nodeType":"VariableDeclaration","scope":6080,"src":"876:20:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6069,"name":"bytes","nodeType":"ElementaryTypeName","src":"876:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"875:22:24"},"returnParameters":{"id":6072,"nodeType":"ParameterList","parameters":[],"src":"912:0:24"},"scope":14120,"src":"851:129:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6090,"nodeType":"Block","src":"1015:66:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":6086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1065:7:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":6084,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1041:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1045:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1041:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1041:32:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6083,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1025:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1025:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6089,"nodeType":"ExpressionStatement","src":"1025:49:24"}]},"id":6091,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"995:3:24","nodeType":"FunctionDefinition","parameters":{"id":6081,"nodeType":"ParameterList","parameters":[],"src":"998:2:24"},"returnParameters":{"id":6082,"nodeType":"ParameterList","parameters":[],"src":"1015:0:24"},"scope":14120,"src":"986:95:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6104,"nodeType":"Block","src":"1127:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":6099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1177:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":6100,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6093,"src":"1192:2:24","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":6097,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1153:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1157:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1153:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1153:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6096,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1137:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1137:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6103,"nodeType":"ExpressionStatement","src":"1137:59:24"}]},"id":6105,"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1095:6:24","nodeType":"FunctionDefinition","parameters":{"id":6094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6093,"mutability":"mutable","name":"p0","nameLocation":"1109:2:24","nodeType":"VariableDeclaration","scope":6105,"src":"1102:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6092,"name":"int256","nodeType":"ElementaryTypeName","src":"1102:6:24","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1101:11:24"},"returnParameters":{"id":6095,"nodeType":"ParameterList","parameters":[],"src":"1127:0:24"},"scope":14120,"src":"1086:117:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6118,"nodeType":"Block","src":"1252:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":6113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1302:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":6114,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"1318:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6111,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1278:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1282:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1278:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1278:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6110,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1262:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1262:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6117,"nodeType":"ExpressionStatement","src":"1262:60:24"}]},"id":6119,"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1218:7:24","nodeType":"FunctionDefinition","parameters":{"id":6108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6107,"mutability":"mutable","name":"p0","nameLocation":"1234:2:24","nodeType":"VariableDeclaration","scope":6119,"src":"1226:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6106,"name":"uint256","nodeType":"ElementaryTypeName","src":"1226:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1225:12:24"},"returnParameters":{"id":6109,"nodeType":"ParameterList","parameters":[],"src":"1252:0:24"},"scope":14120,"src":"1209:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6132,"nodeType":"Block","src":"1386:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":6127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1436:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":6128,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6121,"src":"1451:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1412:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1416:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1412:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1412:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6124,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1396:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1396:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6131,"nodeType":"ExpressionStatement","src":"1396:59:24"}]},"id":6133,"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1344:9:24","nodeType":"FunctionDefinition","parameters":{"id":6122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6121,"mutability":"mutable","name":"p0","nameLocation":"1368:2:24","nodeType":"VariableDeclaration","scope":6133,"src":"1354:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6120,"name":"string","nodeType":"ElementaryTypeName","src":"1354:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1353:18:24"},"returnParameters":{"id":6123,"nodeType":"ParameterList","parameters":[],"src":"1386:0:24"},"scope":14120,"src":"1335:127:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6146,"nodeType":"Block","src":"1508:74:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":6141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1558:11:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":6142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6135,"src":"1571:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1534:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1538:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1534:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1534:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1518:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1518:57:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6145,"nodeType":"ExpressionStatement","src":"1518:57:24"}]},"id":6147,"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1477:7:24","nodeType":"FunctionDefinition","parameters":{"id":6136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6135,"mutability":"mutable","name":"p0","nameLocation":"1490:2:24","nodeType":"VariableDeclaration","scope":6147,"src":"1485:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6134,"name":"bool","nodeType":"ElementaryTypeName","src":"1485:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1484:9:24"},"returnParameters":{"id":6137,"nodeType":"ParameterList","parameters":[],"src":"1508:0:24"},"scope":14120,"src":"1468:114:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6160,"nodeType":"Block","src":"1634:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":6155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1684:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":6156,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6149,"src":"1700:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6153,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1660:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1664:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1660:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1660:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6152,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1644:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1644:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6159,"nodeType":"ExpressionStatement","src":"1644:60:24"}]},"id":6161,"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1597:10:24","nodeType":"FunctionDefinition","parameters":{"id":6150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6149,"mutability":"mutable","name":"p0","nameLocation":"1616:2:24","nodeType":"VariableDeclaration","scope":6161,"src":"1608:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6148,"name":"address","nodeType":"ElementaryTypeName","src":"1608:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1607:12:24"},"returnParameters":{"id":6151,"nodeType":"ParameterList","parameters":[],"src":"1634:0:24"},"scope":14120,"src":"1588:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6174,"nodeType":"Block","src":"1766:75:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":6169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1816:12:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":6170,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6163,"src":"1830:2:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1792:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1796:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1792:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1792:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6166,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1776:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1776:58:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6173,"nodeType":"ExpressionStatement","src":"1776:58:24"}]},"id":6175,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1726:8:24","nodeType":"FunctionDefinition","parameters":{"id":6164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6163,"mutability":"mutable","name":"p0","nameLocation":"1748:2:24","nodeType":"VariableDeclaration","scope":6175,"src":"1735:15:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6162,"name":"bytes","nodeType":"ElementaryTypeName","src":"1735:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1734:17:24"},"returnParameters":{"id":6165,"nodeType":"ParameterList","parameters":[],"src":"1766:0:24"},"scope":14120,"src":"1717:124:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6188,"nodeType":"Block","src":"1891:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":6183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1941:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":6184,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6177,"src":"1956:2:24","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":6181,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1917:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1921:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1917:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1917:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6180,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"1901:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1901:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6187,"nodeType":"ExpressionStatement","src":"1901:59:24"}]},"id":6189,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1856:9:24","nodeType":"FunctionDefinition","parameters":{"id":6178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6177,"mutability":"mutable","name":"p0","nameLocation":"1873:2:24","nodeType":"VariableDeclaration","scope":6189,"src":"1866:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":6176,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1866:6:24","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1865:11:24"},"returnParameters":{"id":6179,"nodeType":"ParameterList","parameters":[],"src":"1891:0:24"},"scope":14120,"src":"1847:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6202,"nodeType":"Block","src":"2017:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":6197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2067:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":6198,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"2082:2:24","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":6195,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2043:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2047:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2043:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2043:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6194,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2027:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2027:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6201,"nodeType":"ExpressionStatement","src":"2027:59:24"}]},"id":6203,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1982:9:24","nodeType":"FunctionDefinition","parameters":{"id":6192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6191,"mutability":"mutable","name":"p0","nameLocation":"1999:2:24","nodeType":"VariableDeclaration","scope":6203,"src":"1992:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":6190,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1992:6:24","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1991:11:24"},"returnParameters":{"id":6193,"nodeType":"ParameterList","parameters":[],"src":"2017:0:24"},"scope":14120,"src":"1973:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6216,"nodeType":"Block","src":"2143:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":6211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2193:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":6212,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6205,"src":"2208:2:24","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":6209,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2169:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2173:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2169:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2169:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6208,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2153:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2153:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6215,"nodeType":"ExpressionStatement","src":"2153:59:24"}]},"id":6217,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2108:9:24","nodeType":"FunctionDefinition","parameters":{"id":6206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6205,"mutability":"mutable","name":"p0","nameLocation":"2125:2:24","nodeType":"VariableDeclaration","scope":6217,"src":"2118:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":6204,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2118:6:24","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2117:11:24"},"returnParameters":{"id":6207,"nodeType":"ParameterList","parameters":[],"src":"2143:0:24"},"scope":14120,"src":"2099:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6230,"nodeType":"Block","src":"2269:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":6225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2319:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":6226,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6219,"src":"2334:2:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":6223,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2295:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2299:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2295:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2295:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6222,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2279:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2279:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6229,"nodeType":"ExpressionStatement","src":"2279:59:24"}]},"id":6231,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2234:9:24","nodeType":"FunctionDefinition","parameters":{"id":6220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6219,"mutability":"mutable","name":"p0","nameLocation":"2251:2:24","nodeType":"VariableDeclaration","scope":6231,"src":"2244:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":6218,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2244:6:24","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2243:11:24"},"returnParameters":{"id":6221,"nodeType":"ParameterList","parameters":[],"src":"2269:0:24"},"scope":14120,"src":"2225:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6244,"nodeType":"Block","src":"2395:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":6239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2445:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":6240,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6233,"src":"2460:2:24","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":6237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2421:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2425:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2421:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2421:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6236,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2405:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2405:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6243,"nodeType":"ExpressionStatement","src":"2405:59:24"}]},"id":6245,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2360:9:24","nodeType":"FunctionDefinition","parameters":{"id":6234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6233,"mutability":"mutable","name":"p0","nameLocation":"2377:2:24","nodeType":"VariableDeclaration","scope":6245,"src":"2370:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":6232,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2370:6:24","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2369:11:24"},"returnParameters":{"id":6235,"nodeType":"ParameterList","parameters":[],"src":"2395:0:24"},"scope":14120,"src":"2351:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6258,"nodeType":"Block","src":"2521:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":6253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2571:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":6254,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6247,"src":"2586:2:24","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":6251,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2547:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2551:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2547:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2547:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6250,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2531:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2531:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6257,"nodeType":"ExpressionStatement","src":"2531:59:24"}]},"id":6259,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2486:9:24","nodeType":"FunctionDefinition","parameters":{"id":6248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6247,"mutability":"mutable","name":"p0","nameLocation":"2503:2:24","nodeType":"VariableDeclaration","scope":6259,"src":"2496:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":6246,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2496:6:24","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2495:11:24"},"returnParameters":{"id":6249,"nodeType":"ParameterList","parameters":[],"src":"2521:0:24"},"scope":14120,"src":"2477:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6272,"nodeType":"Block","src":"2647:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":6267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2697:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":6268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6261,"src":"2712:2:24","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":6265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2673:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2677:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2673:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2673:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2657:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2657:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6271,"nodeType":"ExpressionStatement","src":"2657:59:24"}]},"id":6273,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2612:9:24","nodeType":"FunctionDefinition","parameters":{"id":6262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6261,"mutability":"mutable","name":"p0","nameLocation":"2629:2:24","nodeType":"VariableDeclaration","scope":6273,"src":"2622:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":6260,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2622:6:24","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2621:11:24"},"returnParameters":{"id":6263,"nodeType":"ParameterList","parameters":[],"src":"2647:0:24"},"scope":14120,"src":"2603:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6286,"nodeType":"Block","src":"2773:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":6281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2823:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":6282,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6275,"src":"2838:2:24","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":6279,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2799:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2803:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2799:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2799:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6278,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2783:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2783:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6285,"nodeType":"ExpressionStatement","src":"2783:59:24"}]},"id":6287,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2738:9:24","nodeType":"FunctionDefinition","parameters":{"id":6276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6275,"mutability":"mutable","name":"p0","nameLocation":"2755:2:24","nodeType":"VariableDeclaration","scope":6287,"src":"2748:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":6274,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2748:6:24","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2747:11:24"},"returnParameters":{"id":6277,"nodeType":"ParameterList","parameters":[],"src":"2773:0:24"},"scope":14120,"src":"2729:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6300,"nodeType":"Block","src":"2899:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":6295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2949:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":6296,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6289,"src":"2964:2:24","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":6293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2925:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2929:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2925:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2925:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"2909:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2909:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6299,"nodeType":"ExpressionStatement","src":"2909:59:24"}]},"id":6301,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2864:9:24","nodeType":"FunctionDefinition","parameters":{"id":6290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6289,"mutability":"mutable","name":"p0","nameLocation":"2881:2:24","nodeType":"VariableDeclaration","scope":6301,"src":"2874:9:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":6288,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2874:6:24","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2873:11:24"},"returnParameters":{"id":6291,"nodeType":"ParameterList","parameters":[],"src":"2899:0:24"},"scope":14120,"src":"2855:120:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6314,"nodeType":"Block","src":"3027:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":6309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3077:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":6310,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6303,"src":"3093:2:24","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":6307,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3053:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3057:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3053:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3053:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6306,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3037:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3037:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6313,"nodeType":"ExpressionStatement","src":"3037:60:24"}]},"id":6315,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2990:10:24","nodeType":"FunctionDefinition","parameters":{"id":6304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6303,"mutability":"mutable","name":"p0","nameLocation":"3009:2:24","nodeType":"VariableDeclaration","scope":6315,"src":"3001:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":6302,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3001:7:24","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3000:12:24"},"returnParameters":{"id":6305,"nodeType":"ParameterList","parameters":[],"src":"3027:0:24"},"scope":14120,"src":"2981:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6328,"nodeType":"Block","src":"3156:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":6323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3206:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":6324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6317,"src":"3222:2:24","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":6321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3182:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3186:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3182:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3182:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3166:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3166:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6327,"nodeType":"ExpressionStatement","src":"3166:60:24"}]},"id":6329,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3119:10:24","nodeType":"FunctionDefinition","parameters":{"id":6318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6317,"mutability":"mutable","name":"p0","nameLocation":"3138:2:24","nodeType":"VariableDeclaration","scope":6329,"src":"3130:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":6316,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3130:7:24","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3129:12:24"},"returnParameters":{"id":6319,"nodeType":"ParameterList","parameters":[],"src":"3156:0:24"},"scope":14120,"src":"3110:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6342,"nodeType":"Block","src":"3285:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":6337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3335:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":6338,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6331,"src":"3351:2:24","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":6335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3311:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3315:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3311:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3311:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6334,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3295:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6341,"nodeType":"ExpressionStatement","src":"3295:60:24"}]},"id":6343,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3248:10:24","nodeType":"FunctionDefinition","parameters":{"id":6332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6331,"mutability":"mutable","name":"p0","nameLocation":"3267:2:24","nodeType":"VariableDeclaration","scope":6343,"src":"3259:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":6330,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3259:7:24","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3258:12:24"},"returnParameters":{"id":6333,"nodeType":"ParameterList","parameters":[],"src":"3285:0:24"},"scope":14120,"src":"3239:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6356,"nodeType":"Block","src":"3414:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":6351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3464:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":6352,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6345,"src":"3480:2:24","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":6349,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3440:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3444:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3440:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3440:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6348,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3424:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3424:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6355,"nodeType":"ExpressionStatement","src":"3424:60:24"}]},"id":6357,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3377:10:24","nodeType":"FunctionDefinition","parameters":{"id":6346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6345,"mutability":"mutable","name":"p0","nameLocation":"3396:2:24","nodeType":"VariableDeclaration","scope":6357,"src":"3388:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":6344,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3388:7:24","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3387:12:24"},"returnParameters":{"id":6347,"nodeType":"ParameterList","parameters":[],"src":"3414:0:24"},"scope":14120,"src":"3368:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6370,"nodeType":"Block","src":"3543:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":6365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3593:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":6366,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6359,"src":"3609:2:24","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":6363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3569:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3573:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3569:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3569:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3553:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3553:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6369,"nodeType":"ExpressionStatement","src":"3553:60:24"}]},"id":6371,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3506:10:24","nodeType":"FunctionDefinition","parameters":{"id":6360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6359,"mutability":"mutable","name":"p0","nameLocation":"3525:2:24","nodeType":"VariableDeclaration","scope":6371,"src":"3517:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":6358,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3517:7:24","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3516:12:24"},"returnParameters":{"id":6361,"nodeType":"ParameterList","parameters":[],"src":"3543:0:24"},"scope":14120,"src":"3497:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6384,"nodeType":"Block","src":"3672:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":6379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3722:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":6380,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6373,"src":"3738:2:24","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":6377,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3698:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3702:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3698:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6376,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3682:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3682:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6383,"nodeType":"ExpressionStatement","src":"3682:60:24"}]},"id":6385,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3635:10:24","nodeType":"FunctionDefinition","parameters":{"id":6374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6373,"mutability":"mutable","name":"p0","nameLocation":"3654:2:24","nodeType":"VariableDeclaration","scope":6385,"src":"3646:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":6372,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3646:7:24","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3645:12:24"},"returnParameters":{"id":6375,"nodeType":"ParameterList","parameters":[],"src":"3672:0:24"},"scope":14120,"src":"3626:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6398,"nodeType":"Block","src":"3801:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":6393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3851:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":6394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6387,"src":"3867:2:24","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":6391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3827:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3831:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3827:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3827:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3811:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3811:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6397,"nodeType":"ExpressionStatement","src":"3811:60:24"}]},"id":6399,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3764:10:24","nodeType":"FunctionDefinition","parameters":{"id":6388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6387,"mutability":"mutable","name":"p0","nameLocation":"3783:2:24","nodeType":"VariableDeclaration","scope":6399,"src":"3775:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":6386,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3775:7:24","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3774:12:24"},"returnParameters":{"id":6389,"nodeType":"ParameterList","parameters":[],"src":"3801:0:24"},"scope":14120,"src":"3755:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6412,"nodeType":"Block","src":"3930:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":6407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3980:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":6408,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6401,"src":"3996:2:24","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":6405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3956:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3960:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3956:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6404,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"3940:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3940:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6411,"nodeType":"ExpressionStatement","src":"3940:60:24"}]},"id":6413,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3893:10:24","nodeType":"FunctionDefinition","parameters":{"id":6402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6401,"mutability":"mutable","name":"p0","nameLocation":"3912:2:24","nodeType":"VariableDeclaration","scope":6413,"src":"3904:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":6400,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3904:7:24","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3903:12:24"},"returnParameters":{"id":6403,"nodeType":"ParameterList","parameters":[],"src":"3930:0:24"},"scope":14120,"src":"3884:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6426,"nodeType":"Block","src":"4059:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":6421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4109:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":6422,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6415,"src":"4125:2:24","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":6419,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4085:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4089:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4085:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4085:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6418,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4069:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4069:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6425,"nodeType":"ExpressionStatement","src":"4069:60:24"}]},"id":6427,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4022:10:24","nodeType":"FunctionDefinition","parameters":{"id":6416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6415,"mutability":"mutable","name":"p0","nameLocation":"4041:2:24","nodeType":"VariableDeclaration","scope":6427,"src":"4033:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":6414,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4033:7:24","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4032:12:24"},"returnParameters":{"id":6417,"nodeType":"ParameterList","parameters":[],"src":"4059:0:24"},"scope":14120,"src":"4013:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6440,"nodeType":"Block","src":"4188:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":6435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4238:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":6436,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6429,"src":"4254:2:24","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":6433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4214:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4218:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4214:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4214:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6432,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4198:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4198:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6439,"nodeType":"ExpressionStatement","src":"4198:60:24"}]},"id":6441,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4151:10:24","nodeType":"FunctionDefinition","parameters":{"id":6430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6429,"mutability":"mutable","name":"p0","nameLocation":"4170:2:24","nodeType":"VariableDeclaration","scope":6441,"src":"4162:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":6428,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4162:7:24","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4161:12:24"},"returnParameters":{"id":6431,"nodeType":"ParameterList","parameters":[],"src":"4188:0:24"},"scope":14120,"src":"4142:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6454,"nodeType":"Block","src":"4317:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":6449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4367:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":6450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6443,"src":"4383:2:24","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":6447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4343:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4347:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4343:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4343:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4327:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4327:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6453,"nodeType":"ExpressionStatement","src":"4327:60:24"}]},"id":6455,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4280:10:24","nodeType":"FunctionDefinition","parameters":{"id":6444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6443,"mutability":"mutable","name":"p0","nameLocation":"4299:2:24","nodeType":"VariableDeclaration","scope":6455,"src":"4291:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":6442,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4291:7:24","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4290:12:24"},"returnParameters":{"id":6445,"nodeType":"ParameterList","parameters":[],"src":"4317:0:24"},"scope":14120,"src":"4271:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6468,"nodeType":"Block","src":"4446:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":6463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4496:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":6464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6457,"src":"4512:2:24","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":6461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4472:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4476:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4472:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4472:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4456:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6467,"nodeType":"ExpressionStatement","src":"4456:60:24"}]},"id":6469,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4409:10:24","nodeType":"FunctionDefinition","parameters":{"id":6458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6457,"mutability":"mutable","name":"p0","nameLocation":"4428:2:24","nodeType":"VariableDeclaration","scope":6469,"src":"4420:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":6456,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4420:7:24","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4419:12:24"},"returnParameters":{"id":6459,"nodeType":"ParameterList","parameters":[],"src":"4446:0:24"},"scope":14120,"src":"4400:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6482,"nodeType":"Block","src":"4575:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":6477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4625:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":6478,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6471,"src":"4641:2:24","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":6475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4601:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4605:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4601:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4601:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6474,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4585:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4585:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6481,"nodeType":"ExpressionStatement","src":"4585:60:24"}]},"id":6483,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4538:10:24","nodeType":"FunctionDefinition","parameters":{"id":6472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6471,"mutability":"mutable","name":"p0","nameLocation":"4557:2:24","nodeType":"VariableDeclaration","scope":6483,"src":"4549:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":6470,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4549:7:24","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4548:12:24"},"returnParameters":{"id":6473,"nodeType":"ParameterList","parameters":[],"src":"4575:0:24"},"scope":14120,"src":"4529:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6496,"nodeType":"Block","src":"4704:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":6491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4754:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":6492,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6485,"src":"4770:2:24","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":6489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4730:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4734:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4730:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4730:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6488,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4714:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4714:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6495,"nodeType":"ExpressionStatement","src":"4714:60:24"}]},"id":6497,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4667:10:24","nodeType":"FunctionDefinition","parameters":{"id":6486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6485,"mutability":"mutable","name":"p0","nameLocation":"4686:2:24","nodeType":"VariableDeclaration","scope":6497,"src":"4678:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":6484,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4678:7:24","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4677:12:24"},"returnParameters":{"id":6487,"nodeType":"ParameterList","parameters":[],"src":"4704:0:24"},"scope":14120,"src":"4658:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6510,"nodeType":"Block","src":"4833:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":6505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4883:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":6506,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6499,"src":"4899:2:24","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":6503,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4859:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4863:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4859:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4859:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6502,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4843:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4843:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6509,"nodeType":"ExpressionStatement","src":"4843:60:24"}]},"id":6511,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4796:10:24","nodeType":"FunctionDefinition","parameters":{"id":6500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6499,"mutability":"mutable","name":"p0","nameLocation":"4815:2:24","nodeType":"VariableDeclaration","scope":6511,"src":"4807:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":6498,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4807:7:24","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4806:12:24"},"returnParameters":{"id":6501,"nodeType":"ParameterList","parameters":[],"src":"4833:0:24"},"scope":14120,"src":"4787:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6524,"nodeType":"Block","src":"4962:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":6519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5012:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":6520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6513,"src":"5028:2:24","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":6517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4988:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4992:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4988:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4988:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"4972:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4972:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6523,"nodeType":"ExpressionStatement","src":"4972:60:24"}]},"id":6525,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4925:10:24","nodeType":"FunctionDefinition","parameters":{"id":6514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6513,"mutability":"mutable","name":"p0","nameLocation":"4944:2:24","nodeType":"VariableDeclaration","scope":6525,"src":"4936:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":6512,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4936:7:24","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4935:12:24"},"returnParameters":{"id":6515,"nodeType":"ParameterList","parameters":[],"src":"4962:0:24"},"scope":14120,"src":"4916:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6538,"nodeType":"Block","src":"5091:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":6533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5141:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":6534,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6527,"src":"5157:2:24","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":6531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5117:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5121:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5117:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5117:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6530,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5101:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5101:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6537,"nodeType":"ExpressionStatement","src":"5101:60:24"}]},"id":6539,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5054:10:24","nodeType":"FunctionDefinition","parameters":{"id":6528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6527,"mutability":"mutable","name":"p0","nameLocation":"5073:2:24","nodeType":"VariableDeclaration","scope":6539,"src":"5065:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":6526,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5065:7:24","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5064:12:24"},"returnParameters":{"id":6529,"nodeType":"ParameterList","parameters":[],"src":"5091:0:24"},"scope":14120,"src":"5045:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6552,"nodeType":"Block","src":"5220:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":6547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5270:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":6548,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6541,"src":"5286:2:24","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":6545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5246:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5250:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5246:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5246:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6544,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5230:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5230:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6551,"nodeType":"ExpressionStatement","src":"5230:60:24"}]},"id":6553,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5183:10:24","nodeType":"FunctionDefinition","parameters":{"id":6542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6541,"mutability":"mutable","name":"p0","nameLocation":"5202:2:24","nodeType":"VariableDeclaration","scope":6553,"src":"5194:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":6540,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5194:7:24","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5193:12:24"},"returnParameters":{"id":6543,"nodeType":"ParameterList","parameters":[],"src":"5220:0:24"},"scope":14120,"src":"5174:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6566,"nodeType":"Block","src":"5349:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":6561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":6562,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6555,"src":"5415:2:24","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":6559,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5375:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5379:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5375:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5375:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5359:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5359:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6565,"nodeType":"ExpressionStatement","src":"5359:60:24"}]},"id":6567,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5312:10:24","nodeType":"FunctionDefinition","parameters":{"id":6556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6555,"mutability":"mutable","name":"p0","nameLocation":"5331:2:24","nodeType":"VariableDeclaration","scope":6567,"src":"5323:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":6554,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5323:7:24","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5322:12:24"},"returnParameters":{"id":6557,"nodeType":"ParameterList","parameters":[],"src":"5349:0:24"},"scope":14120,"src":"5303:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6580,"nodeType":"Block","src":"5478:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":6575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5528:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":6576,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6569,"src":"5544:2:24","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":6573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5504:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5508:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5504:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5504:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6572,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5488:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5488:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6579,"nodeType":"ExpressionStatement","src":"5488:60:24"}]},"id":6581,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5441:10:24","nodeType":"FunctionDefinition","parameters":{"id":6570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6569,"mutability":"mutable","name":"p0","nameLocation":"5460:2:24","nodeType":"VariableDeclaration","scope":6581,"src":"5452:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":6568,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5452:7:24","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5451:12:24"},"returnParameters":{"id":6571,"nodeType":"ParameterList","parameters":[],"src":"5478:0:24"},"scope":14120,"src":"5432:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6594,"nodeType":"Block","src":"5607:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":6589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5657:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":6590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"5673:2:24","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":6587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5633:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5637:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5633:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5633:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5617:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5617:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6593,"nodeType":"ExpressionStatement","src":"5617:60:24"}]},"id":6595,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5570:10:24","nodeType":"FunctionDefinition","parameters":{"id":6584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6583,"mutability":"mutable","name":"p0","nameLocation":"5589:2:24","nodeType":"VariableDeclaration","scope":6595,"src":"5581:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":6582,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5581:7:24","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5580:12:24"},"returnParameters":{"id":6585,"nodeType":"ParameterList","parameters":[],"src":"5607:0:24"},"scope":14120,"src":"5561:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6608,"nodeType":"Block","src":"5736:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":6603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5786:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":6604,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6597,"src":"5802:2:24","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":6601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5762:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5766:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5762:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5762:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6600,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5746:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5746:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6607,"nodeType":"ExpressionStatement","src":"5746:60:24"}]},"id":6609,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5699:10:24","nodeType":"FunctionDefinition","parameters":{"id":6598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6597,"mutability":"mutable","name":"p0","nameLocation":"5718:2:24","nodeType":"VariableDeclaration","scope":6609,"src":"5710:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":6596,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5710:7:24","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5709:12:24"},"returnParameters":{"id":6599,"nodeType":"ParameterList","parameters":[],"src":"5736:0:24"},"scope":14120,"src":"5690:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6622,"nodeType":"Block","src":"5865:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":6617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5915:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":6618,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6611,"src":"5931:2:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6615,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5891:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5895:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5891:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5891:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6614,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5875:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5875:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6621,"nodeType":"ExpressionStatement","src":"5875:60:24"}]},"id":6623,"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5828:10:24","nodeType":"FunctionDefinition","parameters":{"id":6612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6611,"mutability":"mutable","name":"p0","nameLocation":"5847:2:24","nodeType":"VariableDeclaration","scope":6623,"src":"5839:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5839:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5838:12:24"},"returnParameters":{"id":6613,"nodeType":"ParameterList","parameters":[],"src":"5865:0:24"},"scope":14120,"src":"5819:123:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6636,"nodeType":"Block","src":"5987:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":6631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6037:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":6632,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6625,"src":"6053:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6629,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6013:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6017:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6013:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6013:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6628,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"5997:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5997:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6635,"nodeType":"ExpressionStatement","src":"5997:60:24"}]},"id":6637,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5957:3:24","nodeType":"FunctionDefinition","parameters":{"id":6626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6625,"mutability":"mutable","name":"p0","nameLocation":"5969:2:24","nodeType":"VariableDeclaration","scope":6637,"src":"5961:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6624,"name":"uint256","nodeType":"ElementaryTypeName","src":"5961:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5960:12:24"},"returnParameters":{"id":6627,"nodeType":"ParameterList","parameters":[],"src":"5987:0:24"},"scope":14120,"src":"5948:116:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6650,"nodeType":"Block","src":"6115:76:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":6645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6165:13:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":6646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6639,"src":"6180:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6141:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6145:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6141:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6141:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6125:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6125:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6649,"nodeType":"ExpressionStatement","src":"6125:59:24"}]},"id":6651,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6079:3:24","nodeType":"FunctionDefinition","parameters":{"id":6640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6639,"mutability":"mutable","name":"p0","nameLocation":"6097:2:24","nodeType":"VariableDeclaration","scope":6651,"src":"6083:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6638,"name":"string","nodeType":"ElementaryTypeName","src":"6083:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6082:18:24"},"returnParameters":{"id":6641,"nodeType":"ParameterList","parameters":[],"src":"6115:0:24"},"scope":14120,"src":"6070:121:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6664,"nodeType":"Block","src":"6233:74:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":6659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6283:11:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":6660,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6653,"src":"6296:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6259:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6263:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6259:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6259:40:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6656,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6243:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6243:57:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6663,"nodeType":"ExpressionStatement","src":"6243:57:24"}]},"id":6665,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6206:3:24","nodeType":"FunctionDefinition","parameters":{"id":6654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6653,"mutability":"mutable","name":"p0","nameLocation":"6215:2:24","nodeType":"VariableDeclaration","scope":6665,"src":"6210:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6652,"name":"bool","nodeType":"ElementaryTypeName","src":"6210:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6209:9:24"},"returnParameters":{"id":6655,"nodeType":"ParameterList","parameters":[],"src":"6233:0:24"},"scope":14120,"src":"6197:110:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6678,"nodeType":"Block","src":"6352:77:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":6673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6402:14:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":6674,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6667,"src":"6418:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6671,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6378:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6382:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6378:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6378:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6670,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6362:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6362:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6677,"nodeType":"ExpressionStatement","src":"6362:60:24"}]},"id":6679,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6322:3:24","nodeType":"FunctionDefinition","parameters":{"id":6668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6667,"mutability":"mutable","name":"p0","nameLocation":"6334:2:24","nodeType":"VariableDeclaration","scope":6679,"src":"6326:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6666,"name":"address","nodeType":"ElementaryTypeName","src":"6326:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6325:12:24"},"returnParameters":{"id":6669,"nodeType":"ParameterList","parameters":[],"src":"6352:0:24"},"scope":14120,"src":"6313:116:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6695,"nodeType":"Block","src":"6486:89:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":6689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6536:22:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":6690,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6681,"src":"6560:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6691,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6683,"src":"6564:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6687,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6512:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6516:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6512:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6512:55:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6686,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6496:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6496:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6694,"nodeType":"ExpressionStatement","src":"6496:72:24"}]},"id":6696,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6444:3:24","nodeType":"FunctionDefinition","parameters":{"id":6684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6681,"mutability":"mutable","name":"p0","nameLocation":"6456:2:24","nodeType":"VariableDeclaration","scope":6696,"src":"6448:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6680,"name":"uint256","nodeType":"ElementaryTypeName","src":"6448:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6683,"mutability":"mutable","name":"p1","nameLocation":"6468:2:24","nodeType":"VariableDeclaration","scope":6696,"src":"6460:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6682,"name":"uint256","nodeType":"ElementaryTypeName","src":"6460:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6447:24:24"},"returnParameters":{"id":6685,"nodeType":"ParameterList","parameters":[],"src":"6486:0:24"},"scope":14120,"src":"6435:140:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6712,"nodeType":"Block","src":"6638:88:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":6706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6688:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":6707,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6698,"src":"6711:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6708,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6700,"src":"6715:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6704,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6664:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6668:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6664:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6664:54:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6703,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6648:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6648:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6711,"nodeType":"ExpressionStatement","src":"6648:71:24"}]},"id":6713,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6590:3:24","nodeType":"FunctionDefinition","parameters":{"id":6701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6698,"mutability":"mutable","name":"p0","nameLocation":"6602:2:24","nodeType":"VariableDeclaration","scope":6713,"src":"6594:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6697,"name":"uint256","nodeType":"ElementaryTypeName","src":"6594:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6700,"mutability":"mutable","name":"p1","nameLocation":"6620:2:24","nodeType":"VariableDeclaration","scope":6713,"src":"6606:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6699,"name":"string","nodeType":"ElementaryTypeName","src":"6606:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6593:30:24"},"returnParameters":{"id":6702,"nodeType":"ParameterList","parameters":[],"src":"6638:0:24"},"scope":14120,"src":"6581:145:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6729,"nodeType":"Block","src":"6780:86:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":6723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6830:19:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":6724,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"6851:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6725,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6717,"src":"6855:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6721,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6806:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6810:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6806:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6806:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6720,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6790:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6790:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6728,"nodeType":"ExpressionStatement","src":"6790:69:24"}]},"id":6730,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6741:3:24","nodeType":"FunctionDefinition","parameters":{"id":6718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6715,"mutability":"mutable","name":"p0","nameLocation":"6753:2:24","nodeType":"VariableDeclaration","scope":6730,"src":"6745:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6714,"name":"uint256","nodeType":"ElementaryTypeName","src":"6745:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6717,"mutability":"mutable","name":"p1","nameLocation":"6762:2:24","nodeType":"VariableDeclaration","scope":6730,"src":"6757:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6716,"name":"bool","nodeType":"ElementaryTypeName","src":"6757:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6744:21:24"},"returnParameters":{"id":6719,"nodeType":"ParameterList","parameters":[],"src":"6780:0:24"},"scope":14120,"src":"6732:134:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6746,"nodeType":"Block","src":"6923:89:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":6740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6973:22:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":6741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6732,"src":"6997:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6734,"src":"7001:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6949:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6953:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6949:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6949:55:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"6933:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6933:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6745,"nodeType":"ExpressionStatement","src":"6933:72:24"}]},"id":6747,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6881:3:24","nodeType":"FunctionDefinition","parameters":{"id":6735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6732,"mutability":"mutable","name":"p0","nameLocation":"6893:2:24","nodeType":"VariableDeclaration","scope":6747,"src":"6885:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6731,"name":"uint256","nodeType":"ElementaryTypeName","src":"6885:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6734,"mutability":"mutable","name":"p1","nameLocation":"6905:2:24","nodeType":"VariableDeclaration","scope":6747,"src":"6897:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6733,"name":"address","nodeType":"ElementaryTypeName","src":"6897:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6884:24:24"},"returnParameters":{"id":6736,"nodeType":"ParameterList","parameters":[],"src":"6923:0:24"},"scope":14120,"src":"6872:140:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6763,"nodeType":"Block","src":"7075:88:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":6757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7125:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":6758,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6749,"src":"7148:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6759,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6751,"src":"7152:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6755,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7101:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7105:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7101:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7101:54:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6754,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7085:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7085:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6762,"nodeType":"ExpressionStatement","src":"7085:71:24"}]},"id":6764,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7027:3:24","nodeType":"FunctionDefinition","parameters":{"id":6752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6749,"mutability":"mutable","name":"p0","nameLocation":"7045:2:24","nodeType":"VariableDeclaration","scope":6764,"src":"7031:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6748,"name":"string","nodeType":"ElementaryTypeName","src":"7031:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6751,"mutability":"mutable","name":"p1","nameLocation":"7057:2:24","nodeType":"VariableDeclaration","scope":6764,"src":"7049:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6750,"name":"uint256","nodeType":"ElementaryTypeName","src":"7049:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7030:30:24"},"returnParameters":{"id":6753,"nodeType":"ParameterList","parameters":[],"src":"7075:0:24"},"scope":14120,"src":"7018:145:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6780,"nodeType":"Block","src":"7232:87:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":6774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7282:20:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":6775,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6766,"src":"7304:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6776,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6768,"src":"7308:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7258:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7262:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7258:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7258:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7242:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7242:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6779,"nodeType":"ExpressionStatement","src":"7242:70:24"}]},"id":6781,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7178:3:24","nodeType":"FunctionDefinition","parameters":{"id":6769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6766,"mutability":"mutable","name":"p0","nameLocation":"7196:2:24","nodeType":"VariableDeclaration","scope":6781,"src":"7182:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6765,"name":"string","nodeType":"ElementaryTypeName","src":"7182:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6768,"mutability":"mutable","name":"p1","nameLocation":"7214:2:24","nodeType":"VariableDeclaration","scope":6781,"src":"7200:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6767,"name":"string","nodeType":"ElementaryTypeName","src":"7200:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7181:36:24"},"returnParameters":{"id":6770,"nodeType":"ParameterList","parameters":[],"src":"7232:0:24"},"scope":14120,"src":"7169:150:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6797,"nodeType":"Block","src":"7379:85:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":6791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7429:18:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":6792,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6783,"src":"7449:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6793,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6785,"src":"7453:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6789,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7405:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7409:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7405:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7405:51:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6788,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7389:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7389:68:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6796,"nodeType":"ExpressionStatement","src":"7389:68:24"}]},"id":6798,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7334:3:24","nodeType":"FunctionDefinition","parameters":{"id":6786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6783,"mutability":"mutable","name":"p0","nameLocation":"7352:2:24","nodeType":"VariableDeclaration","scope":6798,"src":"7338:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6782,"name":"string","nodeType":"ElementaryTypeName","src":"7338:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6785,"mutability":"mutable","name":"p1","nameLocation":"7361:2:24","nodeType":"VariableDeclaration","scope":6798,"src":"7356:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6784,"name":"bool","nodeType":"ElementaryTypeName","src":"7356:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7337:27:24"},"returnParameters":{"id":6787,"nodeType":"ParameterList","parameters":[],"src":"7379:0:24"},"scope":14120,"src":"7325:139:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6814,"nodeType":"Block","src":"7527:88:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":6808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7577:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":6809,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6800,"src":"7600:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6810,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6802,"src":"7604:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7553:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7557:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7553:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7553:54:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6805,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7537:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7537:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6813,"nodeType":"ExpressionStatement","src":"7537:71:24"}]},"id":6815,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7479:3:24","nodeType":"FunctionDefinition","parameters":{"id":6803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6800,"mutability":"mutable","name":"p0","nameLocation":"7497:2:24","nodeType":"VariableDeclaration","scope":6815,"src":"7483:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6799,"name":"string","nodeType":"ElementaryTypeName","src":"7483:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6802,"mutability":"mutable","name":"p1","nameLocation":"7509:2:24","nodeType":"VariableDeclaration","scope":6815,"src":"7501:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6801,"name":"address","nodeType":"ElementaryTypeName","src":"7501:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7482:30:24"},"returnParameters":{"id":6804,"nodeType":"ParameterList","parameters":[],"src":"7527:0:24"},"scope":14120,"src":"7470:145:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6831,"nodeType":"Block","src":"7669:86:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":6825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7719:19:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":6826,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6817,"src":"7740:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6827,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6819,"src":"7744:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7695:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7699:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7695:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7695:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6822,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7679:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7679:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6830,"nodeType":"ExpressionStatement","src":"7679:69:24"}]},"id":6832,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7630:3:24","nodeType":"FunctionDefinition","parameters":{"id":6820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6817,"mutability":"mutable","name":"p0","nameLocation":"7639:2:24","nodeType":"VariableDeclaration","scope":6832,"src":"7634:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6816,"name":"bool","nodeType":"ElementaryTypeName","src":"7634:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6819,"mutability":"mutable","name":"p1","nameLocation":"7651:2:24","nodeType":"VariableDeclaration","scope":6832,"src":"7643:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6818,"name":"uint256","nodeType":"ElementaryTypeName","src":"7643:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7633:21:24"},"returnParameters":{"id":6821,"nodeType":"ParameterList","parameters":[],"src":"7669:0:24"},"scope":14120,"src":"7621:134:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6848,"nodeType":"Block","src":"7815:85:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":6842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7865:18:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":6843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6834,"src":"7885:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6836,"src":"7889:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7841:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7845:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7841:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7841:51:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7825:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7825:68:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6847,"nodeType":"ExpressionStatement","src":"7825:68:24"}]},"id":6849,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7770:3:24","nodeType":"FunctionDefinition","parameters":{"id":6837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6834,"mutability":"mutable","name":"p0","nameLocation":"7779:2:24","nodeType":"VariableDeclaration","scope":6849,"src":"7774:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6833,"name":"bool","nodeType":"ElementaryTypeName","src":"7774:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6836,"mutability":"mutable","name":"p1","nameLocation":"7797:2:24","nodeType":"VariableDeclaration","scope":6849,"src":"7783:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6835,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7773:27:24"},"returnParameters":{"id":6838,"nodeType":"ParameterList","parameters":[],"src":"7815:0:24"},"scope":14120,"src":"7761:139:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6865,"nodeType":"Block","src":"7951:83:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":6859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8001:16:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":6860,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6851,"src":"8019:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6861,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6853,"src":"8023:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7977:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7981:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7977:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7977:49:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6856,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"7961:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7961:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6864,"nodeType":"ExpressionStatement","src":"7961:66:24"}]},"id":6866,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7915:3:24","nodeType":"FunctionDefinition","parameters":{"id":6854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6851,"mutability":"mutable","name":"p0","nameLocation":"7924:2:24","nodeType":"VariableDeclaration","scope":6866,"src":"7919:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6850,"name":"bool","nodeType":"ElementaryTypeName","src":"7919:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6853,"mutability":"mutable","name":"p1","nameLocation":"7933:2:24","nodeType":"VariableDeclaration","scope":6866,"src":"7928:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6852,"name":"bool","nodeType":"ElementaryTypeName","src":"7928:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7918:18:24"},"returnParameters":{"id":6855,"nodeType":"ParameterList","parameters":[],"src":"7951:0:24"},"scope":14120,"src":"7906:128:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6882,"nodeType":"Block","src":"8088:86:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":6876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8138:19:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":6877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6868,"src":"8159:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":6878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6870,"src":"8163:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8114:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8118:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8114:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"8098:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8098:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6881,"nodeType":"ExpressionStatement","src":"8098:69:24"}]},"id":6883,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8049:3:24","nodeType":"FunctionDefinition","parameters":{"id":6871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6868,"mutability":"mutable","name":"p0","nameLocation":"8058:2:24","nodeType":"VariableDeclaration","scope":6883,"src":"8053:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6867,"name":"bool","nodeType":"ElementaryTypeName","src":"8053:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6870,"mutability":"mutable","name":"p1","nameLocation":"8070:2:24","nodeType":"VariableDeclaration","scope":6883,"src":"8062:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6869,"name":"address","nodeType":"ElementaryTypeName","src":"8062:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8052:21:24"},"returnParameters":{"id":6872,"nodeType":"ParameterList","parameters":[],"src":"8088:0:24"},"scope":14120,"src":"8040:134:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6899,"nodeType":"Block","src":"8231:89:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":6893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8281:22:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":6894,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6885,"src":"8305:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6895,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6887,"src":"8309:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8257:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8261:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8257:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8257:55:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6890,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"8241:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8241:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6898,"nodeType":"ExpressionStatement","src":"8241:72:24"}]},"id":6900,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8189:3:24","nodeType":"FunctionDefinition","parameters":{"id":6888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6885,"mutability":"mutable","name":"p0","nameLocation":"8201:2:24","nodeType":"VariableDeclaration","scope":6900,"src":"8193:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6884,"name":"address","nodeType":"ElementaryTypeName","src":"8193:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6887,"mutability":"mutable","name":"p1","nameLocation":"8213:2:24","nodeType":"VariableDeclaration","scope":6900,"src":"8205:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6886,"name":"uint256","nodeType":"ElementaryTypeName","src":"8205:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8192:24:24"},"returnParameters":{"id":6889,"nodeType":"ParameterList","parameters":[],"src":"8231:0:24"},"scope":14120,"src":"8180:140:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6916,"nodeType":"Block","src":"8383:88:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":6910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8433:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":6911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6902,"src":"8456:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6904,"src":"8460:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8409:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8413:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8409:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8409:54:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"8393:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8393:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6915,"nodeType":"ExpressionStatement","src":"8393:71:24"}]},"id":6917,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8335:3:24","nodeType":"FunctionDefinition","parameters":{"id":6905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6902,"mutability":"mutable","name":"p0","nameLocation":"8347:2:24","nodeType":"VariableDeclaration","scope":6917,"src":"8339:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6901,"name":"address","nodeType":"ElementaryTypeName","src":"8339:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6904,"mutability":"mutable","name":"p1","nameLocation":"8365:2:24","nodeType":"VariableDeclaration","scope":6917,"src":"8351:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6903,"name":"string","nodeType":"ElementaryTypeName","src":"8351:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8338:30:24"},"returnParameters":{"id":6906,"nodeType":"ParameterList","parameters":[],"src":"8383:0:24"},"scope":14120,"src":"8326:145:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6933,"nodeType":"Block","src":"8525:86:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":6927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8575:19:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":6928,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6919,"src":"8596:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6929,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6921,"src":"8600:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6925,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8551:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8555:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8551:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8551:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6924,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"8535:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8535:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6932,"nodeType":"ExpressionStatement","src":"8535:69:24"}]},"id":6934,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8486:3:24","nodeType":"FunctionDefinition","parameters":{"id":6922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6919,"mutability":"mutable","name":"p0","nameLocation":"8498:2:24","nodeType":"VariableDeclaration","scope":6934,"src":"8490:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6918,"name":"address","nodeType":"ElementaryTypeName","src":"8490:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6921,"mutability":"mutable","name":"p1","nameLocation":"8507:2:24","nodeType":"VariableDeclaration","scope":6934,"src":"8502:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6920,"name":"bool","nodeType":"ElementaryTypeName","src":"8502:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8489:21:24"},"returnParameters":{"id":6923,"nodeType":"ParameterList","parameters":[],"src":"8525:0:24"},"scope":14120,"src":"8477:134:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6950,"nodeType":"Block","src":"8668:89:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":6944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8718:22:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":6945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6936,"src":"8742:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6938,"src":"8746:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8694:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8698:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8694:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8694:55:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"8678:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6949,"nodeType":"ExpressionStatement","src":"8678:72:24"}]},"id":6951,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8626:3:24","nodeType":"FunctionDefinition","parameters":{"id":6939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6936,"mutability":"mutable","name":"p0","nameLocation":"8638:2:24","nodeType":"VariableDeclaration","scope":6951,"src":"8630:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6935,"name":"address","nodeType":"ElementaryTypeName","src":"8630:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6938,"mutability":"mutable","name":"p1","nameLocation":"8650:2:24","nodeType":"VariableDeclaration","scope":6951,"src":"8642:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6937,"name":"address","nodeType":"ElementaryTypeName","src":"8642:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8629:24:24"},"returnParameters":{"id":6940,"nodeType":"ParameterList","parameters":[],"src":"8668:0:24"},"scope":14120,"src":"8617:140:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6970,"nodeType":"Block","src":"8826:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":6963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8876:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":6964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6953,"src":"8908:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"8912:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6966,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6957,"src":"8916:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8852:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8856:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8852:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8852:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"8836:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8836:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6969,"nodeType":"ExpressionStatement","src":"8836:84:24"}]},"id":6971,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8772:3:24","nodeType":"FunctionDefinition","parameters":{"id":6958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6953,"mutability":"mutable","name":"p0","nameLocation":"8784:2:24","nodeType":"VariableDeclaration","scope":6971,"src":"8776:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6952,"name":"uint256","nodeType":"ElementaryTypeName","src":"8776:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6955,"mutability":"mutable","name":"p1","nameLocation":"8796:2:24","nodeType":"VariableDeclaration","scope":6971,"src":"8788:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6954,"name":"uint256","nodeType":"ElementaryTypeName","src":"8788:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6957,"mutability":"mutable","name":"p2","nameLocation":"8808:2:24","nodeType":"VariableDeclaration","scope":6971,"src":"8800:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6956,"name":"uint256","nodeType":"ElementaryTypeName","src":"8800:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8775:36:24"},"returnParameters":{"id":6959,"nodeType":"ParameterList","parameters":[],"src":"8826:0:24"},"scope":14120,"src":"8763:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":6990,"nodeType":"Block","src":"9002:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":6983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9052:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":6984,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6973,"src":"9083:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6985,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6975,"src":"9087:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6986,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6977,"src":"9091:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9028:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9032:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9028:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9028:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":6980,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"9012:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":6988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9012:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6989,"nodeType":"ExpressionStatement","src":"9012:83:24"}]},"id":6991,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8942:3:24","nodeType":"FunctionDefinition","parameters":{"id":6978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6973,"mutability":"mutable","name":"p0","nameLocation":"8954:2:24","nodeType":"VariableDeclaration","scope":6991,"src":"8946:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6972,"name":"uint256","nodeType":"ElementaryTypeName","src":"8946:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6975,"mutability":"mutable","name":"p1","nameLocation":"8966:2:24","nodeType":"VariableDeclaration","scope":6991,"src":"8958:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6974,"name":"uint256","nodeType":"ElementaryTypeName","src":"8958:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6977,"mutability":"mutable","name":"p2","nameLocation":"8984:2:24","nodeType":"VariableDeclaration","scope":6991,"src":"8970:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6976,"name":"string","nodeType":"ElementaryTypeName","src":"8970:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8945:42:24"},"returnParameters":{"id":6979,"nodeType":"ParameterList","parameters":[],"src":"9002:0:24"},"scope":14120,"src":"8933:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7010,"nodeType":"Block","src":"9168:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":7003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9218:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":7004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6993,"src":"9247:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6995,"src":"9251:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6997,"src":"9255:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9194:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9198:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9194:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9194:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"9178:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9178:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7009,"nodeType":"ExpressionStatement","src":"9178:81:24"}]},"id":7011,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9117:3:24","nodeType":"FunctionDefinition","parameters":{"id":6998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6993,"mutability":"mutable","name":"p0","nameLocation":"9129:2:24","nodeType":"VariableDeclaration","scope":7011,"src":"9121:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6992,"name":"uint256","nodeType":"ElementaryTypeName","src":"9121:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6995,"mutability":"mutable","name":"p1","nameLocation":"9141:2:24","nodeType":"VariableDeclaration","scope":7011,"src":"9133:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6994,"name":"uint256","nodeType":"ElementaryTypeName","src":"9133:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6997,"mutability":"mutable","name":"p2","nameLocation":"9150:2:24","nodeType":"VariableDeclaration","scope":7011,"src":"9145:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6996,"name":"bool","nodeType":"ElementaryTypeName","src":"9145:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9120:33:24"},"returnParameters":{"id":6999,"nodeType":"ParameterList","parameters":[],"src":"9168:0:24"},"scope":14120,"src":"9108:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7030,"nodeType":"Block","src":"9335:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":7023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9385:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":7024,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7013,"src":"9417:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7025,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7015,"src":"9421:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7026,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7017,"src":"9425:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7021,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9361:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9365:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9361:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9361:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7020,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"9345:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9345:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7029,"nodeType":"ExpressionStatement","src":"9345:84:24"}]},"id":7031,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9281:3:24","nodeType":"FunctionDefinition","parameters":{"id":7018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7013,"mutability":"mutable","name":"p0","nameLocation":"9293:2:24","nodeType":"VariableDeclaration","scope":7031,"src":"9285:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7012,"name":"uint256","nodeType":"ElementaryTypeName","src":"9285:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7015,"mutability":"mutable","name":"p1","nameLocation":"9305:2:24","nodeType":"VariableDeclaration","scope":7031,"src":"9297:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7014,"name":"uint256","nodeType":"ElementaryTypeName","src":"9297:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7017,"mutability":"mutable","name":"p2","nameLocation":"9317:2:24","nodeType":"VariableDeclaration","scope":7031,"src":"9309:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7016,"name":"address","nodeType":"ElementaryTypeName","src":"9309:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9284:36:24"},"returnParameters":{"id":7019,"nodeType":"ParameterList","parameters":[],"src":"9335:0:24"},"scope":14120,"src":"9272:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7050,"nodeType":"Block","src":"9511:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":7043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9561:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":7044,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7033,"src":"9592:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7045,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7035,"src":"9596:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7046,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7037,"src":"9600:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9537:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9541:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9537:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9537:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7040,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"9521:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9521:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7049,"nodeType":"ExpressionStatement","src":"9521:83:24"}]},"id":7051,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9451:3:24","nodeType":"FunctionDefinition","parameters":{"id":7038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7033,"mutability":"mutable","name":"p0","nameLocation":"9463:2:24","nodeType":"VariableDeclaration","scope":7051,"src":"9455:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7032,"name":"uint256","nodeType":"ElementaryTypeName","src":"9455:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7035,"mutability":"mutable","name":"p1","nameLocation":"9481:2:24","nodeType":"VariableDeclaration","scope":7051,"src":"9467:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7034,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7037,"mutability":"mutable","name":"p2","nameLocation":"9493:2:24","nodeType":"VariableDeclaration","scope":7051,"src":"9485:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7036,"name":"uint256","nodeType":"ElementaryTypeName","src":"9485:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9454:42:24"},"returnParameters":{"id":7039,"nodeType":"ParameterList","parameters":[],"src":"9511:0:24"},"scope":14120,"src":"9442:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7070,"nodeType":"Block","src":"9692:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":7063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9742:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":7064,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7053,"src":"9772:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7065,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7055,"src":"9776:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7066,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"9780:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7061,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9718:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9722:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9718:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9718:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7060,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"9702:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9702:82:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7069,"nodeType":"ExpressionStatement","src":"9702:82:24"}]},"id":7071,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9626:3:24","nodeType":"FunctionDefinition","parameters":{"id":7058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7053,"mutability":"mutable","name":"p0","nameLocation":"9638:2:24","nodeType":"VariableDeclaration","scope":7071,"src":"9630:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7052,"name":"uint256","nodeType":"ElementaryTypeName","src":"9630:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7055,"mutability":"mutable","name":"p1","nameLocation":"9656:2:24","nodeType":"VariableDeclaration","scope":7071,"src":"9642:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7054,"name":"string","nodeType":"ElementaryTypeName","src":"9642:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7057,"mutability":"mutable","name":"p2","nameLocation":"9674:2:24","nodeType":"VariableDeclaration","scope":7071,"src":"9660:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7056,"name":"string","nodeType":"ElementaryTypeName","src":"9660:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9629:48:24"},"returnParameters":{"id":7059,"nodeType":"ParameterList","parameters":[],"src":"9692:0:24"},"scope":14120,"src":"9617:174:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7090,"nodeType":"Block","src":"9863:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":7083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9913:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":7084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7073,"src":"9941:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7075,"src":"9945:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7077,"src":"9949:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9889:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9893:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9889:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9889:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"9873:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9873:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7089,"nodeType":"ExpressionStatement","src":"9873:80:24"}]},"id":7091,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9806:3:24","nodeType":"FunctionDefinition","parameters":{"id":7078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7073,"mutability":"mutable","name":"p0","nameLocation":"9818:2:24","nodeType":"VariableDeclaration","scope":7091,"src":"9810:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7072,"name":"uint256","nodeType":"ElementaryTypeName","src":"9810:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7075,"mutability":"mutable","name":"p1","nameLocation":"9836:2:24","nodeType":"VariableDeclaration","scope":7091,"src":"9822:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7074,"name":"string","nodeType":"ElementaryTypeName","src":"9822:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7077,"mutability":"mutable","name":"p2","nameLocation":"9845:2:24","nodeType":"VariableDeclaration","scope":7091,"src":"9840:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7076,"name":"bool","nodeType":"ElementaryTypeName","src":"9840:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9809:39:24"},"returnParameters":{"id":7079,"nodeType":"ParameterList","parameters":[],"src":"9863:0:24"},"scope":14120,"src":"9797:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7110,"nodeType":"Block","src":"10035:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":7103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10085:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":7104,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7093,"src":"10116:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7105,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7095,"src":"10120:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7106,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7097,"src":"10124:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10061:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10065:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10061:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10061:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7100,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"10045:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10045:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7109,"nodeType":"ExpressionStatement","src":"10045:83:24"}]},"id":7111,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9975:3:24","nodeType":"FunctionDefinition","parameters":{"id":7098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7093,"mutability":"mutable","name":"p0","nameLocation":"9987:2:24","nodeType":"VariableDeclaration","scope":7111,"src":"9979:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7092,"name":"uint256","nodeType":"ElementaryTypeName","src":"9979:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7095,"mutability":"mutable","name":"p1","nameLocation":"10005:2:24","nodeType":"VariableDeclaration","scope":7111,"src":"9991:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7094,"name":"string","nodeType":"ElementaryTypeName","src":"9991:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7097,"mutability":"mutable","name":"p2","nameLocation":"10017:2:24","nodeType":"VariableDeclaration","scope":7111,"src":"10009:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7096,"name":"address","nodeType":"ElementaryTypeName","src":"10009:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9978:42:24"},"returnParameters":{"id":7099,"nodeType":"ParameterList","parameters":[],"src":"10035:0:24"},"scope":14120,"src":"9966:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7130,"nodeType":"Block","src":"10201:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":7123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10251:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":7124,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7113,"src":"10280:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7125,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7115,"src":"10284:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7126,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7117,"src":"10288:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10227:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10231:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10227:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10227:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"10211:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10211:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7129,"nodeType":"ExpressionStatement","src":"10211:81:24"}]},"id":7131,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10150:3:24","nodeType":"FunctionDefinition","parameters":{"id":7118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7113,"mutability":"mutable","name":"p0","nameLocation":"10162:2:24","nodeType":"VariableDeclaration","scope":7131,"src":"10154:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7112,"name":"uint256","nodeType":"ElementaryTypeName","src":"10154:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7115,"mutability":"mutable","name":"p1","nameLocation":"10171:2:24","nodeType":"VariableDeclaration","scope":7131,"src":"10166:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7114,"name":"bool","nodeType":"ElementaryTypeName","src":"10166:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7117,"mutability":"mutable","name":"p2","nameLocation":"10183:2:24","nodeType":"VariableDeclaration","scope":7131,"src":"10175:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7116,"name":"uint256","nodeType":"ElementaryTypeName","src":"10175:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10153:33:24"},"returnParameters":{"id":7119,"nodeType":"ParameterList","parameters":[],"src":"10201:0:24"},"scope":14120,"src":"10141:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7150,"nodeType":"Block","src":"10371:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":7143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10421:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":7144,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7133,"src":"10449:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7145,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7135,"src":"10453:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7146,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7137,"src":"10457:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10397:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10401:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10397:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10397:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"10381:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10381:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7149,"nodeType":"ExpressionStatement","src":"10381:80:24"}]},"id":7151,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10314:3:24","nodeType":"FunctionDefinition","parameters":{"id":7138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7133,"mutability":"mutable","name":"p0","nameLocation":"10326:2:24","nodeType":"VariableDeclaration","scope":7151,"src":"10318:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7132,"name":"uint256","nodeType":"ElementaryTypeName","src":"10318:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7135,"mutability":"mutable","name":"p1","nameLocation":"10335:2:24","nodeType":"VariableDeclaration","scope":7151,"src":"10330:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7134,"name":"bool","nodeType":"ElementaryTypeName","src":"10330:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7137,"mutability":"mutable","name":"p2","nameLocation":"10353:2:24","nodeType":"VariableDeclaration","scope":7151,"src":"10339:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7136,"name":"string","nodeType":"ElementaryTypeName","src":"10339:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10317:39:24"},"returnParameters":{"id":7139,"nodeType":"ParameterList","parameters":[],"src":"10371:0:24"},"scope":14120,"src":"10305:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7170,"nodeType":"Block","src":"10531:95:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":7163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10581:24:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":7164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7153,"src":"10607:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7155,"src":"10611:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7157,"src":"10615:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10557:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10561:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10557:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10557:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"10541:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10541:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7169,"nodeType":"ExpressionStatement","src":"10541:78:24"}]},"id":7171,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10483:3:24","nodeType":"FunctionDefinition","parameters":{"id":7158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7153,"mutability":"mutable","name":"p0","nameLocation":"10495:2:24","nodeType":"VariableDeclaration","scope":7171,"src":"10487:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7152,"name":"uint256","nodeType":"ElementaryTypeName","src":"10487:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7155,"mutability":"mutable","name":"p1","nameLocation":"10504:2:24","nodeType":"VariableDeclaration","scope":7171,"src":"10499:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7154,"name":"bool","nodeType":"ElementaryTypeName","src":"10499:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7157,"mutability":"mutable","name":"p2","nameLocation":"10513:2:24","nodeType":"VariableDeclaration","scope":7171,"src":"10508:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7156,"name":"bool","nodeType":"ElementaryTypeName","src":"10508:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10486:30:24"},"returnParameters":{"id":7159,"nodeType":"ParameterList","parameters":[],"src":"10531:0:24"},"scope":14120,"src":"10474:152:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7190,"nodeType":"Block","src":"10692:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":7183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10742:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":7184,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"10771:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7185,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"10775:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7186,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7177,"src":"10779:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7181,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10718:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10722:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10718:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10718:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7180,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"10702:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10702:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7189,"nodeType":"ExpressionStatement","src":"10702:81:24"}]},"id":7191,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10641:3:24","nodeType":"FunctionDefinition","parameters":{"id":7178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7173,"mutability":"mutable","name":"p0","nameLocation":"10653:2:24","nodeType":"VariableDeclaration","scope":7191,"src":"10645:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7172,"name":"uint256","nodeType":"ElementaryTypeName","src":"10645:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7175,"mutability":"mutable","name":"p1","nameLocation":"10662:2:24","nodeType":"VariableDeclaration","scope":7191,"src":"10657:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7174,"name":"bool","nodeType":"ElementaryTypeName","src":"10657:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7177,"mutability":"mutable","name":"p2","nameLocation":"10674:2:24","nodeType":"VariableDeclaration","scope":7191,"src":"10666:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7176,"name":"address","nodeType":"ElementaryTypeName","src":"10666:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10644:33:24"},"returnParameters":{"id":7179,"nodeType":"ParameterList","parameters":[],"src":"10692:0:24"},"scope":14120,"src":"10632:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7210,"nodeType":"Block","src":"10859:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":7203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10909:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":7204,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"10941:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7205,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7195,"src":"10945:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7206,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7197,"src":"10949:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10885:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10889:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10885:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10885:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"10869:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10869:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7209,"nodeType":"ExpressionStatement","src":"10869:84:24"}]},"id":7211,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10805:3:24","nodeType":"FunctionDefinition","parameters":{"id":7198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7193,"mutability":"mutable","name":"p0","nameLocation":"10817:2:24","nodeType":"VariableDeclaration","scope":7211,"src":"10809:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7192,"name":"uint256","nodeType":"ElementaryTypeName","src":"10809:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7195,"mutability":"mutable","name":"p1","nameLocation":"10829:2:24","nodeType":"VariableDeclaration","scope":7211,"src":"10821:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7194,"name":"address","nodeType":"ElementaryTypeName","src":"10821:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7197,"mutability":"mutable","name":"p2","nameLocation":"10841:2:24","nodeType":"VariableDeclaration","scope":7211,"src":"10833:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7196,"name":"uint256","nodeType":"ElementaryTypeName","src":"10833:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10808:36:24"},"returnParameters":{"id":7199,"nodeType":"ParameterList","parameters":[],"src":"10859:0:24"},"scope":14120,"src":"10796:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7230,"nodeType":"Block","src":"11035:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":7223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11085:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":7224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7213,"src":"11116:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7215,"src":"11120:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7217,"src":"11124:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11061:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11065:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11061:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11061:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"11045:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11045:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7229,"nodeType":"ExpressionStatement","src":"11045:83:24"}]},"id":7231,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10975:3:24","nodeType":"FunctionDefinition","parameters":{"id":7218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7213,"mutability":"mutable","name":"p0","nameLocation":"10987:2:24","nodeType":"VariableDeclaration","scope":7231,"src":"10979:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7212,"name":"uint256","nodeType":"ElementaryTypeName","src":"10979:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7215,"mutability":"mutable","name":"p1","nameLocation":"10999:2:24","nodeType":"VariableDeclaration","scope":7231,"src":"10991:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7214,"name":"address","nodeType":"ElementaryTypeName","src":"10991:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7217,"mutability":"mutable","name":"p2","nameLocation":"11017:2:24","nodeType":"VariableDeclaration","scope":7231,"src":"11003:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7216,"name":"string","nodeType":"ElementaryTypeName","src":"11003:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10978:42:24"},"returnParameters":{"id":7219,"nodeType":"ParameterList","parameters":[],"src":"11035:0:24"},"scope":14120,"src":"10966:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7250,"nodeType":"Block","src":"11201:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":7243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11251:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":7244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7233,"src":"11280:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7235,"src":"11284:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7237,"src":"11288:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11227:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11231:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11227:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11227:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"11211:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11211:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7249,"nodeType":"ExpressionStatement","src":"11211:81:24"}]},"id":7251,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11150:3:24","nodeType":"FunctionDefinition","parameters":{"id":7238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7233,"mutability":"mutable","name":"p0","nameLocation":"11162:2:24","nodeType":"VariableDeclaration","scope":7251,"src":"11154:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7232,"name":"uint256","nodeType":"ElementaryTypeName","src":"11154:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7235,"mutability":"mutable","name":"p1","nameLocation":"11174:2:24","nodeType":"VariableDeclaration","scope":7251,"src":"11166:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7234,"name":"address","nodeType":"ElementaryTypeName","src":"11166:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7237,"mutability":"mutable","name":"p2","nameLocation":"11183:2:24","nodeType":"VariableDeclaration","scope":7251,"src":"11178:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7236,"name":"bool","nodeType":"ElementaryTypeName","src":"11178:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11153:33:24"},"returnParameters":{"id":7239,"nodeType":"ParameterList","parameters":[],"src":"11201:0:24"},"scope":14120,"src":"11141:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7270,"nodeType":"Block","src":"11368:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":7263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11418:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":7264,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7253,"src":"11450:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7265,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"11454:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7266,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7257,"src":"11458:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7261,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11394:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11398:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11394:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7260,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"11378:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11378:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7269,"nodeType":"ExpressionStatement","src":"11378:84:24"}]},"id":7271,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11314:3:24","nodeType":"FunctionDefinition","parameters":{"id":7258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7253,"mutability":"mutable","name":"p0","nameLocation":"11326:2:24","nodeType":"VariableDeclaration","scope":7271,"src":"11318:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7252,"name":"uint256","nodeType":"ElementaryTypeName","src":"11318:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7255,"mutability":"mutable","name":"p1","nameLocation":"11338:2:24","nodeType":"VariableDeclaration","scope":7271,"src":"11330:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7254,"name":"address","nodeType":"ElementaryTypeName","src":"11330:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7257,"mutability":"mutable","name":"p2","nameLocation":"11350:2:24","nodeType":"VariableDeclaration","scope":7271,"src":"11342:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7256,"name":"address","nodeType":"ElementaryTypeName","src":"11342:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11317:36:24"},"returnParameters":{"id":7259,"nodeType":"ParameterList","parameters":[],"src":"11368:0:24"},"scope":14120,"src":"11305:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7290,"nodeType":"Block","src":"11544:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":7283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11594:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":7284,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7273,"src":"11625:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7285,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7275,"src":"11629:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7286,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7277,"src":"11633:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7281,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11570:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11574:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11570:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11570:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7280,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"11554:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11554:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7289,"nodeType":"ExpressionStatement","src":"11554:83:24"}]},"id":7291,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11484:3:24","nodeType":"FunctionDefinition","parameters":{"id":7278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7273,"mutability":"mutable","name":"p0","nameLocation":"11502:2:24","nodeType":"VariableDeclaration","scope":7291,"src":"11488:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7272,"name":"string","nodeType":"ElementaryTypeName","src":"11488:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7275,"mutability":"mutable","name":"p1","nameLocation":"11514:2:24","nodeType":"VariableDeclaration","scope":7291,"src":"11506:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7274,"name":"uint256","nodeType":"ElementaryTypeName","src":"11506:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7277,"mutability":"mutable","name":"p2","nameLocation":"11526:2:24","nodeType":"VariableDeclaration","scope":7291,"src":"11518:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7276,"name":"uint256","nodeType":"ElementaryTypeName","src":"11518:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11487:42:24"},"returnParameters":{"id":7279,"nodeType":"ParameterList","parameters":[],"src":"11544:0:24"},"scope":14120,"src":"11475:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7310,"nodeType":"Block","src":"11725:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":7303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11775:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":7304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7293,"src":"11805:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7305,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7295,"src":"11809:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7306,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7297,"src":"11813:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11751:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11755:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11751:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11751:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"11735:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11735:82:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7309,"nodeType":"ExpressionStatement","src":"11735:82:24"}]},"id":7311,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11659:3:24","nodeType":"FunctionDefinition","parameters":{"id":7298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7293,"mutability":"mutable","name":"p0","nameLocation":"11677:2:24","nodeType":"VariableDeclaration","scope":7311,"src":"11663:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7292,"name":"string","nodeType":"ElementaryTypeName","src":"11663:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7295,"mutability":"mutable","name":"p1","nameLocation":"11689:2:24","nodeType":"VariableDeclaration","scope":7311,"src":"11681:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7294,"name":"uint256","nodeType":"ElementaryTypeName","src":"11681:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7297,"mutability":"mutable","name":"p2","nameLocation":"11707:2:24","nodeType":"VariableDeclaration","scope":7311,"src":"11693:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7296,"name":"string","nodeType":"ElementaryTypeName","src":"11693:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11662:48:24"},"returnParameters":{"id":7299,"nodeType":"ParameterList","parameters":[],"src":"11725:0:24"},"scope":14120,"src":"11650:174:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7330,"nodeType":"Block","src":"11896:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":7323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11946:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":7324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7313,"src":"11974:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7315,"src":"11978:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7317,"src":"11982:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11922:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11926:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11922:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11922:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"11906:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7329,"nodeType":"ExpressionStatement","src":"11906:80:24"}]},"id":7331,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11839:3:24","nodeType":"FunctionDefinition","parameters":{"id":7318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7313,"mutability":"mutable","name":"p0","nameLocation":"11857:2:24","nodeType":"VariableDeclaration","scope":7331,"src":"11843:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7312,"name":"string","nodeType":"ElementaryTypeName","src":"11843:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7315,"mutability":"mutable","name":"p1","nameLocation":"11869:2:24","nodeType":"VariableDeclaration","scope":7331,"src":"11861:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7314,"name":"uint256","nodeType":"ElementaryTypeName","src":"11861:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7317,"mutability":"mutable","name":"p2","nameLocation":"11878:2:24","nodeType":"VariableDeclaration","scope":7331,"src":"11873:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7316,"name":"bool","nodeType":"ElementaryTypeName","src":"11873:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11842:39:24"},"returnParameters":{"id":7319,"nodeType":"ParameterList","parameters":[],"src":"11896:0:24"},"scope":14120,"src":"11830:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7350,"nodeType":"Block","src":"12068:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":7343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12118:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":7344,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7333,"src":"12149:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7345,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7335,"src":"12153:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7346,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7337,"src":"12157:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12094:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12098:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12094:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12094:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7340,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"12078:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12078:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7349,"nodeType":"ExpressionStatement","src":"12078:83:24"}]},"id":7351,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12008:3:24","nodeType":"FunctionDefinition","parameters":{"id":7338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7333,"mutability":"mutable","name":"p0","nameLocation":"12026:2:24","nodeType":"VariableDeclaration","scope":7351,"src":"12012:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7332,"name":"string","nodeType":"ElementaryTypeName","src":"12012:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7335,"mutability":"mutable","name":"p1","nameLocation":"12038:2:24","nodeType":"VariableDeclaration","scope":7351,"src":"12030:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7334,"name":"uint256","nodeType":"ElementaryTypeName","src":"12030:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7337,"mutability":"mutable","name":"p2","nameLocation":"12050:2:24","nodeType":"VariableDeclaration","scope":7351,"src":"12042:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7336,"name":"address","nodeType":"ElementaryTypeName","src":"12042:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12011:42:24"},"returnParameters":{"id":7339,"nodeType":"ParameterList","parameters":[],"src":"12068:0:24"},"scope":14120,"src":"11999:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7370,"nodeType":"Block","src":"12249:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":7363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12299:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":7364,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7353,"src":"12329:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7365,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"12333:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7366,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7357,"src":"12337:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12275:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12279:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12275:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12275:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7360,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"12259:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12259:82:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7369,"nodeType":"ExpressionStatement","src":"12259:82:24"}]},"id":7371,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12183:3:24","nodeType":"FunctionDefinition","parameters":{"id":7358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7353,"mutability":"mutable","name":"p0","nameLocation":"12201:2:24","nodeType":"VariableDeclaration","scope":7371,"src":"12187:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7352,"name":"string","nodeType":"ElementaryTypeName","src":"12187:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7355,"mutability":"mutable","name":"p1","nameLocation":"12219:2:24","nodeType":"VariableDeclaration","scope":7371,"src":"12205:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7354,"name":"string","nodeType":"ElementaryTypeName","src":"12205:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7357,"mutability":"mutable","name":"p2","nameLocation":"12231:2:24","nodeType":"VariableDeclaration","scope":7371,"src":"12223:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7356,"name":"uint256","nodeType":"ElementaryTypeName","src":"12223:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12186:48:24"},"returnParameters":{"id":7359,"nodeType":"ParameterList","parameters":[],"src":"12249:0:24"},"scope":14120,"src":"12174:174:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7390,"nodeType":"Block","src":"12435:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":7383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12485:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":7384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7373,"src":"12514:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7385,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7375,"src":"12518:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7386,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"12522:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12461:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12465:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12461:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12461:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"12445:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12445:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7389,"nodeType":"ExpressionStatement","src":"12445:81:24"}]},"id":7391,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12363:3:24","nodeType":"FunctionDefinition","parameters":{"id":7378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7373,"mutability":"mutable","name":"p0","nameLocation":"12381:2:24","nodeType":"VariableDeclaration","scope":7391,"src":"12367:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7372,"name":"string","nodeType":"ElementaryTypeName","src":"12367:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7375,"mutability":"mutable","name":"p1","nameLocation":"12399:2:24","nodeType":"VariableDeclaration","scope":7391,"src":"12385:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7374,"name":"string","nodeType":"ElementaryTypeName","src":"12385:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7377,"mutability":"mutable","name":"p2","nameLocation":"12417:2:24","nodeType":"VariableDeclaration","scope":7391,"src":"12403:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7376,"name":"string","nodeType":"ElementaryTypeName","src":"12403:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12366:54:24"},"returnParameters":{"id":7379,"nodeType":"ParameterList","parameters":[],"src":"12435:0:24"},"scope":14120,"src":"12354:179:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7410,"nodeType":"Block","src":"12611:96:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":7403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12661:25:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":7404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7393,"src":"12688:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7395,"src":"12692:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7397,"src":"12696:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12637:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12641:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12637:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12637:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"12621:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12621:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7409,"nodeType":"ExpressionStatement","src":"12621:79:24"}]},"id":7411,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12548:3:24","nodeType":"FunctionDefinition","parameters":{"id":7398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7393,"mutability":"mutable","name":"p0","nameLocation":"12566:2:24","nodeType":"VariableDeclaration","scope":7411,"src":"12552:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7392,"name":"string","nodeType":"ElementaryTypeName","src":"12552:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7395,"mutability":"mutable","name":"p1","nameLocation":"12584:2:24","nodeType":"VariableDeclaration","scope":7411,"src":"12570:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7394,"name":"string","nodeType":"ElementaryTypeName","src":"12570:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7397,"mutability":"mutable","name":"p2","nameLocation":"12593:2:24","nodeType":"VariableDeclaration","scope":7411,"src":"12588:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7396,"name":"bool","nodeType":"ElementaryTypeName","src":"12588:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12551:45:24"},"returnParameters":{"id":7399,"nodeType":"ParameterList","parameters":[],"src":"12611:0:24"},"scope":14120,"src":"12539:168:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7430,"nodeType":"Block","src":"12788:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":7423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12838:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":7424,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7413,"src":"12868:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7425,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7415,"src":"12872:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7426,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7417,"src":"12876:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12814:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12818:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12814:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12814:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7420,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"12798:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12798:82:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7429,"nodeType":"ExpressionStatement","src":"12798:82:24"}]},"id":7431,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12722:3:24","nodeType":"FunctionDefinition","parameters":{"id":7418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7413,"mutability":"mutable","name":"p0","nameLocation":"12740:2:24","nodeType":"VariableDeclaration","scope":7431,"src":"12726:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7412,"name":"string","nodeType":"ElementaryTypeName","src":"12726:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7415,"mutability":"mutable","name":"p1","nameLocation":"12758:2:24","nodeType":"VariableDeclaration","scope":7431,"src":"12744:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7414,"name":"string","nodeType":"ElementaryTypeName","src":"12744:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7417,"mutability":"mutable","name":"p2","nameLocation":"12770:2:24","nodeType":"VariableDeclaration","scope":7431,"src":"12762:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7416,"name":"address","nodeType":"ElementaryTypeName","src":"12762:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12725:48:24"},"returnParameters":{"id":7419,"nodeType":"ParameterList","parameters":[],"src":"12788:0:24"},"scope":14120,"src":"12713:174:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7450,"nodeType":"Block","src":"12959:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":7443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13009:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":7444,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7433,"src":"13037:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7445,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7435,"src":"13041:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7446,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7437,"src":"13045:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12985:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12989:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12985:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12985:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7440,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"12969:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12969:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7449,"nodeType":"ExpressionStatement","src":"12969:80:24"}]},"id":7451,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12902:3:24","nodeType":"FunctionDefinition","parameters":{"id":7438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7433,"mutability":"mutable","name":"p0","nameLocation":"12920:2:24","nodeType":"VariableDeclaration","scope":7451,"src":"12906:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7432,"name":"string","nodeType":"ElementaryTypeName","src":"12906:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7435,"mutability":"mutable","name":"p1","nameLocation":"12929:2:24","nodeType":"VariableDeclaration","scope":7451,"src":"12924:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7434,"name":"bool","nodeType":"ElementaryTypeName","src":"12924:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7437,"mutability":"mutable","name":"p2","nameLocation":"12941:2:24","nodeType":"VariableDeclaration","scope":7451,"src":"12933:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7436,"name":"uint256","nodeType":"ElementaryTypeName","src":"12933:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12905:39:24"},"returnParameters":{"id":7439,"nodeType":"ParameterList","parameters":[],"src":"12959:0:24"},"scope":14120,"src":"12893:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7470,"nodeType":"Block","src":"13134:96:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":7463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13184:25:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":7464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7453,"src":"13211:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7455,"src":"13215:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7457,"src":"13219:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13160:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13164:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13160:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13160:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"13144:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13144:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7469,"nodeType":"ExpressionStatement","src":"13144:79:24"}]},"id":7471,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13071:3:24","nodeType":"FunctionDefinition","parameters":{"id":7458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7453,"mutability":"mutable","name":"p0","nameLocation":"13089:2:24","nodeType":"VariableDeclaration","scope":7471,"src":"13075:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7452,"name":"string","nodeType":"ElementaryTypeName","src":"13075:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7455,"mutability":"mutable","name":"p1","nameLocation":"13098:2:24","nodeType":"VariableDeclaration","scope":7471,"src":"13093:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7454,"name":"bool","nodeType":"ElementaryTypeName","src":"13093:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7457,"mutability":"mutable","name":"p2","nameLocation":"13116:2:24","nodeType":"VariableDeclaration","scope":7471,"src":"13102:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7456,"name":"string","nodeType":"ElementaryTypeName","src":"13102:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13074:45:24"},"returnParameters":{"id":7459,"nodeType":"ParameterList","parameters":[],"src":"13134:0:24"},"scope":14120,"src":"13062:168:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7490,"nodeType":"Block","src":"13299:94:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":7483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13349:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":7484,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7473,"src":"13374:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7485,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7475,"src":"13378:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7486,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7477,"src":"13382:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7481,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13325:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13329:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13325:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13325:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7480,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"13309:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13309:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7489,"nodeType":"ExpressionStatement","src":"13309:77:24"}]},"id":7491,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13245:3:24","nodeType":"FunctionDefinition","parameters":{"id":7478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7473,"mutability":"mutable","name":"p0","nameLocation":"13263:2:24","nodeType":"VariableDeclaration","scope":7491,"src":"13249:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7472,"name":"string","nodeType":"ElementaryTypeName","src":"13249:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7475,"mutability":"mutable","name":"p1","nameLocation":"13272:2:24","nodeType":"VariableDeclaration","scope":7491,"src":"13267:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7474,"name":"bool","nodeType":"ElementaryTypeName","src":"13267:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7477,"mutability":"mutable","name":"p2","nameLocation":"13281:2:24","nodeType":"VariableDeclaration","scope":7491,"src":"13276:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7476,"name":"bool","nodeType":"ElementaryTypeName","src":"13276:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13248:36:24"},"returnParameters":{"id":7479,"nodeType":"ParameterList","parameters":[],"src":"13299:0:24"},"scope":14120,"src":"13236:157:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7510,"nodeType":"Block","src":"13465:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":7503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13515:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":7504,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7493,"src":"13543:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7505,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7495,"src":"13547:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7506,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7497,"src":"13551:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7501,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13491:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13495:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13491:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13491:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7500,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"13475:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13475:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7509,"nodeType":"ExpressionStatement","src":"13475:80:24"}]},"id":7511,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13408:3:24","nodeType":"FunctionDefinition","parameters":{"id":7498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7493,"mutability":"mutable","name":"p0","nameLocation":"13426:2:24","nodeType":"VariableDeclaration","scope":7511,"src":"13412:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7492,"name":"string","nodeType":"ElementaryTypeName","src":"13412:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7495,"mutability":"mutable","name":"p1","nameLocation":"13435:2:24","nodeType":"VariableDeclaration","scope":7511,"src":"13430:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7494,"name":"bool","nodeType":"ElementaryTypeName","src":"13430:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7497,"mutability":"mutable","name":"p2","nameLocation":"13447:2:24","nodeType":"VariableDeclaration","scope":7511,"src":"13439:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7496,"name":"address","nodeType":"ElementaryTypeName","src":"13439:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13411:39:24"},"returnParameters":{"id":7499,"nodeType":"ParameterList","parameters":[],"src":"13465:0:24"},"scope":14120,"src":"13399:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7530,"nodeType":"Block","src":"13637:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":7523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13687:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":7524,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7513,"src":"13718:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7525,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7515,"src":"13722:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7526,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7517,"src":"13726:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13663:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13667:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13663:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7520,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"13647:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13647:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7529,"nodeType":"ExpressionStatement","src":"13647:83:24"}]},"id":7531,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13577:3:24","nodeType":"FunctionDefinition","parameters":{"id":7518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7513,"mutability":"mutable","name":"p0","nameLocation":"13595:2:24","nodeType":"VariableDeclaration","scope":7531,"src":"13581:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7512,"name":"string","nodeType":"ElementaryTypeName","src":"13581:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7515,"mutability":"mutable","name":"p1","nameLocation":"13607:2:24","nodeType":"VariableDeclaration","scope":7531,"src":"13599:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7514,"name":"address","nodeType":"ElementaryTypeName","src":"13599:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7517,"mutability":"mutable","name":"p2","nameLocation":"13619:2:24","nodeType":"VariableDeclaration","scope":7531,"src":"13611:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7516,"name":"uint256","nodeType":"ElementaryTypeName","src":"13611:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13580:42:24"},"returnParameters":{"id":7519,"nodeType":"ParameterList","parameters":[],"src":"13637:0:24"},"scope":14120,"src":"13568:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7550,"nodeType":"Block","src":"13818:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":7543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13868:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":7544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7533,"src":"13898:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7535,"src":"13902:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7537,"src":"13906:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13844:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13848:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13844:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13844:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"13828:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13828:82:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7549,"nodeType":"ExpressionStatement","src":"13828:82:24"}]},"id":7551,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13752:3:24","nodeType":"FunctionDefinition","parameters":{"id":7538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7533,"mutability":"mutable","name":"p0","nameLocation":"13770:2:24","nodeType":"VariableDeclaration","scope":7551,"src":"13756:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7532,"name":"string","nodeType":"ElementaryTypeName","src":"13756:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7535,"mutability":"mutable","name":"p1","nameLocation":"13782:2:24","nodeType":"VariableDeclaration","scope":7551,"src":"13774:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7534,"name":"address","nodeType":"ElementaryTypeName","src":"13774:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7537,"mutability":"mutable","name":"p2","nameLocation":"13800:2:24","nodeType":"VariableDeclaration","scope":7551,"src":"13786:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7536,"name":"string","nodeType":"ElementaryTypeName","src":"13786:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13755:48:24"},"returnParameters":{"id":7539,"nodeType":"ParameterList","parameters":[],"src":"13818:0:24"},"scope":14120,"src":"13743:174:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7570,"nodeType":"Block","src":"13989:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":7563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14039:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":7564,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7553,"src":"14067:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7565,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7555,"src":"14071:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7566,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7557,"src":"14075:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7561,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14015:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14019:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14015:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14015:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7560,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"13999:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13999:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7569,"nodeType":"ExpressionStatement","src":"13999:80:24"}]},"id":7571,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13932:3:24","nodeType":"FunctionDefinition","parameters":{"id":7558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7553,"mutability":"mutable","name":"p0","nameLocation":"13950:2:24","nodeType":"VariableDeclaration","scope":7571,"src":"13936:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7552,"name":"string","nodeType":"ElementaryTypeName","src":"13936:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7555,"mutability":"mutable","name":"p1","nameLocation":"13962:2:24","nodeType":"VariableDeclaration","scope":7571,"src":"13954:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7554,"name":"address","nodeType":"ElementaryTypeName","src":"13954:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7557,"mutability":"mutable","name":"p2","nameLocation":"13971:2:24","nodeType":"VariableDeclaration","scope":7571,"src":"13966:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7556,"name":"bool","nodeType":"ElementaryTypeName","src":"13966:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13935:39:24"},"returnParameters":{"id":7559,"nodeType":"ParameterList","parameters":[],"src":"13989:0:24"},"scope":14120,"src":"13923:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7590,"nodeType":"Block","src":"14161:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":7583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14211:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":7584,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7573,"src":"14242:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7585,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7575,"src":"14246:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7586,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7577,"src":"14250:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14187:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14191:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14187:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14187:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7580,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"14171:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14171:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7589,"nodeType":"ExpressionStatement","src":"14171:83:24"}]},"id":7591,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14101:3:24","nodeType":"FunctionDefinition","parameters":{"id":7578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7573,"mutability":"mutable","name":"p0","nameLocation":"14119:2:24","nodeType":"VariableDeclaration","scope":7591,"src":"14105:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7572,"name":"string","nodeType":"ElementaryTypeName","src":"14105:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7575,"mutability":"mutable","name":"p1","nameLocation":"14131:2:24","nodeType":"VariableDeclaration","scope":7591,"src":"14123:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7574,"name":"address","nodeType":"ElementaryTypeName","src":"14123:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7577,"mutability":"mutable","name":"p2","nameLocation":"14143:2:24","nodeType":"VariableDeclaration","scope":7591,"src":"14135:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7576,"name":"address","nodeType":"ElementaryTypeName","src":"14135:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14104:42:24"},"returnParameters":{"id":7579,"nodeType":"ParameterList","parameters":[],"src":"14161:0:24"},"scope":14120,"src":"14092:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7610,"nodeType":"Block","src":"14327:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":7603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14377:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":7604,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7593,"src":"14406:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7605,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7595,"src":"14410:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7606,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7597,"src":"14414:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14353:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14357:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14353:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14353:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7600,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"14337:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14337:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7609,"nodeType":"ExpressionStatement","src":"14337:81:24"}]},"id":7611,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14276:3:24","nodeType":"FunctionDefinition","parameters":{"id":7598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7593,"mutability":"mutable","name":"p0","nameLocation":"14285:2:24","nodeType":"VariableDeclaration","scope":7611,"src":"14280:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7592,"name":"bool","nodeType":"ElementaryTypeName","src":"14280:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7595,"mutability":"mutable","name":"p1","nameLocation":"14297:2:24","nodeType":"VariableDeclaration","scope":7611,"src":"14289:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7594,"name":"uint256","nodeType":"ElementaryTypeName","src":"14289:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7597,"mutability":"mutable","name":"p2","nameLocation":"14309:2:24","nodeType":"VariableDeclaration","scope":7611,"src":"14301:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14301:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14279:33:24"},"returnParameters":{"id":7599,"nodeType":"ParameterList","parameters":[],"src":"14327:0:24"},"scope":14120,"src":"14267:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7630,"nodeType":"Block","src":"14497:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":7623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14547:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":7624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7613,"src":"14575:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7615,"src":"14579:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7617,"src":"14583:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14523:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14527:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14523:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"14507:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14507:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7629,"nodeType":"ExpressionStatement","src":"14507:80:24"}]},"id":7631,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14440:3:24","nodeType":"FunctionDefinition","parameters":{"id":7618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7613,"mutability":"mutable","name":"p0","nameLocation":"14449:2:24","nodeType":"VariableDeclaration","scope":7631,"src":"14444:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7612,"name":"bool","nodeType":"ElementaryTypeName","src":"14444:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7615,"mutability":"mutable","name":"p1","nameLocation":"14461:2:24","nodeType":"VariableDeclaration","scope":7631,"src":"14453:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7614,"name":"uint256","nodeType":"ElementaryTypeName","src":"14453:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7617,"mutability":"mutable","name":"p2","nameLocation":"14479:2:24","nodeType":"VariableDeclaration","scope":7631,"src":"14465:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7616,"name":"string","nodeType":"ElementaryTypeName","src":"14465:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14443:39:24"},"returnParameters":{"id":7619,"nodeType":"ParameterList","parameters":[],"src":"14497:0:24"},"scope":14120,"src":"14431:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7650,"nodeType":"Block","src":"14657:95:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":7643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14707:24:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":7644,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7633,"src":"14733:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7645,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7635,"src":"14737:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7646,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7637,"src":"14741:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14683:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14687:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14683:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14683:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7640,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"14667:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14667:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7649,"nodeType":"ExpressionStatement","src":"14667:78:24"}]},"id":7651,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14609:3:24","nodeType":"FunctionDefinition","parameters":{"id":7638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7633,"mutability":"mutable","name":"p0","nameLocation":"14618:2:24","nodeType":"VariableDeclaration","scope":7651,"src":"14613:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7632,"name":"bool","nodeType":"ElementaryTypeName","src":"14613:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7635,"mutability":"mutable","name":"p1","nameLocation":"14630:2:24","nodeType":"VariableDeclaration","scope":7651,"src":"14622:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7634,"name":"uint256","nodeType":"ElementaryTypeName","src":"14622:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7637,"mutability":"mutable","name":"p2","nameLocation":"14639:2:24","nodeType":"VariableDeclaration","scope":7651,"src":"14634:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7636,"name":"bool","nodeType":"ElementaryTypeName","src":"14634:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14612:30:24"},"returnParameters":{"id":7639,"nodeType":"ParameterList","parameters":[],"src":"14657:0:24"},"scope":14120,"src":"14600:152:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7670,"nodeType":"Block","src":"14818:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":7663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14868:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":7664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7653,"src":"14897:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7665,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7655,"src":"14901:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7666,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7657,"src":"14905:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14844:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14848:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14844:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"14828:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14828:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7669,"nodeType":"ExpressionStatement","src":"14828:81:24"}]},"id":7671,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14767:3:24","nodeType":"FunctionDefinition","parameters":{"id":7658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7653,"mutability":"mutable","name":"p0","nameLocation":"14776:2:24","nodeType":"VariableDeclaration","scope":7671,"src":"14771:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7652,"name":"bool","nodeType":"ElementaryTypeName","src":"14771:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7655,"mutability":"mutable","name":"p1","nameLocation":"14788:2:24","nodeType":"VariableDeclaration","scope":7671,"src":"14780:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7654,"name":"uint256","nodeType":"ElementaryTypeName","src":"14780:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7657,"mutability":"mutable","name":"p2","nameLocation":"14800:2:24","nodeType":"VariableDeclaration","scope":7671,"src":"14792:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7656,"name":"address","nodeType":"ElementaryTypeName","src":"14792:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14770:33:24"},"returnParameters":{"id":7659,"nodeType":"ParameterList","parameters":[],"src":"14818:0:24"},"scope":14120,"src":"14758:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7690,"nodeType":"Block","src":"14988:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":7683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15038:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":7684,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7673,"src":"15066:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7685,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7675,"src":"15070:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7686,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7677,"src":"15074:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7681,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15014:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15018:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15014:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15014:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"14998:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14998:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7689,"nodeType":"ExpressionStatement","src":"14998:80:24"}]},"id":7691,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14931:3:24","nodeType":"FunctionDefinition","parameters":{"id":7678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7673,"mutability":"mutable","name":"p0","nameLocation":"14940:2:24","nodeType":"VariableDeclaration","scope":7691,"src":"14935:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7672,"name":"bool","nodeType":"ElementaryTypeName","src":"14935:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7675,"mutability":"mutable","name":"p1","nameLocation":"14958:2:24","nodeType":"VariableDeclaration","scope":7691,"src":"14944:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7674,"name":"string","nodeType":"ElementaryTypeName","src":"14944:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7677,"mutability":"mutable","name":"p2","nameLocation":"14970:2:24","nodeType":"VariableDeclaration","scope":7691,"src":"14962:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7676,"name":"uint256","nodeType":"ElementaryTypeName","src":"14962:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14934:39:24"},"returnParameters":{"id":7679,"nodeType":"ParameterList","parameters":[],"src":"14988:0:24"},"scope":14120,"src":"14922:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7710,"nodeType":"Block","src":"15163:96:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":7703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15213:25:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":7704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7693,"src":"15240:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7695,"src":"15244:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7697,"src":"15248:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15189:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15193:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15189:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15189:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"15173:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15173:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7709,"nodeType":"ExpressionStatement","src":"15173:79:24"}]},"id":7711,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15100:3:24","nodeType":"FunctionDefinition","parameters":{"id":7698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7693,"mutability":"mutable","name":"p0","nameLocation":"15109:2:24","nodeType":"VariableDeclaration","scope":7711,"src":"15104:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7692,"name":"bool","nodeType":"ElementaryTypeName","src":"15104:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7695,"mutability":"mutable","name":"p1","nameLocation":"15127:2:24","nodeType":"VariableDeclaration","scope":7711,"src":"15113:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7694,"name":"string","nodeType":"ElementaryTypeName","src":"15113:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7697,"mutability":"mutable","name":"p2","nameLocation":"15145:2:24","nodeType":"VariableDeclaration","scope":7711,"src":"15131:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7696,"name":"string","nodeType":"ElementaryTypeName","src":"15131:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15103:45:24"},"returnParameters":{"id":7699,"nodeType":"ParameterList","parameters":[],"src":"15163:0:24"},"scope":14120,"src":"15091:168:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7730,"nodeType":"Block","src":"15328:94:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":7723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15378:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":7724,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7713,"src":"15403:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7725,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7715,"src":"15407:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7726,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7717,"src":"15411:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7721,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15354:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15358:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15354:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15354:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7720,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"15338:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15338:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7729,"nodeType":"ExpressionStatement","src":"15338:77:24"}]},"id":7731,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15274:3:24","nodeType":"FunctionDefinition","parameters":{"id":7718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7713,"mutability":"mutable","name":"p0","nameLocation":"15283:2:24","nodeType":"VariableDeclaration","scope":7731,"src":"15278:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7712,"name":"bool","nodeType":"ElementaryTypeName","src":"15278:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7715,"mutability":"mutable","name":"p1","nameLocation":"15301:2:24","nodeType":"VariableDeclaration","scope":7731,"src":"15287:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7714,"name":"string","nodeType":"ElementaryTypeName","src":"15287:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7717,"mutability":"mutable","name":"p2","nameLocation":"15310:2:24","nodeType":"VariableDeclaration","scope":7731,"src":"15305:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7716,"name":"bool","nodeType":"ElementaryTypeName","src":"15305:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15277:36:24"},"returnParameters":{"id":7719,"nodeType":"ParameterList","parameters":[],"src":"15328:0:24"},"scope":14120,"src":"15265:157:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7750,"nodeType":"Block","src":"15494:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":7743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15544:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":7744,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7733,"src":"15572:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7745,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7735,"src":"15576:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7746,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7737,"src":"15580:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15520:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15524:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15520:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15520:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7740,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"15504:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15504:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7749,"nodeType":"ExpressionStatement","src":"15504:80:24"}]},"id":7751,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15437:3:24","nodeType":"FunctionDefinition","parameters":{"id":7738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7733,"mutability":"mutable","name":"p0","nameLocation":"15446:2:24","nodeType":"VariableDeclaration","scope":7751,"src":"15441:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7732,"name":"bool","nodeType":"ElementaryTypeName","src":"15441:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7735,"mutability":"mutable","name":"p1","nameLocation":"15464:2:24","nodeType":"VariableDeclaration","scope":7751,"src":"15450:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7734,"name":"string","nodeType":"ElementaryTypeName","src":"15450:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7737,"mutability":"mutable","name":"p2","nameLocation":"15476:2:24","nodeType":"VariableDeclaration","scope":7751,"src":"15468:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7736,"name":"address","nodeType":"ElementaryTypeName","src":"15468:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15440:39:24"},"returnParameters":{"id":7739,"nodeType":"ParameterList","parameters":[],"src":"15494:0:24"},"scope":14120,"src":"15428:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7770,"nodeType":"Block","src":"15654:95:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":7763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15704:24:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":7764,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7753,"src":"15730:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7765,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7755,"src":"15734:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7766,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7757,"src":"15738:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15680:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15684:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15680:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15680:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7760,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"15664:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15664:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7769,"nodeType":"ExpressionStatement","src":"15664:78:24"}]},"id":7771,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15606:3:24","nodeType":"FunctionDefinition","parameters":{"id":7758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7753,"mutability":"mutable","name":"p0","nameLocation":"15615:2:24","nodeType":"VariableDeclaration","scope":7771,"src":"15610:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7752,"name":"bool","nodeType":"ElementaryTypeName","src":"15610:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7755,"mutability":"mutable","name":"p1","nameLocation":"15624:2:24","nodeType":"VariableDeclaration","scope":7771,"src":"15619:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7754,"name":"bool","nodeType":"ElementaryTypeName","src":"15619:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7757,"mutability":"mutable","name":"p2","nameLocation":"15636:2:24","nodeType":"VariableDeclaration","scope":7771,"src":"15628:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7756,"name":"uint256","nodeType":"ElementaryTypeName","src":"15628:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15609:30:24"},"returnParameters":{"id":7759,"nodeType":"ParameterList","parameters":[],"src":"15654:0:24"},"scope":14120,"src":"15597:152:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7790,"nodeType":"Block","src":"15818:94:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":7783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15868:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":7784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7773,"src":"15893:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7775,"src":"15897:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7777,"src":"15901:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15844:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15848:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15844:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15844:60:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"15828:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15828:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7789,"nodeType":"ExpressionStatement","src":"15828:77:24"}]},"id":7791,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15764:3:24","nodeType":"FunctionDefinition","parameters":{"id":7778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7773,"mutability":"mutable","name":"p0","nameLocation":"15773:2:24","nodeType":"VariableDeclaration","scope":7791,"src":"15768:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7772,"name":"bool","nodeType":"ElementaryTypeName","src":"15768:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7775,"mutability":"mutable","name":"p1","nameLocation":"15782:2:24","nodeType":"VariableDeclaration","scope":7791,"src":"15777:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7774,"name":"bool","nodeType":"ElementaryTypeName","src":"15777:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7777,"mutability":"mutable","name":"p2","nameLocation":"15800:2:24","nodeType":"VariableDeclaration","scope":7791,"src":"15786:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7776,"name":"string","nodeType":"ElementaryTypeName","src":"15786:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15767:36:24"},"returnParameters":{"id":7779,"nodeType":"ParameterList","parameters":[],"src":"15818:0:24"},"scope":14120,"src":"15755:157:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7810,"nodeType":"Block","src":"15972:92:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":7803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16022:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":7804,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7793,"src":"16045:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7805,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7795,"src":"16049:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7806,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7797,"src":"16053:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7801,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15998:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16002:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15998:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15998:58:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7800,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"15982:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15982:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7809,"nodeType":"ExpressionStatement","src":"15982:75:24"}]},"id":7811,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15927:3:24","nodeType":"FunctionDefinition","parameters":{"id":7798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7793,"mutability":"mutable","name":"p0","nameLocation":"15936:2:24","nodeType":"VariableDeclaration","scope":7811,"src":"15931:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7792,"name":"bool","nodeType":"ElementaryTypeName","src":"15931:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7795,"mutability":"mutable","name":"p1","nameLocation":"15945:2:24","nodeType":"VariableDeclaration","scope":7811,"src":"15940:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7794,"name":"bool","nodeType":"ElementaryTypeName","src":"15940:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7797,"mutability":"mutable","name":"p2","nameLocation":"15954:2:24","nodeType":"VariableDeclaration","scope":7811,"src":"15949:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7796,"name":"bool","nodeType":"ElementaryTypeName","src":"15949:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15930:27:24"},"returnParameters":{"id":7799,"nodeType":"ParameterList","parameters":[],"src":"15972:0:24"},"scope":14120,"src":"15918:146:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7830,"nodeType":"Block","src":"16127:95:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":7823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16177:24:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":7824,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7813,"src":"16203:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7825,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7815,"src":"16207:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7826,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7817,"src":"16211:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16153:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16157:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16153:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16153:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7820,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"16137:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7829,"nodeType":"ExpressionStatement","src":"16137:78:24"}]},"id":7831,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16079:3:24","nodeType":"FunctionDefinition","parameters":{"id":7818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7813,"mutability":"mutable","name":"p0","nameLocation":"16088:2:24","nodeType":"VariableDeclaration","scope":7831,"src":"16083:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7812,"name":"bool","nodeType":"ElementaryTypeName","src":"16083:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7815,"mutability":"mutable","name":"p1","nameLocation":"16097:2:24","nodeType":"VariableDeclaration","scope":7831,"src":"16092:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7814,"name":"bool","nodeType":"ElementaryTypeName","src":"16092:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7817,"mutability":"mutable","name":"p2","nameLocation":"16109:2:24","nodeType":"VariableDeclaration","scope":7831,"src":"16101:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7816,"name":"address","nodeType":"ElementaryTypeName","src":"16101:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16082:30:24"},"returnParameters":{"id":7819,"nodeType":"ParameterList","parameters":[],"src":"16127:0:24"},"scope":14120,"src":"16070:152:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7850,"nodeType":"Block","src":"16288:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":7843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16338:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":7844,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7833,"src":"16367:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7845,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7835,"src":"16371:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7846,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7837,"src":"16375:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7841,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16314:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16318:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16314:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16314:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7840,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"16298:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16298:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7849,"nodeType":"ExpressionStatement","src":"16298:81:24"}]},"id":7851,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16237:3:24","nodeType":"FunctionDefinition","parameters":{"id":7838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7833,"mutability":"mutable","name":"p0","nameLocation":"16246:2:24","nodeType":"VariableDeclaration","scope":7851,"src":"16241:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7832,"name":"bool","nodeType":"ElementaryTypeName","src":"16241:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7835,"mutability":"mutable","name":"p1","nameLocation":"16258:2:24","nodeType":"VariableDeclaration","scope":7851,"src":"16250:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7834,"name":"address","nodeType":"ElementaryTypeName","src":"16250:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7837,"mutability":"mutable","name":"p2","nameLocation":"16270:2:24","nodeType":"VariableDeclaration","scope":7851,"src":"16262:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7836,"name":"uint256","nodeType":"ElementaryTypeName","src":"16262:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16240:33:24"},"returnParameters":{"id":7839,"nodeType":"ParameterList","parameters":[],"src":"16288:0:24"},"scope":14120,"src":"16228:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7870,"nodeType":"Block","src":"16458:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":7863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16508:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":7864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7853,"src":"16536:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7855,"src":"16540:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7857,"src":"16544:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16484:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16488:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16484:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16484:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"16468:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16468:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7869,"nodeType":"ExpressionStatement","src":"16468:80:24"}]},"id":7871,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16401:3:24","nodeType":"FunctionDefinition","parameters":{"id":7858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7853,"mutability":"mutable","name":"p0","nameLocation":"16410:2:24","nodeType":"VariableDeclaration","scope":7871,"src":"16405:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7852,"name":"bool","nodeType":"ElementaryTypeName","src":"16405:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7855,"mutability":"mutable","name":"p1","nameLocation":"16422:2:24","nodeType":"VariableDeclaration","scope":7871,"src":"16414:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7854,"name":"address","nodeType":"ElementaryTypeName","src":"16414:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7857,"mutability":"mutable","name":"p2","nameLocation":"16440:2:24","nodeType":"VariableDeclaration","scope":7871,"src":"16426:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7856,"name":"string","nodeType":"ElementaryTypeName","src":"16426:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16404:39:24"},"returnParameters":{"id":7859,"nodeType":"ParameterList","parameters":[],"src":"16458:0:24"},"scope":14120,"src":"16392:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7890,"nodeType":"Block","src":"16618:95:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":7883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16668:24:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":7884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7873,"src":"16694:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7885,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7875,"src":"16698:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7886,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7877,"src":"16702:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16644:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16648:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16644:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16644:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"16628:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16628:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7889,"nodeType":"ExpressionStatement","src":"16628:78:24"}]},"id":7891,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16570:3:24","nodeType":"FunctionDefinition","parameters":{"id":7878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7873,"mutability":"mutable","name":"p0","nameLocation":"16579:2:24","nodeType":"VariableDeclaration","scope":7891,"src":"16574:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7872,"name":"bool","nodeType":"ElementaryTypeName","src":"16574:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7875,"mutability":"mutable","name":"p1","nameLocation":"16591:2:24","nodeType":"VariableDeclaration","scope":7891,"src":"16583:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7874,"name":"address","nodeType":"ElementaryTypeName","src":"16583:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7877,"mutability":"mutable","name":"p2","nameLocation":"16600:2:24","nodeType":"VariableDeclaration","scope":7891,"src":"16595:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7876,"name":"bool","nodeType":"ElementaryTypeName","src":"16595:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16573:30:24"},"returnParameters":{"id":7879,"nodeType":"ParameterList","parameters":[],"src":"16618:0:24"},"scope":14120,"src":"16561:152:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7910,"nodeType":"Block","src":"16779:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":7903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16829:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":7904,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7893,"src":"16858:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7905,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7895,"src":"16862:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7906,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"16866:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16805:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16809:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16805:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16805:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7900,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"16789:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16789:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7909,"nodeType":"ExpressionStatement","src":"16789:81:24"}]},"id":7911,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16728:3:24","nodeType":"FunctionDefinition","parameters":{"id":7898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7893,"mutability":"mutable","name":"p0","nameLocation":"16737:2:24","nodeType":"VariableDeclaration","scope":7911,"src":"16732:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7892,"name":"bool","nodeType":"ElementaryTypeName","src":"16732:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":7895,"mutability":"mutable","name":"p1","nameLocation":"16749:2:24","nodeType":"VariableDeclaration","scope":7911,"src":"16741:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7894,"name":"address","nodeType":"ElementaryTypeName","src":"16741:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7897,"mutability":"mutable","name":"p2","nameLocation":"16761:2:24","nodeType":"VariableDeclaration","scope":7911,"src":"16753:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7896,"name":"address","nodeType":"ElementaryTypeName","src":"16753:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16731:33:24"},"returnParameters":{"id":7899,"nodeType":"ParameterList","parameters":[],"src":"16779:0:24"},"scope":14120,"src":"16719:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7930,"nodeType":"Block","src":"16946:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":7923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16996:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":7924,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7913,"src":"17028:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7925,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"17032:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7926,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7917,"src":"17036:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16972:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16976:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16972:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16972:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7920,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"16956:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16956:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7929,"nodeType":"ExpressionStatement","src":"16956:84:24"}]},"id":7931,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16892:3:24","nodeType":"FunctionDefinition","parameters":{"id":7918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7913,"mutability":"mutable","name":"p0","nameLocation":"16904:2:24","nodeType":"VariableDeclaration","scope":7931,"src":"16896:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7912,"name":"address","nodeType":"ElementaryTypeName","src":"16896:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7915,"mutability":"mutable","name":"p1","nameLocation":"16916:2:24","nodeType":"VariableDeclaration","scope":7931,"src":"16908:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7914,"name":"uint256","nodeType":"ElementaryTypeName","src":"16908:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7917,"mutability":"mutable","name":"p2","nameLocation":"16928:2:24","nodeType":"VariableDeclaration","scope":7931,"src":"16920:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7916,"name":"uint256","nodeType":"ElementaryTypeName","src":"16920:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16895:36:24"},"returnParameters":{"id":7919,"nodeType":"ParameterList","parameters":[],"src":"16946:0:24"},"scope":14120,"src":"16883:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7950,"nodeType":"Block","src":"17122:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":7943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17172:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":7944,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7933,"src":"17203:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7945,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7935,"src":"17207:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7946,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7937,"src":"17211:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7941,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17148:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17152:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17148:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17148:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7940,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"17132:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17132:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7949,"nodeType":"ExpressionStatement","src":"17132:83:24"}]},"id":7951,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17062:3:24","nodeType":"FunctionDefinition","parameters":{"id":7938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7933,"mutability":"mutable","name":"p0","nameLocation":"17074:2:24","nodeType":"VariableDeclaration","scope":7951,"src":"17066:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7932,"name":"address","nodeType":"ElementaryTypeName","src":"17066:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7935,"mutability":"mutable","name":"p1","nameLocation":"17086:2:24","nodeType":"VariableDeclaration","scope":7951,"src":"17078:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7934,"name":"uint256","nodeType":"ElementaryTypeName","src":"17078:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7937,"mutability":"mutable","name":"p2","nameLocation":"17104:2:24","nodeType":"VariableDeclaration","scope":7951,"src":"17090:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7936,"name":"string","nodeType":"ElementaryTypeName","src":"17090:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17065:42:24"},"returnParameters":{"id":7939,"nodeType":"ParameterList","parameters":[],"src":"17122:0:24"},"scope":14120,"src":"17053:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7970,"nodeType":"Block","src":"17288:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":7963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17338:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":7964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7953,"src":"17367:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7955,"src":"17371:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7966,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7957,"src":"17375:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":7961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17314:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17318:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17314:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17314:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"17298:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17298:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7969,"nodeType":"ExpressionStatement","src":"17298:81:24"}]},"id":7971,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17237:3:24","nodeType":"FunctionDefinition","parameters":{"id":7958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7953,"mutability":"mutable","name":"p0","nameLocation":"17249:2:24","nodeType":"VariableDeclaration","scope":7971,"src":"17241:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7952,"name":"address","nodeType":"ElementaryTypeName","src":"17241:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7955,"mutability":"mutable","name":"p1","nameLocation":"17261:2:24","nodeType":"VariableDeclaration","scope":7971,"src":"17253:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7954,"name":"uint256","nodeType":"ElementaryTypeName","src":"17253:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7957,"mutability":"mutable","name":"p2","nameLocation":"17270:2:24","nodeType":"VariableDeclaration","scope":7971,"src":"17265:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7956,"name":"bool","nodeType":"ElementaryTypeName","src":"17265:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17240:33:24"},"returnParameters":{"id":7959,"nodeType":"ParameterList","parameters":[],"src":"17288:0:24"},"scope":14120,"src":"17228:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":7990,"nodeType":"Block","src":"17455:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":7983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17505:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":7984,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7973,"src":"17537:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7985,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7975,"src":"17541:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7986,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7977,"src":"17545:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17481:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17485:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17481:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17481:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7980,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"17465:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":7988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17465:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7989,"nodeType":"ExpressionStatement","src":"17465:84:24"}]},"id":7991,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17401:3:24","nodeType":"FunctionDefinition","parameters":{"id":7978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7973,"mutability":"mutable","name":"p0","nameLocation":"17413:2:24","nodeType":"VariableDeclaration","scope":7991,"src":"17405:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7972,"name":"address","nodeType":"ElementaryTypeName","src":"17405:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7975,"mutability":"mutable","name":"p1","nameLocation":"17425:2:24","nodeType":"VariableDeclaration","scope":7991,"src":"17417:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7974,"name":"uint256","nodeType":"ElementaryTypeName","src":"17417:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7977,"mutability":"mutable","name":"p2","nameLocation":"17437:2:24","nodeType":"VariableDeclaration","scope":7991,"src":"17429:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7976,"name":"address","nodeType":"ElementaryTypeName","src":"17429:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17404:36:24"},"returnParameters":{"id":7979,"nodeType":"ParameterList","parameters":[],"src":"17455:0:24"},"scope":14120,"src":"17392:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8010,"nodeType":"Block","src":"17631:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":8003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17681:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":8004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"17712:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7995,"src":"17716:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7997,"src":"17720:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17657:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17661:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17657:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17657:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"17641:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17641:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8009,"nodeType":"ExpressionStatement","src":"17641:83:24"}]},"id":8011,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17571:3:24","nodeType":"FunctionDefinition","parameters":{"id":7998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7993,"mutability":"mutable","name":"p0","nameLocation":"17583:2:24","nodeType":"VariableDeclaration","scope":8011,"src":"17575:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7992,"name":"address","nodeType":"ElementaryTypeName","src":"17575:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7995,"mutability":"mutable","name":"p1","nameLocation":"17601:2:24","nodeType":"VariableDeclaration","scope":8011,"src":"17587:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7994,"name":"string","nodeType":"ElementaryTypeName","src":"17587:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7997,"mutability":"mutable","name":"p2","nameLocation":"17613:2:24","nodeType":"VariableDeclaration","scope":8011,"src":"17605:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7996,"name":"uint256","nodeType":"ElementaryTypeName","src":"17605:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17574:42:24"},"returnParameters":{"id":7999,"nodeType":"ParameterList","parameters":[],"src":"17631:0:24"},"scope":14120,"src":"17562:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8030,"nodeType":"Block","src":"17812:99:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":8023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17862:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":8024,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8013,"src":"17892:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8025,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8015,"src":"17896:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8026,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8017,"src":"17900:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8021,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17838:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17842:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17838:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17838:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8020,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"17822:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17822:82:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8029,"nodeType":"ExpressionStatement","src":"17822:82:24"}]},"id":8031,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17746:3:24","nodeType":"FunctionDefinition","parameters":{"id":8018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8013,"mutability":"mutable","name":"p0","nameLocation":"17758:2:24","nodeType":"VariableDeclaration","scope":8031,"src":"17750:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8012,"name":"address","nodeType":"ElementaryTypeName","src":"17750:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8015,"mutability":"mutable","name":"p1","nameLocation":"17776:2:24","nodeType":"VariableDeclaration","scope":8031,"src":"17762:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8014,"name":"string","nodeType":"ElementaryTypeName","src":"17762:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8017,"mutability":"mutable","name":"p2","nameLocation":"17794:2:24","nodeType":"VariableDeclaration","scope":8031,"src":"17780:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8016,"name":"string","nodeType":"ElementaryTypeName","src":"17780:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17749:48:24"},"returnParameters":{"id":8019,"nodeType":"ParameterList","parameters":[],"src":"17812:0:24"},"scope":14120,"src":"17737:174:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8050,"nodeType":"Block","src":"17983:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":8043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18033:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":8044,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8033,"src":"18061:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8045,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8035,"src":"18065:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8046,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8037,"src":"18069:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18009:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18013:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18009:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18009:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8040,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"17993:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17993:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8049,"nodeType":"ExpressionStatement","src":"17993:80:24"}]},"id":8051,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17926:3:24","nodeType":"FunctionDefinition","parameters":{"id":8038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8033,"mutability":"mutable","name":"p0","nameLocation":"17938:2:24","nodeType":"VariableDeclaration","scope":8051,"src":"17930:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8032,"name":"address","nodeType":"ElementaryTypeName","src":"17930:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8035,"mutability":"mutable","name":"p1","nameLocation":"17956:2:24","nodeType":"VariableDeclaration","scope":8051,"src":"17942:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8034,"name":"string","nodeType":"ElementaryTypeName","src":"17942:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8037,"mutability":"mutable","name":"p2","nameLocation":"17965:2:24","nodeType":"VariableDeclaration","scope":8051,"src":"17960:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8036,"name":"bool","nodeType":"ElementaryTypeName","src":"17960:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17929:39:24"},"returnParameters":{"id":8039,"nodeType":"ParameterList","parameters":[],"src":"17983:0:24"},"scope":14120,"src":"17917:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8070,"nodeType":"Block","src":"18155:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":8063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18205:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":8064,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8053,"src":"18236:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8065,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8055,"src":"18240:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8066,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8057,"src":"18244:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8061,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18181:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18185:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18181:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18181:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8060,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"18165:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18165:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8069,"nodeType":"ExpressionStatement","src":"18165:83:24"}]},"id":8071,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18095:3:24","nodeType":"FunctionDefinition","parameters":{"id":8058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8053,"mutability":"mutable","name":"p0","nameLocation":"18107:2:24","nodeType":"VariableDeclaration","scope":8071,"src":"18099:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8052,"name":"address","nodeType":"ElementaryTypeName","src":"18099:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8055,"mutability":"mutable","name":"p1","nameLocation":"18125:2:24","nodeType":"VariableDeclaration","scope":8071,"src":"18111:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8054,"name":"string","nodeType":"ElementaryTypeName","src":"18111:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8057,"mutability":"mutable","name":"p2","nameLocation":"18137:2:24","nodeType":"VariableDeclaration","scope":8071,"src":"18129:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8056,"name":"address","nodeType":"ElementaryTypeName","src":"18129:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18098:42:24"},"returnParameters":{"id":8059,"nodeType":"ParameterList","parameters":[],"src":"18155:0:24"},"scope":14120,"src":"18086:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8090,"nodeType":"Block","src":"18321:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":8083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18371:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":8084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8073,"src":"18400:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8075,"src":"18404:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8077,"src":"18408:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18347:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18351:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18347:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18347:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"18331:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18331:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8089,"nodeType":"ExpressionStatement","src":"18331:81:24"}]},"id":8091,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18270:3:24","nodeType":"FunctionDefinition","parameters":{"id":8078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8073,"mutability":"mutable","name":"p0","nameLocation":"18282:2:24","nodeType":"VariableDeclaration","scope":8091,"src":"18274:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8072,"name":"address","nodeType":"ElementaryTypeName","src":"18274:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8075,"mutability":"mutable","name":"p1","nameLocation":"18291:2:24","nodeType":"VariableDeclaration","scope":8091,"src":"18286:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8074,"name":"bool","nodeType":"ElementaryTypeName","src":"18286:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8077,"mutability":"mutable","name":"p2","nameLocation":"18303:2:24","nodeType":"VariableDeclaration","scope":8091,"src":"18295:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8076,"name":"uint256","nodeType":"ElementaryTypeName","src":"18295:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18273:33:24"},"returnParameters":{"id":8079,"nodeType":"ParameterList","parameters":[],"src":"18321:0:24"},"scope":14120,"src":"18261:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8110,"nodeType":"Block","src":"18491:97:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":8103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18541:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":8104,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8093,"src":"18569:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8105,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8095,"src":"18573:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8106,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8097,"src":"18577:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18517:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18521:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18517:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18517:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8100,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"18501:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18501:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8109,"nodeType":"ExpressionStatement","src":"18501:80:24"}]},"id":8111,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18434:3:24","nodeType":"FunctionDefinition","parameters":{"id":8098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8093,"mutability":"mutable","name":"p0","nameLocation":"18446:2:24","nodeType":"VariableDeclaration","scope":8111,"src":"18438:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8092,"name":"address","nodeType":"ElementaryTypeName","src":"18438:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8095,"mutability":"mutable","name":"p1","nameLocation":"18455:2:24","nodeType":"VariableDeclaration","scope":8111,"src":"18450:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8094,"name":"bool","nodeType":"ElementaryTypeName","src":"18450:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8097,"mutability":"mutable","name":"p2","nameLocation":"18473:2:24","nodeType":"VariableDeclaration","scope":8111,"src":"18459:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8096,"name":"string","nodeType":"ElementaryTypeName","src":"18459:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18437:39:24"},"returnParameters":{"id":8099,"nodeType":"ParameterList","parameters":[],"src":"18491:0:24"},"scope":14120,"src":"18425:163:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8130,"nodeType":"Block","src":"18651:95:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":8123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18701:24:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":8124,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8113,"src":"18727:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8125,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8115,"src":"18731:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8126,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"18735:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18677:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18681:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18677:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18677:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"18661:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18661:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8129,"nodeType":"ExpressionStatement","src":"18661:78:24"}]},"id":8131,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18603:3:24","nodeType":"FunctionDefinition","parameters":{"id":8118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8113,"mutability":"mutable","name":"p0","nameLocation":"18615:2:24","nodeType":"VariableDeclaration","scope":8131,"src":"18607:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8112,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8115,"mutability":"mutable","name":"p1","nameLocation":"18624:2:24","nodeType":"VariableDeclaration","scope":8131,"src":"18619:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8114,"name":"bool","nodeType":"ElementaryTypeName","src":"18619:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8117,"mutability":"mutable","name":"p2","nameLocation":"18633:2:24","nodeType":"VariableDeclaration","scope":8131,"src":"18628:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8116,"name":"bool","nodeType":"ElementaryTypeName","src":"18628:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18606:30:24"},"returnParameters":{"id":8119,"nodeType":"ParameterList","parameters":[],"src":"18651:0:24"},"scope":14120,"src":"18594:152:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8150,"nodeType":"Block","src":"18812:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":8143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18862:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":8144,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8133,"src":"18891:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8145,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8135,"src":"18895:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8146,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8137,"src":"18899:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18838:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18842:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18838:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18838:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"18822:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18822:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8149,"nodeType":"ExpressionStatement","src":"18822:81:24"}]},"id":8151,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18761:3:24","nodeType":"FunctionDefinition","parameters":{"id":8138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8133,"mutability":"mutable","name":"p0","nameLocation":"18773:2:24","nodeType":"VariableDeclaration","scope":8151,"src":"18765:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8132,"name":"address","nodeType":"ElementaryTypeName","src":"18765:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8135,"mutability":"mutable","name":"p1","nameLocation":"18782:2:24","nodeType":"VariableDeclaration","scope":8151,"src":"18777:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8134,"name":"bool","nodeType":"ElementaryTypeName","src":"18777:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8137,"mutability":"mutable","name":"p2","nameLocation":"18794:2:24","nodeType":"VariableDeclaration","scope":8151,"src":"18786:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8136,"name":"address","nodeType":"ElementaryTypeName","src":"18786:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18764:33:24"},"returnParameters":{"id":8139,"nodeType":"ParameterList","parameters":[],"src":"18812:0:24"},"scope":14120,"src":"18752:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8170,"nodeType":"Block","src":"18979:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":8163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19029:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":8164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8153,"src":"19061:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8155,"src":"19065:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8157,"src":"19069:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19005:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19009:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19005:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19005:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"18989:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18989:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8169,"nodeType":"ExpressionStatement","src":"18989:84:24"}]},"id":8171,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18925:3:24","nodeType":"FunctionDefinition","parameters":{"id":8158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8153,"mutability":"mutable","name":"p0","nameLocation":"18937:2:24","nodeType":"VariableDeclaration","scope":8171,"src":"18929:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8152,"name":"address","nodeType":"ElementaryTypeName","src":"18929:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8155,"mutability":"mutable","name":"p1","nameLocation":"18949:2:24","nodeType":"VariableDeclaration","scope":8171,"src":"18941:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8154,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8157,"mutability":"mutable","name":"p2","nameLocation":"18961:2:24","nodeType":"VariableDeclaration","scope":8171,"src":"18953:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8156,"name":"uint256","nodeType":"ElementaryTypeName","src":"18953:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18928:36:24"},"returnParameters":{"id":8159,"nodeType":"ParameterList","parameters":[],"src":"18979:0:24"},"scope":14120,"src":"18916:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8190,"nodeType":"Block","src":"19155:100:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":8183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19205:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":8184,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8173,"src":"19236:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8185,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8175,"src":"19240:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8186,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8177,"src":"19244:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8181,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19181:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19185:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19181:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19181:66:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8180,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"19165:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19165:83:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8189,"nodeType":"ExpressionStatement","src":"19165:83:24"}]},"id":8191,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19095:3:24","nodeType":"FunctionDefinition","parameters":{"id":8178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8173,"mutability":"mutable","name":"p0","nameLocation":"19107:2:24","nodeType":"VariableDeclaration","scope":8191,"src":"19099:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8172,"name":"address","nodeType":"ElementaryTypeName","src":"19099:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8175,"mutability":"mutable","name":"p1","nameLocation":"19119:2:24","nodeType":"VariableDeclaration","scope":8191,"src":"19111:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8174,"name":"address","nodeType":"ElementaryTypeName","src":"19111:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8177,"mutability":"mutable","name":"p2","nameLocation":"19137:2:24","nodeType":"VariableDeclaration","scope":8191,"src":"19123:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8176,"name":"string","nodeType":"ElementaryTypeName","src":"19123:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19098:42:24"},"returnParameters":{"id":8179,"nodeType":"ParameterList","parameters":[],"src":"19155:0:24"},"scope":14120,"src":"19086:169:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8210,"nodeType":"Block","src":"19321:98:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":8203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19371:27:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":8204,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8193,"src":"19400:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8205,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8195,"src":"19404:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8206,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8197,"src":"19408:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19347:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19351:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19347:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19347:64:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"19331:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19331:81:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8209,"nodeType":"ExpressionStatement","src":"19331:81:24"}]},"id":8211,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19270:3:24","nodeType":"FunctionDefinition","parameters":{"id":8198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8193,"mutability":"mutable","name":"p0","nameLocation":"19282:2:24","nodeType":"VariableDeclaration","scope":8211,"src":"19274:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8192,"name":"address","nodeType":"ElementaryTypeName","src":"19274:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8195,"mutability":"mutable","name":"p1","nameLocation":"19294:2:24","nodeType":"VariableDeclaration","scope":8211,"src":"19286:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8194,"name":"address","nodeType":"ElementaryTypeName","src":"19286:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8197,"mutability":"mutable","name":"p2","nameLocation":"19303:2:24","nodeType":"VariableDeclaration","scope":8211,"src":"19298:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8196,"name":"bool","nodeType":"ElementaryTypeName","src":"19298:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19273:33:24"},"returnParameters":{"id":8199,"nodeType":"ParameterList","parameters":[],"src":"19321:0:24"},"scope":14120,"src":"19261:158:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8230,"nodeType":"Block","src":"19488:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":8223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19538:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":8224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8213,"src":"19570:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8215,"src":"19574:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8217,"src":"19578:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19514:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19518:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19514:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19514:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"19498:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19498:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8229,"nodeType":"ExpressionStatement","src":"19498:84:24"}]},"id":8231,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19434:3:24","nodeType":"FunctionDefinition","parameters":{"id":8218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8213,"mutability":"mutable","name":"p0","nameLocation":"19446:2:24","nodeType":"VariableDeclaration","scope":8231,"src":"19438:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8212,"name":"address","nodeType":"ElementaryTypeName","src":"19438:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8215,"mutability":"mutable","name":"p1","nameLocation":"19458:2:24","nodeType":"VariableDeclaration","scope":8231,"src":"19450:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8214,"name":"address","nodeType":"ElementaryTypeName","src":"19450:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8217,"mutability":"mutable","name":"p2","nameLocation":"19470:2:24","nodeType":"VariableDeclaration","scope":8231,"src":"19462:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8216,"name":"address","nodeType":"ElementaryTypeName","src":"19462:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19437:36:24"},"returnParameters":{"id":8219,"nodeType":"ParameterList","parameters":[],"src":"19488:0:24"},"scope":14120,"src":"19425:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8253,"nodeType":"Block","src":"19670:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":8245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19720:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":8246,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8233,"src":"19760:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8247,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8235,"src":"19764:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8248,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8237,"src":"19768:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8249,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8239,"src":"19772:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8243,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19696:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19700:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19696:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19696:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8242,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"19680:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19680:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8252,"nodeType":"ExpressionStatement","src":"19680:96:24"}]},"id":8254,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19604:3:24","nodeType":"FunctionDefinition","parameters":{"id":8240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8233,"mutability":"mutable","name":"p0","nameLocation":"19616:2:24","nodeType":"VariableDeclaration","scope":8254,"src":"19608:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8232,"name":"uint256","nodeType":"ElementaryTypeName","src":"19608:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8235,"mutability":"mutable","name":"p1","nameLocation":"19628:2:24","nodeType":"VariableDeclaration","scope":8254,"src":"19620:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8234,"name":"uint256","nodeType":"ElementaryTypeName","src":"19620:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8237,"mutability":"mutable","name":"p2","nameLocation":"19640:2:24","nodeType":"VariableDeclaration","scope":8254,"src":"19632:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8236,"name":"uint256","nodeType":"ElementaryTypeName","src":"19632:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8239,"mutability":"mutable","name":"p3","nameLocation":"19652:2:24","nodeType":"VariableDeclaration","scope":8254,"src":"19644:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8238,"name":"uint256","nodeType":"ElementaryTypeName","src":"19644:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19607:48:24"},"returnParameters":{"id":8241,"nodeType":"ParameterList","parameters":[],"src":"19670:0:24"},"scope":14120,"src":"19595:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8276,"nodeType":"Block","src":"19870:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":8268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19920:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":8269,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8256,"src":"19959:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8270,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8258,"src":"19963:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8271,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8260,"src":"19967:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8272,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8262,"src":"19971:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19896:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19900:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19896:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19896:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8265,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"19880:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19880:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8275,"nodeType":"ExpressionStatement","src":"19880:95:24"}]},"id":8277,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19798:3:24","nodeType":"FunctionDefinition","parameters":{"id":8263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8256,"mutability":"mutable","name":"p0","nameLocation":"19810:2:24","nodeType":"VariableDeclaration","scope":8277,"src":"19802:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8255,"name":"uint256","nodeType":"ElementaryTypeName","src":"19802:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8258,"mutability":"mutable","name":"p1","nameLocation":"19822:2:24","nodeType":"VariableDeclaration","scope":8277,"src":"19814:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8257,"name":"uint256","nodeType":"ElementaryTypeName","src":"19814:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8260,"mutability":"mutable","name":"p2","nameLocation":"19834:2:24","nodeType":"VariableDeclaration","scope":8277,"src":"19826:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8259,"name":"uint256","nodeType":"ElementaryTypeName","src":"19826:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8262,"mutability":"mutable","name":"p3","nameLocation":"19852:2:24","nodeType":"VariableDeclaration","scope":8277,"src":"19838:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8261,"name":"string","nodeType":"ElementaryTypeName","src":"19838:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19801:54:24"},"returnParameters":{"id":8264,"nodeType":"ParameterList","parameters":[],"src":"19870:0:24"},"scope":14120,"src":"19789:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8299,"nodeType":"Block","src":"20060:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":8291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20110:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":8292,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8279,"src":"20147:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8293,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8281,"src":"20151:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8294,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8283,"src":"20155:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8295,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8285,"src":"20159:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8289,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20086:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20090:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20086:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20086:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8288,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"20070:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20070:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8298,"nodeType":"ExpressionStatement","src":"20070:93:24"}]},"id":8300,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19997:3:24","nodeType":"FunctionDefinition","parameters":{"id":8286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8279,"mutability":"mutable","name":"p0","nameLocation":"20009:2:24","nodeType":"VariableDeclaration","scope":8300,"src":"20001:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8278,"name":"uint256","nodeType":"ElementaryTypeName","src":"20001:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8281,"mutability":"mutable","name":"p1","nameLocation":"20021:2:24","nodeType":"VariableDeclaration","scope":8300,"src":"20013:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8280,"name":"uint256","nodeType":"ElementaryTypeName","src":"20013:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8283,"mutability":"mutable","name":"p2","nameLocation":"20033:2:24","nodeType":"VariableDeclaration","scope":8300,"src":"20025:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8282,"name":"uint256","nodeType":"ElementaryTypeName","src":"20025:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8285,"mutability":"mutable","name":"p3","nameLocation":"20042:2:24","nodeType":"VariableDeclaration","scope":8300,"src":"20037:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8284,"name":"bool","nodeType":"ElementaryTypeName","src":"20037:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20000:45:24"},"returnParameters":{"id":8287,"nodeType":"ParameterList","parameters":[],"src":"20060:0:24"},"scope":14120,"src":"19988:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8322,"nodeType":"Block","src":"20251:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":8314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20301:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":8315,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8302,"src":"20341:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8316,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8304,"src":"20345:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8317,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8306,"src":"20349:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8318,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8308,"src":"20353:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8312,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20277:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20281:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20277:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20277:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8311,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"20261:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20261:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8321,"nodeType":"ExpressionStatement","src":"20261:96:24"}]},"id":8323,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20185:3:24","nodeType":"FunctionDefinition","parameters":{"id":8309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8302,"mutability":"mutable","name":"p0","nameLocation":"20197:2:24","nodeType":"VariableDeclaration","scope":8323,"src":"20189:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8301,"name":"uint256","nodeType":"ElementaryTypeName","src":"20189:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8304,"mutability":"mutable","name":"p1","nameLocation":"20209:2:24","nodeType":"VariableDeclaration","scope":8323,"src":"20201:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8303,"name":"uint256","nodeType":"ElementaryTypeName","src":"20201:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8306,"mutability":"mutable","name":"p2","nameLocation":"20221:2:24","nodeType":"VariableDeclaration","scope":8323,"src":"20213:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8305,"name":"uint256","nodeType":"ElementaryTypeName","src":"20213:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8308,"mutability":"mutable","name":"p3","nameLocation":"20233:2:24","nodeType":"VariableDeclaration","scope":8323,"src":"20225:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8307,"name":"address","nodeType":"ElementaryTypeName","src":"20225:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20188:48:24"},"returnParameters":{"id":8310,"nodeType":"ParameterList","parameters":[],"src":"20251:0:24"},"scope":14120,"src":"20176:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8345,"nodeType":"Block","src":"20451:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":8337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20501:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":8338,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8325,"src":"20540:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8339,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8327,"src":"20544:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8340,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8329,"src":"20548:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8341,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8331,"src":"20552:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20477:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20481:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20477:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20477:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8334,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"20461:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20461:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8344,"nodeType":"ExpressionStatement","src":"20461:95:24"}]},"id":8346,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20379:3:24","nodeType":"FunctionDefinition","parameters":{"id":8332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8325,"mutability":"mutable","name":"p0","nameLocation":"20391:2:24","nodeType":"VariableDeclaration","scope":8346,"src":"20383:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8324,"name":"uint256","nodeType":"ElementaryTypeName","src":"20383:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8327,"mutability":"mutable","name":"p1","nameLocation":"20403:2:24","nodeType":"VariableDeclaration","scope":8346,"src":"20395:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8326,"name":"uint256","nodeType":"ElementaryTypeName","src":"20395:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8329,"mutability":"mutable","name":"p2","nameLocation":"20421:2:24","nodeType":"VariableDeclaration","scope":8346,"src":"20407:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8328,"name":"string","nodeType":"ElementaryTypeName","src":"20407:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8331,"mutability":"mutable","name":"p3","nameLocation":"20433:2:24","nodeType":"VariableDeclaration","scope":8346,"src":"20425:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8330,"name":"uint256","nodeType":"ElementaryTypeName","src":"20425:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20382:54:24"},"returnParameters":{"id":8333,"nodeType":"ParameterList","parameters":[],"src":"20451:0:24"},"scope":14120,"src":"20370:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8368,"nodeType":"Block","src":"20656:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":8360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20706:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":8361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"20744:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8362,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8350,"src":"20748:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8363,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8352,"src":"20752:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8364,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"20756:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20682:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20686:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20682:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20682:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"20666:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20666:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8367,"nodeType":"ExpressionStatement","src":"20666:94:24"}]},"id":8369,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20578:3:24","nodeType":"FunctionDefinition","parameters":{"id":8355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8348,"mutability":"mutable","name":"p0","nameLocation":"20590:2:24","nodeType":"VariableDeclaration","scope":8369,"src":"20582:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8347,"name":"uint256","nodeType":"ElementaryTypeName","src":"20582:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8350,"mutability":"mutable","name":"p1","nameLocation":"20602:2:24","nodeType":"VariableDeclaration","scope":8369,"src":"20594:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8349,"name":"uint256","nodeType":"ElementaryTypeName","src":"20594:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8352,"mutability":"mutable","name":"p2","nameLocation":"20620:2:24","nodeType":"VariableDeclaration","scope":8369,"src":"20606:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8351,"name":"string","nodeType":"ElementaryTypeName","src":"20606:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8354,"mutability":"mutable","name":"p3","nameLocation":"20638:2:24","nodeType":"VariableDeclaration","scope":8369,"src":"20624:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8353,"name":"string","nodeType":"ElementaryTypeName","src":"20624:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20581:60:24"},"returnParameters":{"id":8356,"nodeType":"ParameterList","parameters":[],"src":"20656:0:24"},"scope":14120,"src":"20569:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8391,"nodeType":"Block","src":"20851:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":8383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20901:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":8384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8371,"src":"20937:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8385,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8373,"src":"20941:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8386,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8375,"src":"20945:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8387,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8377,"src":"20949:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20877:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20881:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20877:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20877:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"20861:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20861:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8390,"nodeType":"ExpressionStatement","src":"20861:92:24"}]},"id":8392,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20782:3:24","nodeType":"FunctionDefinition","parameters":{"id":8378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8371,"mutability":"mutable","name":"p0","nameLocation":"20794:2:24","nodeType":"VariableDeclaration","scope":8392,"src":"20786:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8370,"name":"uint256","nodeType":"ElementaryTypeName","src":"20786:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8373,"mutability":"mutable","name":"p1","nameLocation":"20806:2:24","nodeType":"VariableDeclaration","scope":8392,"src":"20798:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8372,"name":"uint256","nodeType":"ElementaryTypeName","src":"20798:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8375,"mutability":"mutable","name":"p2","nameLocation":"20824:2:24","nodeType":"VariableDeclaration","scope":8392,"src":"20810:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8374,"name":"string","nodeType":"ElementaryTypeName","src":"20810:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8377,"mutability":"mutable","name":"p3","nameLocation":"20833:2:24","nodeType":"VariableDeclaration","scope":8392,"src":"20828:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8376,"name":"bool","nodeType":"ElementaryTypeName","src":"20828:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20785:51:24"},"returnParameters":{"id":8379,"nodeType":"ParameterList","parameters":[],"src":"20851:0:24"},"scope":14120,"src":"20773:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8414,"nodeType":"Block","src":"21047:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":8406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21097:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":8407,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8394,"src":"21136:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8408,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8396,"src":"21140:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8409,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8398,"src":"21144:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8410,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8400,"src":"21148:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8404,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21073:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21077:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21073:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21073:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8403,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21057:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21057:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8413,"nodeType":"ExpressionStatement","src":"21057:95:24"}]},"id":8415,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20975:3:24","nodeType":"FunctionDefinition","parameters":{"id":8401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8394,"mutability":"mutable","name":"p0","nameLocation":"20987:2:24","nodeType":"VariableDeclaration","scope":8415,"src":"20979:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8393,"name":"uint256","nodeType":"ElementaryTypeName","src":"20979:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8396,"mutability":"mutable","name":"p1","nameLocation":"20999:2:24","nodeType":"VariableDeclaration","scope":8415,"src":"20991:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8395,"name":"uint256","nodeType":"ElementaryTypeName","src":"20991:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8398,"mutability":"mutable","name":"p2","nameLocation":"21017:2:24","nodeType":"VariableDeclaration","scope":8415,"src":"21003:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8397,"name":"string","nodeType":"ElementaryTypeName","src":"21003:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8400,"mutability":"mutable","name":"p3","nameLocation":"21029:2:24","nodeType":"VariableDeclaration","scope":8415,"src":"21021:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8399,"name":"address","nodeType":"ElementaryTypeName","src":"21021:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20978:54:24"},"returnParameters":{"id":8402,"nodeType":"ParameterList","parameters":[],"src":"21047:0:24"},"scope":14120,"src":"20966:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8437,"nodeType":"Block","src":"21237:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":8429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21287:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":8430,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8417,"src":"21324:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8431,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"21328:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8432,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"21332:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8433,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"21336:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8427,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21263:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21267:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21263:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21263:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8426,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21247:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21247:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8436,"nodeType":"ExpressionStatement","src":"21247:93:24"}]},"id":8438,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21174:3:24","nodeType":"FunctionDefinition","parameters":{"id":8424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8417,"mutability":"mutable","name":"p0","nameLocation":"21186:2:24","nodeType":"VariableDeclaration","scope":8438,"src":"21178:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8416,"name":"uint256","nodeType":"ElementaryTypeName","src":"21178:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8419,"mutability":"mutable","name":"p1","nameLocation":"21198:2:24","nodeType":"VariableDeclaration","scope":8438,"src":"21190:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8418,"name":"uint256","nodeType":"ElementaryTypeName","src":"21190:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8421,"mutability":"mutable","name":"p2","nameLocation":"21207:2:24","nodeType":"VariableDeclaration","scope":8438,"src":"21202:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8420,"name":"bool","nodeType":"ElementaryTypeName","src":"21202:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8423,"mutability":"mutable","name":"p3","nameLocation":"21219:2:24","nodeType":"VariableDeclaration","scope":8438,"src":"21211:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8422,"name":"uint256","nodeType":"ElementaryTypeName","src":"21211:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21177:45:24"},"returnParameters":{"id":8425,"nodeType":"ParameterList","parameters":[],"src":"21237:0:24"},"scope":14120,"src":"21165:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8460,"nodeType":"Block","src":"21431:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":8452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21481:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":8453,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8440,"src":"21517:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8454,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"21521:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8455,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"21525:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8456,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8446,"src":"21529:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8450,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21457:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21461:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21457:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21457:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8449,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21441:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21441:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8459,"nodeType":"ExpressionStatement","src":"21441:92:24"}]},"id":8461,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21362:3:24","nodeType":"FunctionDefinition","parameters":{"id":8447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8440,"mutability":"mutable","name":"p0","nameLocation":"21374:2:24","nodeType":"VariableDeclaration","scope":8461,"src":"21366:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8439,"name":"uint256","nodeType":"ElementaryTypeName","src":"21366:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8442,"mutability":"mutable","name":"p1","nameLocation":"21386:2:24","nodeType":"VariableDeclaration","scope":8461,"src":"21378:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8441,"name":"uint256","nodeType":"ElementaryTypeName","src":"21378:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8444,"mutability":"mutable","name":"p2","nameLocation":"21395:2:24","nodeType":"VariableDeclaration","scope":8461,"src":"21390:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8443,"name":"bool","nodeType":"ElementaryTypeName","src":"21390:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8446,"mutability":"mutable","name":"p3","nameLocation":"21413:2:24","nodeType":"VariableDeclaration","scope":8461,"src":"21399:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8445,"name":"string","nodeType":"ElementaryTypeName","src":"21399:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21365:51:24"},"returnParameters":{"id":8448,"nodeType":"ParameterList","parameters":[],"src":"21431:0:24"},"scope":14120,"src":"21353:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8483,"nodeType":"Block","src":"21615:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":8475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21665:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":8476,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8463,"src":"21699:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8477,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8465,"src":"21703:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8478,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8467,"src":"21707:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8479,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8469,"src":"21711:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8473,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21641:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21645:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21641:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21641:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8472,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21625:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21625:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8482,"nodeType":"ExpressionStatement","src":"21625:90:24"}]},"id":8484,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21555:3:24","nodeType":"FunctionDefinition","parameters":{"id":8470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8463,"mutability":"mutable","name":"p0","nameLocation":"21567:2:24","nodeType":"VariableDeclaration","scope":8484,"src":"21559:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8462,"name":"uint256","nodeType":"ElementaryTypeName","src":"21559:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8465,"mutability":"mutable","name":"p1","nameLocation":"21579:2:24","nodeType":"VariableDeclaration","scope":8484,"src":"21571:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8464,"name":"uint256","nodeType":"ElementaryTypeName","src":"21571:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8467,"mutability":"mutable","name":"p2","nameLocation":"21588:2:24","nodeType":"VariableDeclaration","scope":8484,"src":"21583:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8466,"name":"bool","nodeType":"ElementaryTypeName","src":"21583:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8469,"mutability":"mutable","name":"p3","nameLocation":"21597:2:24","nodeType":"VariableDeclaration","scope":8484,"src":"21592:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8468,"name":"bool","nodeType":"ElementaryTypeName","src":"21592:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21558:42:24"},"returnParameters":{"id":8471,"nodeType":"ParameterList","parameters":[],"src":"21615:0:24"},"scope":14120,"src":"21546:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8506,"nodeType":"Block","src":"21800:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":8498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21850:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":8499,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8486,"src":"21887:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8500,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8488,"src":"21891:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8501,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8490,"src":"21895:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8502,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8492,"src":"21899:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21826:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21830:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21826:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21826:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8495,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21810:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21810:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8505,"nodeType":"ExpressionStatement","src":"21810:93:24"}]},"id":8507,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21737:3:24","nodeType":"FunctionDefinition","parameters":{"id":8493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8486,"mutability":"mutable","name":"p0","nameLocation":"21749:2:24","nodeType":"VariableDeclaration","scope":8507,"src":"21741:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8485,"name":"uint256","nodeType":"ElementaryTypeName","src":"21741:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8488,"mutability":"mutable","name":"p1","nameLocation":"21761:2:24","nodeType":"VariableDeclaration","scope":8507,"src":"21753:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8487,"name":"uint256","nodeType":"ElementaryTypeName","src":"21753:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8490,"mutability":"mutable","name":"p2","nameLocation":"21770:2:24","nodeType":"VariableDeclaration","scope":8507,"src":"21765:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8489,"name":"bool","nodeType":"ElementaryTypeName","src":"21765:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8492,"mutability":"mutable","name":"p3","nameLocation":"21782:2:24","nodeType":"VariableDeclaration","scope":8507,"src":"21774:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8491,"name":"address","nodeType":"ElementaryTypeName","src":"21774:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21740:45:24"},"returnParameters":{"id":8494,"nodeType":"ParameterList","parameters":[],"src":"21800:0:24"},"scope":14120,"src":"21728:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8529,"nodeType":"Block","src":"21991:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":8521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22041:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":8522,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8509,"src":"22081:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8523,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8511,"src":"22085:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8524,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8513,"src":"22089:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8525,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8515,"src":"22093:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8519,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22017:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22021:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22017:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22017:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8518,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"22001:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22001:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8528,"nodeType":"ExpressionStatement","src":"22001:96:24"}]},"id":8530,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21925:3:24","nodeType":"FunctionDefinition","parameters":{"id":8516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8509,"mutability":"mutable","name":"p0","nameLocation":"21937:2:24","nodeType":"VariableDeclaration","scope":8530,"src":"21929:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8508,"name":"uint256","nodeType":"ElementaryTypeName","src":"21929:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8511,"mutability":"mutable","name":"p1","nameLocation":"21949:2:24","nodeType":"VariableDeclaration","scope":8530,"src":"21941:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8510,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8513,"mutability":"mutable","name":"p2","nameLocation":"21961:2:24","nodeType":"VariableDeclaration","scope":8530,"src":"21953:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8512,"name":"address","nodeType":"ElementaryTypeName","src":"21953:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8515,"mutability":"mutable","name":"p3","nameLocation":"21973:2:24","nodeType":"VariableDeclaration","scope":8530,"src":"21965:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8514,"name":"uint256","nodeType":"ElementaryTypeName","src":"21965:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21928:48:24"},"returnParameters":{"id":8517,"nodeType":"ParameterList","parameters":[],"src":"21991:0:24"},"scope":14120,"src":"21916:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8552,"nodeType":"Block","src":"22191:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":8544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22241:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":8545,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8532,"src":"22280:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8546,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8534,"src":"22284:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8547,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8536,"src":"22288:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8548,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8538,"src":"22292:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22217:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22221:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22217:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22217:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"22201:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22201:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8551,"nodeType":"ExpressionStatement","src":"22201:95:24"}]},"id":8553,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22119:3:24","nodeType":"FunctionDefinition","parameters":{"id":8539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8532,"mutability":"mutable","name":"p0","nameLocation":"22131:2:24","nodeType":"VariableDeclaration","scope":8553,"src":"22123:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8531,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8534,"mutability":"mutable","name":"p1","nameLocation":"22143:2:24","nodeType":"VariableDeclaration","scope":8553,"src":"22135:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8533,"name":"uint256","nodeType":"ElementaryTypeName","src":"22135:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8536,"mutability":"mutable","name":"p2","nameLocation":"22155:2:24","nodeType":"VariableDeclaration","scope":8553,"src":"22147:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8535,"name":"address","nodeType":"ElementaryTypeName","src":"22147:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8538,"mutability":"mutable","name":"p3","nameLocation":"22173:2:24","nodeType":"VariableDeclaration","scope":8553,"src":"22159:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8537,"name":"string","nodeType":"ElementaryTypeName","src":"22159:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22122:54:24"},"returnParameters":{"id":8540,"nodeType":"ParameterList","parameters":[],"src":"22191:0:24"},"scope":14120,"src":"22110:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8575,"nodeType":"Block","src":"22381:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":8567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22431:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":8568,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8555,"src":"22468:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8569,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8557,"src":"22472:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8570,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8559,"src":"22476:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8571,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8561,"src":"22480:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8565,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22407:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22411:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22407:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22407:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8564,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"22391:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22391:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8574,"nodeType":"ExpressionStatement","src":"22391:93:24"}]},"id":8576,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22318:3:24","nodeType":"FunctionDefinition","parameters":{"id":8562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8555,"mutability":"mutable","name":"p0","nameLocation":"22330:2:24","nodeType":"VariableDeclaration","scope":8576,"src":"22322:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8554,"name":"uint256","nodeType":"ElementaryTypeName","src":"22322:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8557,"mutability":"mutable","name":"p1","nameLocation":"22342:2:24","nodeType":"VariableDeclaration","scope":8576,"src":"22334:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8556,"name":"uint256","nodeType":"ElementaryTypeName","src":"22334:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8559,"mutability":"mutable","name":"p2","nameLocation":"22354:2:24","nodeType":"VariableDeclaration","scope":8576,"src":"22346:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8558,"name":"address","nodeType":"ElementaryTypeName","src":"22346:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8561,"mutability":"mutable","name":"p3","nameLocation":"22363:2:24","nodeType":"VariableDeclaration","scope":8576,"src":"22358:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8560,"name":"bool","nodeType":"ElementaryTypeName","src":"22358:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22321:45:24"},"returnParameters":{"id":8563,"nodeType":"ParameterList","parameters":[],"src":"22381:0:24"},"scope":14120,"src":"22309:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8598,"nodeType":"Block","src":"22572:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":8590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22622:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":8591,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8578,"src":"22662:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8592,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8580,"src":"22666:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8593,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8582,"src":"22670:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8594,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"22674:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22598:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22602:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22598:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22598:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8587,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"22582:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22582:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8597,"nodeType":"ExpressionStatement","src":"22582:96:24"}]},"id":8599,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22506:3:24","nodeType":"FunctionDefinition","parameters":{"id":8585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8578,"mutability":"mutable","name":"p0","nameLocation":"22518:2:24","nodeType":"VariableDeclaration","scope":8599,"src":"22510:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8577,"name":"uint256","nodeType":"ElementaryTypeName","src":"22510:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8580,"mutability":"mutable","name":"p1","nameLocation":"22530:2:24","nodeType":"VariableDeclaration","scope":8599,"src":"22522:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8579,"name":"uint256","nodeType":"ElementaryTypeName","src":"22522:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8582,"mutability":"mutable","name":"p2","nameLocation":"22542:2:24","nodeType":"VariableDeclaration","scope":8599,"src":"22534:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8581,"name":"address","nodeType":"ElementaryTypeName","src":"22534:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8584,"mutability":"mutable","name":"p3","nameLocation":"22554:2:24","nodeType":"VariableDeclaration","scope":8599,"src":"22546:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8583,"name":"address","nodeType":"ElementaryTypeName","src":"22546:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22509:48:24"},"returnParameters":{"id":8586,"nodeType":"ParameterList","parameters":[],"src":"22572:0:24"},"scope":14120,"src":"22497:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8621,"nodeType":"Block","src":"22772:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":8613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22822:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":8614,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8601,"src":"22861:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8615,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8603,"src":"22865:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8616,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8605,"src":"22869:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8617,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8607,"src":"22873:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8611,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22798:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22802:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22798:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22798:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8610,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"22782:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22782:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8620,"nodeType":"ExpressionStatement","src":"22782:95:24"}]},"id":8622,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22700:3:24","nodeType":"FunctionDefinition","parameters":{"id":8608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8601,"mutability":"mutable","name":"p0","nameLocation":"22712:2:24","nodeType":"VariableDeclaration","scope":8622,"src":"22704:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8600,"name":"uint256","nodeType":"ElementaryTypeName","src":"22704:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8603,"mutability":"mutable","name":"p1","nameLocation":"22730:2:24","nodeType":"VariableDeclaration","scope":8622,"src":"22716:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8602,"name":"string","nodeType":"ElementaryTypeName","src":"22716:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8605,"mutability":"mutable","name":"p2","nameLocation":"22742:2:24","nodeType":"VariableDeclaration","scope":8622,"src":"22734:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8604,"name":"uint256","nodeType":"ElementaryTypeName","src":"22734:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8607,"mutability":"mutable","name":"p3","nameLocation":"22754:2:24","nodeType":"VariableDeclaration","scope":8622,"src":"22746:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8606,"name":"uint256","nodeType":"ElementaryTypeName","src":"22746:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22703:54:24"},"returnParameters":{"id":8609,"nodeType":"ParameterList","parameters":[],"src":"22772:0:24"},"scope":14120,"src":"22691:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8644,"nodeType":"Block","src":"22977:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":8636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23027:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":8637,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8624,"src":"23065:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8638,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8626,"src":"23069:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8639,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8628,"src":"23073:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8640,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8630,"src":"23077:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8634,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23003:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23007:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23003:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23003:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8633,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"22987:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22987:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8643,"nodeType":"ExpressionStatement","src":"22987:94:24"}]},"id":8645,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22899:3:24","nodeType":"FunctionDefinition","parameters":{"id":8631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8624,"mutability":"mutable","name":"p0","nameLocation":"22911:2:24","nodeType":"VariableDeclaration","scope":8645,"src":"22903:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8623,"name":"uint256","nodeType":"ElementaryTypeName","src":"22903:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8626,"mutability":"mutable","name":"p1","nameLocation":"22929:2:24","nodeType":"VariableDeclaration","scope":8645,"src":"22915:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8625,"name":"string","nodeType":"ElementaryTypeName","src":"22915:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8628,"mutability":"mutable","name":"p2","nameLocation":"22941:2:24","nodeType":"VariableDeclaration","scope":8645,"src":"22933:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8627,"name":"uint256","nodeType":"ElementaryTypeName","src":"22933:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8630,"mutability":"mutable","name":"p3","nameLocation":"22959:2:24","nodeType":"VariableDeclaration","scope":8645,"src":"22945:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8629,"name":"string","nodeType":"ElementaryTypeName","src":"22945:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22902:60:24"},"returnParameters":{"id":8632,"nodeType":"ParameterList","parameters":[],"src":"22977:0:24"},"scope":14120,"src":"22890:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8667,"nodeType":"Block","src":"23172:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":8659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23222:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":8660,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8647,"src":"23258:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8661,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8649,"src":"23262:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8662,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8651,"src":"23266:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8663,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8653,"src":"23270:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23198:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23202:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23198:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23198:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8656,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"23182:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23182:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8666,"nodeType":"ExpressionStatement","src":"23182:92:24"}]},"id":8668,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23103:3:24","nodeType":"FunctionDefinition","parameters":{"id":8654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8647,"mutability":"mutable","name":"p0","nameLocation":"23115:2:24","nodeType":"VariableDeclaration","scope":8668,"src":"23107:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8646,"name":"uint256","nodeType":"ElementaryTypeName","src":"23107:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8649,"mutability":"mutable","name":"p1","nameLocation":"23133:2:24","nodeType":"VariableDeclaration","scope":8668,"src":"23119:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8648,"name":"string","nodeType":"ElementaryTypeName","src":"23119:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8651,"mutability":"mutable","name":"p2","nameLocation":"23145:2:24","nodeType":"VariableDeclaration","scope":8668,"src":"23137:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8650,"name":"uint256","nodeType":"ElementaryTypeName","src":"23137:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8653,"mutability":"mutable","name":"p3","nameLocation":"23154:2:24","nodeType":"VariableDeclaration","scope":8668,"src":"23149:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8652,"name":"bool","nodeType":"ElementaryTypeName","src":"23149:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23106:51:24"},"returnParameters":{"id":8655,"nodeType":"ParameterList","parameters":[],"src":"23172:0:24"},"scope":14120,"src":"23094:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8690,"nodeType":"Block","src":"23368:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":8682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23418:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":8683,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8670,"src":"23457:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8684,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8672,"src":"23461:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8685,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8674,"src":"23465:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8686,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8676,"src":"23469:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23394:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23398:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23394:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23394:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8679,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"23378:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23378:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8689,"nodeType":"ExpressionStatement","src":"23378:95:24"}]},"id":8691,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23296:3:24","nodeType":"FunctionDefinition","parameters":{"id":8677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8670,"mutability":"mutable","name":"p0","nameLocation":"23308:2:24","nodeType":"VariableDeclaration","scope":8691,"src":"23300:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8669,"name":"uint256","nodeType":"ElementaryTypeName","src":"23300:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8672,"mutability":"mutable","name":"p1","nameLocation":"23326:2:24","nodeType":"VariableDeclaration","scope":8691,"src":"23312:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8671,"name":"string","nodeType":"ElementaryTypeName","src":"23312:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8674,"mutability":"mutable","name":"p2","nameLocation":"23338:2:24","nodeType":"VariableDeclaration","scope":8691,"src":"23330:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8673,"name":"uint256","nodeType":"ElementaryTypeName","src":"23330:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8676,"mutability":"mutable","name":"p3","nameLocation":"23350:2:24","nodeType":"VariableDeclaration","scope":8691,"src":"23342:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8675,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23299:54:24"},"returnParameters":{"id":8678,"nodeType":"ParameterList","parameters":[],"src":"23368:0:24"},"scope":14120,"src":"23287:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8713,"nodeType":"Block","src":"23573:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":8705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23623:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":8706,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8693,"src":"23661:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8707,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8695,"src":"23665:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8708,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8697,"src":"23669:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8709,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8699,"src":"23673:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8703,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23599:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23603:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23599:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23599:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8702,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"23583:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23583:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8712,"nodeType":"ExpressionStatement","src":"23583:94:24"}]},"id":8714,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23495:3:24","nodeType":"FunctionDefinition","parameters":{"id":8700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8693,"mutability":"mutable","name":"p0","nameLocation":"23507:2:24","nodeType":"VariableDeclaration","scope":8714,"src":"23499:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8692,"name":"uint256","nodeType":"ElementaryTypeName","src":"23499:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8695,"mutability":"mutable","name":"p1","nameLocation":"23525:2:24","nodeType":"VariableDeclaration","scope":8714,"src":"23511:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8694,"name":"string","nodeType":"ElementaryTypeName","src":"23511:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8697,"mutability":"mutable","name":"p2","nameLocation":"23543:2:24","nodeType":"VariableDeclaration","scope":8714,"src":"23529:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8696,"name":"string","nodeType":"ElementaryTypeName","src":"23529:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8699,"mutability":"mutable","name":"p3","nameLocation":"23555:2:24","nodeType":"VariableDeclaration","scope":8714,"src":"23547:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8698,"name":"uint256","nodeType":"ElementaryTypeName","src":"23547:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23498:60:24"},"returnParameters":{"id":8701,"nodeType":"ParameterList","parameters":[],"src":"23573:0:24"},"scope":14120,"src":"23486:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8736,"nodeType":"Block","src":"23783:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":8728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23833:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":8729,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8716,"src":"23870:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8730,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8718,"src":"23874:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8731,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8720,"src":"23878:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8732,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8722,"src":"23882:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8726,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23809:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23813:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23809:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23809:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8725,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"23793:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23793:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8735,"nodeType":"ExpressionStatement","src":"23793:93:24"}]},"id":8737,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23699:3:24","nodeType":"FunctionDefinition","parameters":{"id":8723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8716,"mutability":"mutable","name":"p0","nameLocation":"23711:2:24","nodeType":"VariableDeclaration","scope":8737,"src":"23703:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8715,"name":"uint256","nodeType":"ElementaryTypeName","src":"23703:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8718,"mutability":"mutable","name":"p1","nameLocation":"23729:2:24","nodeType":"VariableDeclaration","scope":8737,"src":"23715:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8717,"name":"string","nodeType":"ElementaryTypeName","src":"23715:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8720,"mutability":"mutable","name":"p2","nameLocation":"23747:2:24","nodeType":"VariableDeclaration","scope":8737,"src":"23733:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8719,"name":"string","nodeType":"ElementaryTypeName","src":"23733:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8722,"mutability":"mutable","name":"p3","nameLocation":"23765:2:24","nodeType":"VariableDeclaration","scope":8737,"src":"23751:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8721,"name":"string","nodeType":"ElementaryTypeName","src":"23751:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23702:66:24"},"returnParameters":{"id":8724,"nodeType":"ParameterList","parameters":[],"src":"23783:0:24"},"scope":14120,"src":"23690:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8759,"nodeType":"Block","src":"23983:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":8751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24033:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":8752,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8739,"src":"24068:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8753,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8741,"src":"24072:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8754,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8743,"src":"24076:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8755,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8745,"src":"24080:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8749,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24009:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24013:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24009:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24009:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8748,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"23993:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23993:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8758,"nodeType":"ExpressionStatement","src":"23993:91:24"}]},"id":8760,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23908:3:24","nodeType":"FunctionDefinition","parameters":{"id":8746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8739,"mutability":"mutable","name":"p0","nameLocation":"23920:2:24","nodeType":"VariableDeclaration","scope":8760,"src":"23912:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8738,"name":"uint256","nodeType":"ElementaryTypeName","src":"23912:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8741,"mutability":"mutable","name":"p1","nameLocation":"23938:2:24","nodeType":"VariableDeclaration","scope":8760,"src":"23924:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8740,"name":"string","nodeType":"ElementaryTypeName","src":"23924:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8743,"mutability":"mutable","name":"p2","nameLocation":"23956:2:24","nodeType":"VariableDeclaration","scope":8760,"src":"23942:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8742,"name":"string","nodeType":"ElementaryTypeName","src":"23942:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8745,"mutability":"mutable","name":"p3","nameLocation":"23965:2:24","nodeType":"VariableDeclaration","scope":8760,"src":"23960:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8744,"name":"bool","nodeType":"ElementaryTypeName","src":"23960:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23911:57:24"},"returnParameters":{"id":8747,"nodeType":"ParameterList","parameters":[],"src":"23983:0:24"},"scope":14120,"src":"23899:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8782,"nodeType":"Block","src":"24184:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":8774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24234:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":8775,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8762,"src":"24272:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8776,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8764,"src":"24276:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8777,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8766,"src":"24280:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8778,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8768,"src":"24284:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24210:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24214:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24210:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24210:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"24194:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24194:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8781,"nodeType":"ExpressionStatement","src":"24194:94:24"}]},"id":8783,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24106:3:24","nodeType":"FunctionDefinition","parameters":{"id":8769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8762,"mutability":"mutable","name":"p0","nameLocation":"24118:2:24","nodeType":"VariableDeclaration","scope":8783,"src":"24110:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8761,"name":"uint256","nodeType":"ElementaryTypeName","src":"24110:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8764,"mutability":"mutable","name":"p1","nameLocation":"24136:2:24","nodeType":"VariableDeclaration","scope":8783,"src":"24122:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8763,"name":"string","nodeType":"ElementaryTypeName","src":"24122:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8766,"mutability":"mutable","name":"p2","nameLocation":"24154:2:24","nodeType":"VariableDeclaration","scope":8783,"src":"24140:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8765,"name":"string","nodeType":"ElementaryTypeName","src":"24140:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8768,"mutability":"mutable","name":"p3","nameLocation":"24166:2:24","nodeType":"VariableDeclaration","scope":8783,"src":"24158:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8767,"name":"address","nodeType":"ElementaryTypeName","src":"24158:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24109:60:24"},"returnParameters":{"id":8770,"nodeType":"ParameterList","parameters":[],"src":"24184:0:24"},"scope":14120,"src":"24097:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8805,"nodeType":"Block","src":"24379:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":8797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24429:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":8798,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8785,"src":"24465:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8799,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8787,"src":"24469:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8800,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8789,"src":"24473:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8801,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8791,"src":"24477:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8795,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24405:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24409:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24405:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24405:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8794,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"24389:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24389:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8804,"nodeType":"ExpressionStatement","src":"24389:92:24"}]},"id":8806,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24310:3:24","nodeType":"FunctionDefinition","parameters":{"id":8792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8785,"mutability":"mutable","name":"p0","nameLocation":"24322:2:24","nodeType":"VariableDeclaration","scope":8806,"src":"24314:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8784,"name":"uint256","nodeType":"ElementaryTypeName","src":"24314:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8787,"mutability":"mutable","name":"p1","nameLocation":"24340:2:24","nodeType":"VariableDeclaration","scope":8806,"src":"24326:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8786,"name":"string","nodeType":"ElementaryTypeName","src":"24326:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8789,"mutability":"mutable","name":"p2","nameLocation":"24349:2:24","nodeType":"VariableDeclaration","scope":8806,"src":"24344:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8788,"name":"bool","nodeType":"ElementaryTypeName","src":"24344:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8791,"mutability":"mutable","name":"p3","nameLocation":"24361:2:24","nodeType":"VariableDeclaration","scope":8806,"src":"24353:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8790,"name":"uint256","nodeType":"ElementaryTypeName","src":"24353:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24313:51:24"},"returnParameters":{"id":8793,"nodeType":"ParameterList","parameters":[],"src":"24379:0:24"},"scope":14120,"src":"24301:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8828,"nodeType":"Block","src":"24578:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":8820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24628:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":8821,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8808,"src":"24663:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8822,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8810,"src":"24667:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8823,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8812,"src":"24671:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8824,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8814,"src":"24675:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24604:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24608:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24604:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24604:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"24588:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24588:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8827,"nodeType":"ExpressionStatement","src":"24588:91:24"}]},"id":8829,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24503:3:24","nodeType":"FunctionDefinition","parameters":{"id":8815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8808,"mutability":"mutable","name":"p0","nameLocation":"24515:2:24","nodeType":"VariableDeclaration","scope":8829,"src":"24507:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8807,"name":"uint256","nodeType":"ElementaryTypeName","src":"24507:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8810,"mutability":"mutable","name":"p1","nameLocation":"24533:2:24","nodeType":"VariableDeclaration","scope":8829,"src":"24519:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8809,"name":"string","nodeType":"ElementaryTypeName","src":"24519:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8812,"mutability":"mutable","name":"p2","nameLocation":"24542:2:24","nodeType":"VariableDeclaration","scope":8829,"src":"24537:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8811,"name":"bool","nodeType":"ElementaryTypeName","src":"24537:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8814,"mutability":"mutable","name":"p3","nameLocation":"24560:2:24","nodeType":"VariableDeclaration","scope":8829,"src":"24546:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8813,"name":"string","nodeType":"ElementaryTypeName","src":"24546:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24506:57:24"},"returnParameters":{"id":8816,"nodeType":"ParameterList","parameters":[],"src":"24578:0:24"},"scope":14120,"src":"24494:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8851,"nodeType":"Block","src":"24767:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":8843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24817:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":8844,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8831,"src":"24850:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8845,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8833,"src":"24854:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8846,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8835,"src":"24858:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8847,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8837,"src":"24862:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8841,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24793:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24797:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24793:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24793:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8840,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"24777:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24777:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8850,"nodeType":"ExpressionStatement","src":"24777:89:24"}]},"id":8852,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24701:3:24","nodeType":"FunctionDefinition","parameters":{"id":8838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8831,"mutability":"mutable","name":"p0","nameLocation":"24713:2:24","nodeType":"VariableDeclaration","scope":8852,"src":"24705:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8830,"name":"uint256","nodeType":"ElementaryTypeName","src":"24705:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8833,"mutability":"mutable","name":"p1","nameLocation":"24731:2:24","nodeType":"VariableDeclaration","scope":8852,"src":"24717:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8832,"name":"string","nodeType":"ElementaryTypeName","src":"24717:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8835,"mutability":"mutable","name":"p2","nameLocation":"24740:2:24","nodeType":"VariableDeclaration","scope":8852,"src":"24735:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8834,"name":"bool","nodeType":"ElementaryTypeName","src":"24735:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8837,"mutability":"mutable","name":"p3","nameLocation":"24749:2:24","nodeType":"VariableDeclaration","scope":8852,"src":"24744:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8836,"name":"bool","nodeType":"ElementaryTypeName","src":"24744:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24704:48:24"},"returnParameters":{"id":8839,"nodeType":"ParameterList","parameters":[],"src":"24767:0:24"},"scope":14120,"src":"24692:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8874,"nodeType":"Block","src":"24957:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":8866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25007:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":8867,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8854,"src":"25043:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8868,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8856,"src":"25047:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8869,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8858,"src":"25051:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8870,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8860,"src":"25055:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8864,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24983:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24987:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24983:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24983:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8863,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"24967:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24967:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8873,"nodeType":"ExpressionStatement","src":"24967:92:24"}]},"id":8875,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24888:3:24","nodeType":"FunctionDefinition","parameters":{"id":8861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8854,"mutability":"mutable","name":"p0","nameLocation":"24900:2:24","nodeType":"VariableDeclaration","scope":8875,"src":"24892:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8853,"name":"uint256","nodeType":"ElementaryTypeName","src":"24892:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8856,"mutability":"mutable","name":"p1","nameLocation":"24918:2:24","nodeType":"VariableDeclaration","scope":8875,"src":"24904:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8855,"name":"string","nodeType":"ElementaryTypeName","src":"24904:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8858,"mutability":"mutable","name":"p2","nameLocation":"24927:2:24","nodeType":"VariableDeclaration","scope":8875,"src":"24922:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8857,"name":"bool","nodeType":"ElementaryTypeName","src":"24922:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8860,"mutability":"mutable","name":"p3","nameLocation":"24939:2:24","nodeType":"VariableDeclaration","scope":8875,"src":"24931:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8859,"name":"address","nodeType":"ElementaryTypeName","src":"24931:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24891:51:24"},"returnParameters":{"id":8862,"nodeType":"ParameterList","parameters":[],"src":"24957:0:24"},"scope":14120,"src":"24879:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8897,"nodeType":"Block","src":"25153:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":8889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25203:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":8890,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8877,"src":"25242:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8891,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8879,"src":"25246:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8892,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8881,"src":"25250:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8893,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8883,"src":"25254:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8887,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25179:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25183:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25179:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25179:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8886,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"25163:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25163:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8896,"nodeType":"ExpressionStatement","src":"25163:95:24"}]},"id":8898,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25081:3:24","nodeType":"FunctionDefinition","parameters":{"id":8884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8877,"mutability":"mutable","name":"p0","nameLocation":"25093:2:24","nodeType":"VariableDeclaration","scope":8898,"src":"25085:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8876,"name":"uint256","nodeType":"ElementaryTypeName","src":"25085:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8879,"mutability":"mutable","name":"p1","nameLocation":"25111:2:24","nodeType":"VariableDeclaration","scope":8898,"src":"25097:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8878,"name":"string","nodeType":"ElementaryTypeName","src":"25097:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8881,"mutability":"mutable","name":"p2","nameLocation":"25123:2:24","nodeType":"VariableDeclaration","scope":8898,"src":"25115:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8880,"name":"address","nodeType":"ElementaryTypeName","src":"25115:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8883,"mutability":"mutable","name":"p3","nameLocation":"25135:2:24","nodeType":"VariableDeclaration","scope":8898,"src":"25127:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8882,"name":"uint256","nodeType":"ElementaryTypeName","src":"25127:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25084:54:24"},"returnParameters":{"id":8885,"nodeType":"ParameterList","parameters":[],"src":"25153:0:24"},"scope":14120,"src":"25072:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8920,"nodeType":"Block","src":"25358:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":8912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25408:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":8913,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8900,"src":"25446:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8914,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8902,"src":"25450:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8915,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8904,"src":"25454:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8916,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8906,"src":"25458:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25384:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25388:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25384:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25384:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8909,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"25368:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25368:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8919,"nodeType":"ExpressionStatement","src":"25368:94:24"}]},"id":8921,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25280:3:24","nodeType":"FunctionDefinition","parameters":{"id":8907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8900,"mutability":"mutable","name":"p0","nameLocation":"25292:2:24","nodeType":"VariableDeclaration","scope":8921,"src":"25284:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8899,"name":"uint256","nodeType":"ElementaryTypeName","src":"25284:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8902,"mutability":"mutable","name":"p1","nameLocation":"25310:2:24","nodeType":"VariableDeclaration","scope":8921,"src":"25296:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8901,"name":"string","nodeType":"ElementaryTypeName","src":"25296:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8904,"mutability":"mutable","name":"p2","nameLocation":"25322:2:24","nodeType":"VariableDeclaration","scope":8921,"src":"25314:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8903,"name":"address","nodeType":"ElementaryTypeName","src":"25314:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8906,"mutability":"mutable","name":"p3","nameLocation":"25340:2:24","nodeType":"VariableDeclaration","scope":8921,"src":"25326:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8905,"name":"string","nodeType":"ElementaryTypeName","src":"25326:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25283:60:24"},"returnParameters":{"id":8908,"nodeType":"ParameterList","parameters":[],"src":"25358:0:24"},"scope":14120,"src":"25271:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8943,"nodeType":"Block","src":"25553:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":8935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25603:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":8936,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8923,"src":"25639:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8937,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8925,"src":"25643:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8938,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8927,"src":"25647:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8939,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8929,"src":"25651:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8933,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25579:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25583:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25579:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25579:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8932,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"25563:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25563:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8942,"nodeType":"ExpressionStatement","src":"25563:92:24"}]},"id":8944,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25484:3:24","nodeType":"FunctionDefinition","parameters":{"id":8930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8923,"mutability":"mutable","name":"p0","nameLocation":"25496:2:24","nodeType":"VariableDeclaration","scope":8944,"src":"25488:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8922,"name":"uint256","nodeType":"ElementaryTypeName","src":"25488:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8925,"mutability":"mutable","name":"p1","nameLocation":"25514:2:24","nodeType":"VariableDeclaration","scope":8944,"src":"25500:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8924,"name":"string","nodeType":"ElementaryTypeName","src":"25500:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8927,"mutability":"mutable","name":"p2","nameLocation":"25526:2:24","nodeType":"VariableDeclaration","scope":8944,"src":"25518:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8926,"name":"address","nodeType":"ElementaryTypeName","src":"25518:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8929,"mutability":"mutable","name":"p3","nameLocation":"25535:2:24","nodeType":"VariableDeclaration","scope":8944,"src":"25530:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8928,"name":"bool","nodeType":"ElementaryTypeName","src":"25530:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25487:51:24"},"returnParameters":{"id":8931,"nodeType":"ParameterList","parameters":[],"src":"25553:0:24"},"scope":14120,"src":"25475:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8966,"nodeType":"Block","src":"25749:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":8958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25799:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":8959,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8946,"src":"25838:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8960,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8948,"src":"25842:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8961,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8950,"src":"25846:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8962,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8952,"src":"25850:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25775:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25779:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25775:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25775:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"25759:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25759:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8965,"nodeType":"ExpressionStatement","src":"25759:95:24"}]},"id":8967,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25677:3:24","nodeType":"FunctionDefinition","parameters":{"id":8953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8946,"mutability":"mutable","name":"p0","nameLocation":"25689:2:24","nodeType":"VariableDeclaration","scope":8967,"src":"25681:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8945,"name":"uint256","nodeType":"ElementaryTypeName","src":"25681:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8948,"mutability":"mutable","name":"p1","nameLocation":"25707:2:24","nodeType":"VariableDeclaration","scope":8967,"src":"25693:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8947,"name":"string","nodeType":"ElementaryTypeName","src":"25693:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8950,"mutability":"mutable","name":"p2","nameLocation":"25719:2:24","nodeType":"VariableDeclaration","scope":8967,"src":"25711:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8949,"name":"address","nodeType":"ElementaryTypeName","src":"25711:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8952,"mutability":"mutable","name":"p3","nameLocation":"25731:2:24","nodeType":"VariableDeclaration","scope":8967,"src":"25723:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8951,"name":"address","nodeType":"ElementaryTypeName","src":"25723:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25680:54:24"},"returnParameters":{"id":8954,"nodeType":"ParameterList","parameters":[],"src":"25749:0:24"},"scope":14120,"src":"25668:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":8989,"nodeType":"Block","src":"25939:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":8981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25989:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":8982,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"26026:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8983,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8971,"src":"26030:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8984,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8973,"src":"26034:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8985,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8975,"src":"26038:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25965:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25969:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25965:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":8986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25965:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8978,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"25949:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":8987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25949:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8988,"nodeType":"ExpressionStatement","src":"25949:93:24"}]},"id":8990,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25876:3:24","nodeType":"FunctionDefinition","parameters":{"id":8976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8969,"mutability":"mutable","name":"p0","nameLocation":"25888:2:24","nodeType":"VariableDeclaration","scope":8990,"src":"25880:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8968,"name":"uint256","nodeType":"ElementaryTypeName","src":"25880:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8971,"mutability":"mutable","name":"p1","nameLocation":"25897:2:24","nodeType":"VariableDeclaration","scope":8990,"src":"25892:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8970,"name":"bool","nodeType":"ElementaryTypeName","src":"25892:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8973,"mutability":"mutable","name":"p2","nameLocation":"25909:2:24","nodeType":"VariableDeclaration","scope":8990,"src":"25901:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8972,"name":"uint256","nodeType":"ElementaryTypeName","src":"25901:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8975,"mutability":"mutable","name":"p3","nameLocation":"25921:2:24","nodeType":"VariableDeclaration","scope":8990,"src":"25913:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8974,"name":"uint256","nodeType":"ElementaryTypeName","src":"25913:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25879:45:24"},"returnParameters":{"id":8977,"nodeType":"ParameterList","parameters":[],"src":"25939:0:24"},"scope":14120,"src":"25867:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9012,"nodeType":"Block","src":"26133:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":9004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26183:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":9005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8992,"src":"26219:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8994,"src":"26223:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8996,"src":"26227:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9008,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8998,"src":"26231:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26159:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26163:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26159:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26159:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"26143:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26143:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9011,"nodeType":"ExpressionStatement","src":"26143:92:24"}]},"id":9013,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26064:3:24","nodeType":"FunctionDefinition","parameters":{"id":8999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8992,"mutability":"mutable","name":"p0","nameLocation":"26076:2:24","nodeType":"VariableDeclaration","scope":9013,"src":"26068:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8991,"name":"uint256","nodeType":"ElementaryTypeName","src":"26068:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8994,"mutability":"mutable","name":"p1","nameLocation":"26085:2:24","nodeType":"VariableDeclaration","scope":9013,"src":"26080:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8993,"name":"bool","nodeType":"ElementaryTypeName","src":"26080:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8996,"mutability":"mutable","name":"p2","nameLocation":"26097:2:24","nodeType":"VariableDeclaration","scope":9013,"src":"26089:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8995,"name":"uint256","nodeType":"ElementaryTypeName","src":"26089:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8998,"mutability":"mutable","name":"p3","nameLocation":"26115:2:24","nodeType":"VariableDeclaration","scope":9013,"src":"26101:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8997,"name":"string","nodeType":"ElementaryTypeName","src":"26101:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26067:51:24"},"returnParameters":{"id":9000,"nodeType":"ParameterList","parameters":[],"src":"26133:0:24"},"scope":14120,"src":"26055:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9035,"nodeType":"Block","src":"26317:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":9027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26367:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":9028,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9015,"src":"26401:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9029,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9017,"src":"26405:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9030,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"26409:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9031,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9021,"src":"26413:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26343:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26347:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26343:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26343:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9024,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"26327:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26327:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9034,"nodeType":"ExpressionStatement","src":"26327:90:24"}]},"id":9036,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26257:3:24","nodeType":"FunctionDefinition","parameters":{"id":9022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9015,"mutability":"mutable","name":"p0","nameLocation":"26269:2:24","nodeType":"VariableDeclaration","scope":9036,"src":"26261:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9014,"name":"uint256","nodeType":"ElementaryTypeName","src":"26261:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9017,"mutability":"mutable","name":"p1","nameLocation":"26278:2:24","nodeType":"VariableDeclaration","scope":9036,"src":"26273:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9016,"name":"bool","nodeType":"ElementaryTypeName","src":"26273:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9019,"mutability":"mutable","name":"p2","nameLocation":"26290:2:24","nodeType":"VariableDeclaration","scope":9036,"src":"26282:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9018,"name":"uint256","nodeType":"ElementaryTypeName","src":"26282:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9021,"mutability":"mutable","name":"p3","nameLocation":"26299:2:24","nodeType":"VariableDeclaration","scope":9036,"src":"26294:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9020,"name":"bool","nodeType":"ElementaryTypeName","src":"26294:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26260:42:24"},"returnParameters":{"id":9023,"nodeType":"ParameterList","parameters":[],"src":"26317:0:24"},"scope":14120,"src":"26248:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9058,"nodeType":"Block","src":"26502:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":9050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26552:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":9051,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9038,"src":"26589:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9052,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9040,"src":"26593:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9053,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9042,"src":"26597:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9054,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9044,"src":"26601:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9048,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26528:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26532:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26528:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26528:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9047,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"26512:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26512:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9057,"nodeType":"ExpressionStatement","src":"26512:93:24"}]},"id":9059,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26439:3:24","nodeType":"FunctionDefinition","parameters":{"id":9045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9038,"mutability":"mutable","name":"p0","nameLocation":"26451:2:24","nodeType":"VariableDeclaration","scope":9059,"src":"26443:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9037,"name":"uint256","nodeType":"ElementaryTypeName","src":"26443:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9040,"mutability":"mutable","name":"p1","nameLocation":"26460:2:24","nodeType":"VariableDeclaration","scope":9059,"src":"26455:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9039,"name":"bool","nodeType":"ElementaryTypeName","src":"26455:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9042,"mutability":"mutable","name":"p2","nameLocation":"26472:2:24","nodeType":"VariableDeclaration","scope":9059,"src":"26464:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9041,"name":"uint256","nodeType":"ElementaryTypeName","src":"26464:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9044,"mutability":"mutable","name":"p3","nameLocation":"26484:2:24","nodeType":"VariableDeclaration","scope":9059,"src":"26476:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9043,"name":"address","nodeType":"ElementaryTypeName","src":"26476:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26442:45:24"},"returnParameters":{"id":9046,"nodeType":"ParameterList","parameters":[],"src":"26502:0:24"},"scope":14120,"src":"26430:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9081,"nodeType":"Block","src":"26696:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":9073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26746:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":9074,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9061,"src":"26782:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9075,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9063,"src":"26786:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9076,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9065,"src":"26790:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9077,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9067,"src":"26794:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9071,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26722:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26726:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26722:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26722:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9070,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"26706:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26706:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9080,"nodeType":"ExpressionStatement","src":"26706:92:24"}]},"id":9082,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26627:3:24","nodeType":"FunctionDefinition","parameters":{"id":9068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9061,"mutability":"mutable","name":"p0","nameLocation":"26639:2:24","nodeType":"VariableDeclaration","scope":9082,"src":"26631:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9060,"name":"uint256","nodeType":"ElementaryTypeName","src":"26631:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9063,"mutability":"mutable","name":"p1","nameLocation":"26648:2:24","nodeType":"VariableDeclaration","scope":9082,"src":"26643:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9062,"name":"bool","nodeType":"ElementaryTypeName","src":"26643:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9065,"mutability":"mutable","name":"p2","nameLocation":"26666:2:24","nodeType":"VariableDeclaration","scope":9082,"src":"26652:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9064,"name":"string","nodeType":"ElementaryTypeName","src":"26652:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9067,"mutability":"mutable","name":"p3","nameLocation":"26678:2:24","nodeType":"VariableDeclaration","scope":9082,"src":"26670:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9066,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26630:51:24"},"returnParameters":{"id":9069,"nodeType":"ParameterList","parameters":[],"src":"26696:0:24"},"scope":14120,"src":"26618:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9104,"nodeType":"Block","src":"26895:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":9096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26945:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":9097,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9084,"src":"26980:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9098,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9086,"src":"26984:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9099,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9088,"src":"26988:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9100,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9090,"src":"26992:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26921:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26925:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26921:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26921:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9093,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"26905:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26905:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9103,"nodeType":"ExpressionStatement","src":"26905:91:24"}]},"id":9105,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26820:3:24","nodeType":"FunctionDefinition","parameters":{"id":9091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9084,"mutability":"mutable","name":"p0","nameLocation":"26832:2:24","nodeType":"VariableDeclaration","scope":9105,"src":"26824:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9083,"name":"uint256","nodeType":"ElementaryTypeName","src":"26824:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9086,"mutability":"mutable","name":"p1","nameLocation":"26841:2:24","nodeType":"VariableDeclaration","scope":9105,"src":"26836:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9085,"name":"bool","nodeType":"ElementaryTypeName","src":"26836:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9088,"mutability":"mutable","name":"p2","nameLocation":"26859:2:24","nodeType":"VariableDeclaration","scope":9105,"src":"26845:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9087,"name":"string","nodeType":"ElementaryTypeName","src":"26845:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9090,"mutability":"mutable","name":"p3","nameLocation":"26877:2:24","nodeType":"VariableDeclaration","scope":9105,"src":"26863:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9089,"name":"string","nodeType":"ElementaryTypeName","src":"26863:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26823:57:24"},"returnParameters":{"id":9092,"nodeType":"ParameterList","parameters":[],"src":"26895:0:24"},"scope":14120,"src":"26811:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9127,"nodeType":"Block","src":"27084:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":9119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27134:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":9120,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9107,"src":"27167:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9121,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9109,"src":"27171:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9122,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9111,"src":"27175:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9123,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9113,"src":"27179:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27110:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27114:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27110:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27110:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9116,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"27094:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27094:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9126,"nodeType":"ExpressionStatement","src":"27094:89:24"}]},"id":9128,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27018:3:24","nodeType":"FunctionDefinition","parameters":{"id":9114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9107,"mutability":"mutable","name":"p0","nameLocation":"27030:2:24","nodeType":"VariableDeclaration","scope":9128,"src":"27022:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9106,"name":"uint256","nodeType":"ElementaryTypeName","src":"27022:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9109,"mutability":"mutable","name":"p1","nameLocation":"27039:2:24","nodeType":"VariableDeclaration","scope":9128,"src":"27034:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9108,"name":"bool","nodeType":"ElementaryTypeName","src":"27034:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9111,"mutability":"mutable","name":"p2","nameLocation":"27057:2:24","nodeType":"VariableDeclaration","scope":9128,"src":"27043:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9110,"name":"string","nodeType":"ElementaryTypeName","src":"27043:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9113,"mutability":"mutable","name":"p3","nameLocation":"27066:2:24","nodeType":"VariableDeclaration","scope":9128,"src":"27061:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9112,"name":"bool","nodeType":"ElementaryTypeName","src":"27061:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27021:48:24"},"returnParameters":{"id":9115,"nodeType":"ParameterList","parameters":[],"src":"27084:0:24"},"scope":14120,"src":"27009:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9150,"nodeType":"Block","src":"27274:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":9142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27324:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":9143,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9130,"src":"27360:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9144,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9132,"src":"27364:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9145,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9134,"src":"27368:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9146,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9136,"src":"27372:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9140,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27300:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27304:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27300:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27300:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9139,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"27284:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27284:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9149,"nodeType":"ExpressionStatement","src":"27284:92:24"}]},"id":9151,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27205:3:24","nodeType":"FunctionDefinition","parameters":{"id":9137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9130,"mutability":"mutable","name":"p0","nameLocation":"27217:2:24","nodeType":"VariableDeclaration","scope":9151,"src":"27209:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9129,"name":"uint256","nodeType":"ElementaryTypeName","src":"27209:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9132,"mutability":"mutable","name":"p1","nameLocation":"27226:2:24","nodeType":"VariableDeclaration","scope":9151,"src":"27221:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9131,"name":"bool","nodeType":"ElementaryTypeName","src":"27221:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9134,"mutability":"mutable","name":"p2","nameLocation":"27244:2:24","nodeType":"VariableDeclaration","scope":9151,"src":"27230:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9133,"name":"string","nodeType":"ElementaryTypeName","src":"27230:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9136,"mutability":"mutable","name":"p3","nameLocation":"27256:2:24","nodeType":"VariableDeclaration","scope":9151,"src":"27248:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9135,"name":"address","nodeType":"ElementaryTypeName","src":"27248:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27208:51:24"},"returnParameters":{"id":9138,"nodeType":"ParameterList","parameters":[],"src":"27274:0:24"},"scope":14120,"src":"27196:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9173,"nodeType":"Block","src":"27458:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":9165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27508:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":9166,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9153,"src":"27542:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9167,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9155,"src":"27546:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9168,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9157,"src":"27550:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9169,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9159,"src":"27554:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9163,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27484:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27488:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27484:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9162,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"27468:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27468:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9172,"nodeType":"ExpressionStatement","src":"27468:90:24"}]},"id":9174,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27398:3:24","nodeType":"FunctionDefinition","parameters":{"id":9160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9153,"mutability":"mutable","name":"p0","nameLocation":"27410:2:24","nodeType":"VariableDeclaration","scope":9174,"src":"27402:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9152,"name":"uint256","nodeType":"ElementaryTypeName","src":"27402:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9155,"mutability":"mutable","name":"p1","nameLocation":"27419:2:24","nodeType":"VariableDeclaration","scope":9174,"src":"27414:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9154,"name":"bool","nodeType":"ElementaryTypeName","src":"27414:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9157,"mutability":"mutable","name":"p2","nameLocation":"27428:2:24","nodeType":"VariableDeclaration","scope":9174,"src":"27423:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9156,"name":"bool","nodeType":"ElementaryTypeName","src":"27423:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9159,"mutability":"mutable","name":"p3","nameLocation":"27440:2:24","nodeType":"VariableDeclaration","scope":9174,"src":"27432:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9158,"name":"uint256","nodeType":"ElementaryTypeName","src":"27432:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27401:42:24"},"returnParameters":{"id":9161,"nodeType":"ParameterList","parameters":[],"src":"27458:0:24"},"scope":14120,"src":"27389:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9196,"nodeType":"Block","src":"27646:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":9188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27696:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":9189,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9176,"src":"27729:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9190,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9178,"src":"27733:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9191,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9180,"src":"27737:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9192,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9182,"src":"27741:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9186,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27672:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27676:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27672:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27672:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9185,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"27656:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27656:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9195,"nodeType":"ExpressionStatement","src":"27656:89:24"}]},"id":9197,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27580:3:24","nodeType":"FunctionDefinition","parameters":{"id":9183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9176,"mutability":"mutable","name":"p0","nameLocation":"27592:2:24","nodeType":"VariableDeclaration","scope":9197,"src":"27584:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9175,"name":"uint256","nodeType":"ElementaryTypeName","src":"27584:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9178,"mutability":"mutable","name":"p1","nameLocation":"27601:2:24","nodeType":"VariableDeclaration","scope":9197,"src":"27596:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9177,"name":"bool","nodeType":"ElementaryTypeName","src":"27596:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9180,"mutability":"mutable","name":"p2","nameLocation":"27610:2:24","nodeType":"VariableDeclaration","scope":9197,"src":"27605:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9179,"name":"bool","nodeType":"ElementaryTypeName","src":"27605:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9182,"mutability":"mutable","name":"p3","nameLocation":"27628:2:24","nodeType":"VariableDeclaration","scope":9197,"src":"27614:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9181,"name":"string","nodeType":"ElementaryTypeName","src":"27614:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27583:48:24"},"returnParameters":{"id":9184,"nodeType":"ParameterList","parameters":[],"src":"27646:0:24"},"scope":14120,"src":"27571:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9219,"nodeType":"Block","src":"27824:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":9211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27874:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":9212,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9199,"src":"27905:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9213,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9201,"src":"27909:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9214,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9203,"src":"27913:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9215,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9205,"src":"27917:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9209,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27850:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27854:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27850:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27850:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9208,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"27834:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27834:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9218,"nodeType":"ExpressionStatement","src":"27834:87:24"}]},"id":9220,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27767:3:24","nodeType":"FunctionDefinition","parameters":{"id":9206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9199,"mutability":"mutable","name":"p0","nameLocation":"27779:2:24","nodeType":"VariableDeclaration","scope":9220,"src":"27771:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9198,"name":"uint256","nodeType":"ElementaryTypeName","src":"27771:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9201,"mutability":"mutable","name":"p1","nameLocation":"27788:2:24","nodeType":"VariableDeclaration","scope":9220,"src":"27783:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9200,"name":"bool","nodeType":"ElementaryTypeName","src":"27783:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9203,"mutability":"mutable","name":"p2","nameLocation":"27797:2:24","nodeType":"VariableDeclaration","scope":9220,"src":"27792:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9202,"name":"bool","nodeType":"ElementaryTypeName","src":"27792:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9205,"mutability":"mutable","name":"p3","nameLocation":"27806:2:24","nodeType":"VariableDeclaration","scope":9220,"src":"27801:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9204,"name":"bool","nodeType":"ElementaryTypeName","src":"27801:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27770:39:24"},"returnParameters":{"id":9207,"nodeType":"ParameterList","parameters":[],"src":"27824:0:24"},"scope":14120,"src":"27758:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9242,"nodeType":"Block","src":"28003:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":9234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28053:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":9235,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9222,"src":"28087:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9236,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9224,"src":"28091:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9237,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9226,"src":"28095:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9238,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9228,"src":"28099:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28029:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28033:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28029:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28029:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"28013:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28013:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9241,"nodeType":"ExpressionStatement","src":"28013:90:24"}]},"id":9243,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27943:3:24","nodeType":"FunctionDefinition","parameters":{"id":9229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9222,"mutability":"mutable","name":"p0","nameLocation":"27955:2:24","nodeType":"VariableDeclaration","scope":9243,"src":"27947:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9221,"name":"uint256","nodeType":"ElementaryTypeName","src":"27947:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9224,"mutability":"mutable","name":"p1","nameLocation":"27964:2:24","nodeType":"VariableDeclaration","scope":9243,"src":"27959:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9223,"name":"bool","nodeType":"ElementaryTypeName","src":"27959:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9226,"mutability":"mutable","name":"p2","nameLocation":"27973:2:24","nodeType":"VariableDeclaration","scope":9243,"src":"27968:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9225,"name":"bool","nodeType":"ElementaryTypeName","src":"27968:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9228,"mutability":"mutable","name":"p3","nameLocation":"27985:2:24","nodeType":"VariableDeclaration","scope":9243,"src":"27977:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9227,"name":"address","nodeType":"ElementaryTypeName","src":"27977:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27946:42:24"},"returnParameters":{"id":9230,"nodeType":"ParameterList","parameters":[],"src":"28003:0:24"},"scope":14120,"src":"27934:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9265,"nodeType":"Block","src":"28188:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":9257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28238:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":9258,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9245,"src":"28275:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9259,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9247,"src":"28279:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9260,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9249,"src":"28283:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9261,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9251,"src":"28287:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9255,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28214:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28218:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28214:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28214:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9254,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"28198:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9264,"nodeType":"ExpressionStatement","src":"28198:93:24"}]},"id":9266,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28125:3:24","nodeType":"FunctionDefinition","parameters":{"id":9252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9245,"mutability":"mutable","name":"p0","nameLocation":"28137:2:24","nodeType":"VariableDeclaration","scope":9266,"src":"28129:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9244,"name":"uint256","nodeType":"ElementaryTypeName","src":"28129:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9247,"mutability":"mutable","name":"p1","nameLocation":"28146:2:24","nodeType":"VariableDeclaration","scope":9266,"src":"28141:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9246,"name":"bool","nodeType":"ElementaryTypeName","src":"28141:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9249,"mutability":"mutable","name":"p2","nameLocation":"28158:2:24","nodeType":"VariableDeclaration","scope":9266,"src":"28150:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9248,"name":"address","nodeType":"ElementaryTypeName","src":"28150:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9251,"mutability":"mutable","name":"p3","nameLocation":"28170:2:24","nodeType":"VariableDeclaration","scope":9266,"src":"28162:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9250,"name":"uint256","nodeType":"ElementaryTypeName","src":"28162:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28128:45:24"},"returnParameters":{"id":9253,"nodeType":"ParameterList","parameters":[],"src":"28188:0:24"},"scope":14120,"src":"28116:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9288,"nodeType":"Block","src":"28382:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":9280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28432:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":9281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9268,"src":"28468:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9270,"src":"28472:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9272,"src":"28476:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9284,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9274,"src":"28480:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28408:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28412:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28408:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28408:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"28392:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28392:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9287,"nodeType":"ExpressionStatement","src":"28392:92:24"}]},"id":9289,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28313:3:24","nodeType":"FunctionDefinition","parameters":{"id":9275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9268,"mutability":"mutable","name":"p0","nameLocation":"28325:2:24","nodeType":"VariableDeclaration","scope":9289,"src":"28317:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9267,"name":"uint256","nodeType":"ElementaryTypeName","src":"28317:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9270,"mutability":"mutable","name":"p1","nameLocation":"28334:2:24","nodeType":"VariableDeclaration","scope":9289,"src":"28329:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9269,"name":"bool","nodeType":"ElementaryTypeName","src":"28329:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9272,"mutability":"mutable","name":"p2","nameLocation":"28346:2:24","nodeType":"VariableDeclaration","scope":9289,"src":"28338:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9271,"name":"address","nodeType":"ElementaryTypeName","src":"28338:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9274,"mutability":"mutable","name":"p3","nameLocation":"28364:2:24","nodeType":"VariableDeclaration","scope":9289,"src":"28350:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9273,"name":"string","nodeType":"ElementaryTypeName","src":"28350:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28316:51:24"},"returnParameters":{"id":9276,"nodeType":"ParameterList","parameters":[],"src":"28382:0:24"},"scope":14120,"src":"28304:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9311,"nodeType":"Block","src":"28566:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":9303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28616:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":9304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9291,"src":"28650:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9305,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9293,"src":"28654:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9306,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"28658:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9307,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9297,"src":"28662:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28592:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28596:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28592:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28592:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"28576:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28576:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9310,"nodeType":"ExpressionStatement","src":"28576:90:24"}]},"id":9312,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28506:3:24","nodeType":"FunctionDefinition","parameters":{"id":9298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9291,"mutability":"mutable","name":"p0","nameLocation":"28518:2:24","nodeType":"VariableDeclaration","scope":9312,"src":"28510:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9290,"name":"uint256","nodeType":"ElementaryTypeName","src":"28510:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9293,"mutability":"mutable","name":"p1","nameLocation":"28527:2:24","nodeType":"VariableDeclaration","scope":9312,"src":"28522:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9292,"name":"bool","nodeType":"ElementaryTypeName","src":"28522:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9295,"mutability":"mutable","name":"p2","nameLocation":"28539:2:24","nodeType":"VariableDeclaration","scope":9312,"src":"28531:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9294,"name":"address","nodeType":"ElementaryTypeName","src":"28531:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9297,"mutability":"mutable","name":"p3","nameLocation":"28548:2:24","nodeType":"VariableDeclaration","scope":9312,"src":"28543:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9296,"name":"bool","nodeType":"ElementaryTypeName","src":"28543:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28509:42:24"},"returnParameters":{"id":9299,"nodeType":"ParameterList","parameters":[],"src":"28566:0:24"},"scope":14120,"src":"28497:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9334,"nodeType":"Block","src":"28751:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":9326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28801:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":9327,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9314,"src":"28838:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9328,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9316,"src":"28842:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9329,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9318,"src":"28846:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9330,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9320,"src":"28850:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9324,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28777:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28781:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28777:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28777:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9323,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"28761:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28761:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9333,"nodeType":"ExpressionStatement","src":"28761:93:24"}]},"id":9335,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28688:3:24","nodeType":"FunctionDefinition","parameters":{"id":9321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9314,"mutability":"mutable","name":"p0","nameLocation":"28700:2:24","nodeType":"VariableDeclaration","scope":9335,"src":"28692:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9313,"name":"uint256","nodeType":"ElementaryTypeName","src":"28692:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9316,"mutability":"mutable","name":"p1","nameLocation":"28709:2:24","nodeType":"VariableDeclaration","scope":9335,"src":"28704:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9315,"name":"bool","nodeType":"ElementaryTypeName","src":"28704:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9318,"mutability":"mutable","name":"p2","nameLocation":"28721:2:24","nodeType":"VariableDeclaration","scope":9335,"src":"28713:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9317,"name":"address","nodeType":"ElementaryTypeName","src":"28713:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9320,"mutability":"mutable","name":"p3","nameLocation":"28733:2:24","nodeType":"VariableDeclaration","scope":9335,"src":"28725:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9319,"name":"address","nodeType":"ElementaryTypeName","src":"28725:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28691:45:24"},"returnParameters":{"id":9322,"nodeType":"ParameterList","parameters":[],"src":"28751:0:24"},"scope":14120,"src":"28679:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9357,"nodeType":"Block","src":"28942:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":9349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28992:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":9350,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9337,"src":"29032:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9351,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9339,"src":"29036:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9352,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9341,"src":"29040:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9353,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9343,"src":"29044:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9347,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28968:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28972:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28968:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28968:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9346,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"28952:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28952:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9356,"nodeType":"ExpressionStatement","src":"28952:96:24"}]},"id":9358,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28876:3:24","nodeType":"FunctionDefinition","parameters":{"id":9344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9337,"mutability":"mutable","name":"p0","nameLocation":"28888:2:24","nodeType":"VariableDeclaration","scope":9358,"src":"28880:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9336,"name":"uint256","nodeType":"ElementaryTypeName","src":"28880:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9339,"mutability":"mutable","name":"p1","nameLocation":"28900:2:24","nodeType":"VariableDeclaration","scope":9358,"src":"28892:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9338,"name":"address","nodeType":"ElementaryTypeName","src":"28892:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9341,"mutability":"mutable","name":"p2","nameLocation":"28912:2:24","nodeType":"VariableDeclaration","scope":9358,"src":"28904:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9340,"name":"uint256","nodeType":"ElementaryTypeName","src":"28904:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9343,"mutability":"mutable","name":"p3","nameLocation":"28924:2:24","nodeType":"VariableDeclaration","scope":9358,"src":"28916:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9342,"name":"uint256","nodeType":"ElementaryTypeName","src":"28916:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28879:48:24"},"returnParameters":{"id":9345,"nodeType":"ParameterList","parameters":[],"src":"28942:0:24"},"scope":14120,"src":"28867:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9380,"nodeType":"Block","src":"29142:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":9372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29192:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":9373,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9360,"src":"29231:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9374,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9362,"src":"29235:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9375,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9364,"src":"29239:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9376,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9366,"src":"29243:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9370,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29168:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29172:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29168:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29168:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9369,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"29152:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29152:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9379,"nodeType":"ExpressionStatement","src":"29152:95:24"}]},"id":9381,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29070:3:24","nodeType":"FunctionDefinition","parameters":{"id":9367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9360,"mutability":"mutable","name":"p0","nameLocation":"29082:2:24","nodeType":"VariableDeclaration","scope":9381,"src":"29074:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9359,"name":"uint256","nodeType":"ElementaryTypeName","src":"29074:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9362,"mutability":"mutable","name":"p1","nameLocation":"29094:2:24","nodeType":"VariableDeclaration","scope":9381,"src":"29086:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9361,"name":"address","nodeType":"ElementaryTypeName","src":"29086:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9364,"mutability":"mutable","name":"p2","nameLocation":"29106:2:24","nodeType":"VariableDeclaration","scope":9381,"src":"29098:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9363,"name":"uint256","nodeType":"ElementaryTypeName","src":"29098:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9366,"mutability":"mutable","name":"p3","nameLocation":"29124:2:24","nodeType":"VariableDeclaration","scope":9381,"src":"29110:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9365,"name":"string","nodeType":"ElementaryTypeName","src":"29110:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29073:54:24"},"returnParameters":{"id":9368,"nodeType":"ParameterList","parameters":[],"src":"29142:0:24"},"scope":14120,"src":"29061:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9403,"nodeType":"Block","src":"29332:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":9395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29382:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":9396,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"29419:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9397,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9385,"src":"29423:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9398,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9387,"src":"29427:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9399,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9389,"src":"29431:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29358:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29362:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29358:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29358:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"29342:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29342:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9402,"nodeType":"ExpressionStatement","src":"29342:93:24"}]},"id":9404,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29269:3:24","nodeType":"FunctionDefinition","parameters":{"id":9390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9383,"mutability":"mutable","name":"p0","nameLocation":"29281:2:24","nodeType":"VariableDeclaration","scope":9404,"src":"29273:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9382,"name":"uint256","nodeType":"ElementaryTypeName","src":"29273:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9385,"mutability":"mutable","name":"p1","nameLocation":"29293:2:24","nodeType":"VariableDeclaration","scope":9404,"src":"29285:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9384,"name":"address","nodeType":"ElementaryTypeName","src":"29285:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9387,"mutability":"mutable","name":"p2","nameLocation":"29305:2:24","nodeType":"VariableDeclaration","scope":9404,"src":"29297:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9386,"name":"uint256","nodeType":"ElementaryTypeName","src":"29297:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9389,"mutability":"mutable","name":"p3","nameLocation":"29314:2:24","nodeType":"VariableDeclaration","scope":9404,"src":"29309:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9388,"name":"bool","nodeType":"ElementaryTypeName","src":"29309:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29272:45:24"},"returnParameters":{"id":9391,"nodeType":"ParameterList","parameters":[],"src":"29332:0:24"},"scope":14120,"src":"29260:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9426,"nodeType":"Block","src":"29523:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":9418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29573:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":9419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9406,"src":"29613:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9420,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9408,"src":"29617:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9421,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9410,"src":"29621:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9422,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9412,"src":"29625:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29549:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29553:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29549:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29549:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"29533:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29533:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9425,"nodeType":"ExpressionStatement","src":"29533:96:24"}]},"id":9427,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29457:3:24","nodeType":"FunctionDefinition","parameters":{"id":9413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9406,"mutability":"mutable","name":"p0","nameLocation":"29469:2:24","nodeType":"VariableDeclaration","scope":9427,"src":"29461:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9405,"name":"uint256","nodeType":"ElementaryTypeName","src":"29461:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9408,"mutability":"mutable","name":"p1","nameLocation":"29481:2:24","nodeType":"VariableDeclaration","scope":9427,"src":"29473:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9407,"name":"address","nodeType":"ElementaryTypeName","src":"29473:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9410,"mutability":"mutable","name":"p2","nameLocation":"29493:2:24","nodeType":"VariableDeclaration","scope":9427,"src":"29485:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9409,"name":"uint256","nodeType":"ElementaryTypeName","src":"29485:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9412,"mutability":"mutable","name":"p3","nameLocation":"29505:2:24","nodeType":"VariableDeclaration","scope":9427,"src":"29497:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9411,"name":"address","nodeType":"ElementaryTypeName","src":"29497:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29460:48:24"},"returnParameters":{"id":9414,"nodeType":"ParameterList","parameters":[],"src":"29523:0:24"},"scope":14120,"src":"29448:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9449,"nodeType":"Block","src":"29723:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":9441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29773:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":9442,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9429,"src":"29812:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9443,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9431,"src":"29816:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9444,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9433,"src":"29820:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9445,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9435,"src":"29824:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9439,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29749:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29753:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29749:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29749:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9438,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"29733:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29733:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9448,"nodeType":"ExpressionStatement","src":"29733:95:24"}]},"id":9450,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29651:3:24","nodeType":"FunctionDefinition","parameters":{"id":9436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9429,"mutability":"mutable","name":"p0","nameLocation":"29663:2:24","nodeType":"VariableDeclaration","scope":9450,"src":"29655:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9428,"name":"uint256","nodeType":"ElementaryTypeName","src":"29655:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9431,"mutability":"mutable","name":"p1","nameLocation":"29675:2:24","nodeType":"VariableDeclaration","scope":9450,"src":"29667:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9430,"name":"address","nodeType":"ElementaryTypeName","src":"29667:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9433,"mutability":"mutable","name":"p2","nameLocation":"29693:2:24","nodeType":"VariableDeclaration","scope":9450,"src":"29679:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9432,"name":"string","nodeType":"ElementaryTypeName","src":"29679:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9435,"mutability":"mutable","name":"p3","nameLocation":"29705:2:24","nodeType":"VariableDeclaration","scope":9450,"src":"29697:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9434,"name":"uint256","nodeType":"ElementaryTypeName","src":"29697:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29654:54:24"},"returnParameters":{"id":9437,"nodeType":"ParameterList","parameters":[],"src":"29723:0:24"},"scope":14120,"src":"29642:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9472,"nodeType":"Block","src":"29928:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":9464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29978:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":9465,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9452,"src":"30016:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9466,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9454,"src":"30020:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9467,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9456,"src":"30024:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9468,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"30028:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29954:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29958:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29954:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29954:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9461,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"29938:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29938:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9471,"nodeType":"ExpressionStatement","src":"29938:94:24"}]},"id":9473,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29850:3:24","nodeType":"FunctionDefinition","parameters":{"id":9459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9452,"mutability":"mutable","name":"p0","nameLocation":"29862:2:24","nodeType":"VariableDeclaration","scope":9473,"src":"29854:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9451,"name":"uint256","nodeType":"ElementaryTypeName","src":"29854:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9454,"mutability":"mutable","name":"p1","nameLocation":"29874:2:24","nodeType":"VariableDeclaration","scope":9473,"src":"29866:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9453,"name":"address","nodeType":"ElementaryTypeName","src":"29866:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9456,"mutability":"mutable","name":"p2","nameLocation":"29892:2:24","nodeType":"VariableDeclaration","scope":9473,"src":"29878:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9455,"name":"string","nodeType":"ElementaryTypeName","src":"29878:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9458,"mutability":"mutable","name":"p3","nameLocation":"29910:2:24","nodeType":"VariableDeclaration","scope":9473,"src":"29896:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9457,"name":"string","nodeType":"ElementaryTypeName","src":"29896:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29853:60:24"},"returnParameters":{"id":9460,"nodeType":"ParameterList","parameters":[],"src":"29928:0:24"},"scope":14120,"src":"29841:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9495,"nodeType":"Block","src":"30123:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":9487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30173:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":9488,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9475,"src":"30209:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9489,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9477,"src":"30213:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9490,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9479,"src":"30217:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9491,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9481,"src":"30221:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9485,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30149:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30153:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30149:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30149:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9484,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"30133:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30133:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9494,"nodeType":"ExpressionStatement","src":"30133:92:24"}]},"id":9496,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30054:3:24","nodeType":"FunctionDefinition","parameters":{"id":9482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9475,"mutability":"mutable","name":"p0","nameLocation":"30066:2:24","nodeType":"VariableDeclaration","scope":9496,"src":"30058:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9474,"name":"uint256","nodeType":"ElementaryTypeName","src":"30058:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9477,"mutability":"mutable","name":"p1","nameLocation":"30078:2:24","nodeType":"VariableDeclaration","scope":9496,"src":"30070:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9476,"name":"address","nodeType":"ElementaryTypeName","src":"30070:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9479,"mutability":"mutable","name":"p2","nameLocation":"30096:2:24","nodeType":"VariableDeclaration","scope":9496,"src":"30082:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9478,"name":"string","nodeType":"ElementaryTypeName","src":"30082:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9481,"mutability":"mutable","name":"p3","nameLocation":"30105:2:24","nodeType":"VariableDeclaration","scope":9496,"src":"30100:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9480,"name":"bool","nodeType":"ElementaryTypeName","src":"30100:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30057:51:24"},"returnParameters":{"id":9483,"nodeType":"ParameterList","parameters":[],"src":"30123:0:24"},"scope":14120,"src":"30045:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9518,"nodeType":"Block","src":"30319:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":9510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30369:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":9511,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9498,"src":"30408:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9512,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9500,"src":"30412:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9513,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9502,"src":"30416:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9514,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9504,"src":"30420:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30345:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30349:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30345:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30345:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9507,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"30329:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30329:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9517,"nodeType":"ExpressionStatement","src":"30329:95:24"}]},"id":9519,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30247:3:24","nodeType":"FunctionDefinition","parameters":{"id":9505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9498,"mutability":"mutable","name":"p0","nameLocation":"30259:2:24","nodeType":"VariableDeclaration","scope":9519,"src":"30251:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9497,"name":"uint256","nodeType":"ElementaryTypeName","src":"30251:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9500,"mutability":"mutable","name":"p1","nameLocation":"30271:2:24","nodeType":"VariableDeclaration","scope":9519,"src":"30263:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9499,"name":"address","nodeType":"ElementaryTypeName","src":"30263:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9502,"mutability":"mutable","name":"p2","nameLocation":"30289:2:24","nodeType":"VariableDeclaration","scope":9519,"src":"30275:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9501,"name":"string","nodeType":"ElementaryTypeName","src":"30275:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9504,"mutability":"mutable","name":"p3","nameLocation":"30301:2:24","nodeType":"VariableDeclaration","scope":9519,"src":"30293:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9503,"name":"address","nodeType":"ElementaryTypeName","src":"30293:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:54:24"},"returnParameters":{"id":9506,"nodeType":"ParameterList","parameters":[],"src":"30319:0:24"},"scope":14120,"src":"30238:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9541,"nodeType":"Block","src":"30509:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":9533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30559:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":9534,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9521,"src":"30596:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9535,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9523,"src":"30600:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9536,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"30604:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9537,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9527,"src":"30608:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30535:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30539:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30535:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9530,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"30519:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30519:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9540,"nodeType":"ExpressionStatement","src":"30519:93:24"}]},"id":9542,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30446:3:24","nodeType":"FunctionDefinition","parameters":{"id":9528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9521,"mutability":"mutable","name":"p0","nameLocation":"30458:2:24","nodeType":"VariableDeclaration","scope":9542,"src":"30450:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9520,"name":"uint256","nodeType":"ElementaryTypeName","src":"30450:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9523,"mutability":"mutable","name":"p1","nameLocation":"30470:2:24","nodeType":"VariableDeclaration","scope":9542,"src":"30462:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9522,"name":"address","nodeType":"ElementaryTypeName","src":"30462:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9525,"mutability":"mutable","name":"p2","nameLocation":"30479:2:24","nodeType":"VariableDeclaration","scope":9542,"src":"30474:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9524,"name":"bool","nodeType":"ElementaryTypeName","src":"30474:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9527,"mutability":"mutable","name":"p3","nameLocation":"30491:2:24","nodeType":"VariableDeclaration","scope":9542,"src":"30483:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9526,"name":"uint256","nodeType":"ElementaryTypeName","src":"30483:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30449:45:24"},"returnParameters":{"id":9529,"nodeType":"ParameterList","parameters":[],"src":"30509:0:24"},"scope":14120,"src":"30437:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9564,"nodeType":"Block","src":"30703:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":9556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30753:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":9557,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9544,"src":"30789:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9558,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9546,"src":"30793:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9559,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9548,"src":"30797:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9560,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9550,"src":"30801:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30729:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30733:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30729:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30729:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"30713:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30713:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9563,"nodeType":"ExpressionStatement","src":"30713:92:24"}]},"id":9565,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30634:3:24","nodeType":"FunctionDefinition","parameters":{"id":9551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9544,"mutability":"mutable","name":"p0","nameLocation":"30646:2:24","nodeType":"VariableDeclaration","scope":9565,"src":"30638:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9543,"name":"uint256","nodeType":"ElementaryTypeName","src":"30638:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9546,"mutability":"mutable","name":"p1","nameLocation":"30658:2:24","nodeType":"VariableDeclaration","scope":9565,"src":"30650:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9545,"name":"address","nodeType":"ElementaryTypeName","src":"30650:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9548,"mutability":"mutable","name":"p2","nameLocation":"30667:2:24","nodeType":"VariableDeclaration","scope":9565,"src":"30662:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9547,"name":"bool","nodeType":"ElementaryTypeName","src":"30662:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9550,"mutability":"mutable","name":"p3","nameLocation":"30685:2:24","nodeType":"VariableDeclaration","scope":9565,"src":"30671:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9549,"name":"string","nodeType":"ElementaryTypeName","src":"30671:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30637:51:24"},"returnParameters":{"id":9552,"nodeType":"ParameterList","parameters":[],"src":"30703:0:24"},"scope":14120,"src":"30625:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9587,"nodeType":"Block","src":"30887:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":9579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30937:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":9580,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9567,"src":"30971:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9581,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9569,"src":"30975:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9582,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9571,"src":"30979:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9583,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9573,"src":"30983:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30913:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30917:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30913:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30913:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9576,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"30897:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30897:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9586,"nodeType":"ExpressionStatement","src":"30897:90:24"}]},"id":9588,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30827:3:24","nodeType":"FunctionDefinition","parameters":{"id":9574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9567,"mutability":"mutable","name":"p0","nameLocation":"30839:2:24","nodeType":"VariableDeclaration","scope":9588,"src":"30831:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9566,"name":"uint256","nodeType":"ElementaryTypeName","src":"30831:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9569,"mutability":"mutable","name":"p1","nameLocation":"30851:2:24","nodeType":"VariableDeclaration","scope":9588,"src":"30843:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9568,"name":"address","nodeType":"ElementaryTypeName","src":"30843:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9571,"mutability":"mutable","name":"p2","nameLocation":"30860:2:24","nodeType":"VariableDeclaration","scope":9588,"src":"30855:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9570,"name":"bool","nodeType":"ElementaryTypeName","src":"30855:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9573,"mutability":"mutable","name":"p3","nameLocation":"30869:2:24","nodeType":"VariableDeclaration","scope":9588,"src":"30864:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9572,"name":"bool","nodeType":"ElementaryTypeName","src":"30864:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30830:42:24"},"returnParameters":{"id":9575,"nodeType":"ParameterList","parameters":[],"src":"30887:0:24"},"scope":14120,"src":"30818:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9610,"nodeType":"Block","src":"31072:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":9602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31122:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":9603,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9590,"src":"31159:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9604,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9592,"src":"31163:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9605,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9594,"src":"31167:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9606,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9596,"src":"31171:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9600,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31098:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31102:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31098:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31098:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9599,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"31082:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31082:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9609,"nodeType":"ExpressionStatement","src":"31082:93:24"}]},"id":9611,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31009:3:24","nodeType":"FunctionDefinition","parameters":{"id":9597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9590,"mutability":"mutable","name":"p0","nameLocation":"31021:2:24","nodeType":"VariableDeclaration","scope":9611,"src":"31013:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9589,"name":"uint256","nodeType":"ElementaryTypeName","src":"31013:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9592,"mutability":"mutable","name":"p1","nameLocation":"31033:2:24","nodeType":"VariableDeclaration","scope":9611,"src":"31025:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9591,"name":"address","nodeType":"ElementaryTypeName","src":"31025:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9594,"mutability":"mutable","name":"p2","nameLocation":"31042:2:24","nodeType":"VariableDeclaration","scope":9611,"src":"31037:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9593,"name":"bool","nodeType":"ElementaryTypeName","src":"31037:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9596,"mutability":"mutable","name":"p3","nameLocation":"31054:2:24","nodeType":"VariableDeclaration","scope":9611,"src":"31046:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9595,"name":"address","nodeType":"ElementaryTypeName","src":"31046:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31012:45:24"},"returnParameters":{"id":9598,"nodeType":"ParameterList","parameters":[],"src":"31072:0:24"},"scope":14120,"src":"31000:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9633,"nodeType":"Block","src":"31263:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":9625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31313:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":9626,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9613,"src":"31353:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9627,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9615,"src":"31357:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9628,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9617,"src":"31361:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9629,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9619,"src":"31365:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9623,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31289:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31293:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31289:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31289:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9622,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"31273:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31273:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9632,"nodeType":"ExpressionStatement","src":"31273:96:24"}]},"id":9634,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31197:3:24","nodeType":"FunctionDefinition","parameters":{"id":9620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9613,"mutability":"mutable","name":"p0","nameLocation":"31209:2:24","nodeType":"VariableDeclaration","scope":9634,"src":"31201:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9612,"name":"uint256","nodeType":"ElementaryTypeName","src":"31201:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9615,"mutability":"mutable","name":"p1","nameLocation":"31221:2:24","nodeType":"VariableDeclaration","scope":9634,"src":"31213:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9614,"name":"address","nodeType":"ElementaryTypeName","src":"31213:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9617,"mutability":"mutable","name":"p2","nameLocation":"31233:2:24","nodeType":"VariableDeclaration","scope":9634,"src":"31225:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9616,"name":"address","nodeType":"ElementaryTypeName","src":"31225:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9619,"mutability":"mutable","name":"p3","nameLocation":"31245:2:24","nodeType":"VariableDeclaration","scope":9634,"src":"31237:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9618,"name":"uint256","nodeType":"ElementaryTypeName","src":"31237:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31200:48:24"},"returnParameters":{"id":9621,"nodeType":"ParameterList","parameters":[],"src":"31263:0:24"},"scope":14120,"src":"31188:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9656,"nodeType":"Block","src":"31463:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":9648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31513:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":9649,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9636,"src":"31552:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9650,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9638,"src":"31556:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9651,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9640,"src":"31560:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9652,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9642,"src":"31564:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9646,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31489:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31493:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31489:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31489:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9645,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"31473:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31473:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9655,"nodeType":"ExpressionStatement","src":"31473:95:24"}]},"id":9657,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31391:3:24","nodeType":"FunctionDefinition","parameters":{"id":9643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9636,"mutability":"mutable","name":"p0","nameLocation":"31403:2:24","nodeType":"VariableDeclaration","scope":9657,"src":"31395:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9635,"name":"uint256","nodeType":"ElementaryTypeName","src":"31395:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9638,"mutability":"mutable","name":"p1","nameLocation":"31415:2:24","nodeType":"VariableDeclaration","scope":9657,"src":"31407:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9637,"name":"address","nodeType":"ElementaryTypeName","src":"31407:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9640,"mutability":"mutable","name":"p2","nameLocation":"31427:2:24","nodeType":"VariableDeclaration","scope":9657,"src":"31419:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9639,"name":"address","nodeType":"ElementaryTypeName","src":"31419:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9642,"mutability":"mutable","name":"p3","nameLocation":"31445:2:24","nodeType":"VariableDeclaration","scope":9657,"src":"31431:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9641,"name":"string","nodeType":"ElementaryTypeName","src":"31431:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31394:54:24"},"returnParameters":{"id":9644,"nodeType":"ParameterList","parameters":[],"src":"31463:0:24"},"scope":14120,"src":"31382:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9679,"nodeType":"Block","src":"31653:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":9671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31703:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":9672,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9659,"src":"31740:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9673,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9661,"src":"31744:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9674,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9663,"src":"31748:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9675,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9665,"src":"31752:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31679:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31683:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31679:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31679:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9668,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"31663:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31663:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9678,"nodeType":"ExpressionStatement","src":"31663:93:24"}]},"id":9680,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31590:3:24","nodeType":"FunctionDefinition","parameters":{"id":9666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9659,"mutability":"mutable","name":"p0","nameLocation":"31602:2:24","nodeType":"VariableDeclaration","scope":9680,"src":"31594:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9658,"name":"uint256","nodeType":"ElementaryTypeName","src":"31594:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9661,"mutability":"mutable","name":"p1","nameLocation":"31614:2:24","nodeType":"VariableDeclaration","scope":9680,"src":"31606:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9660,"name":"address","nodeType":"ElementaryTypeName","src":"31606:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9663,"mutability":"mutable","name":"p2","nameLocation":"31626:2:24","nodeType":"VariableDeclaration","scope":9680,"src":"31618:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9662,"name":"address","nodeType":"ElementaryTypeName","src":"31618:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9665,"mutability":"mutable","name":"p3","nameLocation":"31635:2:24","nodeType":"VariableDeclaration","scope":9680,"src":"31630:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9664,"name":"bool","nodeType":"ElementaryTypeName","src":"31630:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31593:45:24"},"returnParameters":{"id":9667,"nodeType":"ParameterList","parameters":[],"src":"31653:0:24"},"scope":14120,"src":"31581:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9702,"nodeType":"Block","src":"31844:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":9694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31894:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":9695,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9682,"src":"31934:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9696,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9684,"src":"31938:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9697,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9686,"src":"31942:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9698,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9688,"src":"31946:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9692,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31870:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31874:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31870:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31870:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9691,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"31854:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31854:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9701,"nodeType":"ExpressionStatement","src":"31854:96:24"}]},"id":9703,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31778:3:24","nodeType":"FunctionDefinition","parameters":{"id":9689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9682,"mutability":"mutable","name":"p0","nameLocation":"31790:2:24","nodeType":"VariableDeclaration","scope":9703,"src":"31782:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9681,"name":"uint256","nodeType":"ElementaryTypeName","src":"31782:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9684,"mutability":"mutable","name":"p1","nameLocation":"31802:2:24","nodeType":"VariableDeclaration","scope":9703,"src":"31794:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9683,"name":"address","nodeType":"ElementaryTypeName","src":"31794:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9686,"mutability":"mutable","name":"p2","nameLocation":"31814:2:24","nodeType":"VariableDeclaration","scope":9703,"src":"31806:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9685,"name":"address","nodeType":"ElementaryTypeName","src":"31806:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9688,"mutability":"mutable","name":"p3","nameLocation":"31826:2:24","nodeType":"VariableDeclaration","scope":9703,"src":"31818:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9687,"name":"address","nodeType":"ElementaryTypeName","src":"31818:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31781:48:24"},"returnParameters":{"id":9690,"nodeType":"ParameterList","parameters":[],"src":"31844:0:24"},"scope":14120,"src":"31769:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9725,"nodeType":"Block","src":"32044:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":9717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32094:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":9718,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9705,"src":"32133:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9719,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"32137:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9720,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9709,"src":"32141:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9721,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9711,"src":"32145:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9715,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32070:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32074:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32070:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32070:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9714,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"32054:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32054:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9724,"nodeType":"ExpressionStatement","src":"32054:95:24"}]},"id":9726,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31972:3:24","nodeType":"FunctionDefinition","parameters":{"id":9712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9705,"mutability":"mutable","name":"p0","nameLocation":"31990:2:24","nodeType":"VariableDeclaration","scope":9726,"src":"31976:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9704,"name":"string","nodeType":"ElementaryTypeName","src":"31976:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9707,"mutability":"mutable","name":"p1","nameLocation":"32002:2:24","nodeType":"VariableDeclaration","scope":9726,"src":"31994:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9706,"name":"uint256","nodeType":"ElementaryTypeName","src":"31994:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9709,"mutability":"mutable","name":"p2","nameLocation":"32014:2:24","nodeType":"VariableDeclaration","scope":9726,"src":"32006:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9708,"name":"uint256","nodeType":"ElementaryTypeName","src":"32006:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9711,"mutability":"mutable","name":"p3","nameLocation":"32026:2:24","nodeType":"VariableDeclaration","scope":9726,"src":"32018:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9710,"name":"uint256","nodeType":"ElementaryTypeName","src":"32018:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31975:54:24"},"returnParameters":{"id":9713,"nodeType":"ParameterList","parameters":[],"src":"32044:0:24"},"scope":14120,"src":"31963:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9748,"nodeType":"Block","src":"32249:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":9740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32299:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":9741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9728,"src":"32337:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9730,"src":"32341:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9743,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9732,"src":"32345:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9744,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9734,"src":"32349:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32275:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32279:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32275:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32275:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"32259:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32259:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9747,"nodeType":"ExpressionStatement","src":"32259:94:24"}]},"id":9749,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32171:3:24","nodeType":"FunctionDefinition","parameters":{"id":9735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9728,"mutability":"mutable","name":"p0","nameLocation":"32189:2:24","nodeType":"VariableDeclaration","scope":9749,"src":"32175:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9727,"name":"string","nodeType":"ElementaryTypeName","src":"32175:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9730,"mutability":"mutable","name":"p1","nameLocation":"32201:2:24","nodeType":"VariableDeclaration","scope":9749,"src":"32193:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9729,"name":"uint256","nodeType":"ElementaryTypeName","src":"32193:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9732,"mutability":"mutable","name":"p2","nameLocation":"32213:2:24","nodeType":"VariableDeclaration","scope":9749,"src":"32205:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9731,"name":"uint256","nodeType":"ElementaryTypeName","src":"32205:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9734,"mutability":"mutable","name":"p3","nameLocation":"32231:2:24","nodeType":"VariableDeclaration","scope":9749,"src":"32217:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9733,"name":"string","nodeType":"ElementaryTypeName","src":"32217:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32174:60:24"},"returnParameters":{"id":9736,"nodeType":"ParameterList","parameters":[],"src":"32249:0:24"},"scope":14120,"src":"32162:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9771,"nodeType":"Block","src":"32444:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":9763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32494:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":9764,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9751,"src":"32530:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9765,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9753,"src":"32534:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9766,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9755,"src":"32538:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9767,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9757,"src":"32542:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32470:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32474:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32470:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32470:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9760,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"32454:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32454:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9770,"nodeType":"ExpressionStatement","src":"32454:92:24"}]},"id":9772,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32375:3:24","nodeType":"FunctionDefinition","parameters":{"id":9758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9751,"mutability":"mutable","name":"p0","nameLocation":"32393:2:24","nodeType":"VariableDeclaration","scope":9772,"src":"32379:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9750,"name":"string","nodeType":"ElementaryTypeName","src":"32379:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9753,"mutability":"mutable","name":"p1","nameLocation":"32405:2:24","nodeType":"VariableDeclaration","scope":9772,"src":"32397:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9752,"name":"uint256","nodeType":"ElementaryTypeName","src":"32397:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9755,"mutability":"mutable","name":"p2","nameLocation":"32417:2:24","nodeType":"VariableDeclaration","scope":9772,"src":"32409:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9754,"name":"uint256","nodeType":"ElementaryTypeName","src":"32409:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9757,"mutability":"mutable","name":"p3","nameLocation":"32426:2:24","nodeType":"VariableDeclaration","scope":9772,"src":"32421:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9756,"name":"bool","nodeType":"ElementaryTypeName","src":"32421:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32378:51:24"},"returnParameters":{"id":9759,"nodeType":"ParameterList","parameters":[],"src":"32444:0:24"},"scope":14120,"src":"32366:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9794,"nodeType":"Block","src":"32640:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":9786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32690:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":9787,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9774,"src":"32729:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9788,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9776,"src":"32733:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9789,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9778,"src":"32737:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9790,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9780,"src":"32741:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32666:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32670:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32666:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32666:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9783,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"32650:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32650:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9793,"nodeType":"ExpressionStatement","src":"32650:95:24"}]},"id":9795,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32568:3:24","nodeType":"FunctionDefinition","parameters":{"id":9781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9774,"mutability":"mutable","name":"p0","nameLocation":"32586:2:24","nodeType":"VariableDeclaration","scope":9795,"src":"32572:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9773,"name":"string","nodeType":"ElementaryTypeName","src":"32572:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9776,"mutability":"mutable","name":"p1","nameLocation":"32598:2:24","nodeType":"VariableDeclaration","scope":9795,"src":"32590:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9775,"name":"uint256","nodeType":"ElementaryTypeName","src":"32590:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9778,"mutability":"mutable","name":"p2","nameLocation":"32610:2:24","nodeType":"VariableDeclaration","scope":9795,"src":"32602:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9777,"name":"uint256","nodeType":"ElementaryTypeName","src":"32602:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9780,"mutability":"mutable","name":"p3","nameLocation":"32622:2:24","nodeType":"VariableDeclaration","scope":9795,"src":"32614:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9779,"name":"address","nodeType":"ElementaryTypeName","src":"32614:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32571:54:24"},"returnParameters":{"id":9782,"nodeType":"ParameterList","parameters":[],"src":"32640:0:24"},"scope":14120,"src":"32559:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9817,"nodeType":"Block","src":"32845:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":9809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32895:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":9810,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9797,"src":"32933:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9811,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9799,"src":"32937:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9812,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9801,"src":"32941:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9813,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9803,"src":"32945:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9807,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32871:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32875:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32871:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32871:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9806,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"32855:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32855:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9816,"nodeType":"ExpressionStatement","src":"32855:94:24"}]},"id":9818,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32767:3:24","nodeType":"FunctionDefinition","parameters":{"id":9804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9797,"mutability":"mutable","name":"p0","nameLocation":"32785:2:24","nodeType":"VariableDeclaration","scope":9818,"src":"32771:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9796,"name":"string","nodeType":"ElementaryTypeName","src":"32771:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9799,"mutability":"mutable","name":"p1","nameLocation":"32797:2:24","nodeType":"VariableDeclaration","scope":9818,"src":"32789:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9798,"name":"uint256","nodeType":"ElementaryTypeName","src":"32789:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9801,"mutability":"mutable","name":"p2","nameLocation":"32815:2:24","nodeType":"VariableDeclaration","scope":9818,"src":"32801:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9800,"name":"string","nodeType":"ElementaryTypeName","src":"32801:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9803,"mutability":"mutable","name":"p3","nameLocation":"32827:2:24","nodeType":"VariableDeclaration","scope":9818,"src":"32819:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9802,"name":"uint256","nodeType":"ElementaryTypeName","src":"32819:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32770:60:24"},"returnParameters":{"id":9805,"nodeType":"ParameterList","parameters":[],"src":"32845:0:24"},"scope":14120,"src":"32758:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9840,"nodeType":"Block","src":"33055:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":9832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33105:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":9833,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9820,"src":"33142:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9834,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9822,"src":"33146:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9835,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9824,"src":"33150:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9836,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9826,"src":"33154:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33081:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33085:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33081:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33081:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9829,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"33065:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33065:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9839,"nodeType":"ExpressionStatement","src":"33065:93:24"}]},"id":9841,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32971:3:24","nodeType":"FunctionDefinition","parameters":{"id":9827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9820,"mutability":"mutable","name":"p0","nameLocation":"32989:2:24","nodeType":"VariableDeclaration","scope":9841,"src":"32975:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9819,"name":"string","nodeType":"ElementaryTypeName","src":"32975:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9822,"mutability":"mutable","name":"p1","nameLocation":"33001:2:24","nodeType":"VariableDeclaration","scope":9841,"src":"32993:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9821,"name":"uint256","nodeType":"ElementaryTypeName","src":"32993:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9824,"mutability":"mutable","name":"p2","nameLocation":"33019:2:24","nodeType":"VariableDeclaration","scope":9841,"src":"33005:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9823,"name":"string","nodeType":"ElementaryTypeName","src":"33005:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9826,"mutability":"mutable","name":"p3","nameLocation":"33037:2:24","nodeType":"VariableDeclaration","scope":9841,"src":"33023:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9825,"name":"string","nodeType":"ElementaryTypeName","src":"33023:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32974:66:24"},"returnParameters":{"id":9828,"nodeType":"ParameterList","parameters":[],"src":"33055:0:24"},"scope":14120,"src":"32962:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9863,"nodeType":"Block","src":"33255:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":9855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33305:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":9856,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9843,"src":"33340:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9857,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9845,"src":"33344:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9858,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9847,"src":"33348:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9859,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9849,"src":"33352:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33281:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33285:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33281:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33281:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"33265:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33265:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9862,"nodeType":"ExpressionStatement","src":"33265:91:24"}]},"id":9864,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33180:3:24","nodeType":"FunctionDefinition","parameters":{"id":9850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9843,"mutability":"mutable","name":"p0","nameLocation":"33198:2:24","nodeType":"VariableDeclaration","scope":9864,"src":"33184:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9842,"name":"string","nodeType":"ElementaryTypeName","src":"33184:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9845,"mutability":"mutable","name":"p1","nameLocation":"33210:2:24","nodeType":"VariableDeclaration","scope":9864,"src":"33202:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9844,"name":"uint256","nodeType":"ElementaryTypeName","src":"33202:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9847,"mutability":"mutable","name":"p2","nameLocation":"33228:2:24","nodeType":"VariableDeclaration","scope":9864,"src":"33214:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9846,"name":"string","nodeType":"ElementaryTypeName","src":"33214:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9849,"mutability":"mutable","name":"p3","nameLocation":"33237:2:24","nodeType":"VariableDeclaration","scope":9864,"src":"33232:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9848,"name":"bool","nodeType":"ElementaryTypeName","src":"33232:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33183:57:24"},"returnParameters":{"id":9851,"nodeType":"ParameterList","parameters":[],"src":"33255:0:24"},"scope":14120,"src":"33171:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9886,"nodeType":"Block","src":"33456:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":9878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33506:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":9879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9866,"src":"33544:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9868,"src":"33548:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9870,"src":"33552:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9882,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9872,"src":"33556:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33482:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33486:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33482:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33482:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"33466:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33466:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9885,"nodeType":"ExpressionStatement","src":"33466:94:24"}]},"id":9887,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33378:3:24","nodeType":"FunctionDefinition","parameters":{"id":9873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9866,"mutability":"mutable","name":"p0","nameLocation":"33396:2:24","nodeType":"VariableDeclaration","scope":9887,"src":"33382:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9865,"name":"string","nodeType":"ElementaryTypeName","src":"33382:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9868,"mutability":"mutable","name":"p1","nameLocation":"33408:2:24","nodeType":"VariableDeclaration","scope":9887,"src":"33400:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9867,"name":"uint256","nodeType":"ElementaryTypeName","src":"33400:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9870,"mutability":"mutable","name":"p2","nameLocation":"33426:2:24","nodeType":"VariableDeclaration","scope":9887,"src":"33412:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9869,"name":"string","nodeType":"ElementaryTypeName","src":"33412:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9872,"mutability":"mutable","name":"p3","nameLocation":"33438:2:24","nodeType":"VariableDeclaration","scope":9887,"src":"33430:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9871,"name":"address","nodeType":"ElementaryTypeName","src":"33430:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33381:60:24"},"returnParameters":{"id":9874,"nodeType":"ParameterList","parameters":[],"src":"33456:0:24"},"scope":14120,"src":"33369:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9909,"nodeType":"Block","src":"33651:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":9901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33701:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":9902,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9889,"src":"33737:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9903,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9891,"src":"33741:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9904,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9893,"src":"33745:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9905,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9895,"src":"33749:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9899,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33677:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33681:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33677:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33677:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9898,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"33661:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33661:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9908,"nodeType":"ExpressionStatement","src":"33661:92:24"}]},"id":9910,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33582:3:24","nodeType":"FunctionDefinition","parameters":{"id":9896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9889,"mutability":"mutable","name":"p0","nameLocation":"33600:2:24","nodeType":"VariableDeclaration","scope":9910,"src":"33586:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9888,"name":"string","nodeType":"ElementaryTypeName","src":"33586:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9891,"mutability":"mutable","name":"p1","nameLocation":"33612:2:24","nodeType":"VariableDeclaration","scope":9910,"src":"33604:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9890,"name":"uint256","nodeType":"ElementaryTypeName","src":"33604:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9893,"mutability":"mutable","name":"p2","nameLocation":"33621:2:24","nodeType":"VariableDeclaration","scope":9910,"src":"33616:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9892,"name":"bool","nodeType":"ElementaryTypeName","src":"33616:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9895,"mutability":"mutable","name":"p3","nameLocation":"33633:2:24","nodeType":"VariableDeclaration","scope":9910,"src":"33625:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9894,"name":"uint256","nodeType":"ElementaryTypeName","src":"33625:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33585:51:24"},"returnParameters":{"id":9897,"nodeType":"ParameterList","parameters":[],"src":"33651:0:24"},"scope":14120,"src":"33573:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9932,"nodeType":"Block","src":"33850:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":9924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33900:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":9925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9912,"src":"33935:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9914,"src":"33939:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9927,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9916,"src":"33943:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9928,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9918,"src":"33947:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33876:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33880:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33876:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33876:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"33860:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33860:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9931,"nodeType":"ExpressionStatement","src":"33860:91:24"}]},"id":9933,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33775:3:24","nodeType":"FunctionDefinition","parameters":{"id":9919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9912,"mutability":"mutable","name":"p0","nameLocation":"33793:2:24","nodeType":"VariableDeclaration","scope":9933,"src":"33779:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9911,"name":"string","nodeType":"ElementaryTypeName","src":"33779:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9914,"mutability":"mutable","name":"p1","nameLocation":"33805:2:24","nodeType":"VariableDeclaration","scope":9933,"src":"33797:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9913,"name":"uint256","nodeType":"ElementaryTypeName","src":"33797:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9916,"mutability":"mutable","name":"p2","nameLocation":"33814:2:24","nodeType":"VariableDeclaration","scope":9933,"src":"33809:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9915,"name":"bool","nodeType":"ElementaryTypeName","src":"33809:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9918,"mutability":"mutable","name":"p3","nameLocation":"33832:2:24","nodeType":"VariableDeclaration","scope":9933,"src":"33818:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9917,"name":"string","nodeType":"ElementaryTypeName","src":"33818:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33778:57:24"},"returnParameters":{"id":9920,"nodeType":"ParameterList","parameters":[],"src":"33850:0:24"},"scope":14120,"src":"33766:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9955,"nodeType":"Block","src":"34039:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":9947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34089:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":9948,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9935,"src":"34122:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9949,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9937,"src":"34126:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9950,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9939,"src":"34130:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9951,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9941,"src":"34134:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9945,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34065:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34069:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34065:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34065:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9944,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"34049:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34049:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9954,"nodeType":"ExpressionStatement","src":"34049:89:24"}]},"id":9956,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33973:3:24","nodeType":"FunctionDefinition","parameters":{"id":9942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9935,"mutability":"mutable","name":"p0","nameLocation":"33991:2:24","nodeType":"VariableDeclaration","scope":9956,"src":"33977:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9934,"name":"string","nodeType":"ElementaryTypeName","src":"33977:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9937,"mutability":"mutable","name":"p1","nameLocation":"34003:2:24","nodeType":"VariableDeclaration","scope":9956,"src":"33995:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9936,"name":"uint256","nodeType":"ElementaryTypeName","src":"33995:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9939,"mutability":"mutable","name":"p2","nameLocation":"34012:2:24","nodeType":"VariableDeclaration","scope":9956,"src":"34007:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9938,"name":"bool","nodeType":"ElementaryTypeName","src":"34007:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9941,"mutability":"mutable","name":"p3","nameLocation":"34021:2:24","nodeType":"VariableDeclaration","scope":9956,"src":"34016:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9940,"name":"bool","nodeType":"ElementaryTypeName","src":"34016:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33976:48:24"},"returnParameters":{"id":9943,"nodeType":"ParameterList","parameters":[],"src":"34039:0:24"},"scope":14120,"src":"33964:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":9978,"nodeType":"Block","src":"34229:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":9970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34279:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":9971,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9958,"src":"34315:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9972,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9960,"src":"34319:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9973,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9962,"src":"34323:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9974,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9964,"src":"34327:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9968,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34255:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34259:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34255:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34255:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"34239:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34239:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9977,"nodeType":"ExpressionStatement","src":"34239:92:24"}]},"id":9979,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34160:3:24","nodeType":"FunctionDefinition","parameters":{"id":9965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9958,"mutability":"mutable","name":"p0","nameLocation":"34178:2:24","nodeType":"VariableDeclaration","scope":9979,"src":"34164:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9957,"name":"string","nodeType":"ElementaryTypeName","src":"34164:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9960,"mutability":"mutable","name":"p1","nameLocation":"34190:2:24","nodeType":"VariableDeclaration","scope":9979,"src":"34182:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9959,"name":"uint256","nodeType":"ElementaryTypeName","src":"34182:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9962,"mutability":"mutable","name":"p2","nameLocation":"34199:2:24","nodeType":"VariableDeclaration","scope":9979,"src":"34194:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9961,"name":"bool","nodeType":"ElementaryTypeName","src":"34194:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9964,"mutability":"mutable","name":"p3","nameLocation":"34211:2:24","nodeType":"VariableDeclaration","scope":9979,"src":"34203:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9963,"name":"address","nodeType":"ElementaryTypeName","src":"34203:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34163:51:24"},"returnParameters":{"id":9966,"nodeType":"ParameterList","parameters":[],"src":"34229:0:24"},"scope":14120,"src":"34151:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10001,"nodeType":"Block","src":"34425:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":9993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34475:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":9994,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9981,"src":"34514:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9995,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9983,"src":"34518:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9996,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9985,"src":"34522:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9997,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9987,"src":"34526:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9991,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34451:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34455:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34451:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":9998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34451:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9990,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"34435:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":9999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34435:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10000,"nodeType":"ExpressionStatement","src":"34435:95:24"}]},"id":10002,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34353:3:24","nodeType":"FunctionDefinition","parameters":{"id":9988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9981,"mutability":"mutable","name":"p0","nameLocation":"34371:2:24","nodeType":"VariableDeclaration","scope":10002,"src":"34357:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9980,"name":"string","nodeType":"ElementaryTypeName","src":"34357:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":9983,"mutability":"mutable","name":"p1","nameLocation":"34383:2:24","nodeType":"VariableDeclaration","scope":10002,"src":"34375:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9982,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9985,"mutability":"mutable","name":"p2","nameLocation":"34395:2:24","nodeType":"VariableDeclaration","scope":10002,"src":"34387:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9984,"name":"address","nodeType":"ElementaryTypeName","src":"34387:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":9987,"mutability":"mutable","name":"p3","nameLocation":"34407:2:24","nodeType":"VariableDeclaration","scope":10002,"src":"34399:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9986,"name":"uint256","nodeType":"ElementaryTypeName","src":"34399:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34356:54:24"},"returnParameters":{"id":9989,"nodeType":"ParameterList","parameters":[],"src":"34425:0:24"},"scope":14120,"src":"34344:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10024,"nodeType":"Block","src":"34630:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":10016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34680:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":10017,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10004,"src":"34718:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10018,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10006,"src":"34722:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10019,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10008,"src":"34726:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10020,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10010,"src":"34730:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34656:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34660:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34656:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34656:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10013,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"34640:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34640:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10023,"nodeType":"ExpressionStatement","src":"34640:94:24"}]},"id":10025,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34552:3:24","nodeType":"FunctionDefinition","parameters":{"id":10011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10004,"mutability":"mutable","name":"p0","nameLocation":"34570:2:24","nodeType":"VariableDeclaration","scope":10025,"src":"34556:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10003,"name":"string","nodeType":"ElementaryTypeName","src":"34556:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10006,"mutability":"mutable","name":"p1","nameLocation":"34582:2:24","nodeType":"VariableDeclaration","scope":10025,"src":"34574:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10005,"name":"uint256","nodeType":"ElementaryTypeName","src":"34574:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10008,"mutability":"mutable","name":"p2","nameLocation":"34594:2:24","nodeType":"VariableDeclaration","scope":10025,"src":"34586:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10007,"name":"address","nodeType":"ElementaryTypeName","src":"34586:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10010,"mutability":"mutable","name":"p3","nameLocation":"34612:2:24","nodeType":"VariableDeclaration","scope":10025,"src":"34598:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10009,"name":"string","nodeType":"ElementaryTypeName","src":"34598:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34555:60:24"},"returnParameters":{"id":10012,"nodeType":"ParameterList","parameters":[],"src":"34630:0:24"},"scope":14120,"src":"34543:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10047,"nodeType":"Block","src":"34825:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":10039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34875:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":10040,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10027,"src":"34911:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10041,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10029,"src":"34915:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10042,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10031,"src":"34919:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10043,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10033,"src":"34923:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10037,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34851:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34855:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34851:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34851:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10036,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"34835:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34835:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10046,"nodeType":"ExpressionStatement","src":"34835:92:24"}]},"id":10048,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34756:3:24","nodeType":"FunctionDefinition","parameters":{"id":10034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10027,"mutability":"mutable","name":"p0","nameLocation":"34774:2:24","nodeType":"VariableDeclaration","scope":10048,"src":"34760:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10026,"name":"string","nodeType":"ElementaryTypeName","src":"34760:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10029,"mutability":"mutable","name":"p1","nameLocation":"34786:2:24","nodeType":"VariableDeclaration","scope":10048,"src":"34778:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10028,"name":"uint256","nodeType":"ElementaryTypeName","src":"34778:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10031,"mutability":"mutable","name":"p2","nameLocation":"34798:2:24","nodeType":"VariableDeclaration","scope":10048,"src":"34790:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10030,"name":"address","nodeType":"ElementaryTypeName","src":"34790:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10033,"mutability":"mutable","name":"p3","nameLocation":"34807:2:24","nodeType":"VariableDeclaration","scope":10048,"src":"34802:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10032,"name":"bool","nodeType":"ElementaryTypeName","src":"34802:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34759:51:24"},"returnParameters":{"id":10035,"nodeType":"ParameterList","parameters":[],"src":"34825:0:24"},"scope":14120,"src":"34747:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10070,"nodeType":"Block","src":"35021:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":10062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35071:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":10063,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"35110:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10064,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"35114:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10065,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10054,"src":"35118:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10066,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10056,"src":"35122:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10060,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35047:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35051:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35047:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35047:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10059,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"35031:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35031:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10069,"nodeType":"ExpressionStatement","src":"35031:95:24"}]},"id":10071,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34949:3:24","nodeType":"FunctionDefinition","parameters":{"id":10057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10050,"mutability":"mutable","name":"p0","nameLocation":"34967:2:24","nodeType":"VariableDeclaration","scope":10071,"src":"34953:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10049,"name":"string","nodeType":"ElementaryTypeName","src":"34953:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10052,"mutability":"mutable","name":"p1","nameLocation":"34979:2:24","nodeType":"VariableDeclaration","scope":10071,"src":"34971:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10051,"name":"uint256","nodeType":"ElementaryTypeName","src":"34971:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10054,"mutability":"mutable","name":"p2","nameLocation":"34991:2:24","nodeType":"VariableDeclaration","scope":10071,"src":"34983:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10053,"name":"address","nodeType":"ElementaryTypeName","src":"34983:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10056,"mutability":"mutable","name":"p3","nameLocation":"35003:2:24","nodeType":"VariableDeclaration","scope":10071,"src":"34995:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10055,"name":"address","nodeType":"ElementaryTypeName","src":"34995:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34952:54:24"},"returnParameters":{"id":10058,"nodeType":"ParameterList","parameters":[],"src":"35021:0:24"},"scope":14120,"src":"34940:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10093,"nodeType":"Block","src":"35226:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":10085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35276:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":10086,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10073,"src":"35314:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10087,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10075,"src":"35318:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10088,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10077,"src":"35322:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10089,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10079,"src":"35326:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35252:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35256:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35252:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35252:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10082,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"35236:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35236:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10092,"nodeType":"ExpressionStatement","src":"35236:94:24"}]},"id":10094,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35148:3:24","nodeType":"FunctionDefinition","parameters":{"id":10080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10073,"mutability":"mutable","name":"p0","nameLocation":"35166:2:24","nodeType":"VariableDeclaration","scope":10094,"src":"35152:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10072,"name":"string","nodeType":"ElementaryTypeName","src":"35152:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10075,"mutability":"mutable","name":"p1","nameLocation":"35184:2:24","nodeType":"VariableDeclaration","scope":10094,"src":"35170:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10074,"name":"string","nodeType":"ElementaryTypeName","src":"35170:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10077,"mutability":"mutable","name":"p2","nameLocation":"35196:2:24","nodeType":"VariableDeclaration","scope":10094,"src":"35188:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10076,"name":"uint256","nodeType":"ElementaryTypeName","src":"35188:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10079,"mutability":"mutable","name":"p3","nameLocation":"35208:2:24","nodeType":"VariableDeclaration","scope":10094,"src":"35200:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10078,"name":"uint256","nodeType":"ElementaryTypeName","src":"35200:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35151:60:24"},"returnParameters":{"id":10081,"nodeType":"ParameterList","parameters":[],"src":"35226:0:24"},"scope":14120,"src":"35139:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10116,"nodeType":"Block","src":"35436:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":10108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35486:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":10109,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10096,"src":"35523:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10110,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10098,"src":"35527:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10111,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10100,"src":"35531:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10112,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10102,"src":"35535:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10106,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35462:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35466:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35462:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35462:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10105,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"35446:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35446:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10115,"nodeType":"ExpressionStatement","src":"35446:93:24"}]},"id":10117,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35352:3:24","nodeType":"FunctionDefinition","parameters":{"id":10103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10096,"mutability":"mutable","name":"p0","nameLocation":"35370:2:24","nodeType":"VariableDeclaration","scope":10117,"src":"35356:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10095,"name":"string","nodeType":"ElementaryTypeName","src":"35356:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10098,"mutability":"mutable","name":"p1","nameLocation":"35388:2:24","nodeType":"VariableDeclaration","scope":10117,"src":"35374:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10097,"name":"string","nodeType":"ElementaryTypeName","src":"35374:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10100,"mutability":"mutable","name":"p2","nameLocation":"35400:2:24","nodeType":"VariableDeclaration","scope":10117,"src":"35392:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10099,"name":"uint256","nodeType":"ElementaryTypeName","src":"35392:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10102,"mutability":"mutable","name":"p3","nameLocation":"35418:2:24","nodeType":"VariableDeclaration","scope":10117,"src":"35404:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10101,"name":"string","nodeType":"ElementaryTypeName","src":"35404:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35355:66:24"},"returnParameters":{"id":10104,"nodeType":"ParameterList","parameters":[],"src":"35436:0:24"},"scope":14120,"src":"35343:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10139,"nodeType":"Block","src":"35636:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":10131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35686:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":10132,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10119,"src":"35721:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10133,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10121,"src":"35725:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10134,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10123,"src":"35729:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10135,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10125,"src":"35733:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35662:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35666:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35662:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35662:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10128,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"35646:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35646:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10138,"nodeType":"ExpressionStatement","src":"35646:91:24"}]},"id":10140,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35561:3:24","nodeType":"FunctionDefinition","parameters":{"id":10126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10119,"mutability":"mutable","name":"p0","nameLocation":"35579:2:24","nodeType":"VariableDeclaration","scope":10140,"src":"35565:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10118,"name":"string","nodeType":"ElementaryTypeName","src":"35565:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10121,"mutability":"mutable","name":"p1","nameLocation":"35597:2:24","nodeType":"VariableDeclaration","scope":10140,"src":"35583:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10120,"name":"string","nodeType":"ElementaryTypeName","src":"35583:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10123,"mutability":"mutable","name":"p2","nameLocation":"35609:2:24","nodeType":"VariableDeclaration","scope":10140,"src":"35601:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10122,"name":"uint256","nodeType":"ElementaryTypeName","src":"35601:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10125,"mutability":"mutable","name":"p3","nameLocation":"35618:2:24","nodeType":"VariableDeclaration","scope":10140,"src":"35613:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10124,"name":"bool","nodeType":"ElementaryTypeName","src":"35613:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35564:57:24"},"returnParameters":{"id":10127,"nodeType":"ParameterList","parameters":[],"src":"35636:0:24"},"scope":14120,"src":"35552:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10162,"nodeType":"Block","src":"35837:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":10154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35887:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":10155,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10142,"src":"35925:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10156,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10144,"src":"35929:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10157,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10146,"src":"35933:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10158,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10148,"src":"35937:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35863:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35867:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35863:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35863:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10151,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"35847:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35847:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10161,"nodeType":"ExpressionStatement","src":"35847:94:24"}]},"id":10163,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35759:3:24","nodeType":"FunctionDefinition","parameters":{"id":10149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10142,"mutability":"mutable","name":"p0","nameLocation":"35777:2:24","nodeType":"VariableDeclaration","scope":10163,"src":"35763:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10141,"name":"string","nodeType":"ElementaryTypeName","src":"35763:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10144,"mutability":"mutable","name":"p1","nameLocation":"35795:2:24","nodeType":"VariableDeclaration","scope":10163,"src":"35781:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10143,"name":"string","nodeType":"ElementaryTypeName","src":"35781:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10146,"mutability":"mutable","name":"p2","nameLocation":"35807:2:24","nodeType":"VariableDeclaration","scope":10163,"src":"35799:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10145,"name":"uint256","nodeType":"ElementaryTypeName","src":"35799:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10148,"mutability":"mutable","name":"p3","nameLocation":"35819:2:24","nodeType":"VariableDeclaration","scope":10163,"src":"35811:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10147,"name":"address","nodeType":"ElementaryTypeName","src":"35811:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35762:60:24"},"returnParameters":{"id":10150,"nodeType":"ParameterList","parameters":[],"src":"35837:0:24"},"scope":14120,"src":"35750:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10185,"nodeType":"Block","src":"36047:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":10177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36097:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":10178,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10165,"src":"36134:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10179,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10167,"src":"36138:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10180,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10169,"src":"36142:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10181,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10171,"src":"36146:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36073:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36077:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36073:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36073:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10174,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"36057:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36057:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10184,"nodeType":"ExpressionStatement","src":"36057:93:24"}]},"id":10186,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35963:3:24","nodeType":"FunctionDefinition","parameters":{"id":10172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10165,"mutability":"mutable","name":"p0","nameLocation":"35981:2:24","nodeType":"VariableDeclaration","scope":10186,"src":"35967:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10164,"name":"string","nodeType":"ElementaryTypeName","src":"35967:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10167,"mutability":"mutable","name":"p1","nameLocation":"35999:2:24","nodeType":"VariableDeclaration","scope":10186,"src":"35985:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10166,"name":"string","nodeType":"ElementaryTypeName","src":"35985:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10169,"mutability":"mutable","name":"p2","nameLocation":"36017:2:24","nodeType":"VariableDeclaration","scope":10186,"src":"36003:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10168,"name":"string","nodeType":"ElementaryTypeName","src":"36003:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10171,"mutability":"mutable","name":"p3","nameLocation":"36029:2:24","nodeType":"VariableDeclaration","scope":10186,"src":"36021:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10170,"name":"uint256","nodeType":"ElementaryTypeName","src":"36021:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35966:66:24"},"returnParameters":{"id":10173,"nodeType":"ParameterList","parameters":[],"src":"36047:0:24"},"scope":14120,"src":"35954:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10208,"nodeType":"Block","src":"36262:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":10200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36312:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":10201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10188,"src":"36348:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10190,"src":"36352:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10192,"src":"36356:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10204,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10194,"src":"36360:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36288:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36292:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36288:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36288:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"36272:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36272:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10207,"nodeType":"ExpressionStatement","src":"36272:92:24"}]},"id":10209,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36172:3:24","nodeType":"FunctionDefinition","parameters":{"id":10195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10188,"mutability":"mutable","name":"p0","nameLocation":"36190:2:24","nodeType":"VariableDeclaration","scope":10209,"src":"36176:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10187,"name":"string","nodeType":"ElementaryTypeName","src":"36176:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10190,"mutability":"mutable","name":"p1","nameLocation":"36208:2:24","nodeType":"VariableDeclaration","scope":10209,"src":"36194:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10189,"name":"string","nodeType":"ElementaryTypeName","src":"36194:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10192,"mutability":"mutable","name":"p2","nameLocation":"36226:2:24","nodeType":"VariableDeclaration","scope":10209,"src":"36212:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10191,"name":"string","nodeType":"ElementaryTypeName","src":"36212:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10194,"mutability":"mutable","name":"p3","nameLocation":"36244:2:24","nodeType":"VariableDeclaration","scope":10209,"src":"36230:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10193,"name":"string","nodeType":"ElementaryTypeName","src":"36230:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36175:72:24"},"returnParameters":{"id":10196,"nodeType":"ParameterList","parameters":[],"src":"36262:0:24"},"scope":14120,"src":"36163:208:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10231,"nodeType":"Block","src":"36467:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":10223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36517:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":10224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10211,"src":"36551:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10213,"src":"36555:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10215,"src":"36559:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10227,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10217,"src":"36563:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36493:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36497:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36493:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36493:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"36477:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36477:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10230,"nodeType":"ExpressionStatement","src":"36477:90:24"}]},"id":10232,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36386:3:24","nodeType":"FunctionDefinition","parameters":{"id":10218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10211,"mutability":"mutable","name":"p0","nameLocation":"36404:2:24","nodeType":"VariableDeclaration","scope":10232,"src":"36390:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10210,"name":"string","nodeType":"ElementaryTypeName","src":"36390:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10213,"mutability":"mutable","name":"p1","nameLocation":"36422:2:24","nodeType":"VariableDeclaration","scope":10232,"src":"36408:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10212,"name":"string","nodeType":"ElementaryTypeName","src":"36408:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10215,"mutability":"mutable","name":"p2","nameLocation":"36440:2:24","nodeType":"VariableDeclaration","scope":10232,"src":"36426:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10214,"name":"string","nodeType":"ElementaryTypeName","src":"36426:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10217,"mutability":"mutable","name":"p3","nameLocation":"36449:2:24","nodeType":"VariableDeclaration","scope":10232,"src":"36444:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10216,"name":"bool","nodeType":"ElementaryTypeName","src":"36444:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36389:63:24"},"returnParameters":{"id":10219,"nodeType":"ParameterList","parameters":[],"src":"36467:0:24"},"scope":14120,"src":"36377:197:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10254,"nodeType":"Block","src":"36673:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":10246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36723:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":10247,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10234,"src":"36760:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10248,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10236,"src":"36764:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10249,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10238,"src":"36768:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10250,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10240,"src":"36772:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10244,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36699:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36703:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36699:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36699:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10243,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"36683:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36683:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10253,"nodeType":"ExpressionStatement","src":"36683:93:24"}]},"id":10255,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36589:3:24","nodeType":"FunctionDefinition","parameters":{"id":10241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10234,"mutability":"mutable","name":"p0","nameLocation":"36607:2:24","nodeType":"VariableDeclaration","scope":10255,"src":"36593:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10233,"name":"string","nodeType":"ElementaryTypeName","src":"36593:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10236,"mutability":"mutable","name":"p1","nameLocation":"36625:2:24","nodeType":"VariableDeclaration","scope":10255,"src":"36611:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10235,"name":"string","nodeType":"ElementaryTypeName","src":"36611:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10238,"mutability":"mutable","name":"p2","nameLocation":"36643:2:24","nodeType":"VariableDeclaration","scope":10255,"src":"36629:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10237,"name":"string","nodeType":"ElementaryTypeName","src":"36629:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10240,"mutability":"mutable","name":"p3","nameLocation":"36655:2:24","nodeType":"VariableDeclaration","scope":10255,"src":"36647:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10239,"name":"address","nodeType":"ElementaryTypeName","src":"36647:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36592:66:24"},"returnParameters":{"id":10242,"nodeType":"ParameterList","parameters":[],"src":"36673:0:24"},"scope":14120,"src":"36580:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10277,"nodeType":"Block","src":"36873:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":10269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36923:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":10270,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10257,"src":"36958:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10271,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"36962:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10272,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10261,"src":"36966:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10273,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10263,"src":"36970:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10267,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36899:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36903:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36899:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36899:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10266,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"36883:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36883:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10276,"nodeType":"ExpressionStatement","src":"36883:91:24"}]},"id":10278,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36798:3:24","nodeType":"FunctionDefinition","parameters":{"id":10264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10257,"mutability":"mutable","name":"p0","nameLocation":"36816:2:24","nodeType":"VariableDeclaration","scope":10278,"src":"36802:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10256,"name":"string","nodeType":"ElementaryTypeName","src":"36802:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10259,"mutability":"mutable","name":"p1","nameLocation":"36834:2:24","nodeType":"VariableDeclaration","scope":10278,"src":"36820:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10258,"name":"string","nodeType":"ElementaryTypeName","src":"36820:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10261,"mutability":"mutable","name":"p2","nameLocation":"36843:2:24","nodeType":"VariableDeclaration","scope":10278,"src":"36838:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10260,"name":"bool","nodeType":"ElementaryTypeName","src":"36838:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10263,"mutability":"mutable","name":"p3","nameLocation":"36855:2:24","nodeType":"VariableDeclaration","scope":10278,"src":"36847:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10262,"name":"uint256","nodeType":"ElementaryTypeName","src":"36847:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36801:57:24"},"returnParameters":{"id":10265,"nodeType":"ParameterList","parameters":[],"src":"36873:0:24"},"scope":14120,"src":"36789:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10300,"nodeType":"Block","src":"37077:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":10292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37127:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":10293,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10280,"src":"37161:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10294,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10282,"src":"37165:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10295,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10284,"src":"37169:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10296,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10286,"src":"37173:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10290,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37103:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37107:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37103:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37103:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10289,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"37087:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37087:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10299,"nodeType":"ExpressionStatement","src":"37087:90:24"}]},"id":10301,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36996:3:24","nodeType":"FunctionDefinition","parameters":{"id":10287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10280,"mutability":"mutable","name":"p0","nameLocation":"37014:2:24","nodeType":"VariableDeclaration","scope":10301,"src":"37000:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10279,"name":"string","nodeType":"ElementaryTypeName","src":"37000:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10282,"mutability":"mutable","name":"p1","nameLocation":"37032:2:24","nodeType":"VariableDeclaration","scope":10301,"src":"37018:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10281,"name":"string","nodeType":"ElementaryTypeName","src":"37018:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10284,"mutability":"mutable","name":"p2","nameLocation":"37041:2:24","nodeType":"VariableDeclaration","scope":10301,"src":"37036:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10283,"name":"bool","nodeType":"ElementaryTypeName","src":"37036:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10286,"mutability":"mutable","name":"p3","nameLocation":"37059:2:24","nodeType":"VariableDeclaration","scope":10301,"src":"37045:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10285,"name":"string","nodeType":"ElementaryTypeName","src":"37045:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36999:63:24"},"returnParameters":{"id":10288,"nodeType":"ParameterList","parameters":[],"src":"37077:0:24"},"scope":14120,"src":"36987:197:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10323,"nodeType":"Block","src":"37271:105:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":10315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37321:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":10316,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10303,"src":"37353:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10317,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10305,"src":"37357:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10318,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10307,"src":"37361:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10319,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10309,"src":"37365:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10313,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37297:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37301:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37297:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37297:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10312,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"37281:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37281:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10322,"nodeType":"ExpressionStatement","src":"37281:88:24"}]},"id":10324,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37199:3:24","nodeType":"FunctionDefinition","parameters":{"id":10310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10303,"mutability":"mutable","name":"p0","nameLocation":"37217:2:24","nodeType":"VariableDeclaration","scope":10324,"src":"37203:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10302,"name":"string","nodeType":"ElementaryTypeName","src":"37203:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10305,"mutability":"mutable","name":"p1","nameLocation":"37235:2:24","nodeType":"VariableDeclaration","scope":10324,"src":"37221:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10304,"name":"string","nodeType":"ElementaryTypeName","src":"37221:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10307,"mutability":"mutable","name":"p2","nameLocation":"37244:2:24","nodeType":"VariableDeclaration","scope":10324,"src":"37239:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10306,"name":"bool","nodeType":"ElementaryTypeName","src":"37239:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10309,"mutability":"mutable","name":"p3","nameLocation":"37253:2:24","nodeType":"VariableDeclaration","scope":10324,"src":"37248:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10308,"name":"bool","nodeType":"ElementaryTypeName","src":"37248:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37202:54:24"},"returnParameters":{"id":10311,"nodeType":"ParameterList","parameters":[],"src":"37271:0:24"},"scope":14120,"src":"37190:186:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10346,"nodeType":"Block","src":"37466:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":10338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37516:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":10339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10326,"src":"37551:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10328,"src":"37555:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10330,"src":"37559:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10342,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10332,"src":"37563:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37492:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37496:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37492:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37492:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"37476:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37476:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10345,"nodeType":"ExpressionStatement","src":"37476:91:24"}]},"id":10347,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37391:3:24","nodeType":"FunctionDefinition","parameters":{"id":10333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10326,"mutability":"mutable","name":"p0","nameLocation":"37409:2:24","nodeType":"VariableDeclaration","scope":10347,"src":"37395:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10325,"name":"string","nodeType":"ElementaryTypeName","src":"37395:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10328,"mutability":"mutable","name":"p1","nameLocation":"37427:2:24","nodeType":"VariableDeclaration","scope":10347,"src":"37413:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10327,"name":"string","nodeType":"ElementaryTypeName","src":"37413:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10330,"mutability":"mutable","name":"p2","nameLocation":"37436:2:24","nodeType":"VariableDeclaration","scope":10347,"src":"37431:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10329,"name":"bool","nodeType":"ElementaryTypeName","src":"37431:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10332,"mutability":"mutable","name":"p3","nameLocation":"37448:2:24","nodeType":"VariableDeclaration","scope":10347,"src":"37440:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10331,"name":"address","nodeType":"ElementaryTypeName","src":"37440:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37394:57:24"},"returnParameters":{"id":10334,"nodeType":"ParameterList","parameters":[],"src":"37466:0:24"},"scope":14120,"src":"37382:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10369,"nodeType":"Block","src":"37667:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":10361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37717:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":10362,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10349,"src":"37755:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10363,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10351,"src":"37759:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10364,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10353,"src":"37763:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10365,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10355,"src":"37767:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10359,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37693:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37697:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37693:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37693:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10358,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"37677:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37677:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10368,"nodeType":"ExpressionStatement","src":"37677:94:24"}]},"id":10370,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37589:3:24","nodeType":"FunctionDefinition","parameters":{"id":10356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10349,"mutability":"mutable","name":"p0","nameLocation":"37607:2:24","nodeType":"VariableDeclaration","scope":10370,"src":"37593:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10348,"name":"string","nodeType":"ElementaryTypeName","src":"37593:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10351,"mutability":"mutable","name":"p1","nameLocation":"37625:2:24","nodeType":"VariableDeclaration","scope":10370,"src":"37611:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10350,"name":"string","nodeType":"ElementaryTypeName","src":"37611:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10353,"mutability":"mutable","name":"p2","nameLocation":"37637:2:24","nodeType":"VariableDeclaration","scope":10370,"src":"37629:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10352,"name":"address","nodeType":"ElementaryTypeName","src":"37629:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10355,"mutability":"mutable","name":"p3","nameLocation":"37649:2:24","nodeType":"VariableDeclaration","scope":10370,"src":"37641:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10354,"name":"uint256","nodeType":"ElementaryTypeName","src":"37641:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37592:60:24"},"returnParameters":{"id":10357,"nodeType":"ParameterList","parameters":[],"src":"37667:0:24"},"scope":14120,"src":"37580:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10392,"nodeType":"Block","src":"37877:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":10384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37927:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":10385,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10372,"src":"37964:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10386,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10374,"src":"37968:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10387,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10376,"src":"37972:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10388,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10378,"src":"37976:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10382,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37903:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37907:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37903:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37903:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10381,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"37887:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37887:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10391,"nodeType":"ExpressionStatement","src":"37887:93:24"}]},"id":10393,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37793:3:24","nodeType":"FunctionDefinition","parameters":{"id":10379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10372,"mutability":"mutable","name":"p0","nameLocation":"37811:2:24","nodeType":"VariableDeclaration","scope":10393,"src":"37797:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10371,"name":"string","nodeType":"ElementaryTypeName","src":"37797:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10374,"mutability":"mutable","name":"p1","nameLocation":"37829:2:24","nodeType":"VariableDeclaration","scope":10393,"src":"37815:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10373,"name":"string","nodeType":"ElementaryTypeName","src":"37815:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10376,"mutability":"mutable","name":"p2","nameLocation":"37841:2:24","nodeType":"VariableDeclaration","scope":10393,"src":"37833:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10375,"name":"address","nodeType":"ElementaryTypeName","src":"37833:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10378,"mutability":"mutable","name":"p3","nameLocation":"37859:2:24","nodeType":"VariableDeclaration","scope":10393,"src":"37845:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10377,"name":"string","nodeType":"ElementaryTypeName","src":"37845:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37796:66:24"},"returnParameters":{"id":10380,"nodeType":"ParameterList","parameters":[],"src":"37877:0:24"},"scope":14120,"src":"37784:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10415,"nodeType":"Block","src":"38077:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":10407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38127:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":10408,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10395,"src":"38162:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10409,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10397,"src":"38166:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10410,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10399,"src":"38170:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10411,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10401,"src":"38174:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38103:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38107:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38103:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38103:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10404,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"38087:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38087:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10414,"nodeType":"ExpressionStatement","src":"38087:91:24"}]},"id":10416,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38002:3:24","nodeType":"FunctionDefinition","parameters":{"id":10402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10395,"mutability":"mutable","name":"p0","nameLocation":"38020:2:24","nodeType":"VariableDeclaration","scope":10416,"src":"38006:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10394,"name":"string","nodeType":"ElementaryTypeName","src":"38006:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10397,"mutability":"mutable","name":"p1","nameLocation":"38038:2:24","nodeType":"VariableDeclaration","scope":10416,"src":"38024:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10396,"name":"string","nodeType":"ElementaryTypeName","src":"38024:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10399,"mutability":"mutable","name":"p2","nameLocation":"38050:2:24","nodeType":"VariableDeclaration","scope":10416,"src":"38042:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10398,"name":"address","nodeType":"ElementaryTypeName","src":"38042:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10401,"mutability":"mutable","name":"p3","nameLocation":"38059:2:24","nodeType":"VariableDeclaration","scope":10416,"src":"38054:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10400,"name":"bool","nodeType":"ElementaryTypeName","src":"38054:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38005:57:24"},"returnParameters":{"id":10403,"nodeType":"ParameterList","parameters":[],"src":"38077:0:24"},"scope":14120,"src":"37993:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10438,"nodeType":"Block","src":"38278:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":10430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38328:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":10431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10418,"src":"38366:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10432,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10420,"src":"38370:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10433,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10422,"src":"38374:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10434,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10424,"src":"38378:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38304:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38308:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38304:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38304:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"38288:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38288:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10437,"nodeType":"ExpressionStatement","src":"38288:94:24"}]},"id":10439,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38200:3:24","nodeType":"FunctionDefinition","parameters":{"id":10425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10418,"mutability":"mutable","name":"p0","nameLocation":"38218:2:24","nodeType":"VariableDeclaration","scope":10439,"src":"38204:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10417,"name":"string","nodeType":"ElementaryTypeName","src":"38204:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10420,"mutability":"mutable","name":"p1","nameLocation":"38236:2:24","nodeType":"VariableDeclaration","scope":10439,"src":"38222:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10419,"name":"string","nodeType":"ElementaryTypeName","src":"38222:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10422,"mutability":"mutable","name":"p2","nameLocation":"38248:2:24","nodeType":"VariableDeclaration","scope":10439,"src":"38240:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10421,"name":"address","nodeType":"ElementaryTypeName","src":"38240:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10424,"mutability":"mutable","name":"p3","nameLocation":"38260:2:24","nodeType":"VariableDeclaration","scope":10439,"src":"38252:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10423,"name":"address","nodeType":"ElementaryTypeName","src":"38252:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38203:60:24"},"returnParameters":{"id":10426,"nodeType":"ParameterList","parameters":[],"src":"38278:0:24"},"scope":14120,"src":"38191:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10461,"nodeType":"Block","src":"38473:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":10453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38523:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":10454,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10441,"src":"38559:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10455,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10443,"src":"38563:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10456,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10445,"src":"38567:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10457,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"38571:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38499:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38503:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38499:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38499:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10450,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"38483:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38483:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10460,"nodeType":"ExpressionStatement","src":"38483:92:24"}]},"id":10462,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38404:3:24","nodeType":"FunctionDefinition","parameters":{"id":10448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10441,"mutability":"mutable","name":"p0","nameLocation":"38422:2:24","nodeType":"VariableDeclaration","scope":10462,"src":"38408:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10440,"name":"string","nodeType":"ElementaryTypeName","src":"38408:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10443,"mutability":"mutable","name":"p1","nameLocation":"38431:2:24","nodeType":"VariableDeclaration","scope":10462,"src":"38426:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10442,"name":"bool","nodeType":"ElementaryTypeName","src":"38426:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10445,"mutability":"mutable","name":"p2","nameLocation":"38443:2:24","nodeType":"VariableDeclaration","scope":10462,"src":"38435:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10444,"name":"uint256","nodeType":"ElementaryTypeName","src":"38435:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10447,"mutability":"mutable","name":"p3","nameLocation":"38455:2:24","nodeType":"VariableDeclaration","scope":10462,"src":"38447:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10446,"name":"uint256","nodeType":"ElementaryTypeName","src":"38447:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38407:51:24"},"returnParameters":{"id":10449,"nodeType":"ParameterList","parameters":[],"src":"38473:0:24"},"scope":14120,"src":"38395:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10484,"nodeType":"Block","src":"38672:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":10476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38722:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":10477,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10464,"src":"38757:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10478,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10466,"src":"38761:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10479,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10468,"src":"38765:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10480,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10470,"src":"38769:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38698:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38702:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38698:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38698:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10473,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"38682:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38682:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10483,"nodeType":"ExpressionStatement","src":"38682:91:24"}]},"id":10485,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38597:3:24","nodeType":"FunctionDefinition","parameters":{"id":10471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10464,"mutability":"mutable","name":"p0","nameLocation":"38615:2:24","nodeType":"VariableDeclaration","scope":10485,"src":"38601:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10463,"name":"string","nodeType":"ElementaryTypeName","src":"38601:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10466,"mutability":"mutable","name":"p1","nameLocation":"38624:2:24","nodeType":"VariableDeclaration","scope":10485,"src":"38619:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10465,"name":"bool","nodeType":"ElementaryTypeName","src":"38619:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10468,"mutability":"mutable","name":"p2","nameLocation":"38636:2:24","nodeType":"VariableDeclaration","scope":10485,"src":"38628:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10467,"name":"uint256","nodeType":"ElementaryTypeName","src":"38628:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10470,"mutability":"mutable","name":"p3","nameLocation":"38654:2:24","nodeType":"VariableDeclaration","scope":10485,"src":"38640:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10469,"name":"string","nodeType":"ElementaryTypeName","src":"38640:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38600:57:24"},"returnParameters":{"id":10472,"nodeType":"ParameterList","parameters":[],"src":"38672:0:24"},"scope":14120,"src":"38588:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10507,"nodeType":"Block","src":"38861:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":10499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38911:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":10500,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10487,"src":"38944:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10501,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10489,"src":"38948:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10502,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10491,"src":"38952:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10503,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10493,"src":"38956:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38887:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38891:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38887:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38887:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10496,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"38871:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38871:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10506,"nodeType":"ExpressionStatement","src":"38871:89:24"}]},"id":10508,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38795:3:24","nodeType":"FunctionDefinition","parameters":{"id":10494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10487,"mutability":"mutable","name":"p0","nameLocation":"38813:2:24","nodeType":"VariableDeclaration","scope":10508,"src":"38799:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10486,"name":"string","nodeType":"ElementaryTypeName","src":"38799:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10489,"mutability":"mutable","name":"p1","nameLocation":"38822:2:24","nodeType":"VariableDeclaration","scope":10508,"src":"38817:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10488,"name":"bool","nodeType":"ElementaryTypeName","src":"38817:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10491,"mutability":"mutable","name":"p2","nameLocation":"38834:2:24","nodeType":"VariableDeclaration","scope":10508,"src":"38826:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10490,"name":"uint256","nodeType":"ElementaryTypeName","src":"38826:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10493,"mutability":"mutable","name":"p3","nameLocation":"38843:2:24","nodeType":"VariableDeclaration","scope":10508,"src":"38838:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10492,"name":"bool","nodeType":"ElementaryTypeName","src":"38838:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38798:48:24"},"returnParameters":{"id":10495,"nodeType":"ParameterList","parameters":[],"src":"38861:0:24"},"scope":14120,"src":"38786:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10530,"nodeType":"Block","src":"39051:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":10522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39101:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":10523,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10510,"src":"39137:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10524,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10512,"src":"39141:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10525,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10514,"src":"39145:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10526,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10516,"src":"39149:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10520,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39077:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39081:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39077:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39077:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"39061:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39061:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10529,"nodeType":"ExpressionStatement","src":"39061:92:24"}]},"id":10531,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38982:3:24","nodeType":"FunctionDefinition","parameters":{"id":10517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10510,"mutability":"mutable","name":"p0","nameLocation":"39000:2:24","nodeType":"VariableDeclaration","scope":10531,"src":"38986:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10509,"name":"string","nodeType":"ElementaryTypeName","src":"38986:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10512,"mutability":"mutable","name":"p1","nameLocation":"39009:2:24","nodeType":"VariableDeclaration","scope":10531,"src":"39004:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10511,"name":"bool","nodeType":"ElementaryTypeName","src":"39004:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10514,"mutability":"mutable","name":"p2","nameLocation":"39021:2:24","nodeType":"VariableDeclaration","scope":10531,"src":"39013:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10513,"name":"uint256","nodeType":"ElementaryTypeName","src":"39013:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10516,"mutability":"mutable","name":"p3","nameLocation":"39033:2:24","nodeType":"VariableDeclaration","scope":10531,"src":"39025:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10515,"name":"address","nodeType":"ElementaryTypeName","src":"39025:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38985:51:24"},"returnParameters":{"id":10518,"nodeType":"ParameterList","parameters":[],"src":"39051:0:24"},"scope":14120,"src":"38973:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10553,"nodeType":"Block","src":"39250:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":10545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39300:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":10546,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"39335:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10547,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10535,"src":"39339:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10548,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10537,"src":"39343:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10549,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10539,"src":"39347:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10543,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39276:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39280:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39276:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39276:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10542,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"39260:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39260:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10552,"nodeType":"ExpressionStatement","src":"39260:91:24"}]},"id":10554,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39175:3:24","nodeType":"FunctionDefinition","parameters":{"id":10540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10533,"mutability":"mutable","name":"p0","nameLocation":"39193:2:24","nodeType":"VariableDeclaration","scope":10554,"src":"39179:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10532,"name":"string","nodeType":"ElementaryTypeName","src":"39179:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10535,"mutability":"mutable","name":"p1","nameLocation":"39202:2:24","nodeType":"VariableDeclaration","scope":10554,"src":"39197:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10534,"name":"bool","nodeType":"ElementaryTypeName","src":"39197:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10537,"mutability":"mutable","name":"p2","nameLocation":"39220:2:24","nodeType":"VariableDeclaration","scope":10554,"src":"39206:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10536,"name":"string","nodeType":"ElementaryTypeName","src":"39206:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10539,"mutability":"mutable","name":"p3","nameLocation":"39232:2:24","nodeType":"VariableDeclaration","scope":10554,"src":"39224:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10538,"name":"uint256","nodeType":"ElementaryTypeName","src":"39224:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39178:57:24"},"returnParameters":{"id":10541,"nodeType":"ParameterList","parameters":[],"src":"39250:0:24"},"scope":14120,"src":"39166:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10576,"nodeType":"Block","src":"39454:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":10568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39504:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":10569,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10556,"src":"39538:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10570,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10558,"src":"39542:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10571,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10560,"src":"39546:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10572,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10562,"src":"39550:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10566,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39480:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39484:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39480:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39480:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10565,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"39464:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39464:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10575,"nodeType":"ExpressionStatement","src":"39464:90:24"}]},"id":10577,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39373:3:24","nodeType":"FunctionDefinition","parameters":{"id":10563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10556,"mutability":"mutable","name":"p0","nameLocation":"39391:2:24","nodeType":"VariableDeclaration","scope":10577,"src":"39377:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10555,"name":"string","nodeType":"ElementaryTypeName","src":"39377:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10558,"mutability":"mutable","name":"p1","nameLocation":"39400:2:24","nodeType":"VariableDeclaration","scope":10577,"src":"39395:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10557,"name":"bool","nodeType":"ElementaryTypeName","src":"39395:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10560,"mutability":"mutable","name":"p2","nameLocation":"39418:2:24","nodeType":"VariableDeclaration","scope":10577,"src":"39404:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10559,"name":"string","nodeType":"ElementaryTypeName","src":"39404:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10562,"mutability":"mutable","name":"p3","nameLocation":"39436:2:24","nodeType":"VariableDeclaration","scope":10577,"src":"39422:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10561,"name":"string","nodeType":"ElementaryTypeName","src":"39422:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39376:63:24"},"returnParameters":{"id":10564,"nodeType":"ParameterList","parameters":[],"src":"39454:0:24"},"scope":14120,"src":"39364:197:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10599,"nodeType":"Block","src":"39648:105:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":10591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39698:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":10592,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10579,"src":"39730:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10593,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10581,"src":"39734:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10594,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"39738:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10595,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10585,"src":"39742:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10589,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39674:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39678:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39674:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39674:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10588,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"39658:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39658:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10598,"nodeType":"ExpressionStatement","src":"39658:88:24"}]},"id":10600,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39576:3:24","nodeType":"FunctionDefinition","parameters":{"id":10586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10579,"mutability":"mutable","name":"p0","nameLocation":"39594:2:24","nodeType":"VariableDeclaration","scope":10600,"src":"39580:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10578,"name":"string","nodeType":"ElementaryTypeName","src":"39580:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10581,"mutability":"mutable","name":"p1","nameLocation":"39603:2:24","nodeType":"VariableDeclaration","scope":10600,"src":"39598:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10580,"name":"bool","nodeType":"ElementaryTypeName","src":"39598:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10583,"mutability":"mutable","name":"p2","nameLocation":"39621:2:24","nodeType":"VariableDeclaration","scope":10600,"src":"39607:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10582,"name":"string","nodeType":"ElementaryTypeName","src":"39607:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10585,"mutability":"mutable","name":"p3","nameLocation":"39630:2:24","nodeType":"VariableDeclaration","scope":10600,"src":"39625:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10584,"name":"bool","nodeType":"ElementaryTypeName","src":"39625:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39579:54:24"},"returnParameters":{"id":10587,"nodeType":"ParameterList","parameters":[],"src":"39648:0:24"},"scope":14120,"src":"39567:186:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10622,"nodeType":"Block","src":"39843:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":10614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39893:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":10615,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10602,"src":"39928:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10616,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10604,"src":"39932:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10617,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10606,"src":"39936:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10618,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10608,"src":"39940:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39869:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39873:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39869:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39869:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10611,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"39853:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39853:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10621,"nodeType":"ExpressionStatement","src":"39853:91:24"}]},"id":10623,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39768:3:24","nodeType":"FunctionDefinition","parameters":{"id":10609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10602,"mutability":"mutable","name":"p0","nameLocation":"39786:2:24","nodeType":"VariableDeclaration","scope":10623,"src":"39772:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10601,"name":"string","nodeType":"ElementaryTypeName","src":"39772:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10604,"mutability":"mutable","name":"p1","nameLocation":"39795:2:24","nodeType":"VariableDeclaration","scope":10623,"src":"39790:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10603,"name":"bool","nodeType":"ElementaryTypeName","src":"39790:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10606,"mutability":"mutable","name":"p2","nameLocation":"39813:2:24","nodeType":"VariableDeclaration","scope":10623,"src":"39799:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10605,"name":"string","nodeType":"ElementaryTypeName","src":"39799:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10608,"mutability":"mutable","name":"p3","nameLocation":"39825:2:24","nodeType":"VariableDeclaration","scope":10623,"src":"39817:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10607,"name":"address","nodeType":"ElementaryTypeName","src":"39817:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39771:57:24"},"returnParameters":{"id":10610,"nodeType":"ParameterList","parameters":[],"src":"39843:0:24"},"scope":14120,"src":"39759:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10645,"nodeType":"Block","src":"40032:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":10637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40082:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":10638,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"40115:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10639,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10627,"src":"40119:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10640,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"40123:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10641,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10631,"src":"40127:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10635,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40058:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40062:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40058:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40058:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10634,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"40042:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40042:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10644,"nodeType":"ExpressionStatement","src":"40042:89:24"}]},"id":10646,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39966:3:24","nodeType":"FunctionDefinition","parameters":{"id":10632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10625,"mutability":"mutable","name":"p0","nameLocation":"39984:2:24","nodeType":"VariableDeclaration","scope":10646,"src":"39970:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10624,"name":"string","nodeType":"ElementaryTypeName","src":"39970:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10627,"mutability":"mutable","name":"p1","nameLocation":"39993:2:24","nodeType":"VariableDeclaration","scope":10646,"src":"39988:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10626,"name":"bool","nodeType":"ElementaryTypeName","src":"39988:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10629,"mutability":"mutable","name":"p2","nameLocation":"40002:2:24","nodeType":"VariableDeclaration","scope":10646,"src":"39997:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10628,"name":"bool","nodeType":"ElementaryTypeName","src":"39997:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10631,"mutability":"mutable","name":"p3","nameLocation":"40014:2:24","nodeType":"VariableDeclaration","scope":10646,"src":"40006:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10630,"name":"uint256","nodeType":"ElementaryTypeName","src":"40006:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39969:48:24"},"returnParameters":{"id":10633,"nodeType":"ParameterList","parameters":[],"src":"40032:0:24"},"scope":14120,"src":"39957:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10668,"nodeType":"Block","src":"40225:105:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":10660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40275:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":10661,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10648,"src":"40307:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10662,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10650,"src":"40311:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10663,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10652,"src":"40315:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10664,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10654,"src":"40319:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40251:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40255:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40251:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40251:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"40235:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40235:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10667,"nodeType":"ExpressionStatement","src":"40235:88:24"}]},"id":10669,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40153:3:24","nodeType":"FunctionDefinition","parameters":{"id":10655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10648,"mutability":"mutable","name":"p0","nameLocation":"40171:2:24","nodeType":"VariableDeclaration","scope":10669,"src":"40157:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10647,"name":"string","nodeType":"ElementaryTypeName","src":"40157:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10650,"mutability":"mutable","name":"p1","nameLocation":"40180:2:24","nodeType":"VariableDeclaration","scope":10669,"src":"40175:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10649,"name":"bool","nodeType":"ElementaryTypeName","src":"40175:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10652,"mutability":"mutable","name":"p2","nameLocation":"40189:2:24","nodeType":"VariableDeclaration","scope":10669,"src":"40184:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10651,"name":"bool","nodeType":"ElementaryTypeName","src":"40184:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10654,"mutability":"mutable","name":"p3","nameLocation":"40207:2:24","nodeType":"VariableDeclaration","scope":10669,"src":"40193:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10653,"name":"string","nodeType":"ElementaryTypeName","src":"40193:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40156:54:24"},"returnParameters":{"id":10656,"nodeType":"ParameterList","parameters":[],"src":"40225:0:24"},"scope":14120,"src":"40144:186:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10691,"nodeType":"Block","src":"40408:103:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":10683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40458:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":10684,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10671,"src":"40488:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10685,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10673,"src":"40492:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10686,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10675,"src":"40496:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10687,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10677,"src":"40500:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10681,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40434:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40438:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40434:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40434:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"40418:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40418:86:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10690,"nodeType":"ExpressionStatement","src":"40418:86:24"}]},"id":10692,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40345:3:24","nodeType":"FunctionDefinition","parameters":{"id":10678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10671,"mutability":"mutable","name":"p0","nameLocation":"40363:2:24","nodeType":"VariableDeclaration","scope":10692,"src":"40349:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10670,"name":"string","nodeType":"ElementaryTypeName","src":"40349:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10673,"mutability":"mutable","name":"p1","nameLocation":"40372:2:24","nodeType":"VariableDeclaration","scope":10692,"src":"40367:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10672,"name":"bool","nodeType":"ElementaryTypeName","src":"40367:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10675,"mutability":"mutable","name":"p2","nameLocation":"40381:2:24","nodeType":"VariableDeclaration","scope":10692,"src":"40376:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10674,"name":"bool","nodeType":"ElementaryTypeName","src":"40376:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10677,"mutability":"mutable","name":"p3","nameLocation":"40390:2:24","nodeType":"VariableDeclaration","scope":10692,"src":"40385:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10676,"name":"bool","nodeType":"ElementaryTypeName","src":"40385:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40348:45:24"},"returnParameters":{"id":10679,"nodeType":"ParameterList","parameters":[],"src":"40408:0:24"},"scope":14120,"src":"40336:175:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10714,"nodeType":"Block","src":"40592:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":10706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40642:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":10707,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10694,"src":"40675:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10708,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10696,"src":"40679:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10709,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10698,"src":"40683:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10710,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10700,"src":"40687:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10704,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40618:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40622:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40618:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40618:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10703,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"40602:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40602:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10713,"nodeType":"ExpressionStatement","src":"40602:89:24"}]},"id":10715,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40526:3:24","nodeType":"FunctionDefinition","parameters":{"id":10701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10694,"mutability":"mutable","name":"p0","nameLocation":"40544:2:24","nodeType":"VariableDeclaration","scope":10715,"src":"40530:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10693,"name":"string","nodeType":"ElementaryTypeName","src":"40530:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10696,"mutability":"mutable","name":"p1","nameLocation":"40553:2:24","nodeType":"VariableDeclaration","scope":10715,"src":"40548:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10695,"name":"bool","nodeType":"ElementaryTypeName","src":"40548:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10698,"mutability":"mutable","name":"p2","nameLocation":"40562:2:24","nodeType":"VariableDeclaration","scope":10715,"src":"40557:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10697,"name":"bool","nodeType":"ElementaryTypeName","src":"40557:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10700,"mutability":"mutable","name":"p3","nameLocation":"40574:2:24","nodeType":"VariableDeclaration","scope":10715,"src":"40566:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10699,"name":"address","nodeType":"ElementaryTypeName","src":"40566:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40529:48:24"},"returnParameters":{"id":10702,"nodeType":"ParameterList","parameters":[],"src":"40592:0:24"},"scope":14120,"src":"40517:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10737,"nodeType":"Block","src":"40782:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":10729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40832:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":10730,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10717,"src":"40868:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10731,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10719,"src":"40872:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10732,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10721,"src":"40876:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10733,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10723,"src":"40880:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40808:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40812:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40808:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40808:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10726,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"40792:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40792:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10736,"nodeType":"ExpressionStatement","src":"40792:92:24"}]},"id":10738,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40713:3:24","nodeType":"FunctionDefinition","parameters":{"id":10724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10717,"mutability":"mutable","name":"p0","nameLocation":"40731:2:24","nodeType":"VariableDeclaration","scope":10738,"src":"40717:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10716,"name":"string","nodeType":"ElementaryTypeName","src":"40717:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10719,"mutability":"mutable","name":"p1","nameLocation":"40740:2:24","nodeType":"VariableDeclaration","scope":10738,"src":"40735:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10718,"name":"bool","nodeType":"ElementaryTypeName","src":"40735:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10721,"mutability":"mutable","name":"p2","nameLocation":"40752:2:24","nodeType":"VariableDeclaration","scope":10738,"src":"40744:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10720,"name":"address","nodeType":"ElementaryTypeName","src":"40744:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10723,"mutability":"mutable","name":"p3","nameLocation":"40764:2:24","nodeType":"VariableDeclaration","scope":10738,"src":"40756:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10722,"name":"uint256","nodeType":"ElementaryTypeName","src":"40756:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40716:51:24"},"returnParameters":{"id":10725,"nodeType":"ParameterList","parameters":[],"src":"40782:0:24"},"scope":14120,"src":"40704:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10760,"nodeType":"Block","src":"40981:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":10752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41031:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":10753,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10740,"src":"41066:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10754,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10742,"src":"41070:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10755,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10744,"src":"41074:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10756,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10746,"src":"41078:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10750,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41007:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41011:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41007:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41007:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10749,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"40991:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40991:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10759,"nodeType":"ExpressionStatement","src":"40991:91:24"}]},"id":10761,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40906:3:24","nodeType":"FunctionDefinition","parameters":{"id":10747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10740,"mutability":"mutable","name":"p0","nameLocation":"40924:2:24","nodeType":"VariableDeclaration","scope":10761,"src":"40910:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10739,"name":"string","nodeType":"ElementaryTypeName","src":"40910:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10742,"mutability":"mutable","name":"p1","nameLocation":"40933:2:24","nodeType":"VariableDeclaration","scope":10761,"src":"40928:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10741,"name":"bool","nodeType":"ElementaryTypeName","src":"40928:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10744,"mutability":"mutable","name":"p2","nameLocation":"40945:2:24","nodeType":"VariableDeclaration","scope":10761,"src":"40937:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10743,"name":"address","nodeType":"ElementaryTypeName","src":"40937:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10746,"mutability":"mutable","name":"p3","nameLocation":"40963:2:24","nodeType":"VariableDeclaration","scope":10761,"src":"40949:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10745,"name":"string","nodeType":"ElementaryTypeName","src":"40949:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40909:57:24"},"returnParameters":{"id":10748,"nodeType":"ParameterList","parameters":[],"src":"40981:0:24"},"scope":14120,"src":"40897:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10783,"nodeType":"Block","src":"41170:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":10775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41220:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":10776,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10763,"src":"41253:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10777,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10765,"src":"41257:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10778,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10767,"src":"41261:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10779,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10769,"src":"41265:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10773,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41196:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41200:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41196:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41196:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10772,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"41180:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41180:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10782,"nodeType":"ExpressionStatement","src":"41180:89:24"}]},"id":10784,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41104:3:24","nodeType":"FunctionDefinition","parameters":{"id":10770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"p0","nameLocation":"41122:2:24","nodeType":"VariableDeclaration","scope":10784,"src":"41108:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10762,"name":"string","nodeType":"ElementaryTypeName","src":"41108:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10765,"mutability":"mutable","name":"p1","nameLocation":"41131:2:24","nodeType":"VariableDeclaration","scope":10784,"src":"41126:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10764,"name":"bool","nodeType":"ElementaryTypeName","src":"41126:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10767,"mutability":"mutable","name":"p2","nameLocation":"41143:2:24","nodeType":"VariableDeclaration","scope":10784,"src":"41135:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10766,"name":"address","nodeType":"ElementaryTypeName","src":"41135:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10769,"mutability":"mutable","name":"p3","nameLocation":"41152:2:24","nodeType":"VariableDeclaration","scope":10784,"src":"41147:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10768,"name":"bool","nodeType":"ElementaryTypeName","src":"41147:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41107:48:24"},"returnParameters":{"id":10771,"nodeType":"ParameterList","parameters":[],"src":"41170:0:24"},"scope":14120,"src":"41095:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10806,"nodeType":"Block","src":"41360:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":10798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41410:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":10799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10786,"src":"41446:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10788,"src":"41450:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":10801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10790,"src":"41454:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10802,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10792,"src":"41458:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41386:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41390:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41386:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41386:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"41370:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41370:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10805,"nodeType":"ExpressionStatement","src":"41370:92:24"}]},"id":10807,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41291:3:24","nodeType":"FunctionDefinition","parameters":{"id":10793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10786,"mutability":"mutable","name":"p0","nameLocation":"41309:2:24","nodeType":"VariableDeclaration","scope":10807,"src":"41295:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10785,"name":"string","nodeType":"ElementaryTypeName","src":"41295:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10788,"mutability":"mutable","name":"p1","nameLocation":"41318:2:24","nodeType":"VariableDeclaration","scope":10807,"src":"41313:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10787,"name":"bool","nodeType":"ElementaryTypeName","src":"41313:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10790,"mutability":"mutable","name":"p2","nameLocation":"41330:2:24","nodeType":"VariableDeclaration","scope":10807,"src":"41322:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10789,"name":"address","nodeType":"ElementaryTypeName","src":"41322:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10792,"mutability":"mutable","name":"p3","nameLocation":"41342:2:24","nodeType":"VariableDeclaration","scope":10807,"src":"41334:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10791,"name":"address","nodeType":"ElementaryTypeName","src":"41334:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41294:51:24"},"returnParameters":{"id":10794,"nodeType":"ParameterList","parameters":[],"src":"41360:0:24"},"scope":14120,"src":"41282:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10829,"nodeType":"Block","src":"41556:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":10821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41606:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":10822,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10809,"src":"41645:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10823,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10811,"src":"41649:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10824,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10813,"src":"41653:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10825,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10815,"src":"41657:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10819,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41582:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41586:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41582:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41582:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10818,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"41566:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41566:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10828,"nodeType":"ExpressionStatement","src":"41566:95:24"}]},"id":10830,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41484:3:24","nodeType":"FunctionDefinition","parameters":{"id":10816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10809,"mutability":"mutable","name":"p0","nameLocation":"41502:2:24","nodeType":"VariableDeclaration","scope":10830,"src":"41488:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10808,"name":"string","nodeType":"ElementaryTypeName","src":"41488:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10811,"mutability":"mutable","name":"p1","nameLocation":"41514:2:24","nodeType":"VariableDeclaration","scope":10830,"src":"41506:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10810,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10813,"mutability":"mutable","name":"p2","nameLocation":"41526:2:24","nodeType":"VariableDeclaration","scope":10830,"src":"41518:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10812,"name":"uint256","nodeType":"ElementaryTypeName","src":"41518:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10815,"mutability":"mutable","name":"p3","nameLocation":"41538:2:24","nodeType":"VariableDeclaration","scope":10830,"src":"41530:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10814,"name":"uint256","nodeType":"ElementaryTypeName","src":"41530:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41487:54:24"},"returnParameters":{"id":10817,"nodeType":"ParameterList","parameters":[],"src":"41556:0:24"},"scope":14120,"src":"41475:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10852,"nodeType":"Block","src":"41761:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":10844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41811:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":10845,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10832,"src":"41849:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10846,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10834,"src":"41853:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10847,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10836,"src":"41857:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10848,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10838,"src":"41861:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41787:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41791:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41787:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41787:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"41771:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41771:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10851,"nodeType":"ExpressionStatement","src":"41771:94:24"}]},"id":10853,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41683:3:24","nodeType":"FunctionDefinition","parameters":{"id":10839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10832,"mutability":"mutable","name":"p0","nameLocation":"41701:2:24","nodeType":"VariableDeclaration","scope":10853,"src":"41687:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10831,"name":"string","nodeType":"ElementaryTypeName","src":"41687:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10834,"mutability":"mutable","name":"p1","nameLocation":"41713:2:24","nodeType":"VariableDeclaration","scope":10853,"src":"41705:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10833,"name":"address","nodeType":"ElementaryTypeName","src":"41705:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10836,"mutability":"mutable","name":"p2","nameLocation":"41725:2:24","nodeType":"VariableDeclaration","scope":10853,"src":"41717:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10835,"name":"uint256","nodeType":"ElementaryTypeName","src":"41717:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10838,"mutability":"mutable","name":"p3","nameLocation":"41743:2:24","nodeType":"VariableDeclaration","scope":10853,"src":"41729:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10837,"name":"string","nodeType":"ElementaryTypeName","src":"41729:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41686:60:24"},"returnParameters":{"id":10840,"nodeType":"ParameterList","parameters":[],"src":"41761:0:24"},"scope":14120,"src":"41674:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10875,"nodeType":"Block","src":"41956:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":10867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42006:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":10868,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10855,"src":"42042:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10869,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10857,"src":"42046:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10870,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10859,"src":"42050:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10871,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10861,"src":"42054:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10865,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41982:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41986:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41982:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41982:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10864,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"41966:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41966:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10874,"nodeType":"ExpressionStatement","src":"41966:92:24"}]},"id":10876,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41887:3:24","nodeType":"FunctionDefinition","parameters":{"id":10862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10855,"mutability":"mutable","name":"p0","nameLocation":"41905:2:24","nodeType":"VariableDeclaration","scope":10876,"src":"41891:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10854,"name":"string","nodeType":"ElementaryTypeName","src":"41891:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10857,"mutability":"mutable","name":"p1","nameLocation":"41917:2:24","nodeType":"VariableDeclaration","scope":10876,"src":"41909:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10856,"name":"address","nodeType":"ElementaryTypeName","src":"41909:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10859,"mutability":"mutable","name":"p2","nameLocation":"41929:2:24","nodeType":"VariableDeclaration","scope":10876,"src":"41921:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10858,"name":"uint256","nodeType":"ElementaryTypeName","src":"41921:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10861,"mutability":"mutable","name":"p3","nameLocation":"41938:2:24","nodeType":"VariableDeclaration","scope":10876,"src":"41933:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10860,"name":"bool","nodeType":"ElementaryTypeName","src":"41933:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41890:51:24"},"returnParameters":{"id":10863,"nodeType":"ParameterList","parameters":[],"src":"41956:0:24"},"scope":14120,"src":"41878:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10898,"nodeType":"Block","src":"42152:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":10890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42202:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":10891,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10878,"src":"42241:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10892,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10880,"src":"42245:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10893,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10882,"src":"42249:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10894,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10884,"src":"42253:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42178:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42182:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42178:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42178:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"42162:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42162:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10897,"nodeType":"ExpressionStatement","src":"42162:95:24"}]},"id":10899,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42080:3:24","nodeType":"FunctionDefinition","parameters":{"id":10885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10878,"mutability":"mutable","name":"p0","nameLocation":"42098:2:24","nodeType":"VariableDeclaration","scope":10899,"src":"42084:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10877,"name":"string","nodeType":"ElementaryTypeName","src":"42084:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10880,"mutability":"mutable","name":"p1","nameLocation":"42110:2:24","nodeType":"VariableDeclaration","scope":10899,"src":"42102:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10879,"name":"address","nodeType":"ElementaryTypeName","src":"42102:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10882,"mutability":"mutable","name":"p2","nameLocation":"42122:2:24","nodeType":"VariableDeclaration","scope":10899,"src":"42114:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10881,"name":"uint256","nodeType":"ElementaryTypeName","src":"42114:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10884,"mutability":"mutable","name":"p3","nameLocation":"42134:2:24","nodeType":"VariableDeclaration","scope":10899,"src":"42126:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10883,"name":"address","nodeType":"ElementaryTypeName","src":"42126:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42083:54:24"},"returnParameters":{"id":10886,"nodeType":"ParameterList","parameters":[],"src":"42152:0:24"},"scope":14120,"src":"42071:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10921,"nodeType":"Block","src":"42357:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":10913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42407:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":10914,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10901,"src":"42445:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10915,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10903,"src":"42449:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10916,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10905,"src":"42453:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10917,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10907,"src":"42457:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10911,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42383:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42387:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42383:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42383:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10910,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"42367:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42367:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10920,"nodeType":"ExpressionStatement","src":"42367:94:24"}]},"id":10922,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42279:3:24","nodeType":"FunctionDefinition","parameters":{"id":10908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10901,"mutability":"mutable","name":"p0","nameLocation":"42297:2:24","nodeType":"VariableDeclaration","scope":10922,"src":"42283:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10900,"name":"string","nodeType":"ElementaryTypeName","src":"42283:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10903,"mutability":"mutable","name":"p1","nameLocation":"42309:2:24","nodeType":"VariableDeclaration","scope":10922,"src":"42301:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10902,"name":"address","nodeType":"ElementaryTypeName","src":"42301:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10905,"mutability":"mutable","name":"p2","nameLocation":"42327:2:24","nodeType":"VariableDeclaration","scope":10922,"src":"42313:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10904,"name":"string","nodeType":"ElementaryTypeName","src":"42313:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10907,"mutability":"mutable","name":"p3","nameLocation":"42339:2:24","nodeType":"VariableDeclaration","scope":10922,"src":"42331:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10906,"name":"uint256","nodeType":"ElementaryTypeName","src":"42331:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42282:60:24"},"returnParameters":{"id":10909,"nodeType":"ParameterList","parameters":[],"src":"42357:0:24"},"scope":14120,"src":"42270:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10944,"nodeType":"Block","src":"42567:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":10936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42617:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":10937,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10924,"src":"42654:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10938,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10926,"src":"42658:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10939,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10928,"src":"42662:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10940,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10930,"src":"42666:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42593:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42597:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42593:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42593:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10933,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"42577:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42577:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10943,"nodeType":"ExpressionStatement","src":"42577:93:24"}]},"id":10945,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42483:3:24","nodeType":"FunctionDefinition","parameters":{"id":10931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10924,"mutability":"mutable","name":"p0","nameLocation":"42501:2:24","nodeType":"VariableDeclaration","scope":10945,"src":"42487:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10923,"name":"string","nodeType":"ElementaryTypeName","src":"42487:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10926,"mutability":"mutable","name":"p1","nameLocation":"42513:2:24","nodeType":"VariableDeclaration","scope":10945,"src":"42505:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10925,"name":"address","nodeType":"ElementaryTypeName","src":"42505:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10928,"mutability":"mutable","name":"p2","nameLocation":"42531:2:24","nodeType":"VariableDeclaration","scope":10945,"src":"42517:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10927,"name":"string","nodeType":"ElementaryTypeName","src":"42517:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10930,"mutability":"mutable","name":"p3","nameLocation":"42549:2:24","nodeType":"VariableDeclaration","scope":10945,"src":"42535:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10929,"name":"string","nodeType":"ElementaryTypeName","src":"42535:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42486:66:24"},"returnParameters":{"id":10932,"nodeType":"ParameterList","parameters":[],"src":"42567:0:24"},"scope":14120,"src":"42474:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10967,"nodeType":"Block","src":"42767:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":10959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42817:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":10960,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10947,"src":"42852:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10961,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10949,"src":"42856:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10962,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10951,"src":"42860:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10963,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10953,"src":"42864:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10957,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42793:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42797:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42793:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42793:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10956,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"42777:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42777:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10966,"nodeType":"ExpressionStatement","src":"42777:91:24"}]},"id":10968,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42692:3:24","nodeType":"FunctionDefinition","parameters":{"id":10954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10947,"mutability":"mutable","name":"p0","nameLocation":"42710:2:24","nodeType":"VariableDeclaration","scope":10968,"src":"42696:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10946,"name":"string","nodeType":"ElementaryTypeName","src":"42696:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10949,"mutability":"mutable","name":"p1","nameLocation":"42722:2:24","nodeType":"VariableDeclaration","scope":10968,"src":"42714:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10948,"name":"address","nodeType":"ElementaryTypeName","src":"42714:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10951,"mutability":"mutable","name":"p2","nameLocation":"42740:2:24","nodeType":"VariableDeclaration","scope":10968,"src":"42726:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10950,"name":"string","nodeType":"ElementaryTypeName","src":"42726:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10953,"mutability":"mutable","name":"p3","nameLocation":"42749:2:24","nodeType":"VariableDeclaration","scope":10968,"src":"42744:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10952,"name":"bool","nodeType":"ElementaryTypeName","src":"42744:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42695:57:24"},"returnParameters":{"id":10955,"nodeType":"ParameterList","parameters":[],"src":"42767:0:24"},"scope":14120,"src":"42683:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":10990,"nodeType":"Block","src":"42968:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":10982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43018:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":10983,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10970,"src":"43056:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10984,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10972,"src":"43060:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10985,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10974,"src":"43064:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10986,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10976,"src":"43068:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42994:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42998:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42994:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42994:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10979,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"42978:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":10988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42978:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10989,"nodeType":"ExpressionStatement","src":"42978:94:24"}]},"id":10991,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42890:3:24","nodeType":"FunctionDefinition","parameters":{"id":10977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10970,"mutability":"mutable","name":"p0","nameLocation":"42908:2:24","nodeType":"VariableDeclaration","scope":10991,"src":"42894:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10969,"name":"string","nodeType":"ElementaryTypeName","src":"42894:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10972,"mutability":"mutable","name":"p1","nameLocation":"42920:2:24","nodeType":"VariableDeclaration","scope":10991,"src":"42912:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10971,"name":"address","nodeType":"ElementaryTypeName","src":"42912:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10974,"mutability":"mutable","name":"p2","nameLocation":"42938:2:24","nodeType":"VariableDeclaration","scope":10991,"src":"42924:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10973,"name":"string","nodeType":"ElementaryTypeName","src":"42924:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10976,"mutability":"mutable","name":"p3","nameLocation":"42950:2:24","nodeType":"VariableDeclaration","scope":10991,"src":"42942:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10975,"name":"address","nodeType":"ElementaryTypeName","src":"42942:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42893:60:24"},"returnParameters":{"id":10978,"nodeType":"ParameterList","parameters":[],"src":"42968:0:24"},"scope":14120,"src":"42881:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11013,"nodeType":"Block","src":"43163:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":11005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43213:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":11006,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10993,"src":"43249:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11007,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10995,"src":"43253:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11008,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10997,"src":"43257:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11009,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10999,"src":"43261:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43189:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43193:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43189:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43189:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11002,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"43173:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43173:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11012,"nodeType":"ExpressionStatement","src":"43173:92:24"}]},"id":11014,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43094:3:24","nodeType":"FunctionDefinition","parameters":{"id":11000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10993,"mutability":"mutable","name":"p0","nameLocation":"43112:2:24","nodeType":"VariableDeclaration","scope":11014,"src":"43098:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10992,"name":"string","nodeType":"ElementaryTypeName","src":"43098:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10995,"mutability":"mutable","name":"p1","nameLocation":"43124:2:24","nodeType":"VariableDeclaration","scope":11014,"src":"43116:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10994,"name":"address","nodeType":"ElementaryTypeName","src":"43116:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10997,"mutability":"mutable","name":"p2","nameLocation":"43133:2:24","nodeType":"VariableDeclaration","scope":11014,"src":"43128:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10996,"name":"bool","nodeType":"ElementaryTypeName","src":"43128:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10999,"mutability":"mutable","name":"p3","nameLocation":"43145:2:24","nodeType":"VariableDeclaration","scope":11014,"src":"43137:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10998,"name":"uint256","nodeType":"ElementaryTypeName","src":"43137:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43097:51:24"},"returnParameters":{"id":11001,"nodeType":"ParameterList","parameters":[],"src":"43163:0:24"},"scope":14120,"src":"43085:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11036,"nodeType":"Block","src":"43362:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":11028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43412:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":11029,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11016,"src":"43447:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11030,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11018,"src":"43451:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11031,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11020,"src":"43455:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11032,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11022,"src":"43459:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11026,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43388:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43392:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43388:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43388:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11025,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"43372:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43372:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11035,"nodeType":"ExpressionStatement","src":"43372:91:24"}]},"id":11037,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43287:3:24","nodeType":"FunctionDefinition","parameters":{"id":11023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11016,"mutability":"mutable","name":"p0","nameLocation":"43305:2:24","nodeType":"VariableDeclaration","scope":11037,"src":"43291:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11015,"name":"string","nodeType":"ElementaryTypeName","src":"43291:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11018,"mutability":"mutable","name":"p1","nameLocation":"43317:2:24","nodeType":"VariableDeclaration","scope":11037,"src":"43309:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11017,"name":"address","nodeType":"ElementaryTypeName","src":"43309:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11020,"mutability":"mutable","name":"p2","nameLocation":"43326:2:24","nodeType":"VariableDeclaration","scope":11037,"src":"43321:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11019,"name":"bool","nodeType":"ElementaryTypeName","src":"43321:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11022,"mutability":"mutable","name":"p3","nameLocation":"43344:2:24","nodeType":"VariableDeclaration","scope":11037,"src":"43330:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11021,"name":"string","nodeType":"ElementaryTypeName","src":"43330:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43290:57:24"},"returnParameters":{"id":11024,"nodeType":"ParameterList","parameters":[],"src":"43362:0:24"},"scope":14120,"src":"43278:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11059,"nodeType":"Block","src":"43551:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":11051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43601:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":11052,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11039,"src":"43634:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11053,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11041,"src":"43638:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11054,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11043,"src":"43642:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11055,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11045,"src":"43646:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43577:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43581:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43577:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43577:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11048,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"43561:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43561:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11058,"nodeType":"ExpressionStatement","src":"43561:89:24"}]},"id":11060,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43485:3:24","nodeType":"FunctionDefinition","parameters":{"id":11046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11039,"mutability":"mutable","name":"p0","nameLocation":"43503:2:24","nodeType":"VariableDeclaration","scope":11060,"src":"43489:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11038,"name":"string","nodeType":"ElementaryTypeName","src":"43489:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11041,"mutability":"mutable","name":"p1","nameLocation":"43515:2:24","nodeType":"VariableDeclaration","scope":11060,"src":"43507:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11040,"name":"address","nodeType":"ElementaryTypeName","src":"43507:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11043,"mutability":"mutable","name":"p2","nameLocation":"43524:2:24","nodeType":"VariableDeclaration","scope":11060,"src":"43519:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11042,"name":"bool","nodeType":"ElementaryTypeName","src":"43519:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11045,"mutability":"mutable","name":"p3","nameLocation":"43533:2:24","nodeType":"VariableDeclaration","scope":11060,"src":"43528:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11044,"name":"bool","nodeType":"ElementaryTypeName","src":"43528:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43488:48:24"},"returnParameters":{"id":11047,"nodeType":"ParameterList","parameters":[],"src":"43551:0:24"},"scope":14120,"src":"43476:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11082,"nodeType":"Block","src":"43741:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":11074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43791:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":11075,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11062,"src":"43827:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11076,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11064,"src":"43831:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11077,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11066,"src":"43835:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11078,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11068,"src":"43839:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11072,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43767:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43771:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43767:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43767:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11071,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"43751:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43751:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11081,"nodeType":"ExpressionStatement","src":"43751:92:24"}]},"id":11083,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43672:3:24","nodeType":"FunctionDefinition","parameters":{"id":11069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11062,"mutability":"mutable","name":"p0","nameLocation":"43690:2:24","nodeType":"VariableDeclaration","scope":11083,"src":"43676:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11061,"name":"string","nodeType":"ElementaryTypeName","src":"43676:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11064,"mutability":"mutable","name":"p1","nameLocation":"43702:2:24","nodeType":"VariableDeclaration","scope":11083,"src":"43694:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11063,"name":"address","nodeType":"ElementaryTypeName","src":"43694:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11066,"mutability":"mutable","name":"p2","nameLocation":"43711:2:24","nodeType":"VariableDeclaration","scope":11083,"src":"43706:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11065,"name":"bool","nodeType":"ElementaryTypeName","src":"43706:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11068,"mutability":"mutable","name":"p3","nameLocation":"43723:2:24","nodeType":"VariableDeclaration","scope":11083,"src":"43715:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11067,"name":"address","nodeType":"ElementaryTypeName","src":"43715:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43675:51:24"},"returnParameters":{"id":11070,"nodeType":"ParameterList","parameters":[],"src":"43741:0:24"},"scope":14120,"src":"43663:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11105,"nodeType":"Block","src":"43937:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":11097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43987:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":11098,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11085,"src":"44026:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11099,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11087,"src":"44030:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11100,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11089,"src":"44034:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11101,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11091,"src":"44038:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11095,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43963:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43967:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43963:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43963:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11094,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"43947:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43947:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11104,"nodeType":"ExpressionStatement","src":"43947:95:24"}]},"id":11106,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43865:3:24","nodeType":"FunctionDefinition","parameters":{"id":11092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11085,"mutability":"mutable","name":"p0","nameLocation":"43883:2:24","nodeType":"VariableDeclaration","scope":11106,"src":"43869:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11084,"name":"string","nodeType":"ElementaryTypeName","src":"43869:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11087,"mutability":"mutable","name":"p1","nameLocation":"43895:2:24","nodeType":"VariableDeclaration","scope":11106,"src":"43887:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11086,"name":"address","nodeType":"ElementaryTypeName","src":"43887:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11089,"mutability":"mutable","name":"p2","nameLocation":"43907:2:24","nodeType":"VariableDeclaration","scope":11106,"src":"43899:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11088,"name":"address","nodeType":"ElementaryTypeName","src":"43899:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11091,"mutability":"mutable","name":"p3","nameLocation":"43919:2:24","nodeType":"VariableDeclaration","scope":11106,"src":"43911:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11090,"name":"uint256","nodeType":"ElementaryTypeName","src":"43911:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43868:54:24"},"returnParameters":{"id":11093,"nodeType":"ParameterList","parameters":[],"src":"43937:0:24"},"scope":14120,"src":"43856:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11128,"nodeType":"Block","src":"44142:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":11120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44192:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":11121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11108,"src":"44230:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11110,"src":"44234:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11112,"src":"44238:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11124,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11114,"src":"44242:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44168:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44172:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44168:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44168:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"44152:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44152:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11127,"nodeType":"ExpressionStatement","src":"44152:94:24"}]},"id":11129,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44064:3:24","nodeType":"FunctionDefinition","parameters":{"id":11115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11108,"mutability":"mutable","name":"p0","nameLocation":"44082:2:24","nodeType":"VariableDeclaration","scope":11129,"src":"44068:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11107,"name":"string","nodeType":"ElementaryTypeName","src":"44068:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11110,"mutability":"mutable","name":"p1","nameLocation":"44094:2:24","nodeType":"VariableDeclaration","scope":11129,"src":"44086:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11109,"name":"address","nodeType":"ElementaryTypeName","src":"44086:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11112,"mutability":"mutable","name":"p2","nameLocation":"44106:2:24","nodeType":"VariableDeclaration","scope":11129,"src":"44098:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11111,"name":"address","nodeType":"ElementaryTypeName","src":"44098:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11114,"mutability":"mutable","name":"p3","nameLocation":"44124:2:24","nodeType":"VariableDeclaration","scope":11129,"src":"44110:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11113,"name":"string","nodeType":"ElementaryTypeName","src":"44110:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44067:60:24"},"returnParameters":{"id":11116,"nodeType":"ParameterList","parameters":[],"src":"44142:0:24"},"scope":14120,"src":"44055:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11151,"nodeType":"Block","src":"44337:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":11143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44387:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":11144,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11131,"src":"44423:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11145,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11133,"src":"44427:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11146,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11135,"src":"44431:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11147,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11137,"src":"44435:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44363:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44367:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44363:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44363:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"44347:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44347:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11150,"nodeType":"ExpressionStatement","src":"44347:92:24"}]},"id":11152,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44268:3:24","nodeType":"FunctionDefinition","parameters":{"id":11138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11131,"mutability":"mutable","name":"p0","nameLocation":"44286:2:24","nodeType":"VariableDeclaration","scope":11152,"src":"44272:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11130,"name":"string","nodeType":"ElementaryTypeName","src":"44272:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11133,"mutability":"mutable","name":"p1","nameLocation":"44298:2:24","nodeType":"VariableDeclaration","scope":11152,"src":"44290:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11132,"name":"address","nodeType":"ElementaryTypeName","src":"44290:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11135,"mutability":"mutable","name":"p2","nameLocation":"44310:2:24","nodeType":"VariableDeclaration","scope":11152,"src":"44302:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11134,"name":"address","nodeType":"ElementaryTypeName","src":"44302:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11137,"mutability":"mutable","name":"p3","nameLocation":"44319:2:24","nodeType":"VariableDeclaration","scope":11152,"src":"44314:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11136,"name":"bool","nodeType":"ElementaryTypeName","src":"44314:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44271:51:24"},"returnParameters":{"id":11139,"nodeType":"ParameterList","parameters":[],"src":"44337:0:24"},"scope":14120,"src":"44259:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11174,"nodeType":"Block","src":"44533:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":11166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44583:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":11167,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11154,"src":"44622:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11168,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11156,"src":"44626:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11169,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11158,"src":"44630:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11170,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11160,"src":"44634:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11164,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44559:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44563:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44559:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44559:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11163,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"44543:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44543:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11173,"nodeType":"ExpressionStatement","src":"44543:95:24"}]},"id":11175,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44461:3:24","nodeType":"FunctionDefinition","parameters":{"id":11161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11154,"mutability":"mutable","name":"p0","nameLocation":"44479:2:24","nodeType":"VariableDeclaration","scope":11175,"src":"44465:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11153,"name":"string","nodeType":"ElementaryTypeName","src":"44465:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11156,"mutability":"mutable","name":"p1","nameLocation":"44491:2:24","nodeType":"VariableDeclaration","scope":11175,"src":"44483:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11155,"name":"address","nodeType":"ElementaryTypeName","src":"44483:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11158,"mutability":"mutable","name":"p2","nameLocation":"44503:2:24","nodeType":"VariableDeclaration","scope":11175,"src":"44495:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11157,"name":"address","nodeType":"ElementaryTypeName","src":"44495:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11160,"mutability":"mutable","name":"p3","nameLocation":"44515:2:24","nodeType":"VariableDeclaration","scope":11175,"src":"44507:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11159,"name":"address","nodeType":"ElementaryTypeName","src":"44507:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44464:54:24"},"returnParameters":{"id":11162,"nodeType":"ParameterList","parameters":[],"src":"44533:0:24"},"scope":14120,"src":"44452:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11197,"nodeType":"Block","src":"44723:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":11189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44773:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":11190,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11177,"src":"44810:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11191,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11179,"src":"44814:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11192,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11181,"src":"44818:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11193,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11183,"src":"44822:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11187,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44749:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44753:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44749:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44749:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11186,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"44733:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44733:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11196,"nodeType":"ExpressionStatement","src":"44733:93:24"}]},"id":11198,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44660:3:24","nodeType":"FunctionDefinition","parameters":{"id":11184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11177,"mutability":"mutable","name":"p0","nameLocation":"44669:2:24","nodeType":"VariableDeclaration","scope":11198,"src":"44664:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11176,"name":"bool","nodeType":"ElementaryTypeName","src":"44664:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11179,"mutability":"mutable","name":"p1","nameLocation":"44681:2:24","nodeType":"VariableDeclaration","scope":11198,"src":"44673:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11178,"name":"uint256","nodeType":"ElementaryTypeName","src":"44673:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11181,"mutability":"mutable","name":"p2","nameLocation":"44693:2:24","nodeType":"VariableDeclaration","scope":11198,"src":"44685:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11180,"name":"uint256","nodeType":"ElementaryTypeName","src":"44685:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11183,"mutability":"mutable","name":"p3","nameLocation":"44705:2:24","nodeType":"VariableDeclaration","scope":11198,"src":"44697:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11182,"name":"uint256","nodeType":"ElementaryTypeName","src":"44697:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44663:45:24"},"returnParameters":{"id":11185,"nodeType":"ParameterList","parameters":[],"src":"44723:0:24"},"scope":14120,"src":"44651:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11220,"nodeType":"Block","src":"44917:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":11212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44967:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":11213,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11200,"src":"45003:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11214,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11202,"src":"45007:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11215,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11204,"src":"45011:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11216,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11206,"src":"45015:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11210,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44943:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44947:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44943:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44943:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11209,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"44927:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44927:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11219,"nodeType":"ExpressionStatement","src":"44927:92:24"}]},"id":11221,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44848:3:24","nodeType":"FunctionDefinition","parameters":{"id":11207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11200,"mutability":"mutable","name":"p0","nameLocation":"44857:2:24","nodeType":"VariableDeclaration","scope":11221,"src":"44852:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11199,"name":"bool","nodeType":"ElementaryTypeName","src":"44852:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11202,"mutability":"mutable","name":"p1","nameLocation":"44869:2:24","nodeType":"VariableDeclaration","scope":11221,"src":"44861:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11201,"name":"uint256","nodeType":"ElementaryTypeName","src":"44861:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11204,"mutability":"mutable","name":"p2","nameLocation":"44881:2:24","nodeType":"VariableDeclaration","scope":11221,"src":"44873:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11203,"name":"uint256","nodeType":"ElementaryTypeName","src":"44873:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11206,"mutability":"mutable","name":"p3","nameLocation":"44899:2:24","nodeType":"VariableDeclaration","scope":11221,"src":"44885:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11205,"name":"string","nodeType":"ElementaryTypeName","src":"44885:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44851:51:24"},"returnParameters":{"id":11208,"nodeType":"ParameterList","parameters":[],"src":"44917:0:24"},"scope":14120,"src":"44839:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11243,"nodeType":"Block","src":"45101:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":11235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45151:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":11236,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11223,"src":"45185:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11237,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11225,"src":"45189:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11238,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11227,"src":"45193:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11239,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11229,"src":"45197:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11233,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45127:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45131:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45127:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45127:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11232,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"45111:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45111:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11242,"nodeType":"ExpressionStatement","src":"45111:90:24"}]},"id":11244,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45041:3:24","nodeType":"FunctionDefinition","parameters":{"id":11230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11223,"mutability":"mutable","name":"p0","nameLocation":"45050:2:24","nodeType":"VariableDeclaration","scope":11244,"src":"45045:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11222,"name":"bool","nodeType":"ElementaryTypeName","src":"45045:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11225,"mutability":"mutable","name":"p1","nameLocation":"45062:2:24","nodeType":"VariableDeclaration","scope":11244,"src":"45054:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11224,"name":"uint256","nodeType":"ElementaryTypeName","src":"45054:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11227,"mutability":"mutable","name":"p2","nameLocation":"45074:2:24","nodeType":"VariableDeclaration","scope":11244,"src":"45066:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11226,"name":"uint256","nodeType":"ElementaryTypeName","src":"45066:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11229,"mutability":"mutable","name":"p3","nameLocation":"45083:2:24","nodeType":"VariableDeclaration","scope":11244,"src":"45078:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11228,"name":"bool","nodeType":"ElementaryTypeName","src":"45078:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45044:42:24"},"returnParameters":{"id":11231,"nodeType":"ParameterList","parameters":[],"src":"45101:0:24"},"scope":14120,"src":"45032:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11266,"nodeType":"Block","src":"45286:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":11258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45336:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":11259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11246,"src":"45373:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11248,"src":"45377:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11250,"src":"45381:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11262,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11252,"src":"45385:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45312:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45316:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45312:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45312:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"45296:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45296:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11265,"nodeType":"ExpressionStatement","src":"45296:93:24"}]},"id":11267,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45223:3:24","nodeType":"FunctionDefinition","parameters":{"id":11253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11246,"mutability":"mutable","name":"p0","nameLocation":"45232:2:24","nodeType":"VariableDeclaration","scope":11267,"src":"45227:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11245,"name":"bool","nodeType":"ElementaryTypeName","src":"45227:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11248,"mutability":"mutable","name":"p1","nameLocation":"45244:2:24","nodeType":"VariableDeclaration","scope":11267,"src":"45236:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11247,"name":"uint256","nodeType":"ElementaryTypeName","src":"45236:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11250,"mutability":"mutable","name":"p2","nameLocation":"45256:2:24","nodeType":"VariableDeclaration","scope":11267,"src":"45248:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11249,"name":"uint256","nodeType":"ElementaryTypeName","src":"45248:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11252,"mutability":"mutable","name":"p3","nameLocation":"45268:2:24","nodeType":"VariableDeclaration","scope":11267,"src":"45260:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11251,"name":"address","nodeType":"ElementaryTypeName","src":"45260:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45226:45:24"},"returnParameters":{"id":11254,"nodeType":"ParameterList","parameters":[],"src":"45286:0:24"},"scope":14120,"src":"45214:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11289,"nodeType":"Block","src":"45480:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":11281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45530:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":11282,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11269,"src":"45566:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11283,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11271,"src":"45570:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11284,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11273,"src":"45574:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11285,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11275,"src":"45578:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11279,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45506:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45510:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45506:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45506:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11278,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"45490:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45490:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11288,"nodeType":"ExpressionStatement","src":"45490:92:24"}]},"id":11290,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45411:3:24","nodeType":"FunctionDefinition","parameters":{"id":11276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11269,"mutability":"mutable","name":"p0","nameLocation":"45420:2:24","nodeType":"VariableDeclaration","scope":11290,"src":"45415:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11268,"name":"bool","nodeType":"ElementaryTypeName","src":"45415:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11271,"mutability":"mutable","name":"p1","nameLocation":"45432:2:24","nodeType":"VariableDeclaration","scope":11290,"src":"45424:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11270,"name":"uint256","nodeType":"ElementaryTypeName","src":"45424:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11273,"mutability":"mutable","name":"p2","nameLocation":"45450:2:24","nodeType":"VariableDeclaration","scope":11290,"src":"45436:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11272,"name":"string","nodeType":"ElementaryTypeName","src":"45436:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11275,"mutability":"mutable","name":"p3","nameLocation":"45462:2:24","nodeType":"VariableDeclaration","scope":11290,"src":"45454:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11274,"name":"uint256","nodeType":"ElementaryTypeName","src":"45454:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45414:51:24"},"returnParameters":{"id":11277,"nodeType":"ParameterList","parameters":[],"src":"45480:0:24"},"scope":14120,"src":"45402:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11312,"nodeType":"Block","src":"45679:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":11304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45729:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":11305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11292,"src":"45764:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11306,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11294,"src":"45768:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11307,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11296,"src":"45772:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11308,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11298,"src":"45776:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45705:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45709:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45705:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45705:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"45689:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45689:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11311,"nodeType":"ExpressionStatement","src":"45689:91:24"}]},"id":11313,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45604:3:24","nodeType":"FunctionDefinition","parameters":{"id":11299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11292,"mutability":"mutable","name":"p0","nameLocation":"45613:2:24","nodeType":"VariableDeclaration","scope":11313,"src":"45608:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11291,"name":"bool","nodeType":"ElementaryTypeName","src":"45608:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11294,"mutability":"mutable","name":"p1","nameLocation":"45625:2:24","nodeType":"VariableDeclaration","scope":11313,"src":"45617:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11293,"name":"uint256","nodeType":"ElementaryTypeName","src":"45617:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11296,"mutability":"mutable","name":"p2","nameLocation":"45643:2:24","nodeType":"VariableDeclaration","scope":11313,"src":"45629:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11295,"name":"string","nodeType":"ElementaryTypeName","src":"45629:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11298,"mutability":"mutable","name":"p3","nameLocation":"45661:2:24","nodeType":"VariableDeclaration","scope":11313,"src":"45647:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11297,"name":"string","nodeType":"ElementaryTypeName","src":"45647:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45607:57:24"},"returnParameters":{"id":11300,"nodeType":"ParameterList","parameters":[],"src":"45679:0:24"},"scope":14120,"src":"45595:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11335,"nodeType":"Block","src":"45868:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":11327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45918:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":11328,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11315,"src":"45951:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11329,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11317,"src":"45955:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11330,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11319,"src":"45959:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11331,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11321,"src":"45963:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45894:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45898:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45894:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45894:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11324,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"45878:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45878:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11334,"nodeType":"ExpressionStatement","src":"45878:89:24"}]},"id":11336,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45802:3:24","nodeType":"FunctionDefinition","parameters":{"id":11322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11315,"mutability":"mutable","name":"p0","nameLocation":"45811:2:24","nodeType":"VariableDeclaration","scope":11336,"src":"45806:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11314,"name":"bool","nodeType":"ElementaryTypeName","src":"45806:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11317,"mutability":"mutable","name":"p1","nameLocation":"45823:2:24","nodeType":"VariableDeclaration","scope":11336,"src":"45815:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11316,"name":"uint256","nodeType":"ElementaryTypeName","src":"45815:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11319,"mutability":"mutable","name":"p2","nameLocation":"45841:2:24","nodeType":"VariableDeclaration","scope":11336,"src":"45827:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11318,"name":"string","nodeType":"ElementaryTypeName","src":"45827:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11321,"mutability":"mutable","name":"p3","nameLocation":"45850:2:24","nodeType":"VariableDeclaration","scope":11336,"src":"45845:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11320,"name":"bool","nodeType":"ElementaryTypeName","src":"45845:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45805:48:24"},"returnParameters":{"id":11323,"nodeType":"ParameterList","parameters":[],"src":"45868:0:24"},"scope":14120,"src":"45793:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11358,"nodeType":"Block","src":"46058:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":11350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46108:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":11351,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"46144:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11352,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11340,"src":"46148:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11353,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11342,"src":"46152:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11354,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11344,"src":"46156:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46084:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46088:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46084:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46084:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"46068:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46068:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11357,"nodeType":"ExpressionStatement","src":"46068:92:24"}]},"id":11359,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45989:3:24","nodeType":"FunctionDefinition","parameters":{"id":11345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11338,"mutability":"mutable","name":"p0","nameLocation":"45998:2:24","nodeType":"VariableDeclaration","scope":11359,"src":"45993:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11337,"name":"bool","nodeType":"ElementaryTypeName","src":"45993:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11340,"mutability":"mutable","name":"p1","nameLocation":"46010:2:24","nodeType":"VariableDeclaration","scope":11359,"src":"46002:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11339,"name":"uint256","nodeType":"ElementaryTypeName","src":"46002:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11342,"mutability":"mutable","name":"p2","nameLocation":"46028:2:24","nodeType":"VariableDeclaration","scope":11359,"src":"46014:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11341,"name":"string","nodeType":"ElementaryTypeName","src":"46014:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11344,"mutability":"mutable","name":"p3","nameLocation":"46040:2:24","nodeType":"VariableDeclaration","scope":11359,"src":"46032:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11343,"name":"address","nodeType":"ElementaryTypeName","src":"46032:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45992:51:24"},"returnParameters":{"id":11346,"nodeType":"ParameterList","parameters":[],"src":"46058:0:24"},"scope":14120,"src":"45980:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11381,"nodeType":"Block","src":"46242:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":11373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46292:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":11374,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11361,"src":"46326:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11375,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11363,"src":"46330:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11376,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11365,"src":"46334:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11377,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11367,"src":"46338:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11371,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46268:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46272:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46268:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46268:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11370,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"46252:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46252:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11380,"nodeType":"ExpressionStatement","src":"46252:90:24"}]},"id":11382,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46182:3:24","nodeType":"FunctionDefinition","parameters":{"id":11368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11361,"mutability":"mutable","name":"p0","nameLocation":"46191:2:24","nodeType":"VariableDeclaration","scope":11382,"src":"46186:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11360,"name":"bool","nodeType":"ElementaryTypeName","src":"46186:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11363,"mutability":"mutable","name":"p1","nameLocation":"46203:2:24","nodeType":"VariableDeclaration","scope":11382,"src":"46195:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11362,"name":"uint256","nodeType":"ElementaryTypeName","src":"46195:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11365,"mutability":"mutable","name":"p2","nameLocation":"46212:2:24","nodeType":"VariableDeclaration","scope":11382,"src":"46207:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11364,"name":"bool","nodeType":"ElementaryTypeName","src":"46207:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11367,"mutability":"mutable","name":"p3","nameLocation":"46224:2:24","nodeType":"VariableDeclaration","scope":11382,"src":"46216:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11366,"name":"uint256","nodeType":"ElementaryTypeName","src":"46216:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46185:42:24"},"returnParameters":{"id":11369,"nodeType":"ParameterList","parameters":[],"src":"46242:0:24"},"scope":14120,"src":"46173:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11404,"nodeType":"Block","src":"46430:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":11396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46480:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":11397,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11384,"src":"46513:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11398,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11386,"src":"46517:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11399,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11388,"src":"46521:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11400,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11390,"src":"46525:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11394,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46456:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46460:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46456:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46456:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11393,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"46440:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46440:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11403,"nodeType":"ExpressionStatement","src":"46440:89:24"}]},"id":11405,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46364:3:24","nodeType":"FunctionDefinition","parameters":{"id":11391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11384,"mutability":"mutable","name":"p0","nameLocation":"46373:2:24","nodeType":"VariableDeclaration","scope":11405,"src":"46368:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11383,"name":"bool","nodeType":"ElementaryTypeName","src":"46368:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11386,"mutability":"mutable","name":"p1","nameLocation":"46385:2:24","nodeType":"VariableDeclaration","scope":11405,"src":"46377:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11385,"name":"uint256","nodeType":"ElementaryTypeName","src":"46377:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11388,"mutability":"mutable","name":"p2","nameLocation":"46394:2:24","nodeType":"VariableDeclaration","scope":11405,"src":"46389:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11387,"name":"bool","nodeType":"ElementaryTypeName","src":"46389:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11390,"mutability":"mutable","name":"p3","nameLocation":"46412:2:24","nodeType":"VariableDeclaration","scope":11405,"src":"46398:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11389,"name":"string","nodeType":"ElementaryTypeName","src":"46398:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46367:48:24"},"returnParameters":{"id":11392,"nodeType":"ParameterList","parameters":[],"src":"46430:0:24"},"scope":14120,"src":"46355:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11427,"nodeType":"Block","src":"46608:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":11419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46658:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":11420,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11407,"src":"46689:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11421,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11409,"src":"46693:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11422,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11411,"src":"46697:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11423,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11413,"src":"46701:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11417,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46634:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46638:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46634:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46634:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11416,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"46618:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46618:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11426,"nodeType":"ExpressionStatement","src":"46618:87:24"}]},"id":11428,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46551:3:24","nodeType":"FunctionDefinition","parameters":{"id":11414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11407,"mutability":"mutable","name":"p0","nameLocation":"46560:2:24","nodeType":"VariableDeclaration","scope":11428,"src":"46555:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11406,"name":"bool","nodeType":"ElementaryTypeName","src":"46555:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11409,"mutability":"mutable","name":"p1","nameLocation":"46572:2:24","nodeType":"VariableDeclaration","scope":11428,"src":"46564:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11408,"name":"uint256","nodeType":"ElementaryTypeName","src":"46564:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11411,"mutability":"mutable","name":"p2","nameLocation":"46581:2:24","nodeType":"VariableDeclaration","scope":11428,"src":"46576:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11410,"name":"bool","nodeType":"ElementaryTypeName","src":"46576:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11413,"mutability":"mutable","name":"p3","nameLocation":"46590:2:24","nodeType":"VariableDeclaration","scope":11428,"src":"46585:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11412,"name":"bool","nodeType":"ElementaryTypeName","src":"46585:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46554:39:24"},"returnParameters":{"id":11415,"nodeType":"ParameterList","parameters":[],"src":"46608:0:24"},"scope":14120,"src":"46542:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11450,"nodeType":"Block","src":"46787:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":11442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46837:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":11443,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11430,"src":"46871:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11444,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11432,"src":"46875:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11445,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11434,"src":"46879:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11446,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11436,"src":"46883:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11440,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46813:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46817:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46813:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46813:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11439,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"46797:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46797:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11449,"nodeType":"ExpressionStatement","src":"46797:90:24"}]},"id":11451,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46727:3:24","nodeType":"FunctionDefinition","parameters":{"id":11437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11430,"mutability":"mutable","name":"p0","nameLocation":"46736:2:24","nodeType":"VariableDeclaration","scope":11451,"src":"46731:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11429,"name":"bool","nodeType":"ElementaryTypeName","src":"46731:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11432,"mutability":"mutable","name":"p1","nameLocation":"46748:2:24","nodeType":"VariableDeclaration","scope":11451,"src":"46740:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11431,"name":"uint256","nodeType":"ElementaryTypeName","src":"46740:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11434,"mutability":"mutable","name":"p2","nameLocation":"46757:2:24","nodeType":"VariableDeclaration","scope":11451,"src":"46752:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11433,"name":"bool","nodeType":"ElementaryTypeName","src":"46752:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11436,"mutability":"mutable","name":"p3","nameLocation":"46769:2:24","nodeType":"VariableDeclaration","scope":11451,"src":"46761:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11435,"name":"address","nodeType":"ElementaryTypeName","src":"46761:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46730:42:24"},"returnParameters":{"id":11438,"nodeType":"ParameterList","parameters":[],"src":"46787:0:24"},"scope":14120,"src":"46718:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11473,"nodeType":"Block","src":"46972:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":11465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47022:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":11466,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11453,"src":"47059:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11467,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11455,"src":"47063:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11468,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11457,"src":"47067:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11469,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11459,"src":"47071:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11463,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46998:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47002:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46998:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46998:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11462,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"46982:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46982:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11472,"nodeType":"ExpressionStatement","src":"46982:93:24"}]},"id":11474,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46909:3:24","nodeType":"FunctionDefinition","parameters":{"id":11460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11453,"mutability":"mutable","name":"p0","nameLocation":"46918:2:24","nodeType":"VariableDeclaration","scope":11474,"src":"46913:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11452,"name":"bool","nodeType":"ElementaryTypeName","src":"46913:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11455,"mutability":"mutable","name":"p1","nameLocation":"46930:2:24","nodeType":"VariableDeclaration","scope":11474,"src":"46922:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11454,"name":"uint256","nodeType":"ElementaryTypeName","src":"46922:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11457,"mutability":"mutable","name":"p2","nameLocation":"46942:2:24","nodeType":"VariableDeclaration","scope":11474,"src":"46934:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11456,"name":"address","nodeType":"ElementaryTypeName","src":"46934:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11459,"mutability":"mutable","name":"p3","nameLocation":"46954:2:24","nodeType":"VariableDeclaration","scope":11474,"src":"46946:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11458,"name":"uint256","nodeType":"ElementaryTypeName","src":"46946:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46912:45:24"},"returnParameters":{"id":11461,"nodeType":"ParameterList","parameters":[],"src":"46972:0:24"},"scope":14120,"src":"46900:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11496,"nodeType":"Block","src":"47166:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":11488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47216:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":11489,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11476,"src":"47252:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11490,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11478,"src":"47256:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11491,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11480,"src":"47260:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11492,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11482,"src":"47264:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47192:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47196:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47192:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47192:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11485,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"47176:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47176:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11495,"nodeType":"ExpressionStatement","src":"47176:92:24"}]},"id":11497,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47097:3:24","nodeType":"FunctionDefinition","parameters":{"id":11483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11476,"mutability":"mutable","name":"p0","nameLocation":"47106:2:24","nodeType":"VariableDeclaration","scope":11497,"src":"47101:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11475,"name":"bool","nodeType":"ElementaryTypeName","src":"47101:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11478,"mutability":"mutable","name":"p1","nameLocation":"47118:2:24","nodeType":"VariableDeclaration","scope":11497,"src":"47110:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11477,"name":"uint256","nodeType":"ElementaryTypeName","src":"47110:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11480,"mutability":"mutable","name":"p2","nameLocation":"47130:2:24","nodeType":"VariableDeclaration","scope":11497,"src":"47122:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11479,"name":"address","nodeType":"ElementaryTypeName","src":"47122:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11482,"mutability":"mutable","name":"p3","nameLocation":"47148:2:24","nodeType":"VariableDeclaration","scope":11497,"src":"47134:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11481,"name":"string","nodeType":"ElementaryTypeName","src":"47134:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47100:51:24"},"returnParameters":{"id":11484,"nodeType":"ParameterList","parameters":[],"src":"47166:0:24"},"scope":14120,"src":"47088:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11519,"nodeType":"Block","src":"47350:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":11511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47400:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":11512,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11499,"src":"47434:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11513,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11501,"src":"47438:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11514,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11503,"src":"47442:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11515,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11505,"src":"47446:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11509,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47376:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47380:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47376:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47376:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11508,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"47360:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47360:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11518,"nodeType":"ExpressionStatement","src":"47360:90:24"}]},"id":11520,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47290:3:24","nodeType":"FunctionDefinition","parameters":{"id":11506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11499,"mutability":"mutable","name":"p0","nameLocation":"47299:2:24","nodeType":"VariableDeclaration","scope":11520,"src":"47294:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11498,"name":"bool","nodeType":"ElementaryTypeName","src":"47294:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11501,"mutability":"mutable","name":"p1","nameLocation":"47311:2:24","nodeType":"VariableDeclaration","scope":11520,"src":"47303:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11500,"name":"uint256","nodeType":"ElementaryTypeName","src":"47303:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11503,"mutability":"mutable","name":"p2","nameLocation":"47323:2:24","nodeType":"VariableDeclaration","scope":11520,"src":"47315:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11502,"name":"address","nodeType":"ElementaryTypeName","src":"47315:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11505,"mutability":"mutable","name":"p3","nameLocation":"47332:2:24","nodeType":"VariableDeclaration","scope":11520,"src":"47327:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11504,"name":"bool","nodeType":"ElementaryTypeName","src":"47327:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47293:42:24"},"returnParameters":{"id":11507,"nodeType":"ParameterList","parameters":[],"src":"47350:0:24"},"scope":14120,"src":"47281:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11542,"nodeType":"Block","src":"47535:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":11534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47585:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":11535,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11522,"src":"47622:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11536,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11524,"src":"47626:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11537,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11526,"src":"47630:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11538,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11528,"src":"47634:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11532,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47561:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47565:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47561:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47561:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11531,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"47545:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47545:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11541,"nodeType":"ExpressionStatement","src":"47545:93:24"}]},"id":11543,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47472:3:24","nodeType":"FunctionDefinition","parameters":{"id":11529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11522,"mutability":"mutable","name":"p0","nameLocation":"47481:2:24","nodeType":"VariableDeclaration","scope":11543,"src":"47476:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11521,"name":"bool","nodeType":"ElementaryTypeName","src":"47476:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11524,"mutability":"mutable","name":"p1","nameLocation":"47493:2:24","nodeType":"VariableDeclaration","scope":11543,"src":"47485:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11523,"name":"uint256","nodeType":"ElementaryTypeName","src":"47485:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11526,"mutability":"mutable","name":"p2","nameLocation":"47505:2:24","nodeType":"VariableDeclaration","scope":11543,"src":"47497:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11525,"name":"address","nodeType":"ElementaryTypeName","src":"47497:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11528,"mutability":"mutable","name":"p3","nameLocation":"47517:2:24","nodeType":"VariableDeclaration","scope":11543,"src":"47509:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11527,"name":"address","nodeType":"ElementaryTypeName","src":"47509:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47475:45:24"},"returnParameters":{"id":11530,"nodeType":"ParameterList","parameters":[],"src":"47535:0:24"},"scope":14120,"src":"47463:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11565,"nodeType":"Block","src":"47729:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":11557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47779:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":11558,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11545,"src":"47815:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11559,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11547,"src":"47819:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11560,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11549,"src":"47823:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11561,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11551,"src":"47827:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47755:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47759:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47755:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47755:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11554,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"47739:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47739:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11564,"nodeType":"ExpressionStatement","src":"47739:92:24"}]},"id":11566,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47660:3:24","nodeType":"FunctionDefinition","parameters":{"id":11552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11545,"mutability":"mutable","name":"p0","nameLocation":"47669:2:24","nodeType":"VariableDeclaration","scope":11566,"src":"47664:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11544,"name":"bool","nodeType":"ElementaryTypeName","src":"47664:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11547,"mutability":"mutable","name":"p1","nameLocation":"47687:2:24","nodeType":"VariableDeclaration","scope":11566,"src":"47673:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11546,"name":"string","nodeType":"ElementaryTypeName","src":"47673:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11549,"mutability":"mutable","name":"p2","nameLocation":"47699:2:24","nodeType":"VariableDeclaration","scope":11566,"src":"47691:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11548,"name":"uint256","nodeType":"ElementaryTypeName","src":"47691:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11551,"mutability":"mutable","name":"p3","nameLocation":"47711:2:24","nodeType":"VariableDeclaration","scope":11566,"src":"47703:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11550,"name":"uint256","nodeType":"ElementaryTypeName","src":"47703:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47663:51:24"},"returnParameters":{"id":11553,"nodeType":"ParameterList","parameters":[],"src":"47729:0:24"},"scope":14120,"src":"47651:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11588,"nodeType":"Block","src":"47928:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":11580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47978:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":11581,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11568,"src":"48013:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11582,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11570,"src":"48017:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11583,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"48021:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11584,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11574,"src":"48025:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47954:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47958:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47954:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47954:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"47938:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47938:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11587,"nodeType":"ExpressionStatement","src":"47938:91:24"}]},"id":11589,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47853:3:24","nodeType":"FunctionDefinition","parameters":{"id":11575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11568,"mutability":"mutable","name":"p0","nameLocation":"47862:2:24","nodeType":"VariableDeclaration","scope":11589,"src":"47857:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11567,"name":"bool","nodeType":"ElementaryTypeName","src":"47857:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11570,"mutability":"mutable","name":"p1","nameLocation":"47880:2:24","nodeType":"VariableDeclaration","scope":11589,"src":"47866:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11569,"name":"string","nodeType":"ElementaryTypeName","src":"47866:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11572,"mutability":"mutable","name":"p2","nameLocation":"47892:2:24","nodeType":"VariableDeclaration","scope":11589,"src":"47884:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11571,"name":"uint256","nodeType":"ElementaryTypeName","src":"47884:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11574,"mutability":"mutable","name":"p3","nameLocation":"47910:2:24","nodeType":"VariableDeclaration","scope":11589,"src":"47896:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11573,"name":"string","nodeType":"ElementaryTypeName","src":"47896:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47856:57:24"},"returnParameters":{"id":11576,"nodeType":"ParameterList","parameters":[],"src":"47928:0:24"},"scope":14120,"src":"47844:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11611,"nodeType":"Block","src":"48117:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":11603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48167:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":11604,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11591,"src":"48200:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11605,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11593,"src":"48204:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11606,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11595,"src":"48208:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11607,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11597,"src":"48212:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48143:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48147:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48143:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48143:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11600,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"48127:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48127:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11610,"nodeType":"ExpressionStatement","src":"48127:89:24"}]},"id":11612,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48051:3:24","nodeType":"FunctionDefinition","parameters":{"id":11598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11591,"mutability":"mutable","name":"p0","nameLocation":"48060:2:24","nodeType":"VariableDeclaration","scope":11612,"src":"48055:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11590,"name":"bool","nodeType":"ElementaryTypeName","src":"48055:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11593,"mutability":"mutable","name":"p1","nameLocation":"48078:2:24","nodeType":"VariableDeclaration","scope":11612,"src":"48064:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11592,"name":"string","nodeType":"ElementaryTypeName","src":"48064:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11595,"mutability":"mutable","name":"p2","nameLocation":"48090:2:24","nodeType":"VariableDeclaration","scope":11612,"src":"48082:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11594,"name":"uint256","nodeType":"ElementaryTypeName","src":"48082:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11597,"mutability":"mutable","name":"p3","nameLocation":"48099:2:24","nodeType":"VariableDeclaration","scope":11612,"src":"48094:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11596,"name":"bool","nodeType":"ElementaryTypeName","src":"48094:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48054:48:24"},"returnParameters":{"id":11599,"nodeType":"ParameterList","parameters":[],"src":"48117:0:24"},"scope":14120,"src":"48042:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11634,"nodeType":"Block","src":"48307:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":11626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48357:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":11627,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11614,"src":"48393:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11628,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11616,"src":"48397:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11629,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11618,"src":"48401:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11630,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11620,"src":"48405:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11624,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48333:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48337:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48333:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48333:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11623,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"48317:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48317:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11633,"nodeType":"ExpressionStatement","src":"48317:92:24"}]},"id":11635,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48238:3:24","nodeType":"FunctionDefinition","parameters":{"id":11621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11614,"mutability":"mutable","name":"p0","nameLocation":"48247:2:24","nodeType":"VariableDeclaration","scope":11635,"src":"48242:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11613,"name":"bool","nodeType":"ElementaryTypeName","src":"48242:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11616,"mutability":"mutable","name":"p1","nameLocation":"48265:2:24","nodeType":"VariableDeclaration","scope":11635,"src":"48251:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11615,"name":"string","nodeType":"ElementaryTypeName","src":"48251:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11618,"mutability":"mutable","name":"p2","nameLocation":"48277:2:24","nodeType":"VariableDeclaration","scope":11635,"src":"48269:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11617,"name":"uint256","nodeType":"ElementaryTypeName","src":"48269:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11620,"mutability":"mutable","name":"p3","nameLocation":"48289:2:24","nodeType":"VariableDeclaration","scope":11635,"src":"48281:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11619,"name":"address","nodeType":"ElementaryTypeName","src":"48281:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48241:51:24"},"returnParameters":{"id":11622,"nodeType":"ParameterList","parameters":[],"src":"48307:0:24"},"scope":14120,"src":"48229:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11657,"nodeType":"Block","src":"48506:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":11649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48556:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":11650,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11637,"src":"48591:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11651,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11639,"src":"48595:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11652,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11641,"src":"48599:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11653,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11643,"src":"48603:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11647,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48532:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48536:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48532:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48532:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11646,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"48516:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48516:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11656,"nodeType":"ExpressionStatement","src":"48516:91:24"}]},"id":11658,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48431:3:24","nodeType":"FunctionDefinition","parameters":{"id":11644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11637,"mutability":"mutable","name":"p0","nameLocation":"48440:2:24","nodeType":"VariableDeclaration","scope":11658,"src":"48435:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11636,"name":"bool","nodeType":"ElementaryTypeName","src":"48435:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11639,"mutability":"mutable","name":"p1","nameLocation":"48458:2:24","nodeType":"VariableDeclaration","scope":11658,"src":"48444:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11638,"name":"string","nodeType":"ElementaryTypeName","src":"48444:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11641,"mutability":"mutable","name":"p2","nameLocation":"48476:2:24","nodeType":"VariableDeclaration","scope":11658,"src":"48462:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11640,"name":"string","nodeType":"ElementaryTypeName","src":"48462:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11643,"mutability":"mutable","name":"p3","nameLocation":"48488:2:24","nodeType":"VariableDeclaration","scope":11658,"src":"48480:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11642,"name":"uint256","nodeType":"ElementaryTypeName","src":"48480:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48434:57:24"},"returnParameters":{"id":11645,"nodeType":"ParameterList","parameters":[],"src":"48506:0:24"},"scope":14120,"src":"48422:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11680,"nodeType":"Block","src":"48710:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":11672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48760:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":11673,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11660,"src":"48794:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11674,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11662,"src":"48798:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11675,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11664,"src":"48802:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11676,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11666,"src":"48806:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11670,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48736:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48740:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48736:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48736:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11669,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"48720:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48720:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11679,"nodeType":"ExpressionStatement","src":"48720:90:24"}]},"id":11681,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48629:3:24","nodeType":"FunctionDefinition","parameters":{"id":11667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11660,"mutability":"mutable","name":"p0","nameLocation":"48638:2:24","nodeType":"VariableDeclaration","scope":11681,"src":"48633:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11659,"name":"bool","nodeType":"ElementaryTypeName","src":"48633:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11662,"mutability":"mutable","name":"p1","nameLocation":"48656:2:24","nodeType":"VariableDeclaration","scope":11681,"src":"48642:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11661,"name":"string","nodeType":"ElementaryTypeName","src":"48642:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11664,"mutability":"mutable","name":"p2","nameLocation":"48674:2:24","nodeType":"VariableDeclaration","scope":11681,"src":"48660:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11663,"name":"string","nodeType":"ElementaryTypeName","src":"48660:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11666,"mutability":"mutable","name":"p3","nameLocation":"48692:2:24","nodeType":"VariableDeclaration","scope":11681,"src":"48678:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11665,"name":"string","nodeType":"ElementaryTypeName","src":"48678:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48632:63:24"},"returnParameters":{"id":11668,"nodeType":"ParameterList","parameters":[],"src":"48710:0:24"},"scope":14120,"src":"48620:197:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11703,"nodeType":"Block","src":"48904:105:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":11695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48954:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":11696,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11683,"src":"48986:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11697,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11685,"src":"48990:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11698,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11687,"src":"48994:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11699,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11689,"src":"48998:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11693,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48930:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48934:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48930:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48930:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11692,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"48914:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48914:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11702,"nodeType":"ExpressionStatement","src":"48914:88:24"}]},"id":11704,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48832:3:24","nodeType":"FunctionDefinition","parameters":{"id":11690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11683,"mutability":"mutable","name":"p0","nameLocation":"48841:2:24","nodeType":"VariableDeclaration","scope":11704,"src":"48836:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11682,"name":"bool","nodeType":"ElementaryTypeName","src":"48836:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11685,"mutability":"mutable","name":"p1","nameLocation":"48859:2:24","nodeType":"VariableDeclaration","scope":11704,"src":"48845:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11684,"name":"string","nodeType":"ElementaryTypeName","src":"48845:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11687,"mutability":"mutable","name":"p2","nameLocation":"48877:2:24","nodeType":"VariableDeclaration","scope":11704,"src":"48863:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11686,"name":"string","nodeType":"ElementaryTypeName","src":"48863:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11689,"mutability":"mutable","name":"p3","nameLocation":"48886:2:24","nodeType":"VariableDeclaration","scope":11704,"src":"48881:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11688,"name":"bool","nodeType":"ElementaryTypeName","src":"48881:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48835:54:24"},"returnParameters":{"id":11691,"nodeType":"ParameterList","parameters":[],"src":"48904:0:24"},"scope":14120,"src":"48823:186:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11726,"nodeType":"Block","src":"49099:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":11718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49149:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":11719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11706,"src":"49184:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11720,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11708,"src":"49188:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11721,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11710,"src":"49192:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11722,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11712,"src":"49196:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49125:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49129:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49125:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49125:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"49109:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49109:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11725,"nodeType":"ExpressionStatement","src":"49109:91:24"}]},"id":11727,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49024:3:24","nodeType":"FunctionDefinition","parameters":{"id":11713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11706,"mutability":"mutable","name":"p0","nameLocation":"49033:2:24","nodeType":"VariableDeclaration","scope":11727,"src":"49028:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11705,"name":"bool","nodeType":"ElementaryTypeName","src":"49028:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11708,"mutability":"mutable","name":"p1","nameLocation":"49051:2:24","nodeType":"VariableDeclaration","scope":11727,"src":"49037:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11707,"name":"string","nodeType":"ElementaryTypeName","src":"49037:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11710,"mutability":"mutable","name":"p2","nameLocation":"49069:2:24","nodeType":"VariableDeclaration","scope":11727,"src":"49055:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11709,"name":"string","nodeType":"ElementaryTypeName","src":"49055:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11712,"mutability":"mutable","name":"p3","nameLocation":"49081:2:24","nodeType":"VariableDeclaration","scope":11727,"src":"49073:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11711,"name":"address","nodeType":"ElementaryTypeName","src":"49073:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49027:57:24"},"returnParameters":{"id":11714,"nodeType":"ParameterList","parameters":[],"src":"49099:0:24"},"scope":14120,"src":"49015:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11749,"nodeType":"Block","src":"49288:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":11741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49338:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":11742,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11729,"src":"49371:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11743,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11731,"src":"49375:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11744,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11733,"src":"49379:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11745,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11735,"src":"49383:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11739,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49314:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49318:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49314:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49314:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11738,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"49298:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49298:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11748,"nodeType":"ExpressionStatement","src":"49298:89:24"}]},"id":11750,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49222:3:24","nodeType":"FunctionDefinition","parameters":{"id":11736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11729,"mutability":"mutable","name":"p0","nameLocation":"49231:2:24","nodeType":"VariableDeclaration","scope":11750,"src":"49226:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11728,"name":"bool","nodeType":"ElementaryTypeName","src":"49226:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11731,"mutability":"mutable","name":"p1","nameLocation":"49249:2:24","nodeType":"VariableDeclaration","scope":11750,"src":"49235:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11730,"name":"string","nodeType":"ElementaryTypeName","src":"49235:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11733,"mutability":"mutable","name":"p2","nameLocation":"49258:2:24","nodeType":"VariableDeclaration","scope":11750,"src":"49253:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11732,"name":"bool","nodeType":"ElementaryTypeName","src":"49253:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11735,"mutability":"mutable","name":"p3","nameLocation":"49270:2:24","nodeType":"VariableDeclaration","scope":11750,"src":"49262:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11734,"name":"uint256","nodeType":"ElementaryTypeName","src":"49262:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49225:48:24"},"returnParameters":{"id":11737,"nodeType":"ParameterList","parameters":[],"src":"49288:0:24"},"scope":14120,"src":"49213:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11772,"nodeType":"Block","src":"49481:105:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":11764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49531:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":11765,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11752,"src":"49563:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11766,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11754,"src":"49567:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11767,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11756,"src":"49571:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11768,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11758,"src":"49575:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49507:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49511:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49507:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49507:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11761,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"49491:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49491:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11771,"nodeType":"ExpressionStatement","src":"49491:88:24"}]},"id":11773,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49409:3:24","nodeType":"FunctionDefinition","parameters":{"id":11759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11752,"mutability":"mutable","name":"p0","nameLocation":"49418:2:24","nodeType":"VariableDeclaration","scope":11773,"src":"49413:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11751,"name":"bool","nodeType":"ElementaryTypeName","src":"49413:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11754,"mutability":"mutable","name":"p1","nameLocation":"49436:2:24","nodeType":"VariableDeclaration","scope":11773,"src":"49422:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11753,"name":"string","nodeType":"ElementaryTypeName","src":"49422:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11756,"mutability":"mutable","name":"p2","nameLocation":"49445:2:24","nodeType":"VariableDeclaration","scope":11773,"src":"49440:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11755,"name":"bool","nodeType":"ElementaryTypeName","src":"49440:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11758,"mutability":"mutable","name":"p3","nameLocation":"49463:2:24","nodeType":"VariableDeclaration","scope":11773,"src":"49449:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11757,"name":"string","nodeType":"ElementaryTypeName","src":"49449:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49412:54:24"},"returnParameters":{"id":11760,"nodeType":"ParameterList","parameters":[],"src":"49481:0:24"},"scope":14120,"src":"49400:186:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11795,"nodeType":"Block","src":"49664:103:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":11787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49714:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":11788,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11775,"src":"49744:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11789,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11777,"src":"49748:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11790,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11779,"src":"49752:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11791,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11781,"src":"49756:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11785,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49690:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49694:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49690:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49690:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11784,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"49674:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49674:86:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11794,"nodeType":"ExpressionStatement","src":"49674:86:24"}]},"id":11796,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49601:3:24","nodeType":"FunctionDefinition","parameters":{"id":11782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11775,"mutability":"mutable","name":"p0","nameLocation":"49610:2:24","nodeType":"VariableDeclaration","scope":11796,"src":"49605:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11774,"name":"bool","nodeType":"ElementaryTypeName","src":"49605:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11777,"mutability":"mutable","name":"p1","nameLocation":"49628:2:24","nodeType":"VariableDeclaration","scope":11796,"src":"49614:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11776,"name":"string","nodeType":"ElementaryTypeName","src":"49614:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11779,"mutability":"mutable","name":"p2","nameLocation":"49637:2:24","nodeType":"VariableDeclaration","scope":11796,"src":"49632:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11778,"name":"bool","nodeType":"ElementaryTypeName","src":"49632:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11781,"mutability":"mutable","name":"p3","nameLocation":"49646:2:24","nodeType":"VariableDeclaration","scope":11796,"src":"49641:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11780,"name":"bool","nodeType":"ElementaryTypeName","src":"49641:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49604:45:24"},"returnParameters":{"id":11783,"nodeType":"ParameterList","parameters":[],"src":"49664:0:24"},"scope":14120,"src":"49592:175:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11818,"nodeType":"Block","src":"49848:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":11810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49898:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":11811,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11798,"src":"49931:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11812,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11800,"src":"49935:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11813,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11802,"src":"49939:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11814,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11804,"src":"49943:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49874:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49878:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49874:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49874:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11807,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"49858:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49858:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11817,"nodeType":"ExpressionStatement","src":"49858:89:24"}]},"id":11819,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49782:3:24","nodeType":"FunctionDefinition","parameters":{"id":11805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11798,"mutability":"mutable","name":"p0","nameLocation":"49791:2:24","nodeType":"VariableDeclaration","scope":11819,"src":"49786:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11797,"name":"bool","nodeType":"ElementaryTypeName","src":"49786:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11800,"mutability":"mutable","name":"p1","nameLocation":"49809:2:24","nodeType":"VariableDeclaration","scope":11819,"src":"49795:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11799,"name":"string","nodeType":"ElementaryTypeName","src":"49795:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11802,"mutability":"mutable","name":"p2","nameLocation":"49818:2:24","nodeType":"VariableDeclaration","scope":11819,"src":"49813:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11801,"name":"bool","nodeType":"ElementaryTypeName","src":"49813:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11804,"mutability":"mutable","name":"p3","nameLocation":"49830:2:24","nodeType":"VariableDeclaration","scope":11819,"src":"49822:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11803,"name":"address","nodeType":"ElementaryTypeName","src":"49822:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49785:48:24"},"returnParameters":{"id":11806,"nodeType":"ParameterList","parameters":[],"src":"49848:0:24"},"scope":14120,"src":"49773:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11841,"nodeType":"Block","src":"50038:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":11833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50088:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":11834,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11821,"src":"50124:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11835,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11823,"src":"50128:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11836,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11825,"src":"50132:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11837,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11827,"src":"50136:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11831,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50064:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50068:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50064:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50064:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11830,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"50048:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50048:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11840,"nodeType":"ExpressionStatement","src":"50048:92:24"}]},"id":11842,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49969:3:24","nodeType":"FunctionDefinition","parameters":{"id":11828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11821,"mutability":"mutable","name":"p0","nameLocation":"49978:2:24","nodeType":"VariableDeclaration","scope":11842,"src":"49973:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11820,"name":"bool","nodeType":"ElementaryTypeName","src":"49973:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11823,"mutability":"mutable","name":"p1","nameLocation":"49996:2:24","nodeType":"VariableDeclaration","scope":11842,"src":"49982:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11822,"name":"string","nodeType":"ElementaryTypeName","src":"49982:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11825,"mutability":"mutable","name":"p2","nameLocation":"50008:2:24","nodeType":"VariableDeclaration","scope":11842,"src":"50000:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11824,"name":"address","nodeType":"ElementaryTypeName","src":"50000:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11827,"mutability":"mutable","name":"p3","nameLocation":"50020:2:24","nodeType":"VariableDeclaration","scope":11842,"src":"50012:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11826,"name":"uint256","nodeType":"ElementaryTypeName","src":"50012:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49972:51:24"},"returnParameters":{"id":11829,"nodeType":"ParameterList","parameters":[],"src":"50038:0:24"},"scope":14120,"src":"49960:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11864,"nodeType":"Block","src":"50237:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":11856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50287:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":11857,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11844,"src":"50322:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11858,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11846,"src":"50326:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11859,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11848,"src":"50330:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11860,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11850,"src":"50334:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11854,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50263:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50267:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50263:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50263:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11853,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"50247:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50247:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11863,"nodeType":"ExpressionStatement","src":"50247:91:24"}]},"id":11865,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50162:3:24","nodeType":"FunctionDefinition","parameters":{"id":11851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11844,"mutability":"mutable","name":"p0","nameLocation":"50171:2:24","nodeType":"VariableDeclaration","scope":11865,"src":"50166:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11843,"name":"bool","nodeType":"ElementaryTypeName","src":"50166:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11846,"mutability":"mutable","name":"p1","nameLocation":"50189:2:24","nodeType":"VariableDeclaration","scope":11865,"src":"50175:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11845,"name":"string","nodeType":"ElementaryTypeName","src":"50175:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11848,"mutability":"mutable","name":"p2","nameLocation":"50201:2:24","nodeType":"VariableDeclaration","scope":11865,"src":"50193:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11847,"name":"address","nodeType":"ElementaryTypeName","src":"50193:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11850,"mutability":"mutable","name":"p3","nameLocation":"50219:2:24","nodeType":"VariableDeclaration","scope":11865,"src":"50205:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11849,"name":"string","nodeType":"ElementaryTypeName","src":"50205:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50165:57:24"},"returnParameters":{"id":11852,"nodeType":"ParameterList","parameters":[],"src":"50237:0:24"},"scope":14120,"src":"50153:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11887,"nodeType":"Block","src":"50426:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":11879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50476:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":11880,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11867,"src":"50509:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11881,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11869,"src":"50513:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11882,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11871,"src":"50517:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11883,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11873,"src":"50521:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11877,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50452:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50456:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50452:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50452:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11876,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"50436:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50436:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11886,"nodeType":"ExpressionStatement","src":"50436:89:24"}]},"id":11888,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50360:3:24","nodeType":"FunctionDefinition","parameters":{"id":11874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11867,"mutability":"mutable","name":"p0","nameLocation":"50369:2:24","nodeType":"VariableDeclaration","scope":11888,"src":"50364:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11866,"name":"bool","nodeType":"ElementaryTypeName","src":"50364:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11869,"mutability":"mutable","name":"p1","nameLocation":"50387:2:24","nodeType":"VariableDeclaration","scope":11888,"src":"50373:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11868,"name":"string","nodeType":"ElementaryTypeName","src":"50373:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11871,"mutability":"mutable","name":"p2","nameLocation":"50399:2:24","nodeType":"VariableDeclaration","scope":11888,"src":"50391:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11870,"name":"address","nodeType":"ElementaryTypeName","src":"50391:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11873,"mutability":"mutable","name":"p3","nameLocation":"50408:2:24","nodeType":"VariableDeclaration","scope":11888,"src":"50403:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11872,"name":"bool","nodeType":"ElementaryTypeName","src":"50403:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50363:48:24"},"returnParameters":{"id":11875,"nodeType":"ParameterList","parameters":[],"src":"50426:0:24"},"scope":14120,"src":"50351:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11910,"nodeType":"Block","src":"50616:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":11902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50666:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":11903,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11890,"src":"50702:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11904,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11892,"src":"50706:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11905,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11894,"src":"50710:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":11906,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11896,"src":"50714:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50642:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50646:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50642:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50642:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11899,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"50626:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50626:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11909,"nodeType":"ExpressionStatement","src":"50626:92:24"}]},"id":11911,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50547:3:24","nodeType":"FunctionDefinition","parameters":{"id":11897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11890,"mutability":"mutable","name":"p0","nameLocation":"50556:2:24","nodeType":"VariableDeclaration","scope":11911,"src":"50551:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11889,"name":"bool","nodeType":"ElementaryTypeName","src":"50551:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11892,"mutability":"mutable","name":"p1","nameLocation":"50574:2:24","nodeType":"VariableDeclaration","scope":11911,"src":"50560:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11891,"name":"string","nodeType":"ElementaryTypeName","src":"50560:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11894,"mutability":"mutable","name":"p2","nameLocation":"50586:2:24","nodeType":"VariableDeclaration","scope":11911,"src":"50578:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11893,"name":"address","nodeType":"ElementaryTypeName","src":"50578:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11896,"mutability":"mutable","name":"p3","nameLocation":"50598:2:24","nodeType":"VariableDeclaration","scope":11911,"src":"50590:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11895,"name":"address","nodeType":"ElementaryTypeName","src":"50590:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50550:51:24"},"returnParameters":{"id":11898,"nodeType":"ParameterList","parameters":[],"src":"50616:0:24"},"scope":14120,"src":"50538:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11933,"nodeType":"Block","src":"50800:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":11925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50850:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":11926,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11913,"src":"50884:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11927,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11915,"src":"50888:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11928,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11917,"src":"50892:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11929,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11919,"src":"50896:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50826:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50830:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50826:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50826:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11922,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"50810:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50810:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11932,"nodeType":"ExpressionStatement","src":"50810:90:24"}]},"id":11934,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50740:3:24","nodeType":"FunctionDefinition","parameters":{"id":11920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11913,"mutability":"mutable","name":"p0","nameLocation":"50749:2:24","nodeType":"VariableDeclaration","scope":11934,"src":"50744:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11912,"name":"bool","nodeType":"ElementaryTypeName","src":"50744:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11915,"mutability":"mutable","name":"p1","nameLocation":"50758:2:24","nodeType":"VariableDeclaration","scope":11934,"src":"50753:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11914,"name":"bool","nodeType":"ElementaryTypeName","src":"50753:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11917,"mutability":"mutable","name":"p2","nameLocation":"50770:2:24","nodeType":"VariableDeclaration","scope":11934,"src":"50762:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11916,"name":"uint256","nodeType":"ElementaryTypeName","src":"50762:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11919,"mutability":"mutable","name":"p3","nameLocation":"50782:2:24","nodeType":"VariableDeclaration","scope":11934,"src":"50774:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11918,"name":"uint256","nodeType":"ElementaryTypeName","src":"50774:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50743:42:24"},"returnParameters":{"id":11921,"nodeType":"ParameterList","parameters":[],"src":"50800:0:24"},"scope":14120,"src":"50731:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11956,"nodeType":"Block","src":"50988:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":11948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51038:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":11949,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11936,"src":"51071:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11950,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11938,"src":"51075:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11951,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11940,"src":"51079:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11952,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11942,"src":"51083:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":11946,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51014:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51018:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51014:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51014:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11945,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"50998:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50998:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11955,"nodeType":"ExpressionStatement","src":"50998:89:24"}]},"id":11957,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50922:3:24","nodeType":"FunctionDefinition","parameters":{"id":11943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11936,"mutability":"mutable","name":"p0","nameLocation":"50931:2:24","nodeType":"VariableDeclaration","scope":11957,"src":"50926:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11935,"name":"bool","nodeType":"ElementaryTypeName","src":"50926:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11938,"mutability":"mutable","name":"p1","nameLocation":"50940:2:24","nodeType":"VariableDeclaration","scope":11957,"src":"50935:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11937,"name":"bool","nodeType":"ElementaryTypeName","src":"50935:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11940,"mutability":"mutable","name":"p2","nameLocation":"50952:2:24","nodeType":"VariableDeclaration","scope":11957,"src":"50944:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11939,"name":"uint256","nodeType":"ElementaryTypeName","src":"50944:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11942,"mutability":"mutable","name":"p3","nameLocation":"50970:2:24","nodeType":"VariableDeclaration","scope":11957,"src":"50956:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11941,"name":"string","nodeType":"ElementaryTypeName","src":"50956:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50925:48:24"},"returnParameters":{"id":11944,"nodeType":"ParameterList","parameters":[],"src":"50988:0:24"},"scope":14120,"src":"50913:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":11979,"nodeType":"Block","src":"51166:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":11971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51216:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":11972,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11959,"src":"51247:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11973,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11961,"src":"51251:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11974,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11963,"src":"51255:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11975,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11965,"src":"51259:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11969,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51192:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51196:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51192:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51192:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11968,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"51176:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":11977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51176:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":11978,"nodeType":"ExpressionStatement","src":"51176:87:24"}]},"id":11980,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51109:3:24","nodeType":"FunctionDefinition","parameters":{"id":11966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11959,"mutability":"mutable","name":"p0","nameLocation":"51118:2:24","nodeType":"VariableDeclaration","scope":11980,"src":"51113:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11958,"name":"bool","nodeType":"ElementaryTypeName","src":"51113:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11961,"mutability":"mutable","name":"p1","nameLocation":"51127:2:24","nodeType":"VariableDeclaration","scope":11980,"src":"51122:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11960,"name":"bool","nodeType":"ElementaryTypeName","src":"51122:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11963,"mutability":"mutable","name":"p2","nameLocation":"51139:2:24","nodeType":"VariableDeclaration","scope":11980,"src":"51131:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11962,"name":"uint256","nodeType":"ElementaryTypeName","src":"51131:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11965,"mutability":"mutable","name":"p3","nameLocation":"51148:2:24","nodeType":"VariableDeclaration","scope":11980,"src":"51143:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11964,"name":"bool","nodeType":"ElementaryTypeName","src":"51143:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51112:39:24"},"returnParameters":{"id":11967,"nodeType":"ParameterList","parameters":[],"src":"51166:0:24"},"scope":14120,"src":"51100:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12002,"nodeType":"Block","src":"51345:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":11994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51395:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":11995,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11982,"src":"51429:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11996,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11984,"src":"51433:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":11997,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11986,"src":"51437:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":11998,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11988,"src":"51441:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11992,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51371:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":11993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51375:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51371:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":11999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51371:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":11991,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"51355:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51355:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12001,"nodeType":"ExpressionStatement","src":"51355:90:24"}]},"id":12003,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51285:3:24","nodeType":"FunctionDefinition","parameters":{"id":11989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11982,"mutability":"mutable","name":"p0","nameLocation":"51294:2:24","nodeType":"VariableDeclaration","scope":12003,"src":"51289:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11981,"name":"bool","nodeType":"ElementaryTypeName","src":"51289:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11984,"mutability":"mutable","name":"p1","nameLocation":"51303:2:24","nodeType":"VariableDeclaration","scope":12003,"src":"51298:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11983,"name":"bool","nodeType":"ElementaryTypeName","src":"51298:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11986,"mutability":"mutable","name":"p2","nameLocation":"51315:2:24","nodeType":"VariableDeclaration","scope":12003,"src":"51307:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11985,"name":"uint256","nodeType":"ElementaryTypeName","src":"51307:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11988,"mutability":"mutable","name":"p3","nameLocation":"51327:2:24","nodeType":"VariableDeclaration","scope":12003,"src":"51319:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11987,"name":"address","nodeType":"ElementaryTypeName","src":"51319:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51288:42:24"},"returnParameters":{"id":11990,"nodeType":"ParameterList","parameters":[],"src":"51345:0:24"},"scope":14120,"src":"51276:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12025,"nodeType":"Block","src":"51533:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":12017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51583:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":12018,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12005,"src":"51616:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12019,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12007,"src":"51620:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12020,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12009,"src":"51624:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12021,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12011,"src":"51628:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12015,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51559:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51563:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51559:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51559:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12014,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"51543:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51543:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12024,"nodeType":"ExpressionStatement","src":"51543:89:24"}]},"id":12026,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51467:3:24","nodeType":"FunctionDefinition","parameters":{"id":12012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12005,"mutability":"mutable","name":"p0","nameLocation":"51476:2:24","nodeType":"VariableDeclaration","scope":12026,"src":"51471:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12004,"name":"bool","nodeType":"ElementaryTypeName","src":"51471:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12007,"mutability":"mutable","name":"p1","nameLocation":"51485:2:24","nodeType":"VariableDeclaration","scope":12026,"src":"51480:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12006,"name":"bool","nodeType":"ElementaryTypeName","src":"51480:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12009,"mutability":"mutable","name":"p2","nameLocation":"51503:2:24","nodeType":"VariableDeclaration","scope":12026,"src":"51489:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12008,"name":"string","nodeType":"ElementaryTypeName","src":"51489:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12011,"mutability":"mutable","name":"p3","nameLocation":"51515:2:24","nodeType":"VariableDeclaration","scope":12026,"src":"51507:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12010,"name":"uint256","nodeType":"ElementaryTypeName","src":"51507:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51470:48:24"},"returnParameters":{"id":12013,"nodeType":"ParameterList","parameters":[],"src":"51533:0:24"},"scope":14120,"src":"51458:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12048,"nodeType":"Block","src":"51726:105:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":12040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51776:30:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":12041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12028,"src":"51808:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12030,"src":"51812:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12032,"src":"51816:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12044,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12034,"src":"51820:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51752:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51756:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51752:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51752:71:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"51736:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51736:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12047,"nodeType":"ExpressionStatement","src":"51736:88:24"}]},"id":12049,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51654:3:24","nodeType":"FunctionDefinition","parameters":{"id":12035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12028,"mutability":"mutable","name":"p0","nameLocation":"51663:2:24","nodeType":"VariableDeclaration","scope":12049,"src":"51658:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12027,"name":"bool","nodeType":"ElementaryTypeName","src":"51658:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12030,"mutability":"mutable","name":"p1","nameLocation":"51672:2:24","nodeType":"VariableDeclaration","scope":12049,"src":"51667:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12029,"name":"bool","nodeType":"ElementaryTypeName","src":"51667:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12032,"mutability":"mutable","name":"p2","nameLocation":"51690:2:24","nodeType":"VariableDeclaration","scope":12049,"src":"51676:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12031,"name":"string","nodeType":"ElementaryTypeName","src":"51676:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12034,"mutability":"mutable","name":"p3","nameLocation":"51708:2:24","nodeType":"VariableDeclaration","scope":12049,"src":"51694:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12033,"name":"string","nodeType":"ElementaryTypeName","src":"51694:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51657:54:24"},"returnParameters":{"id":12036,"nodeType":"ParameterList","parameters":[],"src":"51726:0:24"},"scope":14120,"src":"51645:186:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12071,"nodeType":"Block","src":"51909:103:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":12063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51959:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":12064,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12051,"src":"51989:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12065,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12053,"src":"51993:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12066,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12055,"src":"51997:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12067,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12057,"src":"52001:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12061,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51935:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51939:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51935:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51935:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12060,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"51919:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51919:86:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12070,"nodeType":"ExpressionStatement","src":"51919:86:24"}]},"id":12072,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51846:3:24","nodeType":"FunctionDefinition","parameters":{"id":12058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12051,"mutability":"mutable","name":"p0","nameLocation":"51855:2:24","nodeType":"VariableDeclaration","scope":12072,"src":"51850:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12050,"name":"bool","nodeType":"ElementaryTypeName","src":"51850:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12053,"mutability":"mutable","name":"p1","nameLocation":"51864:2:24","nodeType":"VariableDeclaration","scope":12072,"src":"51859:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12052,"name":"bool","nodeType":"ElementaryTypeName","src":"51859:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12055,"mutability":"mutable","name":"p2","nameLocation":"51882:2:24","nodeType":"VariableDeclaration","scope":12072,"src":"51868:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12054,"name":"string","nodeType":"ElementaryTypeName","src":"51868:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12057,"mutability":"mutable","name":"p3","nameLocation":"51891:2:24","nodeType":"VariableDeclaration","scope":12072,"src":"51886:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12056,"name":"bool","nodeType":"ElementaryTypeName","src":"51886:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51849:45:24"},"returnParameters":{"id":12059,"nodeType":"ParameterList","parameters":[],"src":"51909:0:24"},"scope":14120,"src":"51837:175:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12094,"nodeType":"Block","src":"52093:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":12086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52143:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":12087,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"52176:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12088,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12076,"src":"52180:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12089,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12078,"src":"52184:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12090,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12080,"src":"52188:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12084,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52119:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52123:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52119:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52119:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12083,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"52103:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52103:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12093,"nodeType":"ExpressionStatement","src":"52103:89:24"}]},"id":12095,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52027:3:24","nodeType":"FunctionDefinition","parameters":{"id":12081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12074,"mutability":"mutable","name":"p0","nameLocation":"52036:2:24","nodeType":"VariableDeclaration","scope":12095,"src":"52031:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12073,"name":"bool","nodeType":"ElementaryTypeName","src":"52031:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12076,"mutability":"mutable","name":"p1","nameLocation":"52045:2:24","nodeType":"VariableDeclaration","scope":12095,"src":"52040:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12075,"name":"bool","nodeType":"ElementaryTypeName","src":"52040:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12078,"mutability":"mutable","name":"p2","nameLocation":"52063:2:24","nodeType":"VariableDeclaration","scope":12095,"src":"52049:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12077,"name":"string","nodeType":"ElementaryTypeName","src":"52049:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12080,"mutability":"mutable","name":"p3","nameLocation":"52075:2:24","nodeType":"VariableDeclaration","scope":12095,"src":"52067:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12079,"name":"address","nodeType":"ElementaryTypeName","src":"52067:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52030:48:24"},"returnParameters":{"id":12082,"nodeType":"ParameterList","parameters":[],"src":"52093:0:24"},"scope":14120,"src":"52018:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12117,"nodeType":"Block","src":"52271:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":12109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52321:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":12110,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12097,"src":"52352:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12111,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12099,"src":"52356:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12112,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12101,"src":"52360:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12113,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12103,"src":"52364:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12107,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52297:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52301:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52297:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52297:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12106,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"52281:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52281:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12116,"nodeType":"ExpressionStatement","src":"52281:87:24"}]},"id":12118,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52214:3:24","nodeType":"FunctionDefinition","parameters":{"id":12104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12097,"mutability":"mutable","name":"p0","nameLocation":"52223:2:24","nodeType":"VariableDeclaration","scope":12118,"src":"52218:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12096,"name":"bool","nodeType":"ElementaryTypeName","src":"52218:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12099,"mutability":"mutable","name":"p1","nameLocation":"52232:2:24","nodeType":"VariableDeclaration","scope":12118,"src":"52227:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12098,"name":"bool","nodeType":"ElementaryTypeName","src":"52227:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12101,"mutability":"mutable","name":"p2","nameLocation":"52241:2:24","nodeType":"VariableDeclaration","scope":12118,"src":"52236:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12100,"name":"bool","nodeType":"ElementaryTypeName","src":"52236:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12103,"mutability":"mutable","name":"p3","nameLocation":"52253:2:24","nodeType":"VariableDeclaration","scope":12118,"src":"52245:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12102,"name":"uint256","nodeType":"ElementaryTypeName","src":"52245:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52217:39:24"},"returnParameters":{"id":12105,"nodeType":"ParameterList","parameters":[],"src":"52271:0:24"},"scope":14120,"src":"52205:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12140,"nodeType":"Block","src":"52453:103:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":12132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52503:28:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":12133,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12120,"src":"52533:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12134,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12122,"src":"52537:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12135,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12124,"src":"52541:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12136,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12126,"src":"52545:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12130,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52479:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52483:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52479:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52479:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"52463:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52463:86:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12139,"nodeType":"ExpressionStatement","src":"52463:86:24"}]},"id":12141,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52390:3:24","nodeType":"FunctionDefinition","parameters":{"id":12127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12120,"mutability":"mutable","name":"p0","nameLocation":"52399:2:24","nodeType":"VariableDeclaration","scope":12141,"src":"52394:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12119,"name":"bool","nodeType":"ElementaryTypeName","src":"52394:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12122,"mutability":"mutable","name":"p1","nameLocation":"52408:2:24","nodeType":"VariableDeclaration","scope":12141,"src":"52403:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12121,"name":"bool","nodeType":"ElementaryTypeName","src":"52403:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12124,"mutability":"mutable","name":"p2","nameLocation":"52417:2:24","nodeType":"VariableDeclaration","scope":12141,"src":"52412:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12123,"name":"bool","nodeType":"ElementaryTypeName","src":"52412:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12126,"mutability":"mutable","name":"p3","nameLocation":"52435:2:24","nodeType":"VariableDeclaration","scope":12141,"src":"52421:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12125,"name":"string","nodeType":"ElementaryTypeName","src":"52421:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52393:45:24"},"returnParameters":{"id":12128,"nodeType":"ParameterList","parameters":[],"src":"52453:0:24"},"scope":14120,"src":"52381:175:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12163,"nodeType":"Block","src":"52625:101:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":12155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52675:26:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":12156,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12143,"src":"52703:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12157,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12145,"src":"52707:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12158,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12147,"src":"52711:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12159,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12149,"src":"52715:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12153,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52651:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52655:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52651:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52651:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12152,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"52635:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52635:84:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12162,"nodeType":"ExpressionStatement","src":"52635:84:24"}]},"id":12164,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52571:3:24","nodeType":"FunctionDefinition","parameters":{"id":12150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12143,"mutability":"mutable","name":"p0","nameLocation":"52580:2:24","nodeType":"VariableDeclaration","scope":12164,"src":"52575:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12142,"name":"bool","nodeType":"ElementaryTypeName","src":"52575:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12145,"mutability":"mutable","name":"p1","nameLocation":"52589:2:24","nodeType":"VariableDeclaration","scope":12164,"src":"52584:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12144,"name":"bool","nodeType":"ElementaryTypeName","src":"52584:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12147,"mutability":"mutable","name":"p2","nameLocation":"52598:2:24","nodeType":"VariableDeclaration","scope":12164,"src":"52593:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12146,"name":"bool","nodeType":"ElementaryTypeName","src":"52593:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12149,"mutability":"mutable","name":"p3","nameLocation":"52607:2:24","nodeType":"VariableDeclaration","scope":12164,"src":"52602:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12148,"name":"bool","nodeType":"ElementaryTypeName","src":"52602:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52574:36:24"},"returnParameters":{"id":12151,"nodeType":"ParameterList","parameters":[],"src":"52625:0:24"},"scope":14120,"src":"52562:164:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12186,"nodeType":"Block","src":"52798:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":12178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52848:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":12179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12166,"src":"52879:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12168,"src":"52883:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12170,"src":"52887:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12182,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12172,"src":"52891:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52824:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52828:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52824:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52824:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"52808:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52808:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12185,"nodeType":"ExpressionStatement","src":"52808:87:24"}]},"id":12187,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52741:3:24","nodeType":"FunctionDefinition","parameters":{"id":12173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12166,"mutability":"mutable","name":"p0","nameLocation":"52750:2:24","nodeType":"VariableDeclaration","scope":12187,"src":"52745:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12165,"name":"bool","nodeType":"ElementaryTypeName","src":"52745:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12168,"mutability":"mutable","name":"p1","nameLocation":"52759:2:24","nodeType":"VariableDeclaration","scope":12187,"src":"52754:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12167,"name":"bool","nodeType":"ElementaryTypeName","src":"52754:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12170,"mutability":"mutable","name":"p2","nameLocation":"52768:2:24","nodeType":"VariableDeclaration","scope":12187,"src":"52763:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12169,"name":"bool","nodeType":"ElementaryTypeName","src":"52763:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12172,"mutability":"mutable","name":"p3","nameLocation":"52780:2:24","nodeType":"VariableDeclaration","scope":12187,"src":"52772:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12171,"name":"address","nodeType":"ElementaryTypeName","src":"52772:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52744:39:24"},"returnParameters":{"id":12174,"nodeType":"ParameterList","parameters":[],"src":"52798:0:24"},"scope":14120,"src":"52732:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12209,"nodeType":"Block","src":"52977:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":12201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53027:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":12202,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12189,"src":"53061:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12203,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12191,"src":"53065:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12204,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12193,"src":"53069:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12205,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12195,"src":"53073:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12199,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53003:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53007:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53003:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53003:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12198,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"52987:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52987:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12208,"nodeType":"ExpressionStatement","src":"52987:90:24"}]},"id":12210,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52917:3:24","nodeType":"FunctionDefinition","parameters":{"id":12196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12189,"mutability":"mutable","name":"p0","nameLocation":"52926:2:24","nodeType":"VariableDeclaration","scope":12210,"src":"52921:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12188,"name":"bool","nodeType":"ElementaryTypeName","src":"52921:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12191,"mutability":"mutable","name":"p1","nameLocation":"52935:2:24","nodeType":"VariableDeclaration","scope":12210,"src":"52930:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12190,"name":"bool","nodeType":"ElementaryTypeName","src":"52930:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12193,"mutability":"mutable","name":"p2","nameLocation":"52947:2:24","nodeType":"VariableDeclaration","scope":12210,"src":"52939:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12192,"name":"address","nodeType":"ElementaryTypeName","src":"52939:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12195,"mutability":"mutable","name":"p3","nameLocation":"52959:2:24","nodeType":"VariableDeclaration","scope":12210,"src":"52951:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12194,"name":"uint256","nodeType":"ElementaryTypeName","src":"52951:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52920:42:24"},"returnParameters":{"id":12197,"nodeType":"ParameterList","parameters":[],"src":"52977:0:24"},"scope":14120,"src":"52908:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12232,"nodeType":"Block","src":"53165:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":12224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53215:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":12225,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12212,"src":"53248:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12226,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12214,"src":"53252:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12227,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12216,"src":"53256:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12228,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12218,"src":"53260:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12222,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53191:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53195:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53191:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53191:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12221,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"53175:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53175:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12231,"nodeType":"ExpressionStatement","src":"53175:89:24"}]},"id":12233,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53099:3:24","nodeType":"FunctionDefinition","parameters":{"id":12219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12212,"mutability":"mutable","name":"p0","nameLocation":"53108:2:24","nodeType":"VariableDeclaration","scope":12233,"src":"53103:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12211,"name":"bool","nodeType":"ElementaryTypeName","src":"53103:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12214,"mutability":"mutable","name":"p1","nameLocation":"53117:2:24","nodeType":"VariableDeclaration","scope":12233,"src":"53112:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12213,"name":"bool","nodeType":"ElementaryTypeName","src":"53112:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12216,"mutability":"mutable","name":"p2","nameLocation":"53129:2:24","nodeType":"VariableDeclaration","scope":12233,"src":"53121:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12215,"name":"address","nodeType":"ElementaryTypeName","src":"53121:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12218,"mutability":"mutable","name":"p3","nameLocation":"53147:2:24","nodeType":"VariableDeclaration","scope":12233,"src":"53133:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12217,"name":"string","nodeType":"ElementaryTypeName","src":"53133:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53102:48:24"},"returnParameters":{"id":12220,"nodeType":"ParameterList","parameters":[],"src":"53165:0:24"},"scope":14120,"src":"53090:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12255,"nodeType":"Block","src":"53343:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":12247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53393:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":12248,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12235,"src":"53424:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12249,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12237,"src":"53428:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12250,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12239,"src":"53432:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12251,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12241,"src":"53436:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53369:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53373:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53369:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53369:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12244,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"53353:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53353:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12254,"nodeType":"ExpressionStatement","src":"53353:87:24"}]},"id":12256,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53286:3:24","nodeType":"FunctionDefinition","parameters":{"id":12242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12235,"mutability":"mutable","name":"p0","nameLocation":"53295:2:24","nodeType":"VariableDeclaration","scope":12256,"src":"53290:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12234,"name":"bool","nodeType":"ElementaryTypeName","src":"53290:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12237,"mutability":"mutable","name":"p1","nameLocation":"53304:2:24","nodeType":"VariableDeclaration","scope":12256,"src":"53299:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12236,"name":"bool","nodeType":"ElementaryTypeName","src":"53299:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12239,"mutability":"mutable","name":"p2","nameLocation":"53316:2:24","nodeType":"VariableDeclaration","scope":12256,"src":"53308:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12238,"name":"address","nodeType":"ElementaryTypeName","src":"53308:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12241,"mutability":"mutable","name":"p3","nameLocation":"53325:2:24","nodeType":"VariableDeclaration","scope":12256,"src":"53320:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12240,"name":"bool","nodeType":"ElementaryTypeName","src":"53320:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53289:39:24"},"returnParameters":{"id":12243,"nodeType":"ParameterList","parameters":[],"src":"53343:0:24"},"scope":14120,"src":"53277:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12278,"nodeType":"Block","src":"53522:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":12270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53572:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":12271,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12258,"src":"53606:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12272,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12260,"src":"53610:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12273,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12262,"src":"53614:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12274,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12264,"src":"53618:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53548:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53552:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53548:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53548:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"53532:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53532:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12277,"nodeType":"ExpressionStatement","src":"53532:90:24"}]},"id":12279,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53462:3:24","nodeType":"FunctionDefinition","parameters":{"id":12265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12258,"mutability":"mutable","name":"p0","nameLocation":"53471:2:24","nodeType":"VariableDeclaration","scope":12279,"src":"53466:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12257,"name":"bool","nodeType":"ElementaryTypeName","src":"53466:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12260,"mutability":"mutable","name":"p1","nameLocation":"53480:2:24","nodeType":"VariableDeclaration","scope":12279,"src":"53475:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12259,"name":"bool","nodeType":"ElementaryTypeName","src":"53475:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12262,"mutability":"mutable","name":"p2","nameLocation":"53492:2:24","nodeType":"VariableDeclaration","scope":12279,"src":"53484:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12261,"name":"address","nodeType":"ElementaryTypeName","src":"53484:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12264,"mutability":"mutable","name":"p3","nameLocation":"53504:2:24","nodeType":"VariableDeclaration","scope":12279,"src":"53496:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12263,"name":"address","nodeType":"ElementaryTypeName","src":"53496:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53465:42:24"},"returnParameters":{"id":12266,"nodeType":"ParameterList","parameters":[],"src":"53522:0:24"},"scope":14120,"src":"53453:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12301,"nodeType":"Block","src":"53707:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":12293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53757:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":12294,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12281,"src":"53794:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12295,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12283,"src":"53798:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12296,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12285,"src":"53802:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12297,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12287,"src":"53806:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12291,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53733:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53737:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53733:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53733:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12290,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"53717:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53717:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12300,"nodeType":"ExpressionStatement","src":"53717:93:24"}]},"id":12302,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53644:3:24","nodeType":"FunctionDefinition","parameters":{"id":12288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12281,"mutability":"mutable","name":"p0","nameLocation":"53653:2:24","nodeType":"VariableDeclaration","scope":12302,"src":"53648:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12280,"name":"bool","nodeType":"ElementaryTypeName","src":"53648:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12283,"mutability":"mutable","name":"p1","nameLocation":"53665:2:24","nodeType":"VariableDeclaration","scope":12302,"src":"53657:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12282,"name":"address","nodeType":"ElementaryTypeName","src":"53657:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12285,"mutability":"mutable","name":"p2","nameLocation":"53677:2:24","nodeType":"VariableDeclaration","scope":12302,"src":"53669:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12284,"name":"uint256","nodeType":"ElementaryTypeName","src":"53669:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12287,"mutability":"mutable","name":"p3","nameLocation":"53689:2:24","nodeType":"VariableDeclaration","scope":12302,"src":"53681:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12286,"name":"uint256","nodeType":"ElementaryTypeName","src":"53681:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53647:45:24"},"returnParameters":{"id":12289,"nodeType":"ParameterList","parameters":[],"src":"53707:0:24"},"scope":14120,"src":"53635:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12324,"nodeType":"Block","src":"53901:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":12316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53951:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":12317,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12304,"src":"53987:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12318,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12306,"src":"53991:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12319,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12308,"src":"53995:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12320,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12310,"src":"53999:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12314,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53927:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53931:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53927:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53927:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12313,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"53911:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53911:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12323,"nodeType":"ExpressionStatement","src":"53911:92:24"}]},"id":12325,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53832:3:24","nodeType":"FunctionDefinition","parameters":{"id":12311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12304,"mutability":"mutable","name":"p0","nameLocation":"53841:2:24","nodeType":"VariableDeclaration","scope":12325,"src":"53836:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12303,"name":"bool","nodeType":"ElementaryTypeName","src":"53836:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12306,"mutability":"mutable","name":"p1","nameLocation":"53853:2:24","nodeType":"VariableDeclaration","scope":12325,"src":"53845:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12305,"name":"address","nodeType":"ElementaryTypeName","src":"53845:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12308,"mutability":"mutable","name":"p2","nameLocation":"53865:2:24","nodeType":"VariableDeclaration","scope":12325,"src":"53857:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12307,"name":"uint256","nodeType":"ElementaryTypeName","src":"53857:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12310,"mutability":"mutable","name":"p3","nameLocation":"53883:2:24","nodeType":"VariableDeclaration","scope":12325,"src":"53869:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12309,"name":"string","nodeType":"ElementaryTypeName","src":"53869:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53835:51:24"},"returnParameters":{"id":12312,"nodeType":"ParameterList","parameters":[],"src":"53901:0:24"},"scope":14120,"src":"53823:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12347,"nodeType":"Block","src":"54085:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":12339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54135:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":12340,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12327,"src":"54169:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12341,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12329,"src":"54173:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12342,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12331,"src":"54177:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12343,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12333,"src":"54181:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12337,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54111:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54115:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54111:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54111:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12336,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"54095:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54095:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12346,"nodeType":"ExpressionStatement","src":"54095:90:24"}]},"id":12348,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54025:3:24","nodeType":"FunctionDefinition","parameters":{"id":12334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12327,"mutability":"mutable","name":"p0","nameLocation":"54034:2:24","nodeType":"VariableDeclaration","scope":12348,"src":"54029:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12326,"name":"bool","nodeType":"ElementaryTypeName","src":"54029:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12329,"mutability":"mutable","name":"p1","nameLocation":"54046:2:24","nodeType":"VariableDeclaration","scope":12348,"src":"54038:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12328,"name":"address","nodeType":"ElementaryTypeName","src":"54038:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12331,"mutability":"mutable","name":"p2","nameLocation":"54058:2:24","nodeType":"VariableDeclaration","scope":12348,"src":"54050:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12330,"name":"uint256","nodeType":"ElementaryTypeName","src":"54050:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12333,"mutability":"mutable","name":"p3","nameLocation":"54067:2:24","nodeType":"VariableDeclaration","scope":12348,"src":"54062:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12332,"name":"bool","nodeType":"ElementaryTypeName","src":"54062:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54028:42:24"},"returnParameters":{"id":12335,"nodeType":"ParameterList","parameters":[],"src":"54085:0:24"},"scope":14120,"src":"54016:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12370,"nodeType":"Block","src":"54270:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":12362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54320:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":12363,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12350,"src":"54357:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12364,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12352,"src":"54361:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12365,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"54365:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12366,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12356,"src":"54369:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12360,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54296:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54300:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54296:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54296:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12359,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"54280:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54280:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12369,"nodeType":"ExpressionStatement","src":"54280:93:24"}]},"id":12371,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54207:3:24","nodeType":"FunctionDefinition","parameters":{"id":12357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12350,"mutability":"mutable","name":"p0","nameLocation":"54216:2:24","nodeType":"VariableDeclaration","scope":12371,"src":"54211:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12349,"name":"bool","nodeType":"ElementaryTypeName","src":"54211:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12352,"mutability":"mutable","name":"p1","nameLocation":"54228:2:24","nodeType":"VariableDeclaration","scope":12371,"src":"54220:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12351,"name":"address","nodeType":"ElementaryTypeName","src":"54220:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12354,"mutability":"mutable","name":"p2","nameLocation":"54240:2:24","nodeType":"VariableDeclaration","scope":12371,"src":"54232:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12353,"name":"uint256","nodeType":"ElementaryTypeName","src":"54232:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12356,"mutability":"mutable","name":"p3","nameLocation":"54252:2:24","nodeType":"VariableDeclaration","scope":12371,"src":"54244:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12355,"name":"address","nodeType":"ElementaryTypeName","src":"54244:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54210:45:24"},"returnParameters":{"id":12358,"nodeType":"ParameterList","parameters":[],"src":"54270:0:24"},"scope":14120,"src":"54198:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12393,"nodeType":"Block","src":"54464:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":12385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54514:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":12386,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12373,"src":"54550:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12387,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12375,"src":"54554:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12388,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12377,"src":"54558:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12389,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12379,"src":"54562:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12383,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54490:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54494:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54490:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54490:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12382,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"54474:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54474:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12392,"nodeType":"ExpressionStatement","src":"54474:92:24"}]},"id":12394,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54395:3:24","nodeType":"FunctionDefinition","parameters":{"id":12380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12373,"mutability":"mutable","name":"p0","nameLocation":"54404:2:24","nodeType":"VariableDeclaration","scope":12394,"src":"54399:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12372,"name":"bool","nodeType":"ElementaryTypeName","src":"54399:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12375,"mutability":"mutable","name":"p1","nameLocation":"54416:2:24","nodeType":"VariableDeclaration","scope":12394,"src":"54408:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12374,"name":"address","nodeType":"ElementaryTypeName","src":"54408:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12377,"mutability":"mutable","name":"p2","nameLocation":"54434:2:24","nodeType":"VariableDeclaration","scope":12394,"src":"54420:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12376,"name":"string","nodeType":"ElementaryTypeName","src":"54420:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12379,"mutability":"mutable","name":"p3","nameLocation":"54446:2:24","nodeType":"VariableDeclaration","scope":12394,"src":"54438:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12378,"name":"uint256","nodeType":"ElementaryTypeName","src":"54438:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54398:51:24"},"returnParameters":{"id":12381,"nodeType":"ParameterList","parameters":[],"src":"54464:0:24"},"scope":14120,"src":"54386:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12416,"nodeType":"Block","src":"54663:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":12408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54713:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":12409,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12396,"src":"54748:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12410,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12398,"src":"54752:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12411,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12400,"src":"54756:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12412,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12402,"src":"54760:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12406,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54689:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54693:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54689:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54689:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12405,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"54673:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54673:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12415,"nodeType":"ExpressionStatement","src":"54673:91:24"}]},"id":12417,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54588:3:24","nodeType":"FunctionDefinition","parameters":{"id":12403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12396,"mutability":"mutable","name":"p0","nameLocation":"54597:2:24","nodeType":"VariableDeclaration","scope":12417,"src":"54592:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12395,"name":"bool","nodeType":"ElementaryTypeName","src":"54592:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12398,"mutability":"mutable","name":"p1","nameLocation":"54609:2:24","nodeType":"VariableDeclaration","scope":12417,"src":"54601:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12397,"name":"address","nodeType":"ElementaryTypeName","src":"54601:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12400,"mutability":"mutable","name":"p2","nameLocation":"54627:2:24","nodeType":"VariableDeclaration","scope":12417,"src":"54613:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12399,"name":"string","nodeType":"ElementaryTypeName","src":"54613:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12402,"mutability":"mutable","name":"p3","nameLocation":"54645:2:24","nodeType":"VariableDeclaration","scope":12417,"src":"54631:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12401,"name":"string","nodeType":"ElementaryTypeName","src":"54631:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54591:57:24"},"returnParameters":{"id":12404,"nodeType":"ParameterList","parameters":[],"src":"54663:0:24"},"scope":14120,"src":"54579:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12439,"nodeType":"Block","src":"54852:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":12431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54902:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":12432,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12419,"src":"54935:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12433,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12421,"src":"54939:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12434,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12423,"src":"54943:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12435,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12425,"src":"54947:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12429,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54878:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54882:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54878:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54878:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12428,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"54862:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54862:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12438,"nodeType":"ExpressionStatement","src":"54862:89:24"}]},"id":12440,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54786:3:24","nodeType":"FunctionDefinition","parameters":{"id":12426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12419,"mutability":"mutable","name":"p0","nameLocation":"54795:2:24","nodeType":"VariableDeclaration","scope":12440,"src":"54790:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12418,"name":"bool","nodeType":"ElementaryTypeName","src":"54790:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12421,"mutability":"mutable","name":"p1","nameLocation":"54807:2:24","nodeType":"VariableDeclaration","scope":12440,"src":"54799:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12420,"name":"address","nodeType":"ElementaryTypeName","src":"54799:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12423,"mutability":"mutable","name":"p2","nameLocation":"54825:2:24","nodeType":"VariableDeclaration","scope":12440,"src":"54811:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12422,"name":"string","nodeType":"ElementaryTypeName","src":"54811:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12425,"mutability":"mutable","name":"p3","nameLocation":"54834:2:24","nodeType":"VariableDeclaration","scope":12440,"src":"54829:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12424,"name":"bool","nodeType":"ElementaryTypeName","src":"54829:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54789:48:24"},"returnParameters":{"id":12427,"nodeType":"ParameterList","parameters":[],"src":"54852:0:24"},"scope":14120,"src":"54777:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12462,"nodeType":"Block","src":"55042:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":12454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55092:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":12455,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12442,"src":"55128:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12456,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12444,"src":"55132:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12457,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12446,"src":"55136:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12458,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12448,"src":"55140:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12452,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55068:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55072:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55068:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55068:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12451,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"55052:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55052:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12461,"nodeType":"ExpressionStatement","src":"55052:92:24"}]},"id":12463,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54973:3:24","nodeType":"FunctionDefinition","parameters":{"id":12449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12442,"mutability":"mutable","name":"p0","nameLocation":"54982:2:24","nodeType":"VariableDeclaration","scope":12463,"src":"54977:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12441,"name":"bool","nodeType":"ElementaryTypeName","src":"54977:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12444,"mutability":"mutable","name":"p1","nameLocation":"54994:2:24","nodeType":"VariableDeclaration","scope":12463,"src":"54986:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12443,"name":"address","nodeType":"ElementaryTypeName","src":"54986:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12446,"mutability":"mutable","name":"p2","nameLocation":"55012:2:24","nodeType":"VariableDeclaration","scope":12463,"src":"54998:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12445,"name":"string","nodeType":"ElementaryTypeName","src":"54998:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12448,"mutability":"mutable","name":"p3","nameLocation":"55024:2:24","nodeType":"VariableDeclaration","scope":12463,"src":"55016:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12447,"name":"address","nodeType":"ElementaryTypeName","src":"55016:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54976:51:24"},"returnParameters":{"id":12450,"nodeType":"ParameterList","parameters":[],"src":"55042:0:24"},"scope":14120,"src":"54964:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12485,"nodeType":"Block","src":"55226:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":12477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55276:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":12478,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12465,"src":"55310:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12479,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12467,"src":"55314:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12480,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12469,"src":"55318:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12481,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12471,"src":"55322:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55252:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55256:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55252:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55252:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12474,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"55236:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55236:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12484,"nodeType":"ExpressionStatement","src":"55236:90:24"}]},"id":12486,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55166:3:24","nodeType":"FunctionDefinition","parameters":{"id":12472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12465,"mutability":"mutable","name":"p0","nameLocation":"55175:2:24","nodeType":"VariableDeclaration","scope":12486,"src":"55170:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12464,"name":"bool","nodeType":"ElementaryTypeName","src":"55170:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12467,"mutability":"mutable","name":"p1","nameLocation":"55187:2:24","nodeType":"VariableDeclaration","scope":12486,"src":"55179:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12466,"name":"address","nodeType":"ElementaryTypeName","src":"55179:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12469,"mutability":"mutable","name":"p2","nameLocation":"55196:2:24","nodeType":"VariableDeclaration","scope":12486,"src":"55191:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12468,"name":"bool","nodeType":"ElementaryTypeName","src":"55191:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12471,"mutability":"mutable","name":"p3","nameLocation":"55208:2:24","nodeType":"VariableDeclaration","scope":12486,"src":"55200:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12470,"name":"uint256","nodeType":"ElementaryTypeName","src":"55200:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55169:42:24"},"returnParameters":{"id":12473,"nodeType":"ParameterList","parameters":[],"src":"55226:0:24"},"scope":14120,"src":"55157:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12508,"nodeType":"Block","src":"55414:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":12500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55464:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":12501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12488,"src":"55497:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12490,"src":"55501:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12503,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12492,"src":"55505:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12504,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12494,"src":"55509:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55440:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55444:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55440:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55440:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"55424:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55424:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12507,"nodeType":"ExpressionStatement","src":"55424:89:24"}]},"id":12509,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55348:3:24","nodeType":"FunctionDefinition","parameters":{"id":12495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12488,"mutability":"mutable","name":"p0","nameLocation":"55357:2:24","nodeType":"VariableDeclaration","scope":12509,"src":"55352:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12487,"name":"bool","nodeType":"ElementaryTypeName","src":"55352:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12490,"mutability":"mutable","name":"p1","nameLocation":"55369:2:24","nodeType":"VariableDeclaration","scope":12509,"src":"55361:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12489,"name":"address","nodeType":"ElementaryTypeName","src":"55361:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12492,"mutability":"mutable","name":"p2","nameLocation":"55378:2:24","nodeType":"VariableDeclaration","scope":12509,"src":"55373:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12491,"name":"bool","nodeType":"ElementaryTypeName","src":"55373:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12494,"mutability":"mutable","name":"p3","nameLocation":"55396:2:24","nodeType":"VariableDeclaration","scope":12509,"src":"55382:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12493,"name":"string","nodeType":"ElementaryTypeName","src":"55382:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55351:48:24"},"returnParameters":{"id":12496,"nodeType":"ParameterList","parameters":[],"src":"55414:0:24"},"scope":14120,"src":"55339:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12531,"nodeType":"Block","src":"55592:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":12523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55642:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":12524,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12511,"src":"55673:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12525,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12513,"src":"55677:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12526,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12515,"src":"55681:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12527,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12517,"src":"55685:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55618:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55622:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55618:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55618:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12520,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"55602:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55602:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12530,"nodeType":"ExpressionStatement","src":"55602:87:24"}]},"id":12532,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55535:3:24","nodeType":"FunctionDefinition","parameters":{"id":12518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12511,"mutability":"mutable","name":"p0","nameLocation":"55544:2:24","nodeType":"VariableDeclaration","scope":12532,"src":"55539:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12510,"name":"bool","nodeType":"ElementaryTypeName","src":"55539:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12513,"mutability":"mutable","name":"p1","nameLocation":"55556:2:24","nodeType":"VariableDeclaration","scope":12532,"src":"55548:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12512,"name":"address","nodeType":"ElementaryTypeName","src":"55548:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12515,"mutability":"mutable","name":"p2","nameLocation":"55565:2:24","nodeType":"VariableDeclaration","scope":12532,"src":"55560:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12514,"name":"bool","nodeType":"ElementaryTypeName","src":"55560:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12517,"mutability":"mutable","name":"p3","nameLocation":"55574:2:24","nodeType":"VariableDeclaration","scope":12532,"src":"55569:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12516,"name":"bool","nodeType":"ElementaryTypeName","src":"55569:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55538:39:24"},"returnParameters":{"id":12519,"nodeType":"ParameterList","parameters":[],"src":"55592:0:24"},"scope":14120,"src":"55526:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12554,"nodeType":"Block","src":"55771:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":12546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55821:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":12547,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12534,"src":"55855:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12548,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12536,"src":"55859:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12549,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12538,"src":"55863:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12550,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12540,"src":"55867:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12544,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55797:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55801:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55797:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55797:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12543,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"55781:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55781:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12553,"nodeType":"ExpressionStatement","src":"55781:90:24"}]},"id":12555,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55711:3:24","nodeType":"FunctionDefinition","parameters":{"id":12541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12534,"mutability":"mutable","name":"p0","nameLocation":"55720:2:24","nodeType":"VariableDeclaration","scope":12555,"src":"55715:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12533,"name":"bool","nodeType":"ElementaryTypeName","src":"55715:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12536,"mutability":"mutable","name":"p1","nameLocation":"55732:2:24","nodeType":"VariableDeclaration","scope":12555,"src":"55724:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12535,"name":"address","nodeType":"ElementaryTypeName","src":"55724:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12538,"mutability":"mutable","name":"p2","nameLocation":"55741:2:24","nodeType":"VariableDeclaration","scope":12555,"src":"55736:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12537,"name":"bool","nodeType":"ElementaryTypeName","src":"55736:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12540,"mutability":"mutable","name":"p3","nameLocation":"55753:2:24","nodeType":"VariableDeclaration","scope":12555,"src":"55745:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12539,"name":"address","nodeType":"ElementaryTypeName","src":"55745:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55714:42:24"},"returnParameters":{"id":12542,"nodeType":"ParameterList","parameters":[],"src":"55771:0:24"},"scope":14120,"src":"55702:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12577,"nodeType":"Block","src":"55956:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":12569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56006:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":12570,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12557,"src":"56043:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12571,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12559,"src":"56047:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12572,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12561,"src":"56051:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12573,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12563,"src":"56055:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12567,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55982:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55986:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55982:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55982:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12566,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"55966:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55966:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12576,"nodeType":"ExpressionStatement","src":"55966:93:24"}]},"id":12578,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55893:3:24","nodeType":"FunctionDefinition","parameters":{"id":12564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12557,"mutability":"mutable","name":"p0","nameLocation":"55902:2:24","nodeType":"VariableDeclaration","scope":12578,"src":"55897:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12556,"name":"bool","nodeType":"ElementaryTypeName","src":"55897:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12559,"mutability":"mutable","name":"p1","nameLocation":"55914:2:24","nodeType":"VariableDeclaration","scope":12578,"src":"55906:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12558,"name":"address","nodeType":"ElementaryTypeName","src":"55906:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12561,"mutability":"mutable","name":"p2","nameLocation":"55926:2:24","nodeType":"VariableDeclaration","scope":12578,"src":"55918:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12560,"name":"address","nodeType":"ElementaryTypeName","src":"55918:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12563,"mutability":"mutable","name":"p3","nameLocation":"55938:2:24","nodeType":"VariableDeclaration","scope":12578,"src":"55930:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12562,"name":"uint256","nodeType":"ElementaryTypeName","src":"55930:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55896:45:24"},"returnParameters":{"id":12565,"nodeType":"ParameterList","parameters":[],"src":"55956:0:24"},"scope":14120,"src":"55884:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12600,"nodeType":"Block","src":"56150:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":12592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56200:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":12593,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12580,"src":"56236:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12594,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12582,"src":"56240:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12595,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12584,"src":"56244:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12596,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12586,"src":"56248:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12590,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56176:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56180:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56176:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56176:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12589,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"56160:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56160:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12599,"nodeType":"ExpressionStatement","src":"56160:92:24"}]},"id":12601,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56081:3:24","nodeType":"FunctionDefinition","parameters":{"id":12587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12580,"mutability":"mutable","name":"p0","nameLocation":"56090:2:24","nodeType":"VariableDeclaration","scope":12601,"src":"56085:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12579,"name":"bool","nodeType":"ElementaryTypeName","src":"56085:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12582,"mutability":"mutable","name":"p1","nameLocation":"56102:2:24","nodeType":"VariableDeclaration","scope":12601,"src":"56094:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12581,"name":"address","nodeType":"ElementaryTypeName","src":"56094:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12584,"mutability":"mutable","name":"p2","nameLocation":"56114:2:24","nodeType":"VariableDeclaration","scope":12601,"src":"56106:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12583,"name":"address","nodeType":"ElementaryTypeName","src":"56106:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12586,"mutability":"mutable","name":"p3","nameLocation":"56132:2:24","nodeType":"VariableDeclaration","scope":12601,"src":"56118:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12585,"name":"string","nodeType":"ElementaryTypeName","src":"56118:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56084:51:24"},"returnParameters":{"id":12588,"nodeType":"ParameterList","parameters":[],"src":"56150:0:24"},"scope":14120,"src":"56072:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12623,"nodeType":"Block","src":"56334:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":12615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56384:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":12616,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12603,"src":"56418:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12617,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12605,"src":"56422:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12618,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12607,"src":"56426:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12619,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12609,"src":"56430:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56360:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56364:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56360:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56360:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12612,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"56344:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56344:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12622,"nodeType":"ExpressionStatement","src":"56344:90:24"}]},"id":12624,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56274:3:24","nodeType":"FunctionDefinition","parameters":{"id":12610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12603,"mutability":"mutable","name":"p0","nameLocation":"56283:2:24","nodeType":"VariableDeclaration","scope":12624,"src":"56278:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12602,"name":"bool","nodeType":"ElementaryTypeName","src":"56278:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12605,"mutability":"mutable","name":"p1","nameLocation":"56295:2:24","nodeType":"VariableDeclaration","scope":12624,"src":"56287:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12604,"name":"address","nodeType":"ElementaryTypeName","src":"56287:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12607,"mutability":"mutable","name":"p2","nameLocation":"56307:2:24","nodeType":"VariableDeclaration","scope":12624,"src":"56299:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12606,"name":"address","nodeType":"ElementaryTypeName","src":"56299:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12609,"mutability":"mutable","name":"p3","nameLocation":"56316:2:24","nodeType":"VariableDeclaration","scope":12624,"src":"56311:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12608,"name":"bool","nodeType":"ElementaryTypeName","src":"56311:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56277:42:24"},"returnParameters":{"id":12611,"nodeType":"ParameterList","parameters":[],"src":"56334:0:24"},"scope":14120,"src":"56265:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12646,"nodeType":"Block","src":"56519:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":12638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56569:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":12639,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12626,"src":"56606:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12640,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12628,"src":"56610:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12641,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12630,"src":"56614:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12642,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12632,"src":"56618:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56545:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56549:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56545:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56545:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12635,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"56529:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56529:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12645,"nodeType":"ExpressionStatement","src":"56529:93:24"}]},"id":12647,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56456:3:24","nodeType":"FunctionDefinition","parameters":{"id":12633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12626,"mutability":"mutable","name":"p0","nameLocation":"56465:2:24","nodeType":"VariableDeclaration","scope":12647,"src":"56460:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12625,"name":"bool","nodeType":"ElementaryTypeName","src":"56460:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12628,"mutability":"mutable","name":"p1","nameLocation":"56477:2:24","nodeType":"VariableDeclaration","scope":12647,"src":"56469:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12627,"name":"address","nodeType":"ElementaryTypeName","src":"56469:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12630,"mutability":"mutable","name":"p2","nameLocation":"56489:2:24","nodeType":"VariableDeclaration","scope":12647,"src":"56481:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12629,"name":"address","nodeType":"ElementaryTypeName","src":"56481:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12632,"mutability":"mutable","name":"p3","nameLocation":"56501:2:24","nodeType":"VariableDeclaration","scope":12647,"src":"56493:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12631,"name":"address","nodeType":"ElementaryTypeName","src":"56493:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56459:45:24"},"returnParameters":{"id":12634,"nodeType":"ParameterList","parameters":[],"src":"56519:0:24"},"scope":14120,"src":"56447:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12669,"nodeType":"Block","src":"56710:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":12661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56760:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":12662,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12649,"src":"56800:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12663,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12651,"src":"56804:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12664,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12653,"src":"56808:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12665,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12655,"src":"56812:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12659,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56736:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56740:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56736:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56736:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12658,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"56720:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56720:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12668,"nodeType":"ExpressionStatement","src":"56720:96:24"}]},"id":12670,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56644:3:24","nodeType":"FunctionDefinition","parameters":{"id":12656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12649,"mutability":"mutable","name":"p0","nameLocation":"56656:2:24","nodeType":"VariableDeclaration","scope":12670,"src":"56648:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12648,"name":"address","nodeType":"ElementaryTypeName","src":"56648:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12651,"mutability":"mutable","name":"p1","nameLocation":"56668:2:24","nodeType":"VariableDeclaration","scope":12670,"src":"56660:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12650,"name":"uint256","nodeType":"ElementaryTypeName","src":"56660:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12653,"mutability":"mutable","name":"p2","nameLocation":"56680:2:24","nodeType":"VariableDeclaration","scope":12670,"src":"56672:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12652,"name":"uint256","nodeType":"ElementaryTypeName","src":"56672:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12655,"mutability":"mutable","name":"p3","nameLocation":"56692:2:24","nodeType":"VariableDeclaration","scope":12670,"src":"56684:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12654,"name":"uint256","nodeType":"ElementaryTypeName","src":"56684:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56647:48:24"},"returnParameters":{"id":12657,"nodeType":"ParameterList","parameters":[],"src":"56710:0:24"},"scope":14120,"src":"56635:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12692,"nodeType":"Block","src":"56910:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":12684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56960:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":12685,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12672,"src":"56999:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12686,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12674,"src":"57003:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12687,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12676,"src":"57007:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12688,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12678,"src":"57011:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56936:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56940:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56936:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56936:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"56920:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56920:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12691,"nodeType":"ExpressionStatement","src":"56920:95:24"}]},"id":12693,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56838:3:24","nodeType":"FunctionDefinition","parameters":{"id":12679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12672,"mutability":"mutable","name":"p0","nameLocation":"56850:2:24","nodeType":"VariableDeclaration","scope":12693,"src":"56842:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12671,"name":"address","nodeType":"ElementaryTypeName","src":"56842:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12674,"mutability":"mutable","name":"p1","nameLocation":"56862:2:24","nodeType":"VariableDeclaration","scope":12693,"src":"56854:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12673,"name":"uint256","nodeType":"ElementaryTypeName","src":"56854:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12676,"mutability":"mutable","name":"p2","nameLocation":"56874:2:24","nodeType":"VariableDeclaration","scope":12693,"src":"56866:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12675,"name":"uint256","nodeType":"ElementaryTypeName","src":"56866:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12678,"mutability":"mutable","name":"p3","nameLocation":"56892:2:24","nodeType":"VariableDeclaration","scope":12693,"src":"56878:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12677,"name":"string","nodeType":"ElementaryTypeName","src":"56878:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56841:54:24"},"returnParameters":{"id":12680,"nodeType":"ParameterList","parameters":[],"src":"56910:0:24"},"scope":14120,"src":"56829:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12715,"nodeType":"Block","src":"57100:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":12707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57150:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":12708,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12695,"src":"57187:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12709,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12697,"src":"57191:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12710,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12699,"src":"57195:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12711,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12701,"src":"57199:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12705,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57126:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57130:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57126:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57126:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12704,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"57110:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57110:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12714,"nodeType":"ExpressionStatement","src":"57110:93:24"}]},"id":12716,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57037:3:24","nodeType":"FunctionDefinition","parameters":{"id":12702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12695,"mutability":"mutable","name":"p0","nameLocation":"57049:2:24","nodeType":"VariableDeclaration","scope":12716,"src":"57041:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12694,"name":"address","nodeType":"ElementaryTypeName","src":"57041:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12697,"mutability":"mutable","name":"p1","nameLocation":"57061:2:24","nodeType":"VariableDeclaration","scope":12716,"src":"57053:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12696,"name":"uint256","nodeType":"ElementaryTypeName","src":"57053:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12699,"mutability":"mutable","name":"p2","nameLocation":"57073:2:24","nodeType":"VariableDeclaration","scope":12716,"src":"57065:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12698,"name":"uint256","nodeType":"ElementaryTypeName","src":"57065:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12701,"mutability":"mutable","name":"p3","nameLocation":"57082:2:24","nodeType":"VariableDeclaration","scope":12716,"src":"57077:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12700,"name":"bool","nodeType":"ElementaryTypeName","src":"57077:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57040:45:24"},"returnParameters":{"id":12703,"nodeType":"ParameterList","parameters":[],"src":"57100:0:24"},"scope":14120,"src":"57028:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12738,"nodeType":"Block","src":"57291:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":12730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57341:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":12731,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12718,"src":"57381:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12732,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12720,"src":"57385:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12733,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12722,"src":"57389:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12734,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12724,"src":"57393:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57317:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57321:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57317:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57317:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12727,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"57301:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57301:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12737,"nodeType":"ExpressionStatement","src":"57301:96:24"}]},"id":12739,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57225:3:24","nodeType":"FunctionDefinition","parameters":{"id":12725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12718,"mutability":"mutable","name":"p0","nameLocation":"57237:2:24","nodeType":"VariableDeclaration","scope":12739,"src":"57229:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12717,"name":"address","nodeType":"ElementaryTypeName","src":"57229:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12720,"mutability":"mutable","name":"p1","nameLocation":"57249:2:24","nodeType":"VariableDeclaration","scope":12739,"src":"57241:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12719,"name":"uint256","nodeType":"ElementaryTypeName","src":"57241:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12722,"mutability":"mutable","name":"p2","nameLocation":"57261:2:24","nodeType":"VariableDeclaration","scope":12739,"src":"57253:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12721,"name":"uint256","nodeType":"ElementaryTypeName","src":"57253:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12724,"mutability":"mutable","name":"p3","nameLocation":"57273:2:24","nodeType":"VariableDeclaration","scope":12739,"src":"57265:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12723,"name":"address","nodeType":"ElementaryTypeName","src":"57265:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57228:48:24"},"returnParameters":{"id":12726,"nodeType":"ParameterList","parameters":[],"src":"57291:0:24"},"scope":14120,"src":"57216:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12761,"nodeType":"Block","src":"57491:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":12753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57541:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":12754,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12741,"src":"57580:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12755,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12743,"src":"57584:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12756,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12745,"src":"57588:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12757,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"57592:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12751,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57517:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57521:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57517:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57517:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12750,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"57501:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57501:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12760,"nodeType":"ExpressionStatement","src":"57501:95:24"}]},"id":12762,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57419:3:24","nodeType":"FunctionDefinition","parameters":{"id":12748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12741,"mutability":"mutable","name":"p0","nameLocation":"57431:2:24","nodeType":"VariableDeclaration","scope":12762,"src":"57423:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12740,"name":"address","nodeType":"ElementaryTypeName","src":"57423:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12743,"mutability":"mutable","name":"p1","nameLocation":"57443:2:24","nodeType":"VariableDeclaration","scope":12762,"src":"57435:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12742,"name":"uint256","nodeType":"ElementaryTypeName","src":"57435:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12745,"mutability":"mutable","name":"p2","nameLocation":"57461:2:24","nodeType":"VariableDeclaration","scope":12762,"src":"57447:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12744,"name":"string","nodeType":"ElementaryTypeName","src":"57447:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12747,"mutability":"mutable","name":"p3","nameLocation":"57473:2:24","nodeType":"VariableDeclaration","scope":12762,"src":"57465:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12746,"name":"uint256","nodeType":"ElementaryTypeName","src":"57465:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57422:54:24"},"returnParameters":{"id":12749,"nodeType":"ParameterList","parameters":[],"src":"57491:0:24"},"scope":14120,"src":"57410:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12784,"nodeType":"Block","src":"57696:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":12776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57746:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":12777,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12764,"src":"57784:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12778,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12766,"src":"57788:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12779,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12768,"src":"57792:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12780,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12770,"src":"57796:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12774,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57722:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57726:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57722:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57722:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12773,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"57706:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57706:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12783,"nodeType":"ExpressionStatement","src":"57706:94:24"}]},"id":12785,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57618:3:24","nodeType":"FunctionDefinition","parameters":{"id":12771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12764,"mutability":"mutable","name":"p0","nameLocation":"57630:2:24","nodeType":"VariableDeclaration","scope":12785,"src":"57622:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12763,"name":"address","nodeType":"ElementaryTypeName","src":"57622:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12766,"mutability":"mutable","name":"p1","nameLocation":"57642:2:24","nodeType":"VariableDeclaration","scope":12785,"src":"57634:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12765,"name":"uint256","nodeType":"ElementaryTypeName","src":"57634:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12768,"mutability":"mutable","name":"p2","nameLocation":"57660:2:24","nodeType":"VariableDeclaration","scope":12785,"src":"57646:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12767,"name":"string","nodeType":"ElementaryTypeName","src":"57646:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12770,"mutability":"mutable","name":"p3","nameLocation":"57678:2:24","nodeType":"VariableDeclaration","scope":12785,"src":"57664:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12769,"name":"string","nodeType":"ElementaryTypeName","src":"57664:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57621:60:24"},"returnParameters":{"id":12772,"nodeType":"ParameterList","parameters":[],"src":"57696:0:24"},"scope":14120,"src":"57609:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12807,"nodeType":"Block","src":"57891:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":12799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57941:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":12800,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12787,"src":"57977:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12801,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12789,"src":"57981:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12802,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12791,"src":"57985:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12803,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12793,"src":"57989:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12797,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57917:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57921:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57917:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57917:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12796,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"57901:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57901:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12806,"nodeType":"ExpressionStatement","src":"57901:92:24"}]},"id":12808,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57822:3:24","nodeType":"FunctionDefinition","parameters":{"id":12794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12787,"mutability":"mutable","name":"p0","nameLocation":"57834:2:24","nodeType":"VariableDeclaration","scope":12808,"src":"57826:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12786,"name":"address","nodeType":"ElementaryTypeName","src":"57826:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12789,"mutability":"mutable","name":"p1","nameLocation":"57846:2:24","nodeType":"VariableDeclaration","scope":12808,"src":"57838:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12788,"name":"uint256","nodeType":"ElementaryTypeName","src":"57838:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12791,"mutability":"mutable","name":"p2","nameLocation":"57864:2:24","nodeType":"VariableDeclaration","scope":12808,"src":"57850:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12790,"name":"string","nodeType":"ElementaryTypeName","src":"57850:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12793,"mutability":"mutable","name":"p3","nameLocation":"57873:2:24","nodeType":"VariableDeclaration","scope":12808,"src":"57868:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12792,"name":"bool","nodeType":"ElementaryTypeName","src":"57868:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57825:51:24"},"returnParameters":{"id":12795,"nodeType":"ParameterList","parameters":[],"src":"57891:0:24"},"scope":14120,"src":"57813:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12830,"nodeType":"Block","src":"58087:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":12822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58137:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":12823,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12810,"src":"58176:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12824,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12812,"src":"58180:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12825,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12814,"src":"58184:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12826,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12816,"src":"58188:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58113:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58117:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58113:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58113:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12819,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"58097:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58097:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12829,"nodeType":"ExpressionStatement","src":"58097:95:24"}]},"id":12831,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58015:3:24","nodeType":"FunctionDefinition","parameters":{"id":12817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12810,"mutability":"mutable","name":"p0","nameLocation":"58027:2:24","nodeType":"VariableDeclaration","scope":12831,"src":"58019:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12809,"name":"address","nodeType":"ElementaryTypeName","src":"58019:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12812,"mutability":"mutable","name":"p1","nameLocation":"58039:2:24","nodeType":"VariableDeclaration","scope":12831,"src":"58031:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12811,"name":"uint256","nodeType":"ElementaryTypeName","src":"58031:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12814,"mutability":"mutable","name":"p2","nameLocation":"58057:2:24","nodeType":"VariableDeclaration","scope":12831,"src":"58043:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12813,"name":"string","nodeType":"ElementaryTypeName","src":"58043:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12816,"mutability":"mutable","name":"p3","nameLocation":"58069:2:24","nodeType":"VariableDeclaration","scope":12831,"src":"58061:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12815,"name":"address","nodeType":"ElementaryTypeName","src":"58061:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58018:54:24"},"returnParameters":{"id":12818,"nodeType":"ParameterList","parameters":[],"src":"58087:0:24"},"scope":14120,"src":"58006:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12853,"nodeType":"Block","src":"58277:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":12845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58327:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":12846,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12833,"src":"58364:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12847,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12835,"src":"58368:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12848,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12837,"src":"58372:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12849,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12839,"src":"58376:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12843,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58303:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58307:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58303:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58303:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12842,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"58287:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58287:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12852,"nodeType":"ExpressionStatement","src":"58287:93:24"}]},"id":12854,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58214:3:24","nodeType":"FunctionDefinition","parameters":{"id":12840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12833,"mutability":"mutable","name":"p0","nameLocation":"58226:2:24","nodeType":"VariableDeclaration","scope":12854,"src":"58218:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12832,"name":"address","nodeType":"ElementaryTypeName","src":"58218:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12835,"mutability":"mutable","name":"p1","nameLocation":"58238:2:24","nodeType":"VariableDeclaration","scope":12854,"src":"58230:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12834,"name":"uint256","nodeType":"ElementaryTypeName","src":"58230:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12837,"mutability":"mutable","name":"p2","nameLocation":"58247:2:24","nodeType":"VariableDeclaration","scope":12854,"src":"58242:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12836,"name":"bool","nodeType":"ElementaryTypeName","src":"58242:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12839,"mutability":"mutable","name":"p3","nameLocation":"58259:2:24","nodeType":"VariableDeclaration","scope":12854,"src":"58251:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12838,"name":"uint256","nodeType":"ElementaryTypeName","src":"58251:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58217:45:24"},"returnParameters":{"id":12841,"nodeType":"ParameterList","parameters":[],"src":"58277:0:24"},"scope":14120,"src":"58205:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12876,"nodeType":"Block","src":"58471:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":12868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58521:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":12869,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12856,"src":"58557:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12870,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12858,"src":"58561:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12871,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12860,"src":"58565:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12872,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12862,"src":"58569:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58497:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58501:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58497:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58497:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"58481:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58481:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12875,"nodeType":"ExpressionStatement","src":"58481:92:24"}]},"id":12877,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58402:3:24","nodeType":"FunctionDefinition","parameters":{"id":12863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12856,"mutability":"mutable","name":"p0","nameLocation":"58414:2:24","nodeType":"VariableDeclaration","scope":12877,"src":"58406:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12855,"name":"address","nodeType":"ElementaryTypeName","src":"58406:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12858,"mutability":"mutable","name":"p1","nameLocation":"58426:2:24","nodeType":"VariableDeclaration","scope":12877,"src":"58418:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12857,"name":"uint256","nodeType":"ElementaryTypeName","src":"58418:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12860,"mutability":"mutable","name":"p2","nameLocation":"58435:2:24","nodeType":"VariableDeclaration","scope":12877,"src":"58430:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12859,"name":"bool","nodeType":"ElementaryTypeName","src":"58430:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12862,"mutability":"mutable","name":"p3","nameLocation":"58453:2:24","nodeType":"VariableDeclaration","scope":12877,"src":"58439:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12861,"name":"string","nodeType":"ElementaryTypeName","src":"58439:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58405:51:24"},"returnParameters":{"id":12864,"nodeType":"ParameterList","parameters":[],"src":"58471:0:24"},"scope":14120,"src":"58393:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12899,"nodeType":"Block","src":"58655:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":12891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58705:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":12892,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12879,"src":"58739:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12893,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12881,"src":"58743:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12894,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12883,"src":"58747:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12895,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12885,"src":"58751:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58681:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58685:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58681:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58681:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12888,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"58665:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58665:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12898,"nodeType":"ExpressionStatement","src":"58665:90:24"}]},"id":12900,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58595:3:24","nodeType":"FunctionDefinition","parameters":{"id":12886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12879,"mutability":"mutable","name":"p0","nameLocation":"58607:2:24","nodeType":"VariableDeclaration","scope":12900,"src":"58599:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12878,"name":"address","nodeType":"ElementaryTypeName","src":"58599:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12881,"mutability":"mutable","name":"p1","nameLocation":"58619:2:24","nodeType":"VariableDeclaration","scope":12900,"src":"58611:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12880,"name":"uint256","nodeType":"ElementaryTypeName","src":"58611:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12883,"mutability":"mutable","name":"p2","nameLocation":"58628:2:24","nodeType":"VariableDeclaration","scope":12900,"src":"58623:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12882,"name":"bool","nodeType":"ElementaryTypeName","src":"58623:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12885,"mutability":"mutable","name":"p3","nameLocation":"58637:2:24","nodeType":"VariableDeclaration","scope":12900,"src":"58632:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12884,"name":"bool","nodeType":"ElementaryTypeName","src":"58632:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58598:42:24"},"returnParameters":{"id":12887,"nodeType":"ParameterList","parameters":[],"src":"58655:0:24"},"scope":14120,"src":"58586:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12922,"nodeType":"Block","src":"58840:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":12914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58890:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":12915,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12902,"src":"58927:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12916,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12904,"src":"58931:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12917,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12906,"src":"58935:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12918,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12908,"src":"58939:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12912,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58866:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58870:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58866:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58866:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12911,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"58850:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58850:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12921,"nodeType":"ExpressionStatement","src":"58850:93:24"}]},"id":12923,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58777:3:24","nodeType":"FunctionDefinition","parameters":{"id":12909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12902,"mutability":"mutable","name":"p0","nameLocation":"58789:2:24","nodeType":"VariableDeclaration","scope":12923,"src":"58781:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12901,"name":"address","nodeType":"ElementaryTypeName","src":"58781:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12904,"mutability":"mutable","name":"p1","nameLocation":"58801:2:24","nodeType":"VariableDeclaration","scope":12923,"src":"58793:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12903,"name":"uint256","nodeType":"ElementaryTypeName","src":"58793:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12906,"mutability":"mutable","name":"p2","nameLocation":"58810:2:24","nodeType":"VariableDeclaration","scope":12923,"src":"58805:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12905,"name":"bool","nodeType":"ElementaryTypeName","src":"58805:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12908,"mutability":"mutable","name":"p3","nameLocation":"58822:2:24","nodeType":"VariableDeclaration","scope":12923,"src":"58814:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12907,"name":"address","nodeType":"ElementaryTypeName","src":"58814:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58780:45:24"},"returnParameters":{"id":12910,"nodeType":"ParameterList","parameters":[],"src":"58840:0:24"},"scope":14120,"src":"58768:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12945,"nodeType":"Block","src":"59031:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":12937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59081:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":12938,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12925,"src":"59121:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12939,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12927,"src":"59125:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12940,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12929,"src":"59129:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12941,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12931,"src":"59133:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12935,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59057:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59061:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59057:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59057:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12934,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"59041:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59041:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12944,"nodeType":"ExpressionStatement","src":"59041:96:24"}]},"id":12946,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58965:3:24","nodeType":"FunctionDefinition","parameters":{"id":12932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12925,"mutability":"mutable","name":"p0","nameLocation":"58977:2:24","nodeType":"VariableDeclaration","scope":12946,"src":"58969:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12924,"name":"address","nodeType":"ElementaryTypeName","src":"58969:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12927,"mutability":"mutable","name":"p1","nameLocation":"58989:2:24","nodeType":"VariableDeclaration","scope":12946,"src":"58981:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12926,"name":"uint256","nodeType":"ElementaryTypeName","src":"58981:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12929,"mutability":"mutable","name":"p2","nameLocation":"59001:2:24","nodeType":"VariableDeclaration","scope":12946,"src":"58993:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12928,"name":"address","nodeType":"ElementaryTypeName","src":"58993:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12931,"mutability":"mutable","name":"p3","nameLocation":"59013:2:24","nodeType":"VariableDeclaration","scope":12946,"src":"59005:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12930,"name":"uint256","nodeType":"ElementaryTypeName","src":"59005:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58968:48:24"},"returnParameters":{"id":12933,"nodeType":"ParameterList","parameters":[],"src":"59031:0:24"},"scope":14120,"src":"58956:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12968,"nodeType":"Block","src":"59231:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":12960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59281:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":12961,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12948,"src":"59320:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12962,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12950,"src":"59324:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12963,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12952,"src":"59328:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12964,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12954,"src":"59332:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59257:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59261:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59257:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59257:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12957,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"59241:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59241:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12967,"nodeType":"ExpressionStatement","src":"59241:95:24"}]},"id":12969,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59159:3:24","nodeType":"FunctionDefinition","parameters":{"id":12955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12948,"mutability":"mutable","name":"p0","nameLocation":"59171:2:24","nodeType":"VariableDeclaration","scope":12969,"src":"59163:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12947,"name":"address","nodeType":"ElementaryTypeName","src":"59163:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12950,"mutability":"mutable","name":"p1","nameLocation":"59183:2:24","nodeType":"VariableDeclaration","scope":12969,"src":"59175:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12949,"name":"uint256","nodeType":"ElementaryTypeName","src":"59175:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12952,"mutability":"mutable","name":"p2","nameLocation":"59195:2:24","nodeType":"VariableDeclaration","scope":12969,"src":"59187:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12951,"name":"address","nodeType":"ElementaryTypeName","src":"59187:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12954,"mutability":"mutable","name":"p3","nameLocation":"59213:2:24","nodeType":"VariableDeclaration","scope":12969,"src":"59199:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12953,"name":"string","nodeType":"ElementaryTypeName","src":"59199:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59162:54:24"},"returnParameters":{"id":12956,"nodeType":"ParameterList","parameters":[],"src":"59231:0:24"},"scope":14120,"src":"59150:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":12991,"nodeType":"Block","src":"59421:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":12983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59471:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":12984,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12971,"src":"59508:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12985,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12973,"src":"59512:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12986,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12975,"src":"59516:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12987,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12977,"src":"59520:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59447:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59451:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59447:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59447:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12980,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"59431:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":12989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59431:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12990,"nodeType":"ExpressionStatement","src":"59431:93:24"}]},"id":12992,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59358:3:24","nodeType":"FunctionDefinition","parameters":{"id":12978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12971,"mutability":"mutable","name":"p0","nameLocation":"59370:2:24","nodeType":"VariableDeclaration","scope":12992,"src":"59362:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12970,"name":"address","nodeType":"ElementaryTypeName","src":"59362:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12973,"mutability":"mutable","name":"p1","nameLocation":"59382:2:24","nodeType":"VariableDeclaration","scope":12992,"src":"59374:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12972,"name":"uint256","nodeType":"ElementaryTypeName","src":"59374:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12975,"mutability":"mutable","name":"p2","nameLocation":"59394:2:24","nodeType":"VariableDeclaration","scope":12992,"src":"59386:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12974,"name":"address","nodeType":"ElementaryTypeName","src":"59386:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12977,"mutability":"mutable","name":"p3","nameLocation":"59403:2:24","nodeType":"VariableDeclaration","scope":12992,"src":"59398:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12976,"name":"bool","nodeType":"ElementaryTypeName","src":"59398:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59361:45:24"},"returnParameters":{"id":12979,"nodeType":"ParameterList","parameters":[],"src":"59421:0:24"},"scope":14120,"src":"59349:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13014,"nodeType":"Block","src":"59612:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":13006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59662:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":13007,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12994,"src":"59702:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13008,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12996,"src":"59706:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13009,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12998,"src":"59710:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13010,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13000,"src":"59714:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59638:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59642:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59638:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59638:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13003,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"59622:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59622:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13013,"nodeType":"ExpressionStatement","src":"59622:96:24"}]},"id":13015,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59546:3:24","nodeType":"FunctionDefinition","parameters":{"id":13001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12994,"mutability":"mutable","name":"p0","nameLocation":"59558:2:24","nodeType":"VariableDeclaration","scope":13015,"src":"59550:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12993,"name":"address","nodeType":"ElementaryTypeName","src":"59550:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12996,"mutability":"mutable","name":"p1","nameLocation":"59570:2:24","nodeType":"VariableDeclaration","scope":13015,"src":"59562:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12995,"name":"uint256","nodeType":"ElementaryTypeName","src":"59562:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12998,"mutability":"mutable","name":"p2","nameLocation":"59582:2:24","nodeType":"VariableDeclaration","scope":13015,"src":"59574:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12997,"name":"address","nodeType":"ElementaryTypeName","src":"59574:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13000,"mutability":"mutable","name":"p3","nameLocation":"59594:2:24","nodeType":"VariableDeclaration","scope":13015,"src":"59586:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12999,"name":"address","nodeType":"ElementaryTypeName","src":"59586:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59549:48:24"},"returnParameters":{"id":13002,"nodeType":"ParameterList","parameters":[],"src":"59612:0:24"},"scope":14120,"src":"59537:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13037,"nodeType":"Block","src":"59812:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":13029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59862:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":13030,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13017,"src":"59901:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13031,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13019,"src":"59905:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13032,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13021,"src":"59909:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13033,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13023,"src":"59913:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13027,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59838:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59842:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59838:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59838:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13026,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"59822:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59822:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13036,"nodeType":"ExpressionStatement","src":"59822:95:24"}]},"id":13038,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59740:3:24","nodeType":"FunctionDefinition","parameters":{"id":13024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13017,"mutability":"mutable","name":"p0","nameLocation":"59752:2:24","nodeType":"VariableDeclaration","scope":13038,"src":"59744:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13016,"name":"address","nodeType":"ElementaryTypeName","src":"59744:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13019,"mutability":"mutable","name":"p1","nameLocation":"59770:2:24","nodeType":"VariableDeclaration","scope":13038,"src":"59756:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13018,"name":"string","nodeType":"ElementaryTypeName","src":"59756:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13021,"mutability":"mutable","name":"p2","nameLocation":"59782:2:24","nodeType":"VariableDeclaration","scope":13038,"src":"59774:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13020,"name":"uint256","nodeType":"ElementaryTypeName","src":"59774:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13023,"mutability":"mutable","name":"p3","nameLocation":"59794:2:24","nodeType":"VariableDeclaration","scope":13038,"src":"59786:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13022,"name":"uint256","nodeType":"ElementaryTypeName","src":"59786:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59743:54:24"},"returnParameters":{"id":13025,"nodeType":"ParameterList","parameters":[],"src":"59812:0:24"},"scope":14120,"src":"59731:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13060,"nodeType":"Block","src":"60017:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":13052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60067:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":13053,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13040,"src":"60105:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13054,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13042,"src":"60109:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13055,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13044,"src":"60113:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13056,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13046,"src":"60117:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60043:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60047:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60043:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60043:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13049,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"60027:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60027:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13059,"nodeType":"ExpressionStatement","src":"60027:94:24"}]},"id":13061,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59939:3:24","nodeType":"FunctionDefinition","parameters":{"id":13047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13040,"mutability":"mutable","name":"p0","nameLocation":"59951:2:24","nodeType":"VariableDeclaration","scope":13061,"src":"59943:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13039,"name":"address","nodeType":"ElementaryTypeName","src":"59943:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13042,"mutability":"mutable","name":"p1","nameLocation":"59969:2:24","nodeType":"VariableDeclaration","scope":13061,"src":"59955:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13041,"name":"string","nodeType":"ElementaryTypeName","src":"59955:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13044,"mutability":"mutable","name":"p2","nameLocation":"59981:2:24","nodeType":"VariableDeclaration","scope":13061,"src":"59973:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13043,"name":"uint256","nodeType":"ElementaryTypeName","src":"59973:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13046,"mutability":"mutable","name":"p3","nameLocation":"59999:2:24","nodeType":"VariableDeclaration","scope":13061,"src":"59985:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13045,"name":"string","nodeType":"ElementaryTypeName","src":"59985:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59942:60:24"},"returnParameters":{"id":13048,"nodeType":"ParameterList","parameters":[],"src":"60017:0:24"},"scope":14120,"src":"59930:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13083,"nodeType":"Block","src":"60212:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":13075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60262:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":13076,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"60298:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13077,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13065,"src":"60302:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13078,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13067,"src":"60306:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13079,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13069,"src":"60310:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60238:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60242:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60238:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60238:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13072,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"60222:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60222:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13082,"nodeType":"ExpressionStatement","src":"60222:92:24"}]},"id":13084,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60143:3:24","nodeType":"FunctionDefinition","parameters":{"id":13070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13063,"mutability":"mutable","name":"p0","nameLocation":"60155:2:24","nodeType":"VariableDeclaration","scope":13084,"src":"60147:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13062,"name":"address","nodeType":"ElementaryTypeName","src":"60147:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13065,"mutability":"mutable","name":"p1","nameLocation":"60173:2:24","nodeType":"VariableDeclaration","scope":13084,"src":"60159:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13064,"name":"string","nodeType":"ElementaryTypeName","src":"60159:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13067,"mutability":"mutable","name":"p2","nameLocation":"60185:2:24","nodeType":"VariableDeclaration","scope":13084,"src":"60177:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13066,"name":"uint256","nodeType":"ElementaryTypeName","src":"60177:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13069,"mutability":"mutable","name":"p3","nameLocation":"60194:2:24","nodeType":"VariableDeclaration","scope":13084,"src":"60189:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13068,"name":"bool","nodeType":"ElementaryTypeName","src":"60189:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60146:51:24"},"returnParameters":{"id":13071,"nodeType":"ParameterList","parameters":[],"src":"60212:0:24"},"scope":14120,"src":"60134:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13106,"nodeType":"Block","src":"60408:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":13098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60458:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":13099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13086,"src":"60497:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13088,"src":"60501:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13090,"src":"60505:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13102,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13092,"src":"60509:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60434:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60438:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60434:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60434:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"60418:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60418:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13105,"nodeType":"ExpressionStatement","src":"60418:95:24"}]},"id":13107,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60336:3:24","nodeType":"FunctionDefinition","parameters":{"id":13093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13086,"mutability":"mutable","name":"p0","nameLocation":"60348:2:24","nodeType":"VariableDeclaration","scope":13107,"src":"60340:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13085,"name":"address","nodeType":"ElementaryTypeName","src":"60340:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13088,"mutability":"mutable","name":"p1","nameLocation":"60366:2:24","nodeType":"VariableDeclaration","scope":13107,"src":"60352:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13087,"name":"string","nodeType":"ElementaryTypeName","src":"60352:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13090,"mutability":"mutable","name":"p2","nameLocation":"60378:2:24","nodeType":"VariableDeclaration","scope":13107,"src":"60370:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13089,"name":"uint256","nodeType":"ElementaryTypeName","src":"60370:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13092,"mutability":"mutable","name":"p3","nameLocation":"60390:2:24","nodeType":"VariableDeclaration","scope":13107,"src":"60382:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13091,"name":"address","nodeType":"ElementaryTypeName","src":"60382:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60339:54:24"},"returnParameters":{"id":13094,"nodeType":"ParameterList","parameters":[],"src":"60408:0:24"},"scope":14120,"src":"60327:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13129,"nodeType":"Block","src":"60613:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":13121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60663:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":13122,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13109,"src":"60701:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13123,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13111,"src":"60705:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13124,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13113,"src":"60709:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13125,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13115,"src":"60713:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13119,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60639:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60643:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60639:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60639:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13118,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"60623:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60623:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13128,"nodeType":"ExpressionStatement","src":"60623:94:24"}]},"id":13130,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60535:3:24","nodeType":"FunctionDefinition","parameters":{"id":13116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13109,"mutability":"mutable","name":"p0","nameLocation":"60547:2:24","nodeType":"VariableDeclaration","scope":13130,"src":"60539:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13108,"name":"address","nodeType":"ElementaryTypeName","src":"60539:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13111,"mutability":"mutable","name":"p1","nameLocation":"60565:2:24","nodeType":"VariableDeclaration","scope":13130,"src":"60551:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13110,"name":"string","nodeType":"ElementaryTypeName","src":"60551:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13113,"mutability":"mutable","name":"p2","nameLocation":"60583:2:24","nodeType":"VariableDeclaration","scope":13130,"src":"60569:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13112,"name":"string","nodeType":"ElementaryTypeName","src":"60569:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13115,"mutability":"mutable","name":"p3","nameLocation":"60595:2:24","nodeType":"VariableDeclaration","scope":13130,"src":"60587:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13114,"name":"uint256","nodeType":"ElementaryTypeName","src":"60587:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60538:60:24"},"returnParameters":{"id":13117,"nodeType":"ParameterList","parameters":[],"src":"60613:0:24"},"scope":14120,"src":"60526:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13152,"nodeType":"Block","src":"60823:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":13144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60873:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":13145,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13132,"src":"60910:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13146,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13134,"src":"60914:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13147,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13136,"src":"60918:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13148,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13138,"src":"60922:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60849:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60853:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60849:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60849:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"60833:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60833:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13151,"nodeType":"ExpressionStatement","src":"60833:93:24"}]},"id":13153,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60739:3:24","nodeType":"FunctionDefinition","parameters":{"id":13139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13132,"mutability":"mutable","name":"p0","nameLocation":"60751:2:24","nodeType":"VariableDeclaration","scope":13153,"src":"60743:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13131,"name":"address","nodeType":"ElementaryTypeName","src":"60743:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13134,"mutability":"mutable","name":"p1","nameLocation":"60769:2:24","nodeType":"VariableDeclaration","scope":13153,"src":"60755:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13133,"name":"string","nodeType":"ElementaryTypeName","src":"60755:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13136,"mutability":"mutable","name":"p2","nameLocation":"60787:2:24","nodeType":"VariableDeclaration","scope":13153,"src":"60773:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13135,"name":"string","nodeType":"ElementaryTypeName","src":"60773:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13138,"mutability":"mutable","name":"p3","nameLocation":"60805:2:24","nodeType":"VariableDeclaration","scope":13153,"src":"60791:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13137,"name":"string","nodeType":"ElementaryTypeName","src":"60791:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60742:66:24"},"returnParameters":{"id":13140,"nodeType":"ParameterList","parameters":[],"src":"60823:0:24"},"scope":14120,"src":"60730:203:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13175,"nodeType":"Block","src":"61023:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":13167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61073:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":13168,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13155,"src":"61108:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13169,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13157,"src":"61112:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13170,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13159,"src":"61116:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13171,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13161,"src":"61120:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13165,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61049:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61053:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61049:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61049:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13164,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"61033:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61033:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13174,"nodeType":"ExpressionStatement","src":"61033:91:24"}]},"id":13176,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60948:3:24","nodeType":"FunctionDefinition","parameters":{"id":13162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13155,"mutability":"mutable","name":"p0","nameLocation":"60960:2:24","nodeType":"VariableDeclaration","scope":13176,"src":"60952:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13154,"name":"address","nodeType":"ElementaryTypeName","src":"60952:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13157,"mutability":"mutable","name":"p1","nameLocation":"60978:2:24","nodeType":"VariableDeclaration","scope":13176,"src":"60964:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13156,"name":"string","nodeType":"ElementaryTypeName","src":"60964:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13159,"mutability":"mutable","name":"p2","nameLocation":"60996:2:24","nodeType":"VariableDeclaration","scope":13176,"src":"60982:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13158,"name":"string","nodeType":"ElementaryTypeName","src":"60982:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13161,"mutability":"mutable","name":"p3","nameLocation":"61005:2:24","nodeType":"VariableDeclaration","scope":13176,"src":"61000:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13160,"name":"bool","nodeType":"ElementaryTypeName","src":"61000:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60951:57:24"},"returnParameters":{"id":13163,"nodeType":"ParameterList","parameters":[],"src":"61023:0:24"},"scope":14120,"src":"60939:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13198,"nodeType":"Block","src":"61224:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":13190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61274:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":13191,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13178,"src":"61312:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13192,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13180,"src":"61316:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13193,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13182,"src":"61320:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13194,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13184,"src":"61324:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61250:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61254:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61250:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61250:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13187,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"61234:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61234:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13197,"nodeType":"ExpressionStatement","src":"61234:94:24"}]},"id":13199,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61146:3:24","nodeType":"FunctionDefinition","parameters":{"id":13185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13178,"mutability":"mutable","name":"p0","nameLocation":"61158:2:24","nodeType":"VariableDeclaration","scope":13199,"src":"61150:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13177,"name":"address","nodeType":"ElementaryTypeName","src":"61150:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13180,"mutability":"mutable","name":"p1","nameLocation":"61176:2:24","nodeType":"VariableDeclaration","scope":13199,"src":"61162:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13179,"name":"string","nodeType":"ElementaryTypeName","src":"61162:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13182,"mutability":"mutable","name":"p2","nameLocation":"61194:2:24","nodeType":"VariableDeclaration","scope":13199,"src":"61180:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13181,"name":"string","nodeType":"ElementaryTypeName","src":"61180:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13184,"mutability":"mutable","name":"p3","nameLocation":"61206:2:24","nodeType":"VariableDeclaration","scope":13199,"src":"61198:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13183,"name":"address","nodeType":"ElementaryTypeName","src":"61198:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61149:60:24"},"returnParameters":{"id":13186,"nodeType":"ParameterList","parameters":[],"src":"61224:0:24"},"scope":14120,"src":"61137:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13221,"nodeType":"Block","src":"61419:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":13213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61469:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":13214,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13201,"src":"61505:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13215,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13203,"src":"61509:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13216,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13205,"src":"61513:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13217,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13207,"src":"61517:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61445:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61449:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61445:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61445:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13210,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"61429:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61429:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13220,"nodeType":"ExpressionStatement","src":"61429:92:24"}]},"id":13222,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61350:3:24","nodeType":"FunctionDefinition","parameters":{"id":13208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13201,"mutability":"mutable","name":"p0","nameLocation":"61362:2:24","nodeType":"VariableDeclaration","scope":13222,"src":"61354:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13200,"name":"address","nodeType":"ElementaryTypeName","src":"61354:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13203,"mutability":"mutable","name":"p1","nameLocation":"61380:2:24","nodeType":"VariableDeclaration","scope":13222,"src":"61366:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13202,"name":"string","nodeType":"ElementaryTypeName","src":"61366:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13205,"mutability":"mutable","name":"p2","nameLocation":"61389:2:24","nodeType":"VariableDeclaration","scope":13222,"src":"61384:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13204,"name":"bool","nodeType":"ElementaryTypeName","src":"61384:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13207,"mutability":"mutable","name":"p3","nameLocation":"61401:2:24","nodeType":"VariableDeclaration","scope":13222,"src":"61393:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13206,"name":"uint256","nodeType":"ElementaryTypeName","src":"61393:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61353:51:24"},"returnParameters":{"id":13209,"nodeType":"ParameterList","parameters":[],"src":"61419:0:24"},"scope":14120,"src":"61341:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13244,"nodeType":"Block","src":"61618:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":13236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61668:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":13237,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13224,"src":"61703:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13238,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13226,"src":"61707:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13239,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13228,"src":"61711:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13240,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13230,"src":"61715:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13234,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61644:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61648:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61644:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61644:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13233,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"61628:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61628:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13243,"nodeType":"ExpressionStatement","src":"61628:91:24"}]},"id":13245,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61543:3:24","nodeType":"FunctionDefinition","parameters":{"id":13231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13224,"mutability":"mutable","name":"p0","nameLocation":"61555:2:24","nodeType":"VariableDeclaration","scope":13245,"src":"61547:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13223,"name":"address","nodeType":"ElementaryTypeName","src":"61547:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13226,"mutability":"mutable","name":"p1","nameLocation":"61573:2:24","nodeType":"VariableDeclaration","scope":13245,"src":"61559:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13225,"name":"string","nodeType":"ElementaryTypeName","src":"61559:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13228,"mutability":"mutable","name":"p2","nameLocation":"61582:2:24","nodeType":"VariableDeclaration","scope":13245,"src":"61577:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13227,"name":"bool","nodeType":"ElementaryTypeName","src":"61577:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13230,"mutability":"mutable","name":"p3","nameLocation":"61600:2:24","nodeType":"VariableDeclaration","scope":13245,"src":"61586:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13229,"name":"string","nodeType":"ElementaryTypeName","src":"61586:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61546:57:24"},"returnParameters":{"id":13232,"nodeType":"ParameterList","parameters":[],"src":"61618:0:24"},"scope":14120,"src":"61534:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13267,"nodeType":"Block","src":"61807:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":13259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61857:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":13260,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13247,"src":"61890:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13261,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13249,"src":"61894:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13262,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13251,"src":"61898:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13263,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13253,"src":"61902:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13257,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61833:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61837:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61833:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61833:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13256,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"61817:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61817:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13266,"nodeType":"ExpressionStatement","src":"61817:89:24"}]},"id":13268,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61741:3:24","nodeType":"FunctionDefinition","parameters":{"id":13254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13247,"mutability":"mutable","name":"p0","nameLocation":"61753:2:24","nodeType":"VariableDeclaration","scope":13268,"src":"61745:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13246,"name":"address","nodeType":"ElementaryTypeName","src":"61745:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13249,"mutability":"mutable","name":"p1","nameLocation":"61771:2:24","nodeType":"VariableDeclaration","scope":13268,"src":"61757:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13248,"name":"string","nodeType":"ElementaryTypeName","src":"61757:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13251,"mutability":"mutable","name":"p2","nameLocation":"61780:2:24","nodeType":"VariableDeclaration","scope":13268,"src":"61775:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13250,"name":"bool","nodeType":"ElementaryTypeName","src":"61775:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13253,"mutability":"mutable","name":"p3","nameLocation":"61789:2:24","nodeType":"VariableDeclaration","scope":13268,"src":"61784:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13252,"name":"bool","nodeType":"ElementaryTypeName","src":"61784:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61744:48:24"},"returnParameters":{"id":13255,"nodeType":"ParameterList","parameters":[],"src":"61807:0:24"},"scope":14120,"src":"61732:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13290,"nodeType":"Block","src":"61997:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":13282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62047:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":13283,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13270,"src":"62083:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13284,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13272,"src":"62087:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13285,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13274,"src":"62091:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13286,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13276,"src":"62095:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62023:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62027:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62023:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62023:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13279,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"62007:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62007:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13289,"nodeType":"ExpressionStatement","src":"62007:92:24"}]},"id":13291,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61928:3:24","nodeType":"FunctionDefinition","parameters":{"id":13277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13270,"mutability":"mutable","name":"p0","nameLocation":"61940:2:24","nodeType":"VariableDeclaration","scope":13291,"src":"61932:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13269,"name":"address","nodeType":"ElementaryTypeName","src":"61932:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13272,"mutability":"mutable","name":"p1","nameLocation":"61958:2:24","nodeType":"VariableDeclaration","scope":13291,"src":"61944:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13271,"name":"string","nodeType":"ElementaryTypeName","src":"61944:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13274,"mutability":"mutable","name":"p2","nameLocation":"61967:2:24","nodeType":"VariableDeclaration","scope":13291,"src":"61962:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13273,"name":"bool","nodeType":"ElementaryTypeName","src":"61962:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13276,"mutability":"mutable","name":"p3","nameLocation":"61979:2:24","nodeType":"VariableDeclaration","scope":13291,"src":"61971:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13275,"name":"address","nodeType":"ElementaryTypeName","src":"61971:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61931:51:24"},"returnParameters":{"id":13278,"nodeType":"ParameterList","parameters":[],"src":"61997:0:24"},"scope":14120,"src":"61919:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13313,"nodeType":"Block","src":"62193:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":13305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62243:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":13306,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13293,"src":"62282:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13307,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13295,"src":"62286:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13308,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13297,"src":"62290:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13309,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13299,"src":"62294:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13303,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62219:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62223:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62219:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62219:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13302,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"62203:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62203:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13312,"nodeType":"ExpressionStatement","src":"62203:95:24"}]},"id":13314,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62121:3:24","nodeType":"FunctionDefinition","parameters":{"id":13300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13293,"mutability":"mutable","name":"p0","nameLocation":"62133:2:24","nodeType":"VariableDeclaration","scope":13314,"src":"62125:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13292,"name":"address","nodeType":"ElementaryTypeName","src":"62125:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13295,"mutability":"mutable","name":"p1","nameLocation":"62151:2:24","nodeType":"VariableDeclaration","scope":13314,"src":"62137:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13294,"name":"string","nodeType":"ElementaryTypeName","src":"62137:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13297,"mutability":"mutable","name":"p2","nameLocation":"62163:2:24","nodeType":"VariableDeclaration","scope":13314,"src":"62155:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13296,"name":"address","nodeType":"ElementaryTypeName","src":"62155:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13299,"mutability":"mutable","name":"p3","nameLocation":"62175:2:24","nodeType":"VariableDeclaration","scope":13314,"src":"62167:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13298,"name":"uint256","nodeType":"ElementaryTypeName","src":"62167:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62124:54:24"},"returnParameters":{"id":13301,"nodeType":"ParameterList","parameters":[],"src":"62193:0:24"},"scope":14120,"src":"62112:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13336,"nodeType":"Block","src":"62398:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":13328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62448:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":13329,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13316,"src":"62486:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13330,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13318,"src":"62490:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13331,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13320,"src":"62494:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13332,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13322,"src":"62498:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13326,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62424:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62428:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62424:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62424:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13325,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"62408:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62408:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13335,"nodeType":"ExpressionStatement","src":"62408:94:24"}]},"id":13337,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62320:3:24","nodeType":"FunctionDefinition","parameters":{"id":13323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13316,"mutability":"mutable","name":"p0","nameLocation":"62332:2:24","nodeType":"VariableDeclaration","scope":13337,"src":"62324:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13315,"name":"address","nodeType":"ElementaryTypeName","src":"62324:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13318,"mutability":"mutable","name":"p1","nameLocation":"62350:2:24","nodeType":"VariableDeclaration","scope":13337,"src":"62336:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13317,"name":"string","nodeType":"ElementaryTypeName","src":"62336:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13320,"mutability":"mutable","name":"p2","nameLocation":"62362:2:24","nodeType":"VariableDeclaration","scope":13337,"src":"62354:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13319,"name":"address","nodeType":"ElementaryTypeName","src":"62354:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13322,"mutability":"mutable","name":"p3","nameLocation":"62380:2:24","nodeType":"VariableDeclaration","scope":13337,"src":"62366:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13321,"name":"string","nodeType":"ElementaryTypeName","src":"62366:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62323:60:24"},"returnParameters":{"id":13324,"nodeType":"ParameterList","parameters":[],"src":"62398:0:24"},"scope":14120,"src":"62311:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13359,"nodeType":"Block","src":"62593:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":13351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62643:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":13352,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13339,"src":"62679:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13353,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13341,"src":"62683:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13354,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13343,"src":"62687:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13355,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13345,"src":"62691:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13349,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62619:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62623:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62619:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62619:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13348,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"62603:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62603:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13358,"nodeType":"ExpressionStatement","src":"62603:92:24"}]},"id":13360,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62524:3:24","nodeType":"FunctionDefinition","parameters":{"id":13346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13339,"mutability":"mutable","name":"p0","nameLocation":"62536:2:24","nodeType":"VariableDeclaration","scope":13360,"src":"62528:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13338,"name":"address","nodeType":"ElementaryTypeName","src":"62528:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13341,"mutability":"mutable","name":"p1","nameLocation":"62554:2:24","nodeType":"VariableDeclaration","scope":13360,"src":"62540:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13340,"name":"string","nodeType":"ElementaryTypeName","src":"62540:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13343,"mutability":"mutable","name":"p2","nameLocation":"62566:2:24","nodeType":"VariableDeclaration","scope":13360,"src":"62558:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13342,"name":"address","nodeType":"ElementaryTypeName","src":"62558:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13345,"mutability":"mutable","name":"p3","nameLocation":"62575:2:24","nodeType":"VariableDeclaration","scope":13360,"src":"62570:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13344,"name":"bool","nodeType":"ElementaryTypeName","src":"62570:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62527:51:24"},"returnParameters":{"id":13347,"nodeType":"ParameterList","parameters":[],"src":"62593:0:24"},"scope":14120,"src":"62515:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13382,"nodeType":"Block","src":"62789:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":13374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62839:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":13375,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13362,"src":"62878:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13376,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13364,"src":"62882:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13377,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13366,"src":"62886:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13378,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13368,"src":"62890:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13372,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62815:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62819:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62815:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62815:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13371,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"62799:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62799:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13381,"nodeType":"ExpressionStatement","src":"62799:95:24"}]},"id":13383,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62717:3:24","nodeType":"FunctionDefinition","parameters":{"id":13369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13362,"mutability":"mutable","name":"p0","nameLocation":"62729:2:24","nodeType":"VariableDeclaration","scope":13383,"src":"62721:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13361,"name":"address","nodeType":"ElementaryTypeName","src":"62721:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13364,"mutability":"mutable","name":"p1","nameLocation":"62747:2:24","nodeType":"VariableDeclaration","scope":13383,"src":"62733:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13363,"name":"string","nodeType":"ElementaryTypeName","src":"62733:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13366,"mutability":"mutable","name":"p2","nameLocation":"62759:2:24","nodeType":"VariableDeclaration","scope":13383,"src":"62751:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13365,"name":"address","nodeType":"ElementaryTypeName","src":"62751:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13368,"mutability":"mutable","name":"p3","nameLocation":"62771:2:24","nodeType":"VariableDeclaration","scope":13383,"src":"62763:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13367,"name":"address","nodeType":"ElementaryTypeName","src":"62763:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62720:54:24"},"returnParameters":{"id":13370,"nodeType":"ParameterList","parameters":[],"src":"62789:0:24"},"scope":14120,"src":"62708:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13405,"nodeType":"Block","src":"62979:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":13397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63029:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":13398,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13385,"src":"63066:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13399,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13387,"src":"63070:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13400,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13389,"src":"63074:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13401,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13391,"src":"63078:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63005:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63009:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63005:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63005:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13394,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"62989:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62989:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13404,"nodeType":"ExpressionStatement","src":"62989:93:24"}]},"id":13406,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62916:3:24","nodeType":"FunctionDefinition","parameters":{"id":13392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13385,"mutability":"mutable","name":"p0","nameLocation":"62928:2:24","nodeType":"VariableDeclaration","scope":13406,"src":"62920:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13384,"name":"address","nodeType":"ElementaryTypeName","src":"62920:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13387,"mutability":"mutable","name":"p1","nameLocation":"62937:2:24","nodeType":"VariableDeclaration","scope":13406,"src":"62932:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13386,"name":"bool","nodeType":"ElementaryTypeName","src":"62932:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13389,"mutability":"mutable","name":"p2","nameLocation":"62949:2:24","nodeType":"VariableDeclaration","scope":13406,"src":"62941:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13388,"name":"uint256","nodeType":"ElementaryTypeName","src":"62941:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13391,"mutability":"mutable","name":"p3","nameLocation":"62961:2:24","nodeType":"VariableDeclaration","scope":13406,"src":"62953:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13390,"name":"uint256","nodeType":"ElementaryTypeName","src":"62953:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62919:45:24"},"returnParameters":{"id":13393,"nodeType":"ParameterList","parameters":[],"src":"62979:0:24"},"scope":14120,"src":"62907:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13428,"nodeType":"Block","src":"63173:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":13420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63223:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":13421,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13408,"src":"63259:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13422,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13410,"src":"63263:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13423,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13412,"src":"63267:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13424,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13414,"src":"63271:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63199:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63203:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63199:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63199:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"63183:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63183:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13427,"nodeType":"ExpressionStatement","src":"63183:92:24"}]},"id":13429,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63104:3:24","nodeType":"FunctionDefinition","parameters":{"id":13415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13408,"mutability":"mutable","name":"p0","nameLocation":"63116:2:24","nodeType":"VariableDeclaration","scope":13429,"src":"63108:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13407,"name":"address","nodeType":"ElementaryTypeName","src":"63108:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13410,"mutability":"mutable","name":"p1","nameLocation":"63125:2:24","nodeType":"VariableDeclaration","scope":13429,"src":"63120:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13409,"name":"bool","nodeType":"ElementaryTypeName","src":"63120:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13412,"mutability":"mutable","name":"p2","nameLocation":"63137:2:24","nodeType":"VariableDeclaration","scope":13429,"src":"63129:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13411,"name":"uint256","nodeType":"ElementaryTypeName","src":"63129:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13414,"mutability":"mutable","name":"p3","nameLocation":"63155:2:24","nodeType":"VariableDeclaration","scope":13429,"src":"63141:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13413,"name":"string","nodeType":"ElementaryTypeName","src":"63141:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63107:51:24"},"returnParameters":{"id":13416,"nodeType":"ParameterList","parameters":[],"src":"63173:0:24"},"scope":14120,"src":"63095:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13451,"nodeType":"Block","src":"63357:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":13443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63407:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":13444,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13431,"src":"63441:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13445,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13433,"src":"63445:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13446,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13435,"src":"63449:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13447,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13437,"src":"63453:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63383:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63387:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63383:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63383:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13440,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"63367:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63367:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13450,"nodeType":"ExpressionStatement","src":"63367:90:24"}]},"id":13452,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63297:3:24","nodeType":"FunctionDefinition","parameters":{"id":13438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13431,"mutability":"mutable","name":"p0","nameLocation":"63309:2:24","nodeType":"VariableDeclaration","scope":13452,"src":"63301:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13430,"name":"address","nodeType":"ElementaryTypeName","src":"63301:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13433,"mutability":"mutable","name":"p1","nameLocation":"63318:2:24","nodeType":"VariableDeclaration","scope":13452,"src":"63313:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13432,"name":"bool","nodeType":"ElementaryTypeName","src":"63313:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13435,"mutability":"mutable","name":"p2","nameLocation":"63330:2:24","nodeType":"VariableDeclaration","scope":13452,"src":"63322:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13434,"name":"uint256","nodeType":"ElementaryTypeName","src":"63322:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13437,"mutability":"mutable","name":"p3","nameLocation":"63339:2:24","nodeType":"VariableDeclaration","scope":13452,"src":"63334:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13436,"name":"bool","nodeType":"ElementaryTypeName","src":"63334:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63300:42:24"},"returnParameters":{"id":13439,"nodeType":"ParameterList","parameters":[],"src":"63357:0:24"},"scope":14120,"src":"63288:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13474,"nodeType":"Block","src":"63542:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":13466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63592:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":13467,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13454,"src":"63629:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13468,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13456,"src":"63633:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13469,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13458,"src":"63637:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13470,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13460,"src":"63641:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13464,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63568:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63572:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63568:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63568:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13463,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"63552:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63552:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13473,"nodeType":"ExpressionStatement","src":"63552:93:24"}]},"id":13475,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63479:3:24","nodeType":"FunctionDefinition","parameters":{"id":13461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13454,"mutability":"mutable","name":"p0","nameLocation":"63491:2:24","nodeType":"VariableDeclaration","scope":13475,"src":"63483:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13453,"name":"address","nodeType":"ElementaryTypeName","src":"63483:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13456,"mutability":"mutable","name":"p1","nameLocation":"63500:2:24","nodeType":"VariableDeclaration","scope":13475,"src":"63495:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13455,"name":"bool","nodeType":"ElementaryTypeName","src":"63495:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13458,"mutability":"mutable","name":"p2","nameLocation":"63512:2:24","nodeType":"VariableDeclaration","scope":13475,"src":"63504:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13457,"name":"uint256","nodeType":"ElementaryTypeName","src":"63504:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13460,"mutability":"mutable","name":"p3","nameLocation":"63524:2:24","nodeType":"VariableDeclaration","scope":13475,"src":"63516:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13459,"name":"address","nodeType":"ElementaryTypeName","src":"63516:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63482:45:24"},"returnParameters":{"id":13462,"nodeType":"ParameterList","parameters":[],"src":"63542:0:24"},"scope":14120,"src":"63470:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13497,"nodeType":"Block","src":"63736:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":13489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63786:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":13490,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13477,"src":"63822:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13491,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13479,"src":"63826:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13492,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13481,"src":"63830:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13493,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13483,"src":"63834:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13487,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63762:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63766:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63762:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63762:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13486,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"63746:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63746:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13496,"nodeType":"ExpressionStatement","src":"63746:92:24"}]},"id":13498,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63667:3:24","nodeType":"FunctionDefinition","parameters":{"id":13484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13477,"mutability":"mutable","name":"p0","nameLocation":"63679:2:24","nodeType":"VariableDeclaration","scope":13498,"src":"63671:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13476,"name":"address","nodeType":"ElementaryTypeName","src":"63671:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13479,"mutability":"mutable","name":"p1","nameLocation":"63688:2:24","nodeType":"VariableDeclaration","scope":13498,"src":"63683:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13478,"name":"bool","nodeType":"ElementaryTypeName","src":"63683:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13481,"mutability":"mutable","name":"p2","nameLocation":"63706:2:24","nodeType":"VariableDeclaration","scope":13498,"src":"63692:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13480,"name":"string","nodeType":"ElementaryTypeName","src":"63692:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13483,"mutability":"mutable","name":"p3","nameLocation":"63718:2:24","nodeType":"VariableDeclaration","scope":13498,"src":"63710:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13482,"name":"uint256","nodeType":"ElementaryTypeName","src":"63710:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63670:51:24"},"returnParameters":{"id":13485,"nodeType":"ParameterList","parameters":[],"src":"63736:0:24"},"scope":14120,"src":"63658:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13520,"nodeType":"Block","src":"63935:108:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":13512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63985:33:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":13513,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13500,"src":"64020:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13514,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13502,"src":"64024:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13515,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13504,"src":"64028:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13516,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13506,"src":"64032:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13510,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63961:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63965:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63961:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63961:74:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13509,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"63945:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63945:91:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13519,"nodeType":"ExpressionStatement","src":"63945:91:24"}]},"id":13521,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63860:3:24","nodeType":"FunctionDefinition","parameters":{"id":13507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13500,"mutability":"mutable","name":"p0","nameLocation":"63872:2:24","nodeType":"VariableDeclaration","scope":13521,"src":"63864:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13499,"name":"address","nodeType":"ElementaryTypeName","src":"63864:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13502,"mutability":"mutable","name":"p1","nameLocation":"63881:2:24","nodeType":"VariableDeclaration","scope":13521,"src":"63876:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13501,"name":"bool","nodeType":"ElementaryTypeName","src":"63876:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13504,"mutability":"mutable","name":"p2","nameLocation":"63899:2:24","nodeType":"VariableDeclaration","scope":13521,"src":"63885:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13503,"name":"string","nodeType":"ElementaryTypeName","src":"63885:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13506,"mutability":"mutable","name":"p3","nameLocation":"63917:2:24","nodeType":"VariableDeclaration","scope":13521,"src":"63903:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13505,"name":"string","nodeType":"ElementaryTypeName","src":"63903:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63863:57:24"},"returnParameters":{"id":13508,"nodeType":"ParameterList","parameters":[],"src":"63935:0:24"},"scope":14120,"src":"63851:192:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13543,"nodeType":"Block","src":"64124:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":13535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64174:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":13536,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13523,"src":"64207:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13537,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13525,"src":"64211:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13538,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13527,"src":"64215:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13539,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13529,"src":"64219:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13533,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64150:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64154:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64150:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64150:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13532,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"64134:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64134:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13542,"nodeType":"ExpressionStatement","src":"64134:89:24"}]},"id":13544,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64058:3:24","nodeType":"FunctionDefinition","parameters":{"id":13530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13523,"mutability":"mutable","name":"p0","nameLocation":"64070:2:24","nodeType":"VariableDeclaration","scope":13544,"src":"64062:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13522,"name":"address","nodeType":"ElementaryTypeName","src":"64062:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13525,"mutability":"mutable","name":"p1","nameLocation":"64079:2:24","nodeType":"VariableDeclaration","scope":13544,"src":"64074:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13524,"name":"bool","nodeType":"ElementaryTypeName","src":"64074:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13527,"mutability":"mutable","name":"p2","nameLocation":"64097:2:24","nodeType":"VariableDeclaration","scope":13544,"src":"64083:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13526,"name":"string","nodeType":"ElementaryTypeName","src":"64083:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13529,"mutability":"mutable","name":"p3","nameLocation":"64106:2:24","nodeType":"VariableDeclaration","scope":13544,"src":"64101:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13528,"name":"bool","nodeType":"ElementaryTypeName","src":"64101:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64061:48:24"},"returnParameters":{"id":13531,"nodeType":"ParameterList","parameters":[],"src":"64124:0:24"},"scope":14120,"src":"64049:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13566,"nodeType":"Block","src":"64314:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":13558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64364:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":13559,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13546,"src":"64400:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13560,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13548,"src":"64404:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13561,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13550,"src":"64408:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13562,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13552,"src":"64412:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13556,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64340:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64344:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64340:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64340:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13555,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"64324:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64324:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13565,"nodeType":"ExpressionStatement","src":"64324:92:24"}]},"id":13567,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64245:3:24","nodeType":"FunctionDefinition","parameters":{"id":13553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13546,"mutability":"mutable","name":"p0","nameLocation":"64257:2:24","nodeType":"VariableDeclaration","scope":13567,"src":"64249:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13545,"name":"address","nodeType":"ElementaryTypeName","src":"64249:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13548,"mutability":"mutable","name":"p1","nameLocation":"64266:2:24","nodeType":"VariableDeclaration","scope":13567,"src":"64261:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13547,"name":"bool","nodeType":"ElementaryTypeName","src":"64261:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13550,"mutability":"mutable","name":"p2","nameLocation":"64284:2:24","nodeType":"VariableDeclaration","scope":13567,"src":"64270:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13549,"name":"string","nodeType":"ElementaryTypeName","src":"64270:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13552,"mutability":"mutable","name":"p3","nameLocation":"64296:2:24","nodeType":"VariableDeclaration","scope":13567,"src":"64288:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13551,"name":"address","nodeType":"ElementaryTypeName","src":"64288:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64248:51:24"},"returnParameters":{"id":13554,"nodeType":"ParameterList","parameters":[],"src":"64314:0:24"},"scope":14120,"src":"64236:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13589,"nodeType":"Block","src":"64498:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":13581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64548:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":13582,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13569,"src":"64582:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13583,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13571,"src":"64586:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13584,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13573,"src":"64590:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13585,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13575,"src":"64594:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13579,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64524:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64528:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64524:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64524:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13578,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"64508:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64508:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13588,"nodeType":"ExpressionStatement","src":"64508:90:24"}]},"id":13590,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64438:3:24","nodeType":"FunctionDefinition","parameters":{"id":13576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13569,"mutability":"mutable","name":"p0","nameLocation":"64450:2:24","nodeType":"VariableDeclaration","scope":13590,"src":"64442:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13568,"name":"address","nodeType":"ElementaryTypeName","src":"64442:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13571,"mutability":"mutable","name":"p1","nameLocation":"64459:2:24","nodeType":"VariableDeclaration","scope":13590,"src":"64454:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13570,"name":"bool","nodeType":"ElementaryTypeName","src":"64454:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13573,"mutability":"mutable","name":"p2","nameLocation":"64468:2:24","nodeType":"VariableDeclaration","scope":13590,"src":"64463:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13572,"name":"bool","nodeType":"ElementaryTypeName","src":"64463:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13575,"mutability":"mutable","name":"p3","nameLocation":"64480:2:24","nodeType":"VariableDeclaration","scope":13590,"src":"64472:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13574,"name":"uint256","nodeType":"ElementaryTypeName","src":"64472:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64441:42:24"},"returnParameters":{"id":13577,"nodeType":"ParameterList","parameters":[],"src":"64498:0:24"},"scope":14120,"src":"64429:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13612,"nodeType":"Block","src":"64686:106:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":13604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64736:31:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":13605,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13592,"src":"64769:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13606,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13594,"src":"64773:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13607,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13596,"src":"64777:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13608,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13598,"src":"64781:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13602,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64712:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64716:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64712:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64712:72:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13601,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"64696:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64696:89:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13611,"nodeType":"ExpressionStatement","src":"64696:89:24"}]},"id":13613,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64620:3:24","nodeType":"FunctionDefinition","parameters":{"id":13599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13592,"mutability":"mutable","name":"p0","nameLocation":"64632:2:24","nodeType":"VariableDeclaration","scope":13613,"src":"64624:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13591,"name":"address","nodeType":"ElementaryTypeName","src":"64624:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13594,"mutability":"mutable","name":"p1","nameLocation":"64641:2:24","nodeType":"VariableDeclaration","scope":13613,"src":"64636:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13593,"name":"bool","nodeType":"ElementaryTypeName","src":"64636:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13596,"mutability":"mutable","name":"p2","nameLocation":"64650:2:24","nodeType":"VariableDeclaration","scope":13613,"src":"64645:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13595,"name":"bool","nodeType":"ElementaryTypeName","src":"64645:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13598,"mutability":"mutable","name":"p3","nameLocation":"64668:2:24","nodeType":"VariableDeclaration","scope":13613,"src":"64654:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13597,"name":"string","nodeType":"ElementaryTypeName","src":"64654:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64623:48:24"},"returnParameters":{"id":13600,"nodeType":"ParameterList","parameters":[],"src":"64686:0:24"},"scope":14120,"src":"64611:181:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13635,"nodeType":"Block","src":"64864:104:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":13627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64914:29:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":13628,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13615,"src":"64945:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13629,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13617,"src":"64949:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13630,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13619,"src":"64953:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13631,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13621,"src":"64957:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13625,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64890:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64894:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64890:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64890:70:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13624,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"64874:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64874:87:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13634,"nodeType":"ExpressionStatement","src":"64874:87:24"}]},"id":13636,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64807:3:24","nodeType":"FunctionDefinition","parameters":{"id":13622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13615,"mutability":"mutable","name":"p0","nameLocation":"64819:2:24","nodeType":"VariableDeclaration","scope":13636,"src":"64811:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13614,"name":"address","nodeType":"ElementaryTypeName","src":"64811:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13617,"mutability":"mutable","name":"p1","nameLocation":"64828:2:24","nodeType":"VariableDeclaration","scope":13636,"src":"64823:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13616,"name":"bool","nodeType":"ElementaryTypeName","src":"64823:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13619,"mutability":"mutable","name":"p2","nameLocation":"64837:2:24","nodeType":"VariableDeclaration","scope":13636,"src":"64832:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13618,"name":"bool","nodeType":"ElementaryTypeName","src":"64832:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13621,"mutability":"mutable","name":"p3","nameLocation":"64846:2:24","nodeType":"VariableDeclaration","scope":13636,"src":"64841:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13620,"name":"bool","nodeType":"ElementaryTypeName","src":"64841:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64810:39:24"},"returnParameters":{"id":13623,"nodeType":"ParameterList","parameters":[],"src":"64864:0:24"},"scope":14120,"src":"64798:170:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13658,"nodeType":"Block","src":"65043:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":13650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65093:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":13651,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13638,"src":"65127:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13652,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13640,"src":"65131:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13653,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13642,"src":"65135:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13654,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13644,"src":"65139:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13648,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65069:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65073:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65069:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65069:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13647,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"65053:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65053:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13657,"nodeType":"ExpressionStatement","src":"65053:90:24"}]},"id":13659,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64983:3:24","nodeType":"FunctionDefinition","parameters":{"id":13645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13638,"mutability":"mutable","name":"p0","nameLocation":"64995:2:24","nodeType":"VariableDeclaration","scope":13659,"src":"64987:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13637,"name":"address","nodeType":"ElementaryTypeName","src":"64987:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13640,"mutability":"mutable","name":"p1","nameLocation":"65004:2:24","nodeType":"VariableDeclaration","scope":13659,"src":"64999:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13639,"name":"bool","nodeType":"ElementaryTypeName","src":"64999:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13642,"mutability":"mutable","name":"p2","nameLocation":"65013:2:24","nodeType":"VariableDeclaration","scope":13659,"src":"65008:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13641,"name":"bool","nodeType":"ElementaryTypeName","src":"65008:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13644,"mutability":"mutable","name":"p3","nameLocation":"65025:2:24","nodeType":"VariableDeclaration","scope":13659,"src":"65017:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13643,"name":"address","nodeType":"ElementaryTypeName","src":"65017:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64986:42:24"},"returnParameters":{"id":13646,"nodeType":"ParameterList","parameters":[],"src":"65043:0:24"},"scope":14120,"src":"64974:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13681,"nodeType":"Block","src":"65228:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":13673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65278:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":13674,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13661,"src":"65315:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13675,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13663,"src":"65319:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13676,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13665,"src":"65323:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13677,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13667,"src":"65327:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13671,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65254:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65258:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65254:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65254:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13670,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"65238:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65238:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13680,"nodeType":"ExpressionStatement","src":"65238:93:24"}]},"id":13682,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65165:3:24","nodeType":"FunctionDefinition","parameters":{"id":13668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13661,"mutability":"mutable","name":"p0","nameLocation":"65177:2:24","nodeType":"VariableDeclaration","scope":13682,"src":"65169:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13660,"name":"address","nodeType":"ElementaryTypeName","src":"65169:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13663,"mutability":"mutable","name":"p1","nameLocation":"65186:2:24","nodeType":"VariableDeclaration","scope":13682,"src":"65181:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13662,"name":"bool","nodeType":"ElementaryTypeName","src":"65181:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13665,"mutability":"mutable","name":"p2","nameLocation":"65198:2:24","nodeType":"VariableDeclaration","scope":13682,"src":"65190:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13664,"name":"address","nodeType":"ElementaryTypeName","src":"65190:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13667,"mutability":"mutable","name":"p3","nameLocation":"65210:2:24","nodeType":"VariableDeclaration","scope":13682,"src":"65202:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13666,"name":"uint256","nodeType":"ElementaryTypeName","src":"65202:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65168:45:24"},"returnParameters":{"id":13669,"nodeType":"ParameterList","parameters":[],"src":"65228:0:24"},"scope":14120,"src":"65156:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13704,"nodeType":"Block","src":"65422:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":13696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65472:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":13697,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13684,"src":"65508:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13698,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13686,"src":"65512:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13699,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13688,"src":"65516:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13700,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13690,"src":"65520:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13694,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65448:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65452:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65448:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65448:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13693,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"65432:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65432:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13703,"nodeType":"ExpressionStatement","src":"65432:92:24"}]},"id":13705,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65353:3:24","nodeType":"FunctionDefinition","parameters":{"id":13691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13684,"mutability":"mutable","name":"p0","nameLocation":"65365:2:24","nodeType":"VariableDeclaration","scope":13705,"src":"65357:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13683,"name":"address","nodeType":"ElementaryTypeName","src":"65357:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13686,"mutability":"mutable","name":"p1","nameLocation":"65374:2:24","nodeType":"VariableDeclaration","scope":13705,"src":"65369:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13685,"name":"bool","nodeType":"ElementaryTypeName","src":"65369:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13688,"mutability":"mutable","name":"p2","nameLocation":"65386:2:24","nodeType":"VariableDeclaration","scope":13705,"src":"65378:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13687,"name":"address","nodeType":"ElementaryTypeName","src":"65378:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13690,"mutability":"mutable","name":"p3","nameLocation":"65404:2:24","nodeType":"VariableDeclaration","scope":13705,"src":"65390:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13689,"name":"string","nodeType":"ElementaryTypeName","src":"65390:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65356:51:24"},"returnParameters":{"id":13692,"nodeType":"ParameterList","parameters":[],"src":"65422:0:24"},"scope":14120,"src":"65344:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13727,"nodeType":"Block","src":"65606:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":13719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65656:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":13720,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13707,"src":"65690:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13721,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13709,"src":"65694:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13722,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13711,"src":"65698:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13723,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13713,"src":"65702:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13717,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65632:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65636:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65632:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65632:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13716,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"65616:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65616:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13726,"nodeType":"ExpressionStatement","src":"65616:90:24"}]},"id":13728,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65546:3:24","nodeType":"FunctionDefinition","parameters":{"id":13714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13707,"mutability":"mutable","name":"p0","nameLocation":"65558:2:24","nodeType":"VariableDeclaration","scope":13728,"src":"65550:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13706,"name":"address","nodeType":"ElementaryTypeName","src":"65550:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13709,"mutability":"mutable","name":"p1","nameLocation":"65567:2:24","nodeType":"VariableDeclaration","scope":13728,"src":"65562:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13708,"name":"bool","nodeType":"ElementaryTypeName","src":"65562:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13711,"mutability":"mutable","name":"p2","nameLocation":"65579:2:24","nodeType":"VariableDeclaration","scope":13728,"src":"65571:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13710,"name":"address","nodeType":"ElementaryTypeName","src":"65571:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13713,"mutability":"mutable","name":"p3","nameLocation":"65588:2:24","nodeType":"VariableDeclaration","scope":13728,"src":"65583:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13712,"name":"bool","nodeType":"ElementaryTypeName","src":"65583:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65549:42:24"},"returnParameters":{"id":13715,"nodeType":"ParameterList","parameters":[],"src":"65606:0:24"},"scope":14120,"src":"65537:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13750,"nodeType":"Block","src":"65791:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":13742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65841:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":13743,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13730,"src":"65878:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13744,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13732,"src":"65882:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13745,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13734,"src":"65886:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13746,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13736,"src":"65890:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65817:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65821:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65817:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65817:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13739,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"65801:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65801:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13749,"nodeType":"ExpressionStatement","src":"65801:93:24"}]},"id":13751,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65728:3:24","nodeType":"FunctionDefinition","parameters":{"id":13737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13730,"mutability":"mutable","name":"p0","nameLocation":"65740:2:24","nodeType":"VariableDeclaration","scope":13751,"src":"65732:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13729,"name":"address","nodeType":"ElementaryTypeName","src":"65732:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13732,"mutability":"mutable","name":"p1","nameLocation":"65749:2:24","nodeType":"VariableDeclaration","scope":13751,"src":"65744:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13731,"name":"bool","nodeType":"ElementaryTypeName","src":"65744:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13734,"mutability":"mutable","name":"p2","nameLocation":"65761:2:24","nodeType":"VariableDeclaration","scope":13751,"src":"65753:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13733,"name":"address","nodeType":"ElementaryTypeName","src":"65753:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13736,"mutability":"mutable","name":"p3","nameLocation":"65773:2:24","nodeType":"VariableDeclaration","scope":13751,"src":"65765:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13735,"name":"address","nodeType":"ElementaryTypeName","src":"65765:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65731:45:24"},"returnParameters":{"id":13738,"nodeType":"ParameterList","parameters":[],"src":"65791:0:24"},"scope":14120,"src":"65719:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13773,"nodeType":"Block","src":"65982:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":13765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66032:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":13766,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13753,"src":"66072:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13767,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13755,"src":"66076:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13768,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13757,"src":"66080:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13769,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13759,"src":"66084:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66008:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66012:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66008:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66008:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13762,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"65992:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65992:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13772,"nodeType":"ExpressionStatement","src":"65992:96:24"}]},"id":13774,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65916:3:24","nodeType":"FunctionDefinition","parameters":{"id":13760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13753,"mutability":"mutable","name":"p0","nameLocation":"65928:2:24","nodeType":"VariableDeclaration","scope":13774,"src":"65920:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13752,"name":"address","nodeType":"ElementaryTypeName","src":"65920:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13755,"mutability":"mutable","name":"p1","nameLocation":"65940:2:24","nodeType":"VariableDeclaration","scope":13774,"src":"65932:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13754,"name":"address","nodeType":"ElementaryTypeName","src":"65932:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13757,"mutability":"mutable","name":"p2","nameLocation":"65952:2:24","nodeType":"VariableDeclaration","scope":13774,"src":"65944:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13756,"name":"uint256","nodeType":"ElementaryTypeName","src":"65944:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13759,"mutability":"mutable","name":"p3","nameLocation":"65964:2:24","nodeType":"VariableDeclaration","scope":13774,"src":"65956:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13758,"name":"uint256","nodeType":"ElementaryTypeName","src":"65956:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65919:48:24"},"returnParameters":{"id":13761,"nodeType":"ParameterList","parameters":[],"src":"65982:0:24"},"scope":14120,"src":"65907:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13796,"nodeType":"Block","src":"66182:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":13788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66232:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":13789,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13776,"src":"66271:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13790,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13778,"src":"66275:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13791,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13780,"src":"66279:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13792,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13782,"src":"66283:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66208:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66212:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66208:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66208:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13785,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"66192:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66192:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13795,"nodeType":"ExpressionStatement","src":"66192:95:24"}]},"id":13797,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66110:3:24","nodeType":"FunctionDefinition","parameters":{"id":13783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13776,"mutability":"mutable","name":"p0","nameLocation":"66122:2:24","nodeType":"VariableDeclaration","scope":13797,"src":"66114:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13775,"name":"address","nodeType":"ElementaryTypeName","src":"66114:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13778,"mutability":"mutable","name":"p1","nameLocation":"66134:2:24","nodeType":"VariableDeclaration","scope":13797,"src":"66126:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13777,"name":"address","nodeType":"ElementaryTypeName","src":"66126:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13780,"mutability":"mutable","name":"p2","nameLocation":"66146:2:24","nodeType":"VariableDeclaration","scope":13797,"src":"66138:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13779,"name":"uint256","nodeType":"ElementaryTypeName","src":"66138:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13782,"mutability":"mutable","name":"p3","nameLocation":"66164:2:24","nodeType":"VariableDeclaration","scope":13797,"src":"66150:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13781,"name":"string","nodeType":"ElementaryTypeName","src":"66150:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66113:54:24"},"returnParameters":{"id":13784,"nodeType":"ParameterList","parameters":[],"src":"66182:0:24"},"scope":14120,"src":"66101:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13819,"nodeType":"Block","src":"66372:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":13811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66422:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":13812,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13799,"src":"66459:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13813,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13801,"src":"66463:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13814,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13803,"src":"66467:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13815,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13805,"src":"66471:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13809,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66398:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66402:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66398:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66398:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13808,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"66382:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66382:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13818,"nodeType":"ExpressionStatement","src":"66382:93:24"}]},"id":13820,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66309:3:24","nodeType":"FunctionDefinition","parameters":{"id":13806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13799,"mutability":"mutable","name":"p0","nameLocation":"66321:2:24","nodeType":"VariableDeclaration","scope":13820,"src":"66313:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13798,"name":"address","nodeType":"ElementaryTypeName","src":"66313:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13801,"mutability":"mutable","name":"p1","nameLocation":"66333:2:24","nodeType":"VariableDeclaration","scope":13820,"src":"66325:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13800,"name":"address","nodeType":"ElementaryTypeName","src":"66325:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13803,"mutability":"mutable","name":"p2","nameLocation":"66345:2:24","nodeType":"VariableDeclaration","scope":13820,"src":"66337:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13802,"name":"uint256","nodeType":"ElementaryTypeName","src":"66337:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13805,"mutability":"mutable","name":"p3","nameLocation":"66354:2:24","nodeType":"VariableDeclaration","scope":13820,"src":"66349:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13804,"name":"bool","nodeType":"ElementaryTypeName","src":"66349:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66312:45:24"},"returnParameters":{"id":13807,"nodeType":"ParameterList","parameters":[],"src":"66372:0:24"},"scope":14120,"src":"66300:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13842,"nodeType":"Block","src":"66563:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":13834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66613:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":13835,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13822,"src":"66653:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13836,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13824,"src":"66657:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13837,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13826,"src":"66661:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13838,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13828,"src":"66665:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13832,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66589:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66593:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66589:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66589:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13831,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"66573:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66573:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13841,"nodeType":"ExpressionStatement","src":"66573:96:24"}]},"id":13843,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66497:3:24","nodeType":"FunctionDefinition","parameters":{"id":13829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13822,"mutability":"mutable","name":"p0","nameLocation":"66509:2:24","nodeType":"VariableDeclaration","scope":13843,"src":"66501:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13821,"name":"address","nodeType":"ElementaryTypeName","src":"66501:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13824,"mutability":"mutable","name":"p1","nameLocation":"66521:2:24","nodeType":"VariableDeclaration","scope":13843,"src":"66513:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13823,"name":"address","nodeType":"ElementaryTypeName","src":"66513:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13826,"mutability":"mutable","name":"p2","nameLocation":"66533:2:24","nodeType":"VariableDeclaration","scope":13843,"src":"66525:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13825,"name":"uint256","nodeType":"ElementaryTypeName","src":"66525:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13828,"mutability":"mutable","name":"p3","nameLocation":"66545:2:24","nodeType":"VariableDeclaration","scope":13843,"src":"66537:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13827,"name":"address","nodeType":"ElementaryTypeName","src":"66537:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66500:48:24"},"returnParameters":{"id":13830,"nodeType":"ParameterList","parameters":[],"src":"66563:0:24"},"scope":14120,"src":"66488:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13865,"nodeType":"Block","src":"66763:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":13857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66813:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":13858,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13845,"src":"66852:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13859,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13847,"src":"66856:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13860,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13849,"src":"66860:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13861,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13851,"src":"66864:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13855,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66789:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66793:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66789:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66789:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13854,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"66773:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66773:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13864,"nodeType":"ExpressionStatement","src":"66773:95:24"}]},"id":13866,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66691:3:24","nodeType":"FunctionDefinition","parameters":{"id":13852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13845,"mutability":"mutable","name":"p0","nameLocation":"66703:2:24","nodeType":"VariableDeclaration","scope":13866,"src":"66695:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13844,"name":"address","nodeType":"ElementaryTypeName","src":"66695:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13847,"mutability":"mutable","name":"p1","nameLocation":"66715:2:24","nodeType":"VariableDeclaration","scope":13866,"src":"66707:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13846,"name":"address","nodeType":"ElementaryTypeName","src":"66707:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13849,"mutability":"mutable","name":"p2","nameLocation":"66733:2:24","nodeType":"VariableDeclaration","scope":13866,"src":"66719:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13848,"name":"string","nodeType":"ElementaryTypeName","src":"66719:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13851,"mutability":"mutable","name":"p3","nameLocation":"66745:2:24","nodeType":"VariableDeclaration","scope":13866,"src":"66737:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13850,"name":"uint256","nodeType":"ElementaryTypeName","src":"66737:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66694:54:24"},"returnParameters":{"id":13853,"nodeType":"ParameterList","parameters":[],"src":"66763:0:24"},"scope":14120,"src":"66682:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13888,"nodeType":"Block","src":"66968:111:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":13880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67018:36:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":13881,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13868,"src":"67056:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13882,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13870,"src":"67060:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13883,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13872,"src":"67064:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13884,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13874,"src":"67068:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66994:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66998:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66994:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66994:77:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13877,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"66978:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66978:94:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13887,"nodeType":"ExpressionStatement","src":"66978:94:24"}]},"id":13889,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66890:3:24","nodeType":"FunctionDefinition","parameters":{"id":13875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13868,"mutability":"mutable","name":"p0","nameLocation":"66902:2:24","nodeType":"VariableDeclaration","scope":13889,"src":"66894:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13867,"name":"address","nodeType":"ElementaryTypeName","src":"66894:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13870,"mutability":"mutable","name":"p1","nameLocation":"66914:2:24","nodeType":"VariableDeclaration","scope":13889,"src":"66906:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13869,"name":"address","nodeType":"ElementaryTypeName","src":"66906:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13872,"mutability":"mutable","name":"p2","nameLocation":"66932:2:24","nodeType":"VariableDeclaration","scope":13889,"src":"66918:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13871,"name":"string","nodeType":"ElementaryTypeName","src":"66918:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13874,"mutability":"mutable","name":"p3","nameLocation":"66950:2:24","nodeType":"VariableDeclaration","scope":13889,"src":"66936:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13873,"name":"string","nodeType":"ElementaryTypeName","src":"66936:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66893:60:24"},"returnParameters":{"id":13876,"nodeType":"ParameterList","parameters":[],"src":"66968:0:24"},"scope":14120,"src":"66881:198:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13911,"nodeType":"Block","src":"67163:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":13903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67213:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":13904,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13891,"src":"67249:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13905,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13893,"src":"67253:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13906,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13895,"src":"67257:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13907,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13897,"src":"67261:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67189:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67193:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67189:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67189:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13900,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"67173:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67173:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13910,"nodeType":"ExpressionStatement","src":"67173:92:24"}]},"id":13912,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67094:3:24","nodeType":"FunctionDefinition","parameters":{"id":13898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13891,"mutability":"mutable","name":"p0","nameLocation":"67106:2:24","nodeType":"VariableDeclaration","scope":13912,"src":"67098:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13890,"name":"address","nodeType":"ElementaryTypeName","src":"67098:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13893,"mutability":"mutable","name":"p1","nameLocation":"67118:2:24","nodeType":"VariableDeclaration","scope":13912,"src":"67110:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13892,"name":"address","nodeType":"ElementaryTypeName","src":"67110:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13895,"mutability":"mutable","name":"p2","nameLocation":"67136:2:24","nodeType":"VariableDeclaration","scope":13912,"src":"67122:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13894,"name":"string","nodeType":"ElementaryTypeName","src":"67122:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13897,"mutability":"mutable","name":"p3","nameLocation":"67145:2:24","nodeType":"VariableDeclaration","scope":13912,"src":"67140:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13896,"name":"bool","nodeType":"ElementaryTypeName","src":"67140:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67097:51:24"},"returnParameters":{"id":13899,"nodeType":"ParameterList","parameters":[],"src":"67163:0:24"},"scope":14120,"src":"67085:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13934,"nodeType":"Block","src":"67359:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":13926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67409:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":13927,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13914,"src":"67448:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13928,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13916,"src":"67452:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13929,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13918,"src":"67456:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13930,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13920,"src":"67460:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13924,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67385:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67389:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67385:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67385:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13923,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"67369:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67369:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13933,"nodeType":"ExpressionStatement","src":"67369:95:24"}]},"id":13935,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67287:3:24","nodeType":"FunctionDefinition","parameters":{"id":13921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"p0","nameLocation":"67299:2:24","nodeType":"VariableDeclaration","scope":13935,"src":"67291:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13913,"name":"address","nodeType":"ElementaryTypeName","src":"67291:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13916,"mutability":"mutable","name":"p1","nameLocation":"67311:2:24","nodeType":"VariableDeclaration","scope":13935,"src":"67303:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13915,"name":"address","nodeType":"ElementaryTypeName","src":"67303:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13918,"mutability":"mutable","name":"p2","nameLocation":"67329:2:24","nodeType":"VariableDeclaration","scope":13935,"src":"67315:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13917,"name":"string","nodeType":"ElementaryTypeName","src":"67315:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13920,"mutability":"mutable","name":"p3","nameLocation":"67341:2:24","nodeType":"VariableDeclaration","scope":13935,"src":"67333:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13919,"name":"address","nodeType":"ElementaryTypeName","src":"67333:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67290:54:24"},"returnParameters":{"id":13922,"nodeType":"ParameterList","parameters":[],"src":"67359:0:24"},"scope":14120,"src":"67278:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13957,"nodeType":"Block","src":"67549:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":13949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67599:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":13950,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13937,"src":"67636:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13951,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13939,"src":"67640:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13952,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13941,"src":"67644:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13953,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13943,"src":"67648:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13947,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67575:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67579:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67575:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67575:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13946,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"67559:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67559:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13956,"nodeType":"ExpressionStatement","src":"67559:93:24"}]},"id":13958,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67486:3:24","nodeType":"FunctionDefinition","parameters":{"id":13944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13937,"mutability":"mutable","name":"p0","nameLocation":"67498:2:24","nodeType":"VariableDeclaration","scope":13958,"src":"67490:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13936,"name":"address","nodeType":"ElementaryTypeName","src":"67490:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13939,"mutability":"mutable","name":"p1","nameLocation":"67510:2:24","nodeType":"VariableDeclaration","scope":13958,"src":"67502:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13938,"name":"address","nodeType":"ElementaryTypeName","src":"67502:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13941,"mutability":"mutable","name":"p2","nameLocation":"67519:2:24","nodeType":"VariableDeclaration","scope":13958,"src":"67514:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13940,"name":"bool","nodeType":"ElementaryTypeName","src":"67514:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13943,"mutability":"mutable","name":"p3","nameLocation":"67531:2:24","nodeType":"VariableDeclaration","scope":13958,"src":"67523:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13942,"name":"uint256","nodeType":"ElementaryTypeName","src":"67523:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67489:45:24"},"returnParameters":{"id":13945,"nodeType":"ParameterList","parameters":[],"src":"67549:0:24"},"scope":14120,"src":"67477:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":13980,"nodeType":"Block","src":"67743:109:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":13972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67793:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":13973,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13960,"src":"67829:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13974,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13962,"src":"67833:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13975,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13964,"src":"67837:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13976,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13966,"src":"67841:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13970,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67769:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67773:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67769:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67769:75:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13969,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"67753:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67753:92:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13979,"nodeType":"ExpressionStatement","src":"67753:92:24"}]},"id":13981,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67674:3:24","nodeType":"FunctionDefinition","parameters":{"id":13967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13960,"mutability":"mutable","name":"p0","nameLocation":"67686:2:24","nodeType":"VariableDeclaration","scope":13981,"src":"67678:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13959,"name":"address","nodeType":"ElementaryTypeName","src":"67678:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13962,"mutability":"mutable","name":"p1","nameLocation":"67698:2:24","nodeType":"VariableDeclaration","scope":13981,"src":"67690:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13961,"name":"address","nodeType":"ElementaryTypeName","src":"67690:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13964,"mutability":"mutable","name":"p2","nameLocation":"67707:2:24","nodeType":"VariableDeclaration","scope":13981,"src":"67702:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13963,"name":"bool","nodeType":"ElementaryTypeName","src":"67702:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13966,"mutability":"mutable","name":"p3","nameLocation":"67725:2:24","nodeType":"VariableDeclaration","scope":13981,"src":"67711:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13965,"name":"string","nodeType":"ElementaryTypeName","src":"67711:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67677:51:24"},"returnParameters":{"id":13968,"nodeType":"ParameterList","parameters":[],"src":"67743:0:24"},"scope":14120,"src":"67665:187:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14003,"nodeType":"Block","src":"67927:107:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":13995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67977:32:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":13996,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13983,"src":"68011:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13997,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13985,"src":"68015:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13998,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13987,"src":"68019:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13999,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13989,"src":"68023:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13993,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67953:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67957:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67953:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67953:73:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13992,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"67937:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67937:90:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14002,"nodeType":"ExpressionStatement","src":"67937:90:24"}]},"id":14004,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67867:3:24","nodeType":"FunctionDefinition","parameters":{"id":13990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13983,"mutability":"mutable","name":"p0","nameLocation":"67879:2:24","nodeType":"VariableDeclaration","scope":14004,"src":"67871:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13982,"name":"address","nodeType":"ElementaryTypeName","src":"67871:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13985,"mutability":"mutable","name":"p1","nameLocation":"67891:2:24","nodeType":"VariableDeclaration","scope":14004,"src":"67883:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13984,"name":"address","nodeType":"ElementaryTypeName","src":"67883:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13987,"mutability":"mutable","name":"p2","nameLocation":"67900:2:24","nodeType":"VariableDeclaration","scope":14004,"src":"67895:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13986,"name":"bool","nodeType":"ElementaryTypeName","src":"67895:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13989,"mutability":"mutable","name":"p3","nameLocation":"67909:2:24","nodeType":"VariableDeclaration","scope":14004,"src":"67904:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13988,"name":"bool","nodeType":"ElementaryTypeName","src":"67904:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67870:42:24"},"returnParameters":{"id":13991,"nodeType":"ParameterList","parameters":[],"src":"67927:0:24"},"scope":14120,"src":"67858:176:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14026,"nodeType":"Block","src":"68112:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":14018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68162:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":14019,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14006,"src":"68199:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14020,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14008,"src":"68203:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14021,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14010,"src":"68207:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14022,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14012,"src":"68211:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14016,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68138:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68142:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68138:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68138:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14015,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"68122:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68122:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14025,"nodeType":"ExpressionStatement","src":"68122:93:24"}]},"id":14027,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68049:3:24","nodeType":"FunctionDefinition","parameters":{"id":14013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14006,"mutability":"mutable","name":"p0","nameLocation":"68061:2:24","nodeType":"VariableDeclaration","scope":14027,"src":"68053:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14005,"name":"address","nodeType":"ElementaryTypeName","src":"68053:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14008,"mutability":"mutable","name":"p1","nameLocation":"68073:2:24","nodeType":"VariableDeclaration","scope":14027,"src":"68065:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14007,"name":"address","nodeType":"ElementaryTypeName","src":"68065:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14010,"mutability":"mutable","name":"p2","nameLocation":"68082:2:24","nodeType":"VariableDeclaration","scope":14027,"src":"68077:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14009,"name":"bool","nodeType":"ElementaryTypeName","src":"68077:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14012,"mutability":"mutable","name":"p3","nameLocation":"68094:2:24","nodeType":"VariableDeclaration","scope":14027,"src":"68086:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14011,"name":"address","nodeType":"ElementaryTypeName","src":"68086:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68052:45:24"},"returnParameters":{"id":14014,"nodeType":"ParameterList","parameters":[],"src":"68112:0:24"},"scope":14120,"src":"68040:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14049,"nodeType":"Block","src":"68303:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":14041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68353:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":14042,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14029,"src":"68393:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14043,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14031,"src":"68397:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14044,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14033,"src":"68401:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14045,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14035,"src":"68405:2:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14039,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68329:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68333:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68329:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68329:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14038,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"68313:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68313:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14048,"nodeType":"ExpressionStatement","src":"68313:96:24"}]},"id":14050,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68237:3:24","nodeType":"FunctionDefinition","parameters":{"id":14036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14029,"mutability":"mutable","name":"p0","nameLocation":"68249:2:24","nodeType":"VariableDeclaration","scope":14050,"src":"68241:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14028,"name":"address","nodeType":"ElementaryTypeName","src":"68241:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14031,"mutability":"mutable","name":"p1","nameLocation":"68261:2:24","nodeType":"VariableDeclaration","scope":14050,"src":"68253:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14030,"name":"address","nodeType":"ElementaryTypeName","src":"68253:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14033,"mutability":"mutable","name":"p2","nameLocation":"68273:2:24","nodeType":"VariableDeclaration","scope":14050,"src":"68265:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14032,"name":"address","nodeType":"ElementaryTypeName","src":"68265:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14035,"mutability":"mutable","name":"p3","nameLocation":"68285:2:24","nodeType":"VariableDeclaration","scope":14050,"src":"68277:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14034,"name":"uint256","nodeType":"ElementaryTypeName","src":"68277:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68240:48:24"},"returnParameters":{"id":14037,"nodeType":"ParameterList","parameters":[],"src":"68303:0:24"},"scope":14120,"src":"68228:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14072,"nodeType":"Block","src":"68503:112:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":14064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68553:37:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":14065,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14052,"src":"68592:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14066,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14054,"src":"68596:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14067,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14056,"src":"68600:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14068,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14058,"src":"68604:2:24","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14062,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68529:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68533:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68529:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68529:78:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"68513:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68513:95:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14071,"nodeType":"ExpressionStatement","src":"68513:95:24"}]},"id":14073,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68431:3:24","nodeType":"FunctionDefinition","parameters":{"id":14059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14052,"mutability":"mutable","name":"p0","nameLocation":"68443:2:24","nodeType":"VariableDeclaration","scope":14073,"src":"68435:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14051,"name":"address","nodeType":"ElementaryTypeName","src":"68435:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14054,"mutability":"mutable","name":"p1","nameLocation":"68455:2:24","nodeType":"VariableDeclaration","scope":14073,"src":"68447:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14053,"name":"address","nodeType":"ElementaryTypeName","src":"68447:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14056,"mutability":"mutable","name":"p2","nameLocation":"68467:2:24","nodeType":"VariableDeclaration","scope":14073,"src":"68459:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14055,"name":"address","nodeType":"ElementaryTypeName","src":"68459:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14058,"mutability":"mutable","name":"p3","nameLocation":"68485:2:24","nodeType":"VariableDeclaration","scope":14073,"src":"68471:16:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14057,"name":"string","nodeType":"ElementaryTypeName","src":"68471:6:24","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68434:54:24"},"returnParameters":{"id":14060,"nodeType":"ParameterList","parameters":[],"src":"68503:0:24"},"scope":14120,"src":"68422:193:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14095,"nodeType":"Block","src":"68693:110:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":14087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68743:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":14088,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14075,"src":"68780:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14089,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14077,"src":"68784:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14090,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14079,"src":"68788:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14091,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14081,"src":"68792:2:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68719:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68723:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68719:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68719:76:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14084,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"68703:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68703:93:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14094,"nodeType":"ExpressionStatement","src":"68703:93:24"}]},"id":14096,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68630:3:24","nodeType":"FunctionDefinition","parameters":{"id":14082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14075,"mutability":"mutable","name":"p0","nameLocation":"68642:2:24","nodeType":"VariableDeclaration","scope":14096,"src":"68634:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14074,"name":"address","nodeType":"ElementaryTypeName","src":"68634:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14077,"mutability":"mutable","name":"p1","nameLocation":"68654:2:24","nodeType":"VariableDeclaration","scope":14096,"src":"68646:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14076,"name":"address","nodeType":"ElementaryTypeName","src":"68646:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14079,"mutability":"mutable","name":"p2","nameLocation":"68666:2:24","nodeType":"VariableDeclaration","scope":14096,"src":"68658:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14078,"name":"address","nodeType":"ElementaryTypeName","src":"68658:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14081,"mutability":"mutable","name":"p3","nameLocation":"68675:2:24","nodeType":"VariableDeclaration","scope":14096,"src":"68670:7:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14080,"name":"bool","nodeType":"ElementaryTypeName","src":"68670:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68633:45:24"},"returnParameters":{"id":14083,"nodeType":"ParameterList","parameters":[],"src":"68693:0:24"},"scope":14120,"src":"68621:182:24","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":14118,"nodeType":"Block","src":"68884:113:24","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":14110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68934:38:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":14111,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14098,"src":"68974:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14112,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14100,"src":"68978:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14113,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14102,"src":"68982:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14114,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14104,"src":"68986:2:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68910:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68914:19:24","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68910:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68910:79:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14107,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"68894:15:24","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":14116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68894:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14117,"nodeType":"ExpressionStatement","src":"68894:96:24"}]},"id":14119,"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68818:3:24","nodeType":"FunctionDefinition","parameters":{"id":14105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14098,"mutability":"mutable","name":"p0","nameLocation":"68830:2:24","nodeType":"VariableDeclaration","scope":14119,"src":"68822:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14097,"name":"address","nodeType":"ElementaryTypeName","src":"68822:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14100,"mutability":"mutable","name":"p1","nameLocation":"68842:2:24","nodeType":"VariableDeclaration","scope":14119,"src":"68834:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14099,"name":"address","nodeType":"ElementaryTypeName","src":"68834:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14102,"mutability":"mutable","name":"p2","nameLocation":"68854:2:24","nodeType":"VariableDeclaration","scope":14119,"src":"68846:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14101,"name":"address","nodeType":"ElementaryTypeName","src":"68846:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14104,"mutability":"mutable","name":"p3","nameLocation":"68866:2:24","nodeType":"VariableDeclaration","scope":14119,"src":"68858:10:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14103,"name":"address","nodeType":"ElementaryTypeName","src":"68858:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68821:48:24"},"returnParameters":{"id":14106,"nodeType":"ParameterList","parameters":[],"src":"68884:0:24"},"scope":14120,"src":"68809:188:24","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":14121,"src":"66:68934:24","usedErrors":[],"usedEvents":[]}],"src":"32:68969:24"},"id":24}},"contracts":{"@openzeppelin/contracts/access/Ownable.sol":{"Ownable":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":7,"contract":"@openzeppelin/contracts/access/Ownable.sol:Ownable","label":"_owner","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}}}},"@openzeppelin/contracts/interfaces/IERC4906.sol":{"IERC4906":{"abi":[{"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":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","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":[{"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":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"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":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","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":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"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\":[{\"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\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"EIP-721 Metadata Update Extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC4906.sol\":\"IERC4906\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC721/ERC721.sol":{"ERC721":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"abi_decode_string_fromMemory":{"entryPoint":112,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory":{"entryPoint":287,"id":null,"parameterSlots":2,"returnSlots":2},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":453,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":536,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":393,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":90,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:4144:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:25"},"nodeType":"YulFunctionCall","src":"66:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:25"},"nodeType":"YulFunctionCall","src":"56:31:25"},"nodeType":"YulExpressionStatement","src":"56:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:25"},"nodeType":"YulFunctionCall","src":"96:15:25"},"nodeType":"YulExpressionStatement","src":"96:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:25"},"nodeType":"YulFunctionCall","src":"120:15:25"},"nodeType":"YulExpressionStatement","src":"120:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:25"},{"body":{"nodeType":"YulBlock","src":"210:776:25","statements":[{"body":{"nodeType":"YulBlock","src":"259:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"268:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"271:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"261:6:25"},"nodeType":"YulFunctionCall","src":"261:12:25"},"nodeType":"YulExpressionStatement","src":"261:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"238:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"246:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"234:3:25"},"nodeType":"YulFunctionCall","src":"234:17:25"},{"name":"end","nodeType":"YulIdentifier","src":"253:3:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"230:3:25"},"nodeType":"YulFunctionCall","src":"230:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"223:6:25"},"nodeType":"YulFunctionCall","src":"223:35:25"},"nodeType":"YulIf","src":"220:55:25"},{"nodeType":"YulVariableDeclaration","src":"284:23:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"294:5:25"},"nodeType":"YulFunctionCall","src":"294:13:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"288:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"316:28:25","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"334:2:25","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"338:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"330:3:25"},"nodeType":"YulFunctionCall","src":"330:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"342:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"326:3:25"},"nodeType":"YulFunctionCall","src":"326:18:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"320:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"367:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"369:16:25"},"nodeType":"YulFunctionCall","src":"369:18:25"},"nodeType":"YulExpressionStatement","src":"369:18:25"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"359:2:25"},{"name":"_2","nodeType":"YulIdentifier","src":"363:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"356:2:25"},"nodeType":"YulFunctionCall","src":"356:10:25"},"nodeType":"YulIf","src":"353:36:25"},{"nodeType":"YulVariableDeclaration","src":"398:17:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"412:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"408:3:25"},"nodeType":"YulFunctionCall","src":"408:7:25"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"402:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"424:23:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"444:2:25","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"438:5:25"},"nodeType":"YulFunctionCall","src":"438:9:25"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"428:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"456:71:25","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"478:6:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"502:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"506:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"498:3:25"},"nodeType":"YulFunctionCall","src":"498:13:25"},{"name":"_3","nodeType":"YulIdentifier","src":"513:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"494:3:25"},"nodeType":"YulFunctionCall","src":"494:22:25"},{"kind":"number","nodeType":"YulLiteral","src":"518:2:25","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"490:3:25"},"nodeType":"YulFunctionCall","src":"490:31:25"},{"name":"_3","nodeType":"YulIdentifier","src":"523:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"486:3:25"},"nodeType":"YulFunctionCall","src":"486:40:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"474:3:25"},"nodeType":"YulFunctionCall","src":"474:53:25"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"460:10:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"586:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"588:16:25"},"nodeType":"YulFunctionCall","src":"588:18:25"},"nodeType":"YulExpressionStatement","src":"588:18:25"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"545:10:25"},{"name":"_2","nodeType":"YulIdentifier","src":"557:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"542:2:25"},"nodeType":"YulFunctionCall","src":"542:18:25"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"565:10:25"},{"name":"memPtr","nodeType":"YulIdentifier","src":"577:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"562:2:25"},"nodeType":"YulFunctionCall","src":"562:22:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"539:2:25"},"nodeType":"YulFunctionCall","src":"539:46:25"},"nodeType":"YulIf","src":"536:72:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"624:2:25","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"628:10:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"617:6:25"},"nodeType":"YulFunctionCall","src":"617:22:25"},"nodeType":"YulExpressionStatement","src":"617:22:25"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"655:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"663:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"648:6:25"},"nodeType":"YulFunctionCall","src":"648:18:25"},"nodeType":"YulExpressionStatement","src":"648:18:25"},{"nodeType":"YulVariableDeclaration","src":"675:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"685:4:25","type":"","value":"0x20"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"679:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"735:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"744:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"747:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"737:6:25"},"nodeType":"YulFunctionCall","src":"737:12:25"},"nodeType":"YulExpressionStatement","src":"737:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"712:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"720:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"708:3:25"},"nodeType":"YulFunctionCall","src":"708:15:25"},{"name":"_4","nodeType":"YulIdentifier","src":"725:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"704:3:25"},"nodeType":"YulFunctionCall","src":"704:24:25"},{"name":"end","nodeType":"YulIdentifier","src":"730:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"701:2:25"},"nodeType":"YulFunctionCall","src":"701:33:25"},"nodeType":"YulIf","src":"698:53:25"},{"nodeType":"YulVariableDeclaration","src":"760:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"769:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"764:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"825:87:25","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"854:6:25"},{"name":"i","nodeType":"YulIdentifier","src":"862:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"850:3:25"},"nodeType":"YulFunctionCall","src":"850:14:25"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"846:3:25"},"nodeType":"YulFunctionCall","src":"846:23:25"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"885:6:25"},{"name":"i","nodeType":"YulIdentifier","src":"893:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"881:3:25"},"nodeType":"YulFunctionCall","src":"881:14:25"},{"name":"_4","nodeType":"YulIdentifier","src":"897:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"877:3:25"},"nodeType":"YulFunctionCall","src":"877:23:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"871:5:25"},"nodeType":"YulFunctionCall","src":"871:30:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"839:6:25"},"nodeType":"YulFunctionCall","src":"839:63:25"},"nodeType":"YulExpressionStatement","src":"839:63:25"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"790:1:25"},{"name":"_1","nodeType":"YulIdentifier","src":"793:2:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"787:2:25"},"nodeType":"YulFunctionCall","src":"787:9:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"797:19:25","statements":[{"nodeType":"YulAssignment","src":"799:15:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"808:1:25"},{"name":"_4","nodeType":"YulIdentifier","src":"811:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"804:3:25"},"nodeType":"YulFunctionCall","src":"804:10:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"799:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"783:3:25","statements":[]},"src":"779:133:25"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"936:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"944:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"932:3:25"},"nodeType":"YulFunctionCall","src":"932:15:25"},{"name":"_4","nodeType":"YulIdentifier","src":"949:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"928:3:25"},"nodeType":"YulFunctionCall","src":"928:24:25"},{"kind":"number","nodeType":"YulLiteral","src":"954:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"921:6:25"},"nodeType":"YulFunctionCall","src":"921:35:25"},"nodeType":"YulExpressionStatement","src":"921:35:25"},{"nodeType":"YulAssignment","src":"965:15:25","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"974:6:25"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"965:5:25"}]}]},"name":"abi_decode_string_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"184:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"192:3:25","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"200:5:25","type":""}],"src":"146:840:25"},{"body":{"nodeType":"YulBlock","src":"1109:444:25","statements":[{"body":{"nodeType":"YulBlock","src":"1155:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1164:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1167:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1157:6:25"},"nodeType":"YulFunctionCall","src":"1157:12:25"},"nodeType":"YulExpressionStatement","src":"1157:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1130:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"1139:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1126:3:25"},"nodeType":"YulFunctionCall","src":"1126:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"1151:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1122:3:25"},"nodeType":"YulFunctionCall","src":"1122:32:25"},"nodeType":"YulIf","src":"1119:52:25"},{"nodeType":"YulVariableDeclaration","src":"1180:30:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1200:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1194:5:25"},"nodeType":"YulFunctionCall","src":"1194:16:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1184:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1219:28:25","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1237:2:25","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1241:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1233:3:25"},"nodeType":"YulFunctionCall","src":"1233:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"1245:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1229:3:25"},"nodeType":"YulFunctionCall","src":"1229:18:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1223:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1274:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1283:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1286:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1276:6:25"},"nodeType":"YulFunctionCall","src":"1276:12:25"},"nodeType":"YulExpressionStatement","src":"1276:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1262:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1270:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1259:2:25"},"nodeType":"YulFunctionCall","src":"1259:14:25"},"nodeType":"YulIf","src":"1256:34:25"},{"nodeType":"YulAssignment","src":"1299:71:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1342:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"1353:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1338:3:25"},"nodeType":"YulFunctionCall","src":"1338:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1362:7:25"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1309:28:25"},"nodeType":"YulFunctionCall","src":"1309:61:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1299:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"1379:41:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1405:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1416:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1401:3:25"},"nodeType":"YulFunctionCall","src":"1401:18:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1395:5:25"},"nodeType":"YulFunctionCall","src":"1395:25:25"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1383:8:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1449:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1458:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1461:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1451:6:25"},"nodeType":"YulFunctionCall","src":"1451:12:25"},"nodeType":"YulExpressionStatement","src":"1451:12:25"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1435:8:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1445:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1432:2:25"},"nodeType":"YulFunctionCall","src":"1432:16:25"},"nodeType":"YulIf","src":"1429:36:25"},{"nodeType":"YulAssignment","src":"1474:73:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1517:9:25"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1528:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1513:3:25"},"nodeType":"YulFunctionCall","src":"1513:24:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1539:7:25"}],"functionName":{"name":"abi_decode_string_fromMemory","nodeType":"YulIdentifier","src":"1484:28:25"},"nodeType":"YulFunctionCall","src":"1484:63:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1474:6:25"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1067:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1078:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1090:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1098:6:25","type":""}],"src":"991:562:25"},{"body":{"nodeType":"YulBlock","src":"1613:325:25","statements":[{"nodeType":"YulAssignment","src":"1623:22:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1637:1:25","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"1640:4:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1633:3:25"},"nodeType":"YulFunctionCall","src":"1633:12:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1623:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"1654:38:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1684:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"1690:1:25","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1680:3:25"},"nodeType":"YulFunctionCall","src":"1680:12:25"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"1658:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1731:31:25","statements":[{"nodeType":"YulAssignment","src":"1733:27:25","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1747:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"1755:4:25","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1743:3:25"},"nodeType":"YulFunctionCall","src":"1743:17:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"1733:6:25"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1711:18:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1704:6:25"},"nodeType":"YulFunctionCall","src":"1704:26:25"},"nodeType":"YulIf","src":"1701:61:25"},{"body":{"nodeType":"YulBlock","src":"1821:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1842:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1849:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1854:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1845:3:25"},"nodeType":"YulFunctionCall","src":"1845:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1835:6:25"},"nodeType":"YulFunctionCall","src":"1835:31:25"},"nodeType":"YulExpressionStatement","src":"1835:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1886:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1889:4:25","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1879:6:25"},"nodeType":"YulFunctionCall","src":"1879:15:25"},"nodeType":"YulExpressionStatement","src":"1879:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1914:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1917:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1907:6:25"},"nodeType":"YulFunctionCall","src":"1907:15:25"},"nodeType":"YulExpressionStatement","src":"1907:15:25"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"1777:18:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1800:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"1808:2:25","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1797:2:25"},"nodeType":"YulFunctionCall","src":"1797:14:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1774:2:25"},"nodeType":"YulFunctionCall","src":"1774:38:25"},"nodeType":"YulIf","src":"1771:161:25"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1593:4:25","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"1602:6:25","type":""}],"src":"1558:380:25"},{"body":{"nodeType":"YulBlock","src":"1999:65:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2016:1:25","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"2019:3:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2009:6:25"},"nodeType":"YulFunctionCall","src":"2009:14:25"},"nodeType":"YulExpressionStatement","src":"2009:14:25"},{"nodeType":"YulAssignment","src":"2032:26:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2050:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2053:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2040:9:25"},"nodeType":"YulFunctionCall","src":"2040:18:25"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"2032:4:25"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"1982:3:25","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"1990:4:25","type":""}],"src":"1943:121:25"},{"body":{"nodeType":"YulBlock","src":"2150:464:25","statements":[{"body":{"nodeType":"YulBlock","src":"2183:425:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2197:11:25","value":{"kind":"number","nodeType":"YulLiteral","src":"2207:1:25","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2201:2:25","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2228:2:25"},{"name":"array","nodeType":"YulIdentifier","src":"2232:5:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2221:6:25"},"nodeType":"YulFunctionCall","src":"2221:17:25"},"nodeType":"YulExpressionStatement","src":"2221:17:25"},{"nodeType":"YulVariableDeclaration","src":"2251:31:25","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"2273:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"2277:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2263:9:25"},"nodeType":"YulFunctionCall","src":"2263:19:25"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"2255:4:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2295:57:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2318:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2328:1:25","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"2335:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"2347:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2331:3:25"},"nodeType":"YulFunctionCall","src":"2331:19:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2324:3:25"},"nodeType":"YulFunctionCall","src":"2324:27:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2314:3:25"},"nodeType":"YulFunctionCall","src":"2314:38:25"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"2299:11:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2389:23:25","statements":[{"nodeType":"YulAssignment","src":"2391:19:25","value":{"name":"data","nodeType":"YulIdentifier","src":"2406:4:25"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"2391:11:25"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"2371:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"2383:4:25","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2368:2:25"},"nodeType":"YulFunctionCall","src":"2368:20:25"},"nodeType":"YulIf","src":"2365:47:25"},{"nodeType":"YulVariableDeclaration","src":"2425:41:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2439:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2449:1:25","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"2456:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"2461:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2452:3:25"},"nodeType":"YulFunctionCall","src":"2452:12:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2445:3:25"},"nodeType":"YulFunctionCall","src":"2445:20:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2435:3:25"},"nodeType":"YulFunctionCall","src":"2435:31:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"2429:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2479:24:25","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"2492:11:25"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"2483:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2577:21:25","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2586:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"2593:2:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2579:6:25"},"nodeType":"YulFunctionCall","src":"2579:17:25"},"nodeType":"YulExpressionStatement","src":"2579:17:25"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2527:5:25"},{"name":"_2","nodeType":"YulIdentifier","src":"2534:2:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2524:2:25"},"nodeType":"YulFunctionCall","src":"2524:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2538:26:25","statements":[{"nodeType":"YulAssignment","src":"2540:22:25","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"2553:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"2560:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2549:3:25"},"nodeType":"YulFunctionCall","src":"2549:13:25"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"2540:5:25"}]}]},"pre":{"nodeType":"YulBlock","src":"2520:3:25","statements":[]},"src":"2516:82:25"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"2166:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"2171:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2163:2:25"},"nodeType":"YulFunctionCall","src":"2163:11:25"},"nodeType":"YulIf","src":"2160:448:25"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"2122:5:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"2129:3:25","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"2134:10:25","type":""}],"src":"2069:545:25"},{"body":{"nodeType":"YulBlock","src":"2704:81:25","statements":[{"nodeType":"YulAssignment","src":"2714:65:25","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"2729:4:25"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2747:1:25","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"2750:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2743:3:25"},"nodeType":"YulFunctionCall","src":"2743:11:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2760:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2756:3:25"},"nodeType":"YulFunctionCall","src":"2756:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2739:3:25"},"nodeType":"YulFunctionCall","src":"2739:24:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2735:3:25"},"nodeType":"YulFunctionCall","src":"2735:29:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2725:3:25"},"nodeType":"YulFunctionCall","src":"2725:40:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2771:1:25","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"2774:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2767:3:25"},"nodeType":"YulFunctionCall","src":"2767:11:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2722:2:25"},"nodeType":"YulFunctionCall","src":"2722:57:25"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"2714:4:25"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"2681:4:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"2687:3:25","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"2695:4:25","type":""}],"src":"2619:166:25"},{"body":{"nodeType":"YulBlock","src":"2886:1256:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2896:24:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2916:3:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2910:5:25"},"nodeType":"YulFunctionCall","src":"2910:10:25"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"2900:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2963:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"2965:16:25"},"nodeType":"YulFunctionCall","src":"2965:18:25"},"nodeType":"YulExpressionStatement","src":"2965:18:25"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"2935:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2951:2:25","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"2955:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2947:3:25"},"nodeType":"YulFunctionCall","src":"2947:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"2959:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2943:3:25"},"nodeType":"YulFunctionCall","src":"2943:18:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2932:2:25"},"nodeType":"YulFunctionCall","src":"2932:30:25"},"nodeType":"YulIf","src":"2929:56:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3038:4:25"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3076:4:25"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"3070:5:25"},"nodeType":"YulFunctionCall","src":"3070:11:25"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"3044:25:25"},"nodeType":"YulFunctionCall","src":"3044:38:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"3084:6:25"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"2994:43:25"},"nodeType":"YulFunctionCall","src":"2994:97:25"},"nodeType":"YulExpressionStatement","src":"2994:97:25"},{"nodeType":"YulVariableDeclaration","src":"3100:18:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3117:1:25","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"3104:9:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3127:23:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3146:4:25","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"3131:11:25","type":""}]},{"nodeType":"YulAssignment","src":"3159:24:25","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3172:11:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3159:9:25"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"3229:656:25","statements":[{"nodeType":"YulVariableDeclaration","src":"3243:35:25","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"3262:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3274:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3270:3:25"},"nodeType":"YulFunctionCall","src":"3270:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3258:3:25"},"nodeType":"YulFunctionCall","src":"3258:20:25"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"3247:7:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3291:49:25","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3335:4:25"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"3305:29:25"},"nodeType":"YulFunctionCall","src":"3305:35:25"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"3295:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3353:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3362:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3357:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3440:172:25","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3465:6:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3483:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"3488:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3479:3:25"},"nodeType":"YulFunctionCall","src":"3479:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3473:5:25"},"nodeType":"YulFunctionCall","src":"3473:26:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3458:6:25"},"nodeType":"YulFunctionCall","src":"3458:42:25"},"nodeType":"YulExpressionStatement","src":"3458:42:25"},{"nodeType":"YulAssignment","src":"3517:24:25","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3531:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"3539:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3527:3:25"},"nodeType":"YulFunctionCall","src":"3527:14:25"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3517:6:25"}]},{"nodeType":"YulAssignment","src":"3558:40:25","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3575:9:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3586:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3571:3:25"},"nodeType":"YulFunctionCall","src":"3571:27:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"3558:9:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3387:1:25"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"3390:7:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3384:2:25"},"nodeType":"YulFunctionCall","src":"3384:14:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3399:28:25","statements":[{"nodeType":"YulAssignment","src":"3401:24:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3410:1:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"3413:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3406:3:25"},"nodeType":"YulFunctionCall","src":"3406:19:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3401:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"3380:3:25","statements":[]},"src":"3376:236:25"},{"body":{"nodeType":"YulBlock","src":"3660:166:25","statements":[{"nodeType":"YulVariableDeclaration","src":"3678:43:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"3705:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"3710:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3701:3:25"},"nodeType":"YulFunctionCall","src":"3701:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3695:5:25"},"nodeType":"YulFunctionCall","src":"3695:26:25"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"3682:9:25","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"3745:6:25"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"3757:9:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3784:1:25","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"3787:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3780:3:25"},"nodeType":"YulFunctionCall","src":"3780:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"3796:3:25","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3776:3:25"},"nodeType":"YulFunctionCall","src":"3776:24:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3806:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3802:3:25"},"nodeType":"YulFunctionCall","src":"3802:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"3772:3:25"},"nodeType":"YulFunctionCall","src":"3772:37:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3768:3:25"},"nodeType":"YulFunctionCall","src":"3768:42:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3753:3:25"},"nodeType":"YulFunctionCall","src":"3753:58:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3738:6:25"},"nodeType":"YulFunctionCall","src":"3738:74:25"},"nodeType":"YulExpressionStatement","src":"3738:74:25"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"3631:7:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"3640:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3628:2:25"},"nodeType":"YulFunctionCall","src":"3628:19:25"},"nodeType":"YulIf","src":"3625:201:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"3846:4:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3860:1:25","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"3863:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3856:3:25"},"nodeType":"YulFunctionCall","src":"3856:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"3872:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3852:3:25"},"nodeType":"YulFunctionCall","src":"3852:22:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"3839:6:25"},"nodeType":"YulFunctionCall","src":"3839:36:25"},"nodeType":"YulExpressionStatement","src":"3839:36:25"}]},"nodeType":"YulCase","src":"3222:663:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3227:1:25","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"3902:234:25","statements":[{"nodeType":"YulVariableDeclaration","src":"3916:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3929:1:25","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3920:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3965:67:25","statements":[{"nodeType":"YulAssignment","src":"3983:35:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"4002:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"4007:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3998:3:25"},"nodeType":"YulFunctionCall","src":"3998:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3992:5:25"},"nodeType":"YulFunctionCall","src":"3992:26:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"3983:5:25"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"3946:6:25"},"nodeType":"YulIf","src":"3943:89:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"4052:4:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4111:5:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"4118:6:25"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"4058:52:25"},"nodeType":"YulFunctionCall","src":"4058:67:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"4045:6:25"},"nodeType":"YulFunctionCall","src":"4045:81:25"},"nodeType":"YulExpressionStatement","src":"4045:81:25"}]},"nodeType":"YulCase","src":"3894:242:25","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"3202:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"3210:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3199:2:25"},"nodeType":"YulFunctionCall","src":"3199:14:25"},"nodeType":"YulSwitch","src":"3192:944:25"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"2871:4:25","type":""},{"name":"src","nodeType":"YulTypedName","src":"2877:3:25","type":""}],"src":"2790:1352:25"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n mstore(add(add(memPtr, _1), _4), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b50604051620013e7380380620013e783398101604081905262000034916200011f565b600062000042838262000218565b50600162000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d676b79dc68df4267f8d09269c07d709f69069f4e6b407ce8dd8f369db4c2a6464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x13E7 CODESIZE SUB DUP1 PUSH3 0x13E7 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x11F JUMP JUMPDEST PUSH1 0x0 PUSH3 0x42 DUP4 DUP3 PUSH3 0x218 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x51 DUP3 DUP3 PUSH3 0x218 JUMP JUMPDEST POP POP POP PUSH3 0x2E4 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x9F JUMPI PUSH3 0x9F PUSH3 0x5A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xCA JUMPI PUSH3 0xCA PUSH3 0x5A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x10B JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xEC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP2 ADD SWAP1 SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x159 DUP7 DUP4 DUP8 ADD PUSH3 0x70 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x17F DUP6 DUP3 DUP7 ADD PUSH3 0x70 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1BF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x213 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1EE JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x20F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FA JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x234 JUMPI PUSH3 0x234 PUSH3 0x5A JUMP JUMPDEST PUSH3 0x24C DUP2 PUSH3 0x245 DUP5 SLOAD PUSH3 0x189 JUMP JUMPDEST DUP5 PUSH3 0x1C5 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x284 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x26B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x20F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x294 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x10F3 DUP1 PUSH3 0x2F4 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xC7F JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x27A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xCEC JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xD34 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x44D JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x499 JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xD9A JUMP JUMPDEST PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x57F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB5 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE07 JUMP JUMPDEST PUSH2 0x59D JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x5D5 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x259 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x274 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B5 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x302 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x302 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x649 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E DUP3 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x3B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3CC JUMPI POP PUSH2 0x3CC DUP2 CALLER PUSH2 0x1FA JUMP JUMPDEST PUSH2 0x43E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 PUSH2 0x6AB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x457 CALLER DUP3 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x473 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x274 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x563 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST PUSH2 0x599 CALLER DUP4 DUP4 PUSH2 0x8FC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5A7 CALLER DUP4 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x5C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x5CF DUP5 DUP5 DUP5 DUP5 PUSH2 0x9CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5E0 DUP3 PUSH2 0x649 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F7 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x617 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x642 JUMP JUMPDEST DUP1 PUSH2 0x621 DUP5 PUSH2 0x9FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x632 SWAP3 SWAP2 SWAP1 PUSH2 0xF9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E0 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x725 DUP4 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x76C JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x790 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x785 DUP5 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7AB DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x833 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x846 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x86C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x95D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9D5 DUP5 DUP5 DUP5 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x9E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA90 JUMP JUMPDEST PUSH2 0x5CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xA0A DUP4 PUSH2 0xB91 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA2A JUMPI PUSH2 0xA2A PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA54 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA5E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xAD4 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1063 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB0F JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB0C SWAP2 DUP2 ADD SWAP1 PUSH2 0x10A0 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB6C JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xB3D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xB42 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xB64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x790 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xBD0 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xBFC JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xC1A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xC32 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xC46 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xC58 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x274 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCB7 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xC9F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xCD8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xC9C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x642 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD50 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD7C DUP5 PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH2 0xD8A PUSH1 0x20 DUP6 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x642 DUP3 PUSH2 0xD18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD1 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xDE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE26 DUP6 PUSH2 0xD18 JUMP JUMPDEST SWAP4 POP PUSH2 0xE34 PUSH1 0x20 DUP7 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE7E PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xEA6 JUMPI PUSH2 0xEA6 PUSH2 0xDF1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xEF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEFF DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH2 0xF0D PUSH1 0x20 DUP5 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xF2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xF4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0xFAF DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0xFC3 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1096 SWAP1 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 PUSH23 0xB79DC68DF4267F8D09269C07D709F69069F4E6B407CE8D 0xD8 RETURN PUSH10 0xDB4C2A6464736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"628:16377:5:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16377;;14:127:25;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:25;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:25;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:25:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:25;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:25;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:25;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:25;;;3992:26;3943:89;-1:-1:-1;;2747:1:25;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:25;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:25;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:25;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:25:o;:::-;628:16377:5;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":1707,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_432":{"entryPoint":null,"id":432,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":2704,"id":1103,"parameterSlots":4,"returnSlots":1},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":1817,"id":698,"parameterSlots":2,"returnSlots":1},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":1609,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":2506,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":2300,"id":1027,"parameterSlots":3,"returnSlots":0},"@_transfer_971":{"entryPoint":1944,"id":971,"parameterSlots":3,"returnSlots":0},"@approve_475":{"entryPoint":819,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":1273,"id":336,"parameterSlots":1,"returnSlots":1},"@getApproved_493":{"entryPoint":780,"id":493,"parameterSlots":1,"returnSlots":1},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":2961,"id":3186,"parameterSlots":1,"returnSlots":1},"@name_374":{"entryPoint":634,"id":374,"parameterSlots":0,"returnSlots":1},"@ownerOf_364":{"entryPoint":1177,"id":364,"parameterSlots":1,"returnSlots":1},"@safeTransferFrom_574":{"entryPoint":1150,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":1437,"id":604,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":1422,"id":510,"parameterSlots":2,"returnSlots":0},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":552,"id":312,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":1407,"id":384,"parameterSlots":0,"returnSlots":1},"@toString_1911":{"entryPoint":2557,"id":1911,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":1493,"id":423,"parameterSlots":1,"returnSlots":1},"@transferFrom_555":{"entryPoint":1101,"id":555,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":3352,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":3482,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":3811,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":3422,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":3591,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":3509,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":3380,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":3199,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":4256,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":3327,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":3264,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":3997,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":4195,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3308,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":3920,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4113,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4044,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":3228,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":3862,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3569,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":3177,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:10132:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:25","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:25"},"nodeType":"YulFunctionCall","src":"125:12:25"},"nodeType":"YulExpressionStatement","src":"125:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:25","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:25"},"nodeType":"YulFunctionCall","src":"99:20:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:25"},"nodeType":"YulFunctionCall","src":"88:32:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:25"},"nodeType":"YulFunctionCall","src":"78:43:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:25"},"nodeType":"YulFunctionCall","src":"71:51:25"},"nodeType":"YulIf","src":"68:71:25"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:25","type":""}],"src":"14:131:25"},{"body":{"nodeType":"YulBlock","src":"219:176:25","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:25"},"nodeType":"YulFunctionCall","src":"267:12:25"},"nodeType":"YulExpressionStatement","src":"267:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:25"},"nodeType":"YulFunctionCall","src":"236:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:25"},"nodeType":"YulFunctionCall","src":"232:32:25"},"nodeType":"YulIf","src":"229:52:25"},{"nodeType":"YulVariableDeclaration","src":"290:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:25"},"nodeType":"YulFunctionCall","src":"303:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:25"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:25"},"nodeType":"YulFunctionCall","src":"335:30:25"},"nodeType":"YulExpressionStatement","src":"335:30:25"},{"nodeType":"YulAssignment","src":"374:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:25"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:25","type":""}],"src":"150:245:25"},{"body":{"nodeType":"YulBlock","src":"495:92:25","statements":[{"nodeType":"YulAssignment","src":"505:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:25"},"nodeType":"YulFunctionCall","src":"513:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:25"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:25"},"nodeType":"YulFunctionCall","src":"565:14:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:25"},"nodeType":"YulFunctionCall","src":"558:22:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:25"},"nodeType":"YulFunctionCall","src":"540:41:25"},"nodeType":"YulExpressionStatement","src":"540:41:25"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:25","type":""}],"src":"400:187:25"},{"body":{"nodeType":"YulBlock","src":"658:184:25","statements":[{"nodeType":"YulVariableDeclaration","src":"668:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"677:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"672:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"737:63:25","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"762:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"767:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"758:3:25"},"nodeType":"YulFunctionCall","src":"758:11:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"781:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"786:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:25"},"nodeType":"YulFunctionCall","src":"777:11:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"771:5:25"},"nodeType":"YulFunctionCall","src":"771:18:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"751:6:25"},"nodeType":"YulFunctionCall","src":"751:39:25"},"nodeType":"YulExpressionStatement","src":"751:39:25"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"698:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"701:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"695:2:25"},"nodeType":"YulFunctionCall","src":"695:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"709:19:25","statements":[{"nodeType":"YulAssignment","src":"711:15:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"720:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"723:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:25"},"nodeType":"YulFunctionCall","src":"716:10:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"711:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"691:3:25","statements":[]},"src":"687:113:25"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"820:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"825:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"816:3:25"},"nodeType":"YulFunctionCall","src":"816:16:25"},{"kind":"number","nodeType":"YulLiteral","src":"834:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:25"},"nodeType":"YulFunctionCall","src":"809:27:25"},"nodeType":"YulExpressionStatement","src":"809:27:25"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"636:3:25","type":""},{"name":"dst","nodeType":"YulTypedName","src":"641:3:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"646:6:25","type":""}],"src":"592:250:25"},{"body":{"nodeType":"YulBlock","src":"897:221:25","statements":[{"nodeType":"YulVariableDeclaration","src":"907:26:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"927:5:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"921:5:25"},"nodeType":"YulFunctionCall","src":"921:12:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"911:6:25","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"949:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"954:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"942:6:25"},"nodeType":"YulFunctionCall","src":"942:19:25"},"nodeType":"YulExpressionStatement","src":"942:19:25"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1009:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"1016:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1005:3:25"},"nodeType":"YulFunctionCall","src":"1005:16:25"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1027:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"1032:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:25"},"nodeType":"YulFunctionCall","src":"1023:14:25"},{"name":"length","nodeType":"YulIdentifier","src":"1039:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"970:34:25"},"nodeType":"YulFunctionCall","src":"970:76:25"},"nodeType":"YulExpressionStatement","src":"970:76:25"},{"nodeType":"YulAssignment","src":"1055:57:25","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1070:3:25"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1083:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"1091:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1079:3:25"},"nodeType":"YulFunctionCall","src":"1079:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1100:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1096:3:25"},"nodeType":"YulFunctionCall","src":"1096:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1075:3:25"},"nodeType":"YulFunctionCall","src":"1075:29:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1066:3:25"},"nodeType":"YulFunctionCall","src":"1066:39:25"},{"kind":"number","nodeType":"YulLiteral","src":"1107:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1062:3:25"},"nodeType":"YulFunctionCall","src":"1062:50:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1055:3:25"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"874:5:25","type":""},{"name":"pos","nodeType":"YulTypedName","src":"881:3:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"889:3:25","type":""}],"src":"847:271:25"},{"body":{"nodeType":"YulBlock","src":"1244:99:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1261:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1272:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1254:6:25"},"nodeType":"YulFunctionCall","src":"1254:21:25"},"nodeType":"YulExpressionStatement","src":"1254:21:25"},{"nodeType":"YulAssignment","src":"1284:53:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1310:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1322:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1333:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1318:3:25"},"nodeType":"YulFunctionCall","src":"1318:18:25"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1292:17:25"},"nodeType":"YulFunctionCall","src":"1292:45:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1284:4:25"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1213:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1224:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1235:4:25","type":""}],"src":"1123:220:25"},{"body":{"nodeType":"YulBlock","src":"1418:110:25","statements":[{"body":{"nodeType":"YulBlock","src":"1464:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1473:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1476:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1466:6:25"},"nodeType":"YulFunctionCall","src":"1466:12:25"},"nodeType":"YulExpressionStatement","src":"1466:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1439:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"1448:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1435:3:25"},"nodeType":"YulFunctionCall","src":"1435:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"1460:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1431:3:25"},"nodeType":"YulFunctionCall","src":"1431:32:25"},"nodeType":"YulIf","src":"1428:52:25"},{"nodeType":"YulAssignment","src":"1489:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1499:12:25"},"nodeType":"YulFunctionCall","src":"1499:23:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1489:6:25"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1384:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1395:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1407:6:25","type":""}],"src":"1348:180:25"},{"body":{"nodeType":"YulBlock","src":"1634:102:25","statements":[{"nodeType":"YulAssignment","src":"1644:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1656:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1667:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1652:3:25"},"nodeType":"YulFunctionCall","src":"1652:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1644:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1686:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1701:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1717:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1722:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1713:3:25"},"nodeType":"YulFunctionCall","src":"1713:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"1726:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1709:3:25"},"nodeType":"YulFunctionCall","src":"1709:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1697:3:25"},"nodeType":"YulFunctionCall","src":"1697:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1679:6:25"},"nodeType":"YulFunctionCall","src":"1679:51:25"},"nodeType":"YulExpressionStatement","src":"1679:51:25"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1603:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1614:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1625:4:25","type":""}],"src":"1533:203:25"},{"body":{"nodeType":"YulBlock","src":"1790:124:25","statements":[{"nodeType":"YulAssignment","src":"1800:29:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1822:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1809:12:25"},"nodeType":"YulFunctionCall","src":"1809:20:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1800:5:25"}]},{"body":{"nodeType":"YulBlock","src":"1892:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1901:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1904:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1894:6:25"},"nodeType":"YulFunctionCall","src":"1894:12:25"},"nodeType":"YulExpressionStatement","src":"1894:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1851:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1862:5:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1877:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1882:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1873:3:25"},"nodeType":"YulFunctionCall","src":"1873:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"1886:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1869:3:25"},"nodeType":"YulFunctionCall","src":"1869:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1858:3:25"},"nodeType":"YulFunctionCall","src":"1858:31:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1848:2:25"},"nodeType":"YulFunctionCall","src":"1848:42:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1841:6:25"},"nodeType":"YulFunctionCall","src":"1841:50:25"},"nodeType":"YulIf","src":"1838:70:25"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1769:6:25","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1780:5:25","type":""}],"src":"1741:173:25"},{"body":{"nodeType":"YulBlock","src":"2006:167:25","statements":[{"body":{"nodeType":"YulBlock","src":"2052:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2061:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2064:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2054:6:25"},"nodeType":"YulFunctionCall","src":"2054:12:25"},"nodeType":"YulExpressionStatement","src":"2054:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2027:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2036:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2023:3:25"},"nodeType":"YulFunctionCall","src":"2023:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"2048:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2019:3:25"},"nodeType":"YulFunctionCall","src":"2019:32:25"},"nodeType":"YulIf","src":"2016:52:25"},{"nodeType":"YulAssignment","src":"2077:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2106:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2087:18:25"},"nodeType":"YulFunctionCall","src":"2087:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2077:6:25"}]},{"nodeType":"YulAssignment","src":"2125:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2152:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2163:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2148:3:25"},"nodeType":"YulFunctionCall","src":"2148:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2135:12:25"},"nodeType":"YulFunctionCall","src":"2135:32:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2125:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1964:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1975:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1987:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1995:6:25","type":""}],"src":"1919:254:25"},{"body":{"nodeType":"YulBlock","src":"2282:224:25","statements":[{"body":{"nodeType":"YulBlock","src":"2328:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2337:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2340:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2330:6:25"},"nodeType":"YulFunctionCall","src":"2330:12:25"},"nodeType":"YulExpressionStatement","src":"2330:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2303:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2312:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2299:3:25"},"nodeType":"YulFunctionCall","src":"2299:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"2324:2:25","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2295:3:25"},"nodeType":"YulFunctionCall","src":"2295:32:25"},"nodeType":"YulIf","src":"2292:52:25"},{"nodeType":"YulAssignment","src":"2353:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2382:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2363:18:25"},"nodeType":"YulFunctionCall","src":"2363:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2353:6:25"}]},{"nodeType":"YulAssignment","src":"2401:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2434:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2445:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2430:3:25"},"nodeType":"YulFunctionCall","src":"2430:18:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2411:18:25"},"nodeType":"YulFunctionCall","src":"2411:38:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2401:6:25"}]},{"nodeType":"YulAssignment","src":"2458:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2485:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2496:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2481:3:25"},"nodeType":"YulFunctionCall","src":"2481:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2468:12:25"},"nodeType":"YulFunctionCall","src":"2468:32:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2458:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2232:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2243:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2255:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2263:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2271:6:25","type":""}],"src":"2178:328:25"},{"body":{"nodeType":"YulBlock","src":"2581:116:25","statements":[{"body":{"nodeType":"YulBlock","src":"2627:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2636:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2639:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2629:6:25"},"nodeType":"YulFunctionCall","src":"2629:12:25"},"nodeType":"YulExpressionStatement","src":"2629:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2602:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2611:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2598:3:25"},"nodeType":"YulFunctionCall","src":"2598:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"2623:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2594:3:25"},"nodeType":"YulFunctionCall","src":"2594:32:25"},"nodeType":"YulIf","src":"2591:52:25"},{"nodeType":"YulAssignment","src":"2652:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2681:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2662:18:25"},"nodeType":"YulFunctionCall","src":"2662:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2652:6:25"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2547:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2558:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2570:6:25","type":""}],"src":"2511:186:25"},{"body":{"nodeType":"YulBlock","src":"2803:76:25","statements":[{"nodeType":"YulAssignment","src":"2813:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2825:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2836:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2821:3:25"},"nodeType":"YulFunctionCall","src":"2821:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2813:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2855:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"2866:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2848:6:25"},"nodeType":"YulFunctionCall","src":"2848:25:25"},"nodeType":"YulExpressionStatement","src":"2848:25:25"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2772:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2783:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2794:4:25","type":""}],"src":"2702:177:25"},{"body":{"nodeType":"YulBlock","src":"2968:263:25","statements":[{"body":{"nodeType":"YulBlock","src":"3014:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3023:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3026:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3016:6:25"},"nodeType":"YulFunctionCall","src":"3016:12:25"},"nodeType":"YulExpressionStatement","src":"3016:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2989:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2998:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2985:3:25"},"nodeType":"YulFunctionCall","src":"2985:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"3010:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2981:3:25"},"nodeType":"YulFunctionCall","src":"2981:32:25"},"nodeType":"YulIf","src":"2978:52:25"},{"nodeType":"YulAssignment","src":"3039:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3068:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3049:18:25"},"nodeType":"YulFunctionCall","src":"3049:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3039:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"3087:45:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3117:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3128:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3113:3:25"},"nodeType":"YulFunctionCall","src":"3113:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3100:12:25"},"nodeType":"YulFunctionCall","src":"3100:32:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3091:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3185:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3194:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3197:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3187:6:25"},"nodeType":"YulFunctionCall","src":"3187:12:25"},"nodeType":"YulExpressionStatement","src":"3187:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3154:5:25"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3175:5:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3168:6:25"},"nodeType":"YulFunctionCall","src":"3168:13:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3161:6:25"},"nodeType":"YulFunctionCall","src":"3161:21:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3151:2:25"},"nodeType":"YulFunctionCall","src":"3151:32:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3144:6:25"},"nodeType":"YulFunctionCall","src":"3144:40:25"},"nodeType":"YulIf","src":"3141:60:25"},{"nodeType":"YulAssignment","src":"3210:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"3220:5:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3210:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2926:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2937:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2949:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2957:6:25","type":""}],"src":"2884:347:25"},{"body":{"nodeType":"YulBlock","src":"3268:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3285:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3292:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3297:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3288:3:25"},"nodeType":"YulFunctionCall","src":"3288:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3278:6:25"},"nodeType":"YulFunctionCall","src":"3278:31:25"},"nodeType":"YulExpressionStatement","src":"3278:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3325:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3328:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3318:6:25"},"nodeType":"YulFunctionCall","src":"3318:15:25"},"nodeType":"YulExpressionStatement","src":"3318:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3349:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3352:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3342:6:25"},"nodeType":"YulFunctionCall","src":"3342:15:25"},"nodeType":"YulExpressionStatement","src":"3342:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3236:127:25"},{"body":{"nodeType":"YulBlock","src":"3498:1008:25","statements":[{"body":{"nodeType":"YulBlock","src":"3545:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3554:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3557:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3547:6:25"},"nodeType":"YulFunctionCall","src":"3547:12:25"},"nodeType":"YulExpressionStatement","src":"3547:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3519:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"3528:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3515:3:25"},"nodeType":"YulFunctionCall","src":"3515:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"3540:3:25","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3511:3:25"},"nodeType":"YulFunctionCall","src":"3511:33:25"},"nodeType":"YulIf","src":"3508:53:25"},{"nodeType":"YulAssignment","src":"3570:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3599:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3580:18:25"},"nodeType":"YulFunctionCall","src":"3580:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3570:6:25"}]},{"nodeType":"YulAssignment","src":"3618:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:25"},"nodeType":"YulFunctionCall","src":"3647:18:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3628:18:25"},"nodeType":"YulFunctionCall","src":"3628:38:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3618:6:25"}]},{"nodeType":"YulAssignment","src":"3675:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3702:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3713:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3698:3:25"},"nodeType":"YulFunctionCall","src":"3698:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3685:12:25"},"nodeType":"YulFunctionCall","src":"3685:32:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3675:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"3726:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3757:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3768:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3753:3:25"},"nodeType":"YulFunctionCall","src":"3753:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3740:12:25"},"nodeType":"YulFunctionCall","src":"3740:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3730:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3781:28:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3791:18:25","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3785:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3836:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3845:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3848:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3838:6:25"},"nodeType":"YulFunctionCall","src":"3838:12:25"},"nodeType":"YulExpressionStatement","src":"3838:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3824:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"3832:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3821:2:25"},"nodeType":"YulFunctionCall","src":"3821:14:25"},"nodeType":"YulIf","src":"3818:34:25"},{"nodeType":"YulVariableDeclaration","src":"3861:32:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3875:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"3886:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3871:3:25"},"nodeType":"YulFunctionCall","src":"3871:22:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3865:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3941:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3950:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3953:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3943:6:25"},"nodeType":"YulFunctionCall","src":"3943:12:25"},"nodeType":"YulExpressionStatement","src":"3943:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3920:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"3924:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3916:3:25"},"nodeType":"YulFunctionCall","src":"3916:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3931:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3912:3:25"},"nodeType":"YulFunctionCall","src":"3912:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3905:6:25"},"nodeType":"YulFunctionCall","src":"3905:35:25"},"nodeType":"YulIf","src":"3902:55:25"},{"nodeType":"YulVariableDeclaration","src":"3966:26:25","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3989:2:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3976:12:25"},"nodeType":"YulFunctionCall","src":"3976:16:25"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3970:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4015:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4017:16:25"},"nodeType":"YulFunctionCall","src":"4017:18:25"},"nodeType":"YulExpressionStatement","src":"4017:18:25"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4007:2:25"},{"name":"_1","nodeType":"YulIdentifier","src":"4011:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4004:2:25"},"nodeType":"YulFunctionCall","src":"4004:10:25"},"nodeType":"YulIf","src":"4001:36:25"},{"nodeType":"YulVariableDeclaration","src":"4046:17:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4060:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4056:3:25"},"nodeType":"YulFunctionCall","src":"4056:7:25"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"4050:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4072:23:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4092:2:25","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4086:5:25"},"nodeType":"YulFunctionCall","src":"4086:9:25"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4076:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4104:71:25","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4126:6:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4150:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"4154:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4146:3:25"},"nodeType":"YulFunctionCall","src":"4146:13:25"},{"name":"_4","nodeType":"YulIdentifier","src":"4161:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4142:3:25"},"nodeType":"YulFunctionCall","src":"4142:22:25"},{"kind":"number","nodeType":"YulLiteral","src":"4166:2:25","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4138:3:25"},"nodeType":"YulFunctionCall","src":"4138:31:25"},{"name":"_4","nodeType":"YulIdentifier","src":"4171:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4134:3:25"},"nodeType":"YulFunctionCall","src":"4134:40:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4122:3:25"},"nodeType":"YulFunctionCall","src":"4122:53:25"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4108:10:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4234:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4236:16:25"},"nodeType":"YulFunctionCall","src":"4236:18:25"},"nodeType":"YulExpressionStatement","src":"4236:18:25"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4193:10:25"},{"name":"_1","nodeType":"YulIdentifier","src":"4205:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4190:2:25"},"nodeType":"YulFunctionCall","src":"4190:18:25"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4213:10:25"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4225:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4210:2:25"},"nodeType":"YulFunctionCall","src":"4210:22:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4187:2:25"},"nodeType":"YulFunctionCall","src":"4187:46:25"},"nodeType":"YulIf","src":"4184:72:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4272:2:25","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4276:10:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4265:6:25"},"nodeType":"YulFunctionCall","src":"4265:22:25"},"nodeType":"YulExpressionStatement","src":"4265:22:25"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4303:6:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4311:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4296:6:25"},"nodeType":"YulFunctionCall","src":"4296:18:25"},"nodeType":"YulExpressionStatement","src":"4296:18:25"},{"body":{"nodeType":"YulBlock","src":"4360:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4369:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4372:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4362:6:25"},"nodeType":"YulFunctionCall","src":"4362:12:25"},"nodeType":"YulExpressionStatement","src":"4362:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4337:2:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4341:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4333:3:25"},"nodeType":"YulFunctionCall","src":"4333:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"4346:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4329:3:25"},"nodeType":"YulFunctionCall","src":"4329:20:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4351:7:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4326:2:25"},"nodeType":"YulFunctionCall","src":"4326:33:25"},"nodeType":"YulIf","src":"4323:53:25"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4402:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"4410:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4398:3:25"},"nodeType":"YulFunctionCall","src":"4398:15:25"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4419:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"4423:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4415:3:25"},"nodeType":"YulFunctionCall","src":"4415:11:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4428:2:25"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4385:12:25"},"nodeType":"YulFunctionCall","src":"4385:46:25"},"nodeType":"YulExpressionStatement","src":"4385:46:25"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4455:6:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4463:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4451:3:25"},"nodeType":"YulFunctionCall","src":"4451:15:25"},{"kind":"number","nodeType":"YulLiteral","src":"4468:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4447:3:25"},"nodeType":"YulFunctionCall","src":"4447:24:25"},{"kind":"number","nodeType":"YulLiteral","src":"4473:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4440:6:25"},"nodeType":"YulFunctionCall","src":"4440:35:25"},"nodeType":"YulExpressionStatement","src":"4440:35:25"},{"nodeType":"YulAssignment","src":"4484:16:25","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"4494:6:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4484:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3440:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3451:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3463:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3471:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3479:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3487:6:25","type":""}],"src":"3368:1138:25"},{"body":{"nodeType":"YulBlock","src":"4598:173:25","statements":[{"body":{"nodeType":"YulBlock","src":"4644:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4653:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4656:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4646:6:25"},"nodeType":"YulFunctionCall","src":"4646:12:25"},"nodeType":"YulExpressionStatement","src":"4646:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4619:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"4628:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4615:3:25"},"nodeType":"YulFunctionCall","src":"4615:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"4640:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4611:3:25"},"nodeType":"YulFunctionCall","src":"4611:32:25"},"nodeType":"YulIf","src":"4608:52:25"},{"nodeType":"YulAssignment","src":"4669:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4698:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4679:18:25"},"nodeType":"YulFunctionCall","src":"4679:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4669:6:25"}]},{"nodeType":"YulAssignment","src":"4717:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4750:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4761:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4746:3:25"},"nodeType":"YulFunctionCall","src":"4746:18:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4727:18:25"},"nodeType":"YulFunctionCall","src":"4727:38:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4717:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4556:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4567:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4579:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4587:6:25","type":""}],"src":"4511:260:25"},{"body":{"nodeType":"YulBlock","src":"4831:325:25","statements":[{"nodeType":"YulAssignment","src":"4841:22:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4855:1:25","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4858:4:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4851:3:25"},"nodeType":"YulFunctionCall","src":"4851:12:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4841:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"4872:38:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4902:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"4908:1:25","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4898:3:25"},"nodeType":"YulFunctionCall","src":"4898:12:25"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4876:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4949:31:25","statements":[{"nodeType":"YulAssignment","src":"4951:27:25","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4965:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"4973:4:25","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4961:3:25"},"nodeType":"YulFunctionCall","src":"4961:17:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4951:6:25"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4929:18:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4922:6:25"},"nodeType":"YulFunctionCall","src":"4922:26:25"},"nodeType":"YulIf","src":"4919:61:25"},{"body":{"nodeType":"YulBlock","src":"5039:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5060:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5067:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5072:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5063:3:25"},"nodeType":"YulFunctionCall","src":"5063:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5053:6:25"},"nodeType":"YulFunctionCall","src":"5053:31:25"},"nodeType":"YulExpressionStatement","src":"5053:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5104:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5107:4:25","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5097:6:25"},"nodeType":"YulFunctionCall","src":"5097:15:25"},"nodeType":"YulExpressionStatement","src":"5097:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5132:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5135:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5125:6:25"},"nodeType":"YulFunctionCall","src":"5125:15:25"},"nodeType":"YulExpressionStatement","src":"5125:15:25"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4995:18:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5018:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"5026:2:25","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5015:2:25"},"nodeType":"YulFunctionCall","src":"5015:14:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4992:2:25"},"nodeType":"YulFunctionCall","src":"4992:38:25"},"nodeType":"YulIf","src":"4989:161:25"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4811:4:25","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4820:6:25","type":""}],"src":"4776:380:25"},{"body":{"nodeType":"YulBlock","src":"5335:223:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5352:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5363:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5345:6:25"},"nodeType":"YulFunctionCall","src":"5345:21:25"},"nodeType":"YulExpressionStatement","src":"5345:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5397:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5382:3:25"},"nodeType":"YulFunctionCall","src":"5382:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"5402:2:25","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5375:6:25"},"nodeType":"YulFunctionCall","src":"5375:30:25"},"nodeType":"YulExpressionStatement","src":"5375:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5425:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5436:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5421:3:25"},"nodeType":"YulFunctionCall","src":"5421:18:25"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"5441:34:25","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5414:6:25"},"nodeType":"YulFunctionCall","src":"5414:62:25"},"nodeType":"YulExpressionStatement","src":"5414:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5496:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5507:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5492:3:25"},"nodeType":"YulFunctionCall","src":"5492:18:25"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"5512:3:25","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5485:6:25"},"nodeType":"YulFunctionCall","src":"5485:31:25"},"nodeType":"YulExpressionStatement","src":"5485:31:25"},{"nodeType":"YulAssignment","src":"5525:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5537:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5548:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5533:3:25"},"nodeType":"YulFunctionCall","src":"5533:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5525:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5312:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5326:4:25","type":""}],"src":"5161:397:25"},{"body":{"nodeType":"YulBlock","src":"5737:251:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5754:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5765:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5747:6:25"},"nodeType":"YulFunctionCall","src":"5747:21:25"},"nodeType":"YulExpressionStatement","src":"5747:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5788:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5799:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5784:3:25"},"nodeType":"YulFunctionCall","src":"5784:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"5804:2:25","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5777:6:25"},"nodeType":"YulFunctionCall","src":"5777:30:25"},"nodeType":"YulExpressionStatement","src":"5777:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5827:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5838:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5823:3:25"},"nodeType":"YulFunctionCall","src":"5823:18:25"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"5843:34:25","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5816:6:25"},"nodeType":"YulFunctionCall","src":"5816:62:25"},"nodeType":"YulExpressionStatement","src":"5816:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5898:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5909:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5894:3:25"},"nodeType":"YulFunctionCall","src":"5894:18:25"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"5914:31:25","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5887:6:25"},"nodeType":"YulFunctionCall","src":"5887:59:25"},"nodeType":"YulExpressionStatement","src":"5887:59:25"},{"nodeType":"YulAssignment","src":"5955:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5967:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5978:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5963:3:25"},"nodeType":"YulFunctionCall","src":"5963:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5955:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5714:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5728:4:25","type":""}],"src":"5563:425:25"},{"body":{"nodeType":"YulBlock","src":"6167:235:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6184:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6195:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6177:6:25"},"nodeType":"YulFunctionCall","src":"6177:21:25"},"nodeType":"YulExpressionStatement","src":"6177:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6218:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6229:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6214:3:25"},"nodeType":"YulFunctionCall","src":"6214:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"6234:2:25","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6207:6:25"},"nodeType":"YulFunctionCall","src":"6207:30:25"},"nodeType":"YulExpressionStatement","src":"6207:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6257:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6268:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6253:3:25"},"nodeType":"YulFunctionCall","src":"6253:18:25"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"6273:34:25","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6246:6:25"},"nodeType":"YulFunctionCall","src":"6246:62:25"},"nodeType":"YulExpressionStatement","src":"6246:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6328:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6339:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6324:3:25"},"nodeType":"YulFunctionCall","src":"6324:18:25"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"6344:15:25","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6317:6:25"},"nodeType":"YulFunctionCall","src":"6317:43:25"},"nodeType":"YulExpressionStatement","src":"6317:43:25"},{"nodeType":"YulAssignment","src":"6369:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6381:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6392:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6377:3:25"},"nodeType":"YulFunctionCall","src":"6377:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6369:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6144:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6158:4:25","type":""}],"src":"5993:409:25"},{"body":{"nodeType":"YulBlock","src":"6581:174:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6598:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6609:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6591:6:25"},"nodeType":"YulFunctionCall","src":"6591:21:25"},"nodeType":"YulExpressionStatement","src":"6591:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6632:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6643:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6628:3:25"},"nodeType":"YulFunctionCall","src":"6628:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"6648:2:25","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6621:6:25"},"nodeType":"YulFunctionCall","src":"6621:30:25"},"nodeType":"YulExpressionStatement","src":"6621:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6671:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6682:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6667:3:25"},"nodeType":"YulFunctionCall","src":"6667:18:25"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"6687:26:25","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6660:6:25"},"nodeType":"YulFunctionCall","src":"6660:54:25"},"nodeType":"YulExpressionStatement","src":"6660:54:25"},{"nodeType":"YulAssignment","src":"6723:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6735:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6746:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6731:3:25"},"nodeType":"YulFunctionCall","src":"6731:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6723:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6558:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6572:4:25","type":""}],"src":"6407:348:25"},{"body":{"nodeType":"YulBlock","src":"6934:231:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6951:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6962:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6944:6:25"},"nodeType":"YulFunctionCall","src":"6944:21:25"},"nodeType":"YulExpressionStatement","src":"6944:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6985:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6996:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6981:3:25"},"nodeType":"YulFunctionCall","src":"6981:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"7001:2:25","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6974:6:25"},"nodeType":"YulFunctionCall","src":"6974:30:25"},"nodeType":"YulExpressionStatement","src":"6974:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7024:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7035:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7020:3:25"},"nodeType":"YulFunctionCall","src":"7020:18:25"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"7040:34:25","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7013:6:25"},"nodeType":"YulFunctionCall","src":"7013:62:25"},"nodeType":"YulExpressionStatement","src":"7013:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7095:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7106:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7091:3:25"},"nodeType":"YulFunctionCall","src":"7091:18:25"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"7111:11:25","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7084:6:25"},"nodeType":"YulFunctionCall","src":"7084:39:25"},"nodeType":"YulExpressionStatement","src":"7084:39:25"},{"nodeType":"YulAssignment","src":"7132:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7144:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7155:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7140:3:25"},"nodeType":"YulFunctionCall","src":"7140:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7132:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6911:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6925:4:25","type":""}],"src":"6760:405:25"},{"body":{"nodeType":"YulBlock","src":"7357:309:25","statements":[{"nodeType":"YulVariableDeclaration","src":"7367:27:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7387:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7381:5:25"},"nodeType":"YulFunctionCall","src":"7381:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7371:6:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7442:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"7450:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7438:3:25"},"nodeType":"YulFunctionCall","src":"7438:17:25"},{"name":"pos","nodeType":"YulIdentifier","src":"7457:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"7462:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7403:34:25"},"nodeType":"YulFunctionCall","src":"7403:66:25"},"nodeType":"YulExpressionStatement","src":"7403:66:25"},{"nodeType":"YulVariableDeclaration","src":"7478:29:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7495:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"7500:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7491:3:25"},"nodeType":"YulFunctionCall","src":"7491:16:25"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"7482:5:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7516:29:25","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7538:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7532:5:25"},"nodeType":"YulFunctionCall","src":"7532:13:25"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"7520:8:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7593:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"7601:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7589:3:25"},"nodeType":"YulFunctionCall","src":"7589:17:25"},{"name":"end_1","nodeType":"YulIdentifier","src":"7608:5:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"7615:8:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7554:34:25"},"nodeType":"YulFunctionCall","src":"7554:70:25"},"nodeType":"YulExpressionStatement","src":"7554:70:25"},{"nodeType":"YulAssignment","src":"7633:27:25","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"7644:5:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"7651:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7640:3:25"},"nodeType":"YulFunctionCall","src":"7640:20:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7633:3:25"}]}]},"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":"7325:3:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7330:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7338:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7349:3:25","type":""}],"src":"7170:496:25"},{"body":{"nodeType":"YulBlock","src":"7845:227:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7862:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7873:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7855:6:25"},"nodeType":"YulFunctionCall","src":"7855:21:25"},"nodeType":"YulExpressionStatement","src":"7855:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7896:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7907:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7892:3:25"},"nodeType":"YulFunctionCall","src":"7892:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"7912:2:25","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7885:6:25"},"nodeType":"YulFunctionCall","src":"7885:30:25"},"nodeType":"YulExpressionStatement","src":"7885:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7935:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7946:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7931:3:25"},"nodeType":"YulFunctionCall","src":"7931:18:25"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"7951:34:25","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7924:6:25"},"nodeType":"YulFunctionCall","src":"7924:62:25"},"nodeType":"YulExpressionStatement","src":"7924:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8006:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8017:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8002:3:25"},"nodeType":"YulFunctionCall","src":"8002:18:25"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"8022:7:25","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7995:6:25"},"nodeType":"YulFunctionCall","src":"7995:35:25"},"nodeType":"YulExpressionStatement","src":"7995:35:25"},{"nodeType":"YulAssignment","src":"8039:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8051:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8062:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8047:3:25"},"nodeType":"YulFunctionCall","src":"8047:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8039:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7822:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7836:4:25","type":""}],"src":"7671:401:25"},{"body":{"nodeType":"YulBlock","src":"8251:226:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8268:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8279:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8261:6:25"},"nodeType":"YulFunctionCall","src":"8261:21:25"},"nodeType":"YulExpressionStatement","src":"8261:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8302:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8313:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8298:3:25"},"nodeType":"YulFunctionCall","src":"8298:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"8318:2:25","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8291:6:25"},"nodeType":"YulFunctionCall","src":"8291:30:25"},"nodeType":"YulExpressionStatement","src":"8291:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8341:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8352:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8337:3:25"},"nodeType":"YulFunctionCall","src":"8337:18:25"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"8357:34:25","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8330:6:25"},"nodeType":"YulFunctionCall","src":"8330:62:25"},"nodeType":"YulExpressionStatement","src":"8330:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8412:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8423:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8408:3:25"},"nodeType":"YulFunctionCall","src":"8408:18:25"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"8428:6:25","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8401:6:25"},"nodeType":"YulFunctionCall","src":"8401:34:25"},"nodeType":"YulExpressionStatement","src":"8401:34:25"},{"nodeType":"YulAssignment","src":"8444:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8456:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8467:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8452:3:25"},"nodeType":"YulFunctionCall","src":"8452:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8444:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8228:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8242:4:25","type":""}],"src":"8077:400:25"},{"body":{"nodeType":"YulBlock","src":"8656:175:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8673:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8684:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8666:6:25"},"nodeType":"YulFunctionCall","src":"8666:21:25"},"nodeType":"YulExpressionStatement","src":"8666:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8707:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8718:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8703:3:25"},"nodeType":"YulFunctionCall","src":"8703:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"8723:2:25","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8696:6:25"},"nodeType":"YulFunctionCall","src":"8696:30:25"},"nodeType":"YulExpressionStatement","src":"8696:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8746:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8757:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8742:3:25"},"nodeType":"YulFunctionCall","src":"8742:18:25"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"8762:27:25","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8735:6:25"},"nodeType":"YulFunctionCall","src":"8735:55:25"},"nodeType":"YulExpressionStatement","src":"8735:55:25"},{"nodeType":"YulAssignment","src":"8799:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8811:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8822:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8807:3:25"},"nodeType":"YulFunctionCall","src":"8807:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8799:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8633:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8647:4:25","type":""}],"src":"8482:349:25"},{"body":{"nodeType":"YulBlock","src":"9010:240:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9027:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9038:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9020:6:25"},"nodeType":"YulFunctionCall","src":"9020:21:25"},"nodeType":"YulExpressionStatement","src":"9020:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9061:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9072:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9057:3:25"},"nodeType":"YulFunctionCall","src":"9057:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"9077:2:25","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9050:6:25"},"nodeType":"YulFunctionCall","src":"9050:30:25"},"nodeType":"YulExpressionStatement","src":"9050:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9100:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9111:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9096:3:25"},"nodeType":"YulFunctionCall","src":"9096:18:25"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"9116:34:25","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9089:6:25"},"nodeType":"YulFunctionCall","src":"9089:62:25"},"nodeType":"YulExpressionStatement","src":"9089:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9171:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9182:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9167:3:25"},"nodeType":"YulFunctionCall","src":"9167:18:25"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"9187:20:25","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9160:6:25"},"nodeType":"YulFunctionCall","src":"9160:48:25"},"nodeType":"YulExpressionStatement","src":"9160:48:25"},{"nodeType":"YulAssignment","src":"9217:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9229:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9240:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9225:3:25"},"nodeType":"YulFunctionCall","src":"9225:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9217:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8987:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9001:4:25","type":""}],"src":"8836:414:25"},{"body":{"nodeType":"YulBlock","src":"9287:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9304:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9311:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"9316:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9307:3:25"},"nodeType":"YulFunctionCall","src":"9307:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9297:6:25"},"nodeType":"YulFunctionCall","src":"9297:31:25"},"nodeType":"YulExpressionStatement","src":"9297:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9344:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"9347:4:25","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9337:6:25"},"nodeType":"YulFunctionCall","src":"9337:15:25"},"nodeType":"YulExpressionStatement","src":"9337:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9368:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9371:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9361:6:25"},"nodeType":"YulFunctionCall","src":"9361:15:25"},"nodeType":"YulExpressionStatement","src":"9361:15:25"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"9255:127:25"},{"body":{"nodeType":"YulBlock","src":"9590:286:25","statements":[{"nodeType":"YulVariableDeclaration","src":"9600:29:25","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9618:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9623:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9614:3:25"},"nodeType":"YulFunctionCall","src":"9614:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"9627:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9610:3:25"},"nodeType":"YulFunctionCall","src":"9610:19:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9604:2:25","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9645:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9660:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9668:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9656:3:25"},"nodeType":"YulFunctionCall","src":"9656:15:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9638:6:25"},"nodeType":"YulFunctionCall","src":"9638:34:25"},"nodeType":"YulExpressionStatement","src":"9638:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9692:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9703:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9688:3:25"},"nodeType":"YulFunctionCall","src":"9688:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9712:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9720:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9708:3:25"},"nodeType":"YulFunctionCall","src":"9708:15:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9681:6:25"},"nodeType":"YulFunctionCall","src":"9681:43:25"},"nodeType":"YulExpressionStatement","src":"9681:43:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9744:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9755:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9740:3:25"},"nodeType":"YulFunctionCall","src":"9740:18:25"},{"name":"value2","nodeType":"YulIdentifier","src":"9760:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9733:6:25"},"nodeType":"YulFunctionCall","src":"9733:34:25"},"nodeType":"YulExpressionStatement","src":"9733:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9787:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9798:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9783:3:25"},"nodeType":"YulFunctionCall","src":"9783:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"9803:3:25","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9776:6:25"},"nodeType":"YulFunctionCall","src":"9776:31:25"},"nodeType":"YulExpressionStatement","src":"9776:31:25"},{"nodeType":"YulAssignment","src":"9816:54:25","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"9842:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9854:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9865:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9850:3:25"},"nodeType":"YulFunctionCall","src":"9850:19:25"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9824:17:25"},"nodeType":"YulFunctionCall","src":"9824:46:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9816:4:25"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9535:9:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9546:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9554:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9562:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9570:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9581:4:25","type":""}],"src":"9387:489:25"},{"body":{"nodeType":"YulBlock","src":"9961:169:25","statements":[{"body":{"nodeType":"YulBlock","src":"10007:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10016:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10019:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10009:6:25"},"nodeType":"YulFunctionCall","src":"10009:12:25"},"nodeType":"YulExpressionStatement","src":"10009:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9982:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"9991:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9978:3:25"},"nodeType":"YulFunctionCall","src":"9978:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"10003:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9974:3:25"},"nodeType":"YulFunctionCall","src":"9974:32:25"},"nodeType":"YulIf","src":"9971:52:25"},{"nodeType":"YulVariableDeclaration","src":"10032:29:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10051:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10045:5:25"},"nodeType":"YulFunctionCall","src":"10045:16:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10036:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10094:5:25"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"10070:23:25"},"nodeType":"YulFunctionCall","src":"10070:30:25"},"nodeType":"YulExpressionStatement","src":"10070:30:25"},{"nodeType":"YulAssignment","src":"10109:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"10119:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10109:6:25"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9927:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9938:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9950:6:25","type":""}],"src":"9881:249:25"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d676b79dc68df4267f8d09269c07d709f69069f4e6b407ce8dd8f369db4c2a6464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCF JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1C6 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x18A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x111 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x13C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x164 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE7 PUSH2 0xE2 CALLDATASIZE PUSH1 0x4 PUSH2 0xC7F JUMP JUMPDEST PUSH2 0x228 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x27A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xCEC JUMP JUMPDEST PUSH2 0x124 PUSH2 0x11F CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x30C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0xD34 JUMP JUMPDEST PUSH2 0x333 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14F PUSH2 0x15F CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x44D JUMP JUMPDEST PUSH2 0x14F PUSH2 0x172 CALLDATASIZE PUSH1 0x4 PUSH2 0xD5E JUMP JUMPDEST PUSH2 0x47E JUMP JUMPDEST PUSH2 0x124 PUSH2 0x185 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x499 JUMP JUMPDEST PUSH2 0x19D PUSH2 0x198 CALLDATASIZE PUSH1 0x4 PUSH2 0xD9A JUMP JUMPDEST PUSH2 0x4F9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xF3 JUMP JUMPDEST PUSH2 0x104 PUSH2 0x57F JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1C1 CALLDATASIZE PUSH1 0x4 PUSH2 0xDB5 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x14F PUSH2 0x1D4 CALLDATASIZE PUSH1 0x4 PUSH2 0xE07 JUMP JUMPDEST PUSH2 0x59D JUMP JUMPDEST PUSH2 0x104 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0xCFF JUMP JUMPDEST PUSH2 0x5D5 JUMP JUMPDEST PUSH2 0xE7 PUSH2 0x1FA CALLDATASIZE PUSH1 0x4 PUSH2 0xEE3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x259 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x274 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B5 SWAP1 PUSH2 0xF16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x302 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x302 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x317 DUP3 PUSH2 0x649 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33E DUP3 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x3B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3CC JUMPI POP PUSH2 0x3CC DUP2 CALLER PUSH2 0x1FA JUMP JUMPDEST PUSH2 0x43E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 PUSH2 0x6AB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x457 CALLER DUP3 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x473 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x448 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x59D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x274 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x563 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x289 SWAP1 PUSH2 0xF16 JUMP JUMPDEST PUSH2 0x599 CALLER DUP4 DUP4 PUSH2 0x8FC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5A7 CALLER DUP4 PUSH2 0x719 JUMP JUMPDEST PUSH2 0x5C3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xF50 JUMP JUMPDEST PUSH2 0x5CF DUP5 DUP5 DUP5 DUP5 PUSH2 0x9CA JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5E0 DUP3 PUSH2 0x649 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F7 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x617 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x642 JUMP JUMPDEST DUP1 PUSH2 0x621 DUP5 PUSH2 0x9FD JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x632 SWAP3 SWAP2 SWAP1 PUSH2 0xF9D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6A8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6E0 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x725 DUP4 PUSH2 0x499 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x76C JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x790 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x785 DUP5 PUSH2 0x30C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7AB DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x833 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3A7 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x846 DUP3 PUSH2 0x499 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x86C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0xFCC JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x95D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9D5 DUP5 DUP5 DUP5 PUSH2 0x798 JUMP JUMPDEST PUSH2 0x9E1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA90 JUMP JUMPDEST PUSH2 0x5CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xA0A DUP4 PUSH2 0xB91 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA2A JUMPI PUSH2 0xA2A PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xA54 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xA5E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xAD4 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1063 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xB0F JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xB0C SWAP2 DUP2 ADD SWAP1 PUSH2 0x10A0 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB6C JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xB3D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xB42 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xB64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3A7 SWAP1 PUSH2 0x1011 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x790 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xBD0 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xBFC JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xC1A JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xC32 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xC46 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xC58 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x274 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC91 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCB7 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xC9F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xCD8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xC9C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x642 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD50 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD7C DUP5 PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH2 0xD8A PUSH1 0x20 DUP6 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x642 DUP3 PUSH2 0xD18 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDD1 DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xDE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xE1D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE26 DUP6 PUSH2 0xD18 JUMP JUMPDEST SWAP4 POP PUSH2 0xE34 PUSH1 0x20 DUP7 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xE6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0xE7E JUMPI PUSH2 0xE7E PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xEA6 JUMPI PUSH2 0xEA6 PUSH2 0xDF1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0xEBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xEF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEFF DUP4 PUSH2 0xD18 JUMP JUMPDEST SWAP2 POP PUSH2 0xF0D PUSH1 0x20 DUP5 ADD PUSH2 0xD18 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xF2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xF4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0xFAF DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0xFC3 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xC9C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1096 SWAP1 DUP4 ADD DUP5 PUSH2 0xCC0 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x642 DUP2 PUSH2 0xC69 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD6 PUSH23 0xB79DC68DF4267F8D09269C07D709F69069F4E6B407CE8D 0xD8 RETURN PUSH10 0xDB4C2A6464736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"628:16377:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:25;;558:22;540:41;;528:2;513:18;1570:300:5;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:25;;;1679:51;;1667:2;1652:18;3935:167:5;1533:203:25;3468:406:5;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:25;;;2836:2;2821:18;1929:204:5;2702:177:25;2633:102:5;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;1688:175;1570:300;-1:-1:-1;;1570:300:5:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;5363:2:25;3597:57:5;;;5345:21:25;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:25;;;5485:31;5533:19;;3597:57:5;;;;;;;;;734:10:12;-1:-1:-1;;;;;3686:21:5;;;;:62;;-1:-1:-1;3711:37:5;3728:5;734:10:12;4388:162:5;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;5765:2:25;3665:170:5;;;5747:21:25;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:5;5563:425:25;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;734:10:12;4804:7:5;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:5;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;6609:2:25;2324:56:5;;;6591:21:25;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:25;;;6660:54;6731:18;;2324:56:5;6407:348:25;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;6962:2:25;2020:73:5;;;6944:21:25;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:25;;;7084:39;7140:19;;2020:73:5;6760:405:25;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;734:10:12;4296:8:5;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;734:10:12;5352:7:5;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;6609:2:25;13313:53:5;;;6591:21:25;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:25;;;6660:54;6731:18;;13313:53:5;6407:348:25;13313:53:5;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;-1:-1:-1;;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;8279:2:25;11437:65:5;;;8261:21:25;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:25;;;8401:34;8452:19;;11437:65:5;8077:400:25;11437:65:5;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;8684:2:25;12982:55:5;;;8666:21:25;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;12982:55:5;8482:349:25;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;540::25;;;13108::5;;513:18:25;13108:41:5;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;13925:831:5:-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14129:71;;-1:-1:-1;;;14129:71:5;;-1:-1:-1;;;;;14129:36:5;;;;;:71;;734:10:12;;14180:4:5;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;13925:831;;;;;;:::o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;14:131:25:-;-1:-1:-1;;;;;;88:32:25;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:25;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:25;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:25:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:25;;1348:180;-1:-1:-1;1348:180:25:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:25;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:25:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:25;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:25;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:25:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:25;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:25;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:489::-;-1:-1:-1;;;;;9656:15:25;;;9638:34;;9708:15;;9703:2;9688:18;;9681:43;9755:2;9740:18;;9733:34;;;9803:3;9798:2;9783:18;;9776:31;;;9581:4;;9824:46;;9850:19;;9842:6;9824:46;:::i;:::-;9816:54;9387:489;-1:-1:-1;;;;;;9387:489:25:o;9881:249::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:52;;;10019:1;10016;10009:12;9971:52;10051:9;10045:16;10070:30;10094:5;10070:30;:::i"},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"@openzeppelin/contracts/token/ERC721/ERC721.sol:ERC721","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"@openzeppelin/contracts/token/ERC721/IERC721.sol":{"IERC721":{"abi":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"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":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","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":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"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\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"IERC721Receiver":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol":{"ERC721Burnable":{"abi":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"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":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"ERC721 Token that can be burned (destroyed).\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Burnable Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":\"ERC721Burnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:ERC721Burnable","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol":{"ERC721URIStorage":{"abi":[{"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":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"ERC721 token with storage based token URI management.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":\"ERC721URIStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol:ERC721URIStorage","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"IERC721Metadata":{"abi":[{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"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":[],"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":"owner","type":"address"}],"stateMutability":"view","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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"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\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"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\":[],\"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\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/Address.sol":{"Address":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1fdd61f4eb78bb85396bef6217c844e429e234ac21c304c6e1ff0a4882c9d9264736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL REVERT 0xD6 0x1F 0x4E 0xB7 DUP12 0xB8 MSTORE8 SWAP7 0xBE 0xF6 0x21 PUSH29 0x844E429E234AC21C304C6E1FF0A4882C9D9264736F6C63430008140033 ","sourceMap":"194:9169:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:9169:11;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f1fdd61f4eb78bb85396bef6217c844e429e234ac21c304c6e1ff0a4882c9d9264736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALL REVERT 0xD6 0x1F 0x4E 0xB7 DUP12 0xB8 MSTORE8 SWAP7 0xBE 0xF6 0x21 PUSH29 0x844E429E234AC21C304C6E1FF0A4882C9D9264736F6C63430008140033 ","sourceMap":"194:9169:11:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/Strings.sol":{"Strings":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220021c47ccbc9d2eb37dccbfda50caf25b1daad11d1b40ba8f580b0ae6e23d393864736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL SHR SELFBALANCE 0xCC 0xBC SWAP14 0x2E 0xB3 PUSH30 0xCCBFDA50CAF25B1DAAD11D1B40BA8F580B0AE6E23D393864736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"220:2559:13:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:13;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220021c47ccbc9d2eb37dccbfda50caf25b1daad11d1b40ba8f580b0ae6e23d393864736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MUL SHR SELFBALANCE 0xCC 0xBC SWAP14 0x2E 0xB3 PUSH30 0xCCBFDA50CAF25B1DAAD11D1B40BA8F580B0AE6E23D393864736F6C634300 ADDMOD EQ STOP CALLER ","sourceMap":"220:2559:13:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"ECDSA":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205a77dc3abb340c1df399723277b7d59112560781b8c1ec9f5a02c745d813a33d64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GAS PUSH24 0xDC3ABB340C1DF399723277B7D59112560781B8C1EC9F5A02 0xC7 GASLIMIT 0xD8 SGT LOG3 RETURNDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"369:8761:14:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;369:8761:14;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205a77dc3abb340c1df399723277b7d59112560781b8c1ec9f5a02c745d813a33d64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GAS PUSH24 0xDC3ABB340C1DF399723277B7D59112560781B8C1EC9F5A02 0xC7 GASLIMIT 0xD8 SGT LOG3 RETURNDATASIZE PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"369:8761:14:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/introspection/ERC165.sol":{"ERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@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\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/math/Math.sol":{"Math":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205c0cc183d0f31baa1c5bb8dc7aa6a23858e404f9a4daa0da3e6b85f138b0ab6f64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xC 0xC1 DUP4 0xD0 RETURN SHL 0xAA SHR JUMPDEST 0xB8 0xDC PUSH27 0xA6A23858E404F9A4DAA0DA3E6B85F138B0AB6F64736F6C63430008 EQ STOP CALLER ","sourceMap":"202:12582:17:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12582:17;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205c0cc183d0f31baa1c5bb8dc7aa6a23858e404f9a4daa0da3e6b85f138b0ab6f64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5C 0xC 0xC1 DUP4 0xD0 RETURN SHL 0xAA SHR JUMPDEST 0xB8 0xDC PUSH27 0xA6A23858E404F9A4DAA0DA3E6B85F138B0AB6F64736F6C63430008 EQ STOP CALLER ","sourceMap":"202:12582:17:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"@openzeppelin/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070fa345ea313530b988df5a20a3fb22bf347620b40de18f92e69a0b4ea05510f64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xFA345EA313530B988DF5A20A3FB22BF347 PUSH3 0xB40DE XOR 0xF9 0x2E PUSH10 0xA0B4EA05510F64736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"215:1047:18:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1047:18;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070fa345ea313530b988df5a20a3fb22bf347620b40de18f92e69a0b4ea05510f64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH17 0xFA345EA313530B988DF5A20A3FB22BF347 PUSH3 0xB40DE XOR 0xF9 0x2E PUSH10 0xA0B4EA05510F64736F6C PUSH4 0x43000814 STOP CALLER ","sourceMap":"215:1047:18:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/gamma/GammaCards.v5.sol":{"IgammaOffersContract":{"abi":[{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"getOfferByUserAndCardNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getOffersByUserCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"hasOffer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeOffersByUser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getOfferByUserAndCardNumber(address,uint8)":"9f915069","getOffersByUserCounter(address)":"0cdb3117","hasOffer(address,uint8)":"2edb5fcf","removeOffersByUser(address)":"fc9e80fc"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"getOfferByUserAndCardNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getOffersByUserCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"hasOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"removeOffersByUser\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"IgammaOffersContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x4fead84374b6d720cdc8b896f202ccc6da058c3853b5ded2eb0cf2fd5d2e9d34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c7a2968d09d54d32f3268efbfb20f29bea69c976da65720d45c9d3a8686b8f7\",\"dweb:/ipfs/QmeVE59X3WL4XtDT13zgeVCJczF2idAWZQTkDKJBw1a8aH\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IgammaPacksContract":{"abi":[{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getPackOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"openPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"address","name":"owner","type":"address"}],"name":"openPacks","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"getPackOwner(uint256)":"d3e6a7ad","openPack(uint256,address)":"80f2540b","openPacks(uint256[],address)":"97f8b3d3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getPackOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"openPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"IgammaPacksContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x4fead84374b6d720cdc8b896f202ccc6da058c3853b5ded2eb0cf2fd5d2e9d34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c7a2968d09d54d32f3268efbfb20f29bea69c976da65720d45c9d3a8686b8f7\",\"dweb:/ipfs/QmeVE59X3WL4XtDT13zgeVCJczF2idAWZQTkDKJBw1a8aH\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"IgammaTicketsContract":{"abi":[{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"generateTicket","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"generateTicket(address)":"fa8213d3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"generateTicket\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"IgammaTicketsContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x4fead84374b6d720cdc8b896f202ccc6da058c3853b5ded2eb0cf2fd5d2e9d34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c7a2968d09d54d32f3268efbfb20f29bea69c976da65720d45c9d3a8686b8f7\",\"dweb:/ipfs/QmeVE59X3WL4XtDT13zgeVCJczF2idAWZQTkDKJBw1a8aH\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}},"NofGammaCardsV5":{"abi":[{"inputs":[],"name":"CannotRemoveUserOffers","type":"error"},{"inputs":[],"name":"CardLimitExceeded","type":"error"},{"inputs":[],"name":"IncorrectPrizeAmount","type":"error"},{"inputs":[],"name":"InsufficientCards","type":"error"},{"inputs":[],"name":"InsufficientFunds","type":"error"},{"inputs":[],"name":"InvalidAddress","type":"error"},{"inputs":[],"name":"InvalidCardNumber","type":"error"},{"inputs":[],"name":"InvalidSignature","type":"error"},{"inputs":[],"name":"InvalidTransfer","type":"error"},{"inputs":[],"name":"MustCompleteAlbum","type":"error"},{"inputs":[],"name":"NotYourPack","type":"error"},{"inputs":[],"name":"OnlyGammaPacksContract","type":"error"},{"inputs":[],"name":"OnlyOffersContract","type":"error"},{"inputs":[],"name":"OnlyOwners","type":"error"},{"inputs":[],"name":"UserDoesNotHaveCardOrAlbum","type":"error"},{"inputs":[],"name":"WrongPacksQuantity","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint8","name":"albumClass","type":"uint8"}],"name":"AlbumCompleted","type":"event"},{"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":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint256","name":"cardTokenId","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"albumTokenId","type":"uint256"}],"name":"CardPasted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"CardTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint8[]","name":"cardsNumber","type":"uint8[]"}],"name":"CardsBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint8[]","name":"cardNumber","type":"uint8[]"}],"name":"CardsTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaOffersContract","type":"address"}],"name":"NewGammaOffersContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaPacksContract","type":"address"}],"name":"NewGammaPacksContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newGammaTicketContract","type":"address"}],"name":"NewGammaTicketsContract","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newSigner","type":"address"}],"name":"NewSigner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"newMainUri","type":"string"},{"indexed":true,"internalType":"string","name":"newSecondaryUri","type":"string"}],"name":"NewUris","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint8","name":"cardNumberFrom","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"cardNumberTo","type":"uint8"}],"name":"OfferCardsExchanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":true,"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"indexed":true,"internalType":"uint256","name":"packNumber","type":"uint256"}],"name":"PackOpened","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":"DAI_TOKEN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newSigner","type":"address"}],"name":"addSigner","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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8[]","name":"cardNumbers","type":"uint8[]"}],"name":"burnCards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_maxPacksToOpenAtOnce","type":"uint8"}],"name":"changeMaxPacksToOpenAtOnce","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPackPrice","type":"uint256"}],"name":"changePackPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"required","type":"bool"}],"name":"changeRequireOfferValidationInMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"required","type":"bool"}],"name":"changeRequireOfferValidationInTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"required","type":"bool"}],"name":"changeRequireOpenPackSignerValidation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emergencyWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint8","name":"cardNumberFrom","type":"uint8"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8","name":"cardNumberTo","type":"uint8"}],"name":"exchangeCardsOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishAlbum","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gammaOffersContract","outputs":[{"internalType":"contract IgammaOffersContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gammaPacksContract","outputs":[{"internalType":"contract IgammaPacksContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gammaTicketsContract","outputs":[{"internalType":"contract IgammaTicketsContract","name":"","type":"address"}],"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":"address","name":"user","type":"address"}],"name":"getBurnedCardQttyByUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNum","type":"uint8"}],"name":"getCardQuantityByUser","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getCardsByUser","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"uint8[]","name":"","type":"uint8[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLotteryPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNum","type":"uint8"}],"name":"hasCard","outputs":[{"internalType":"bool","name":"has","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"hasCardByOffer","outputs":[{"internalType":"bool","name":"has","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_daiTokenAddress","type":"address"},{"internalType":"address","name":"_gammaPacksContract","type":"address"},{"internalType":"address","name":"_gammaOffersContract","type":"address"},{"internalType":"address","name":"_gammaTicketsContract","type":"address"},{"internalType":"string","name":"_baseUri","type":"string"},{"internalType":"address","name":"_signer","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","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":"user","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isSigner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cardNum","type":"uint8"}],"name":"mintCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"openPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"packsQuantity","type":"uint8"},{"internalType":"uint256[]","name":"packsNumber","type":"uint256[]"},{"internalType":"uint8[][]","name":"packsData","type":"uint8[][]"},{"internalType":"bytes[]","name":"signatures","type":"bytes[]"}],"name":"openPacks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"removeCardByOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_ownerToRemove","type":"address"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_signerToRemove","type":"address"}],"name":"removeSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"restoreCardByOffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"s_baseUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"s_burnedCards","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"s_cards","outputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"bool","name":"pasted","type":"bool"},{"internalType":"uint8","name":"class","type":"uint8"},{"internalType":"uint256","name":"completion","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"s_cardsByUser","outputs":[{"internalType":"uint8","name":"amount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cardNumber","type":"uint256"}],"name":"s_cardsInventory","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_lotteryPrizePercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_mainAlbumPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_mainUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_maxPacksToOpenAtOnce","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_packPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_prizesBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requireOfferValidationInMint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requireOfferValidationInTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_requireOpenPackSignerValidation","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_secondaryAlbumPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_secondaryUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"s_tokenIdCounter","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":"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":"_gammaOffersContract","type":"address"}],"name":"setGammaOffersContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaPacksContract","type":"address"}],"name":"setGammaPacksContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gammaTicketsContract","type":"address"}],"name":"setGammaTicketsContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"amount","type":"uint8"}],"name":"setLotteryPrizePercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMainAlbumPrize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setPrizesBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSecondaryAlbumPrize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newMainUri","type":"string"},{"internalType":"string","name":"newSecondaryUri","type":"string"}],"name":"setUris","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":"address","name":"user","type":"address"}],"name":"testAddCards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"}],"name":"testOpenPack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8","name":"cardNumber","type":"uint8"}],"name":"transferCard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint8[]","name":"cardNumbers","type":"uint8[]"}],"name":"transferCards","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":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyPackSigner","outputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_23":{"entryPoint":null,"id":23,"parameterSlots":0,"returnSlots":0},"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"@_5659":{"entryPoint":null,"id":5659,"parameterSlots":0,"returnSlots":0},"@_msgSender_1834":{"entryPoint":224,"id":1834,"parameterSlots":0,"returnSlots":1},"@_transferOwnership_111":{"entryPoint":228,"id":111,"parameterSlots":1,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":392,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":475,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":332,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":310,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:25"},"nodeType":"YulFunctionCall","src":"66:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:25"},"nodeType":"YulFunctionCall","src":"56:31:25"},"nodeType":"YulExpressionStatement","src":"56:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:25"},"nodeType":"YulFunctionCall","src":"96:15:25"},"nodeType":"YulExpressionStatement","src":"96:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:25"},"nodeType":"YulFunctionCall","src":"120:15:25"},"nodeType":"YulExpressionStatement","src":"120:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:25"},{"body":{"nodeType":"YulBlock","src":"201:325:25","statements":[{"nodeType":"YulAssignment","src":"211:22:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:25","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:25"},"nodeType":"YulFunctionCall","src":"221:12:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:25","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:25"},"nodeType":"YulFunctionCall","src":"268:12:25"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:25","statements":[{"nodeType":"YulAssignment","src":"321:27:25","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:25","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:25"},"nodeType":"YulFunctionCall","src":"331:17:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:25"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:25"},"nodeType":"YulFunctionCall","src":"292:26:25"},"nodeType":"YulIf","src":"289:61:25"},{"body":{"nodeType":"YulBlock","src":"409:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:25"},"nodeType":"YulFunctionCall","src":"433:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:25"},"nodeType":"YulFunctionCall","src":"423:31:25"},"nodeType":"YulExpressionStatement","src":"423:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:25","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:25"},"nodeType":"YulFunctionCall","src":"467:15:25"},"nodeType":"YulExpressionStatement","src":"467:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:25"},"nodeType":"YulFunctionCall","src":"495:15:25"},"nodeType":"YulExpressionStatement","src":"495:15:25"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:25","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:25"},"nodeType":"YulFunctionCall","src":"385:14:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:25"},"nodeType":"YulFunctionCall","src":"362:38:25"},"nodeType":"YulIf","src":"359:161:25"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:25","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:25","type":""}],"src":"146:380:25"},{"body":{"nodeType":"YulBlock","src":"587:65:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:25","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:25"},"nodeType":"YulFunctionCall","src":"597:14:25"},"nodeType":"YulExpressionStatement","src":"597:14:25"},{"nodeType":"YulAssignment","src":"620:26:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:25"},"nodeType":"YulFunctionCall","src":"628:18:25"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:25"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:25","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:25","type":""}],"src":"531:121:25"},{"body":{"nodeType":"YulBlock","src":"738:464:25","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:25","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:25","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:25","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:25","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:25"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:25"},"nodeType":"YulFunctionCall","src":"809:17:25"},"nodeType":"YulExpressionStatement","src":"809:17:25"},{"nodeType":"YulVariableDeclaration","src":"839:31:25","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:25"},"nodeType":"YulFunctionCall","src":"851:19:25"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:25","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:25"},"nodeType":"YulFunctionCall","src":"919:19:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:25"},"nodeType":"YulFunctionCall","src":"912:27:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:25"},"nodeType":"YulFunctionCall","src":"902:38:25"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:25","statements":[{"nodeType":"YulAssignment","src":"979:19:25","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:25"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:25"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:25","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:25"},"nodeType":"YulFunctionCall","src":"956:20:25"},"nodeType":"YulIf","src":"953:47:25"},{"nodeType":"YulVariableDeclaration","src":"1013:41:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:25","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:25"},"nodeType":"YulFunctionCall","src":"1040:12:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:25"},"nodeType":"YulFunctionCall","src":"1033:20:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:25"},"nodeType":"YulFunctionCall","src":"1023:31:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:25","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:25"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:25","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:25"},"nodeType":"YulFunctionCall","src":"1167:17:25"},"nodeType":"YulExpressionStatement","src":"1167:17:25"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:25"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:25"},"nodeType":"YulFunctionCall","src":"1112:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:25","statements":[{"nodeType":"YulAssignment","src":"1128:22:25","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:25"},"nodeType":"YulFunctionCall","src":"1137:13:25"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:25"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:25","statements":[]},"src":"1104:82:25"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:25"},"nodeType":"YulFunctionCall","src":"751:11:25"},"nodeType":"YulIf","src":"748:448:25"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:25","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:25","type":""}],"src":"657:545:25"},{"body":{"nodeType":"YulBlock","src":"1292:81:25","statements":[{"nodeType":"YulAssignment","src":"1302:65:25","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:25"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:25","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:25"},"nodeType":"YulFunctionCall","src":"1331:11:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:25"},"nodeType":"YulFunctionCall","src":"1344:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:25"},"nodeType":"YulFunctionCall","src":"1327:24:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:25"},"nodeType":"YulFunctionCall","src":"1323:29:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:25"},"nodeType":"YulFunctionCall","src":"1313:40:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:25","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:25"},"nodeType":"YulFunctionCall","src":"1355:11:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:25"},"nodeType":"YulFunctionCall","src":"1310:57:25"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:25"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:25","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:25","type":""}],"src":"1207:166:25"},{"body":{"nodeType":"YulBlock","src":"1474:1256:25","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:25"},"nodeType":"YulFunctionCall","src":"1498:10:25"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:25"},"nodeType":"YulFunctionCall","src":"1553:18:25"},"nodeType":"YulExpressionStatement","src":"1553:18:25"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:25","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:25"},"nodeType":"YulFunctionCall","src":"1535:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:25"},"nodeType":"YulFunctionCall","src":"1531:18:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:25"},"nodeType":"YulFunctionCall","src":"1520:30:25"},"nodeType":"YulIf","src":"1517:56:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:25"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:25"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:25"},"nodeType":"YulFunctionCall","src":"1658:11:25"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:25"},"nodeType":"YulFunctionCall","src":"1632:38:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:25"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:25"},"nodeType":"YulFunctionCall","src":"1582:97:25"},"nodeType":"YulExpressionStatement","src":"1582:97:25"},{"nodeType":"YulVariableDeclaration","src":"1688:18:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:25","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:25","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:25","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:25","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:25"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:25","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:25","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:25"},"nodeType":"YulFunctionCall","src":"1858:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:25"},"nodeType":"YulFunctionCall","src":"1846:20:25"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:25","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:25"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:25"},"nodeType":"YulFunctionCall","src":"1893:35:25"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:25","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:25"},"nodeType":"YulFunctionCall","src":"2067:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:25"},"nodeType":"YulFunctionCall","src":"2061:26:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:25"},"nodeType":"YulFunctionCall","src":"2046:42:25"},"nodeType":"YulExpressionStatement","src":"2046:42:25"},{"nodeType":"YulAssignment","src":"2105:24:25","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:25"},"nodeType":"YulFunctionCall","src":"2115:14:25"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:25"}]},{"nodeType":"YulAssignment","src":"2146:40:25","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:25"},"nodeType":"YulFunctionCall","src":"2159:27:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:25"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:25"},"nodeType":"YulFunctionCall","src":"1972:14:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:25","statements":[{"nodeType":"YulAssignment","src":"1989:24:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:25"},"nodeType":"YulFunctionCall","src":"1994:19:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:25","statements":[]},"src":"1964:236:25"},{"body":{"nodeType":"YulBlock","src":"2248:166:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:25"},"nodeType":"YulFunctionCall","src":"2289:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:25"},"nodeType":"YulFunctionCall","src":"2283:26:25"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:25","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:25"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:25","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:25"},"nodeType":"YulFunctionCall","src":"2368:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:25","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:25"},"nodeType":"YulFunctionCall","src":"2364:24:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:25"},"nodeType":"YulFunctionCall","src":"2390:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:25"},"nodeType":"YulFunctionCall","src":"2360:37:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:25"},"nodeType":"YulFunctionCall","src":"2356:42:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:25"},"nodeType":"YulFunctionCall","src":"2341:58:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:25"},"nodeType":"YulFunctionCall","src":"2326:74:25"},"nodeType":"YulExpressionStatement","src":"2326:74:25"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:25"},"nodeType":"YulFunctionCall","src":"2216:19:25"},"nodeType":"YulIf","src":"2213:201:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:25","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:25"},"nodeType":"YulFunctionCall","src":"2444:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:25"},"nodeType":"YulFunctionCall","src":"2440:22:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:25"},"nodeType":"YulFunctionCall","src":"2427:36:25"},"nodeType":"YulExpressionStatement","src":"2427:36:25"}]},"nodeType":"YulCase","src":"1810:663:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:25","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:25","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:25","statements":[{"nodeType":"YulAssignment","src":"2571:35:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:25"},"nodeType":"YulFunctionCall","src":"2586:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:25"},"nodeType":"YulFunctionCall","src":"2580:26:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:25"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:25"},"nodeType":"YulIf","src":"2531:89:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:25"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:25"},"nodeType":"YulFunctionCall","src":"2646:67:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:25"},"nodeType":"YulFunctionCall","src":"2633:81:25"},"nodeType":"YulExpressionStatement","src":"2633:81:25"}]},"nodeType":"YulCase","src":"2482:242:25","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:25"},"nodeType":"YulFunctionCall","src":"1787:14:25"},"nodeType":"YulSwitch","src":"1780:944:25"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:25","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:25","type":""}],"src":"1378:1352:25"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":5023},{"length":20,"start":5709},{"length":20,"start":9707},{"length":20,"start":15088}]},"contracts/gamma/libs/LibPackVerifier.sol":{"LibPackVerifier":[{"length":20,"start":5285},{"length":20,"start":15769}]},"contracts/gamma/libs/LibStringUtils.sol":{"LibStringUtils":[{"length":20,"start":14286}]}},"object":"6080604052600f805461ffff191661320a1790556710a741a462780000601155600060125567d02ab486cedc0000601355670de0b6b3a76400006014556018805462ffff001916620101001790553480156200005a57600080fd5b506040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b8152508160009081620000ae9190620001db565b506001620000bd8282620001db565b505050620000da620000d4620000e060201b60201c565b620000e4565b620002a7565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016157607f821691505b6020821081036200018257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d657600081815260208120601f850160051c81016020861015620001b15750805b601f850160051c820191505b81811015620001d257828155600101620001bd565b5050505b505050565b81516001600160401b03811115620001f757620001f762000136565b6200020f816200020884546200014c565b8462000188565b602080601f8311600181146200024757600084156200022e5750858301515b600019600386901b1c1916600185901b178555620001d2565b600085815260208120601f198616915b82811015620002785788860151825594840194600190910190840162000257565b5085821015620002975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b615a3d80620002b76000396000f3fe608060405234801561001057600080fd5b506004361061046a5760003560e01c806379e8dadc1161024c578063ad1684fa11610146578063dbfc05cf116100c3578063e8a7e31d11610087578063e8a7e31d14610a82578063e985e9c514610a8a578063eb12d61e14610ac6578063f2fde38b14610ad9578063f98fd28314610aec57600080fd5b8063dbfc05cf14610a23578063ddb975e814610a36578063e1883c6e14610a49578063e4ae0b9b14610a5c578063e606df8714610a6957600080fd5b8063c87b56dd1161010a578063c87b56dd146109d9578063cafaa473146109ec578063d322b563146109ff578063d7093f4014610a12578063d780c47714610a1b57600080fd5b8063ad1684fa14610984578063b352618514610997578063b88d4fde146109a0578063ba6c0fbc146109b3578063bf400a6a146109c657600080fd5b80638da5cb5b116101d45780639ff26efd116101985780639ff26efd14610910578063a1af8ad41461093e578063a22cb46514610951578063a419811d14610964578063ab5351601461097757600080fd5b80638da5cb5b146108c95780639038f414146108da57806395d89b41146108e25780639a5613ad146108ea5780639c7f707f146108fd57600080fd5b80637df73e271161021b5780637df73e271461084e57806382d8a1181461087a578063886eb60f1461088357806388e0ef80146108965780638bf670c8146108b657600080fd5b806379e8dadc1461080d5780637ce65f7b146108155780637cf86b72146108285780637de99bd91461083b57600080fd5b8063267b841d116103685780635e31ce48116102e55780637065cb48116102a95780637065cb48146107b957806370a08231146107cc578063715018a6146107df5780637155a3ac146107e75780637232d7d4146107fa57600080fd5b80635e31ce48146107655780636352211e14610778578063656bd0ad1461078b57806368cc5bc1146107945780636d0af178146107a757600080fd5b80634039327e1161032c5780634039327e146106b257806342842e0e146106ba57806342966c68146106cd5780634c03cd0b146106e05780635312ea8e1461075257600080fd5b8063267b841d1461063a5780632ca699e71461064d5780632f54bf6e146106605780632f9e026a1461068c57806330f5cc581461069f57600080fd5b8063147baac7116103f6578063203335f6116103ba578063203335f6146105e557806320965a5f146105f857806321a7c6b01461060b57806323b872dd14610614578063241a08fe1461062757600080fd5b8063147baac71461057557806314cca36a14610587578063155e2f921461059a5780631585cc4e146105ad578063173825d9146105d257600080fd5b8063081812fc1161043d578063081812fc146104fc578063095ea7b3146105275780630e316ab71461053c578063128916dc1461054f5780631306952c1461056257600080fd5b806301ffc9a71461046f5780630435dcaf1461049757806306fdde03146104b957806307b2e246146104ce575b600080fd5b61048261047d366004614a27565b610aff565b60405190151581526020015b60405180910390f35b6104aa6104a5366004614a59565b610b10565b60405161048e93929190614ab4565b6104c1610ec0565b60405161048e9190614b6f565b6104ee6104dc366004614a59565b601b6020526000908152604090205481565b60405190815260200161048e565b61050f61050a366004614b82565b610f52565b6040516001600160a01b03909116815260200161048e565b61053a610535366004614b9b565b610f79565b005b61053a61054a366004614a59565b611093565b61053a61055d366004614a59565b611139565b61050f610570366004614cb8565b6111dc565b60185461048290610100900460ff1681565b600a5461050f906001600160a01b031681565b61053a6105a8366004614d52565b61126a565b6105c06105bb366004614d52565b6112e7565b60405160ff909116815260200161048e565b61053a6105e0366004614a59565b611341565b61053a6105f3366004614e51565b6113b8565b61053a610606366004614f47565b611477565b6104ee60135481565b61053a610622366004614f88565b611a93565b61053a610635366004614fc9565b611ac5565b61053a610648366004614cb8565b611b0b565b61053a61065b366004614d52565b611b1e565b61048261066e366004614a59565b6001600160a01b03166000908152600b602052604090205460ff1690565b60085461050f906001600160a01b031681565b61053a6106ad366004614fe4565b611d71565b6104c1611ff9565b61053a6106c8366004614f88565b612087565b61053a6106db366004614b82565b6120a2565b6107226106ee366004614b82565b60196020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a00161048e565b61053a610760366004614b82565b6120d3565b61053a610773366004614b82565b6121ee565b61050f610786366004614b82565b612233565b6104ee60115481565b61053a6107a236600461504a565b612293565b600f546105c090610100900460ff1681565b61053a6107c7366004614a59565b6122df565b6104ee6107da366004614a59565b612356565b61053a6123dc565b61053a6107f5366004614d52565b6123f0565b61053a610808366004614b82565b612450565b6104c16124a6565b61053a610823366004614fc9565b6124b3565b6104ee610836366004614a59565b612524565b61053a6108493660046150e7565b612570565b61048261085c366004614a59565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104ee60105481565b610482610891366004614d52565b61274b565b6104ee6108a4366004614b82565b601a6020526000908152604090205481565b6104826108c4366004614d52565b6127a7565b6007546001600160a01b031661050f565b610482612806565b6104c1612ba6565b6018546104829062010000900460ff1681565b61053a61090b366004615181565b612bb5565b6105c061091e366004614d52565b601c60209081526000928352604080842090915290825290205460ff1681565b61053a61094c3660046151e4565b612c57565b61053a61095f366004615238565b612fd1565b61053a610972366004614a59565b612fe0565b600f546105c09060ff1681565b61053a610992366004615271565b61307f565b6104ee60145481565b61053a6109ae3660046152c9565b613312565b61053a6109c1366004614b82565b613344565b61053a6109d4366004614fc9565b61339a565b6104c16109e7366004614b82565b6135e6565b61053a6109fa366004614a59565b6135f1565b60095461050f906001600160a01b031681565b6104ee60125481565b6104ee613694565b61053a610a3136600461504a565b6136c1565b61053a610a44366004614a59565b613704565b61053a610a57366004614b82565b6137a7565b6018546104829060ff1681565b600f5461050f906201000090046001600160a01b031681565b6104c16137d7565b610482610a98366004615348565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61053a610ad4366004614a59565b6137e4565b61053a610ae7366004614a59565b61385b565b61053a610afa36600461504a565b6138d1565b6000610b0a8261391b565b92915050565b60408051607a808252610f608201909252606091829182916000919060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f40803683370190505090506000805b60798160ff1611610cf6576001600160a01b0389166000908152601c6020908152604080832060ff80861685529252909120541615610ce45780858360ff1681518110610bdc57610bdc615376565b60ff9283166020918202929092018101919091526001600160a01b038b166000908152601c82526040808220858516835290925220548551908216918691908516908110610c2c57610c2c615376565b60ff9283166020918202929092010152600954604051632edb5fcf60e01b81526001600160a01b038c811660048301529284166024820152911690632edb5fcf90604401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061538c565b838360ff1681518110610cc657610cc6615376565b9115156020928302919091019091015281610ce0816153bf565b9250505b80610cee816153bf565b915050610b8d565b5060008160ff166001600160401b03811115610d1457610d14614bc7565b604051908082528060200260200182016040528015610d3d578160200160208202803683370190505b50905060008260ff166001600160401b03811115610d5d57610d5d614bc7565b604051908082528060200260200182016040528015610d86578160200160208202803683370190505b50905060008360ff166001600160401b03811115610da657610da6614bc7565b604051908082528060200260200182016040528015610dcf578160200160208202803683370190505b50905060005b8460ff16811015610eae57878181518110610df257610df2615376565b6020026020010151848281518110610e0c57610e0c615376565b602002602001019060ff16908160ff1681525050868181518110610e3257610e32615376565b6020026020010151838281518110610e4c57610e4c615376565b602002602001019060ff16908160ff1681525050858181518110610e7257610e72615376565b6020026020010151828281518110610e8c57610e8c615376565b9115156020928302919091019091015280610ea6816153de565b915050610dd5565b50919a90995090975095505050505050565b606060008054610ecf906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610efb906153f7565b8015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050505050905090565b6000610f5d82613940565b506000908152600460205260409020546001600160a01b031690565b6000610f8482612233565b9050806001600160a01b0316836001600160a01b031603610ff65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101257506110128133610a98565b6110845760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fed565b61108e838361399f565b505050565b336000908152600b602052604090205460ff166110c357604051634289c49360e01b815260040160405180910390fd5b604051630982088f60e41b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063982088f0906044015b60006040518083038186803b15801561111e57600080fd5b505af4158015611132573d6000803e3d6000fd5b5050505050565b336000908152600b602052604090205460ff1661116957604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166111915760405163e6c4247b60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0384169081179091556040517f538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead090600090a25050565b6040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b9061121e903390899089908990899060040161542b565b602060405180830381865af415801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906154b2565b90505b949350505050565b6009546001600160a01b0316331461129557604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca836153bf565b91906101000a81548160ff021916908360ff160217905550505050565b6000826001600160a01b0381166113115760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff94851684529091529020541690565b336000908152600b602052604090205460ff1661137157604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a490604401611106565b60ff851615806113d05750600f5460ff908116908616115b156113ee57604051630b154b3b60e41b815260040160405180910390fd5b60005b8560ff1681101561146f5761145d3386838151811061141257611412615376565b602002602001015186848151811061142c5761142c615376565b602002602001015186868681811061144657611446615376565b905060200281019061145891906154cf565b613a0d565b80611467816153de565b9150506113f1565b505050505050565b336000908152601c602090815260408083206079845290915281205460ff1690036114b55760405163210f01d160e21b815260040160405180910390fd5b336000908152601b60205260408120546114d0908390615515565b90506000603c821061158857600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f9190615528565b90506014548110806115645750601454601254105b156115825760405163356680b760e01b815260040160405180910390fd5b60019150505b600954604051630cdb311760e01b815233600482015260009182916001600160a01b0390911690630cdb311790602401602060405180830381865afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190615528565b1190508360005b8181101561182057336000908152601c602052604081209088888481811061162a5761162a615376565b905060200201602081019061163f9190614fc9565b60ff9081168252602082019290925260400160009081205490911690036116795760405163210f01d160e21b815260040160405180910390fd5b821561179c576009546001600160a01b0316632edb5fcf338989858181106116a3576116a3615376565b90506020020160208101906116b89190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611728919061538c565b1561179c57336000908152601c6020526040812060029189898581811061175157611751615376565b90506020020160208101906117669190614fc9565b60ff908116825260208201929092526040016000205416101561179c5760405163483e9b8d60e11b815260040160405180910390fd5b336000908152601c60205260408120908888848181106117be576117be615376565b90506020020160208101906117d39190614fc9565b60ff908116825260208201929092526040016000908120805490921691906117fa83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050611600565b50336000908152601b602052604081208054839290611840908490615515565b9091555050604051611855908790879061555e565b6040519081900381209033907fdbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b190600090a3821561146f57336000908152601c60209081526040808320607984529091528120805460ff16916118b783615541565b91906101000a81548160ff021916908360ff1602179055505061196833601680546118e1906153f7565b80601f016020809104026020016040519081016040528092919081815260200182805461190d906153f7565b801561195a5780601f1061192f5761010080835404028352916020019161195a565b820191906000526020600020905b81548152906001019060200180831161193d57829003601f168201915b505050505060796002613e24565b6014546012600082825461197c9190615598565b9091555050600f5460145460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff919061538c565b50600a5460405163fa8213d360e01b81523360048201526001600160a01b039091169063fa8213d390602401600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b5050604051600292503391507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a3505050505050565b611a9e335b82613e87565b611aba5760405162461bcd60e51b8152600401610fed906155ab565b61108e838383613f05565b336000908152600b602052604090205460ff16611af557604051634289c49360e01b815260040160405180910390fd5b600f805460ff191660ff92909216919091179055565b611b183385858585613a0d565b50505050565b816001600160a01b038116611b465760405163e6c4247b60e01b815260040160405180910390fd5b336000908152601c6020908152604080832060ff80871685529252822054169003611b845760405163210f01d160e21b815260040160405180910390fd5b336001600160a01b03841603611bad57604051632f35253160e01b815260040160405180910390fd5b60185462010000900460ff1615611c8457600954604051632edb5fcf60e01b815233600482015260ff841660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa158015611c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c34919061538c565b336000908152601c6020908152604080832060ff80891685529252909120549192506001911611811580611c655750805b611c815760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff808716855292528220805490911691611cb083615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0385166000908152601c602090815260408083208785168452909152812080549092169250611cff836153bf565b91906101000a81548160ff021916908360ff16021790555050826001600160a01b0316336001600160a01b03167f1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da84604051611d64919060ff91909116815260200190565b60405180910390a3505050565b336000908152600b602052604090205460ff16611da157604051634289c49360e01b815260040160405180910390fd5b6008546040516380f2540b60e01b8152600481018490526001600160a01b038581166024830152909116906380f2540b90604401600060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506006601154611e16919061562f565b601154611e239190615598565b60126000828254611e349190615515565b90915550600090505b8151811015611b1857818181518110611e5857611e58615376565b602002602001015160ff16607814611ea357611389601a6000848481518110611e8357611e83615376565b602002602001015160ff1681526020019081526020016000205410611ed4565b6078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb9115b611f205760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610fed565b601a6000838381518110611f3657611f36615376565b602002602001015160ff1681526020019081526020016000206000815480929190611f60906153de565b90915550506001600160a01b0384166000908152601c602052604081208351909190849084908110611f9457611f94615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611fcd906153bf565b91906101000a81548160ff021916908360ff160217905550508080611ff1906153de565b915050611e3d565b60168054612006906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054612032906153f7565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b505050505081565b61108e83838360405180602001604052806000815250613312565b6120ab33611a98565b6120c75760405162461bcd60e51b8152600401610fed906155ab565b6120d081614069565b50565b336000908152600b602052604090205460ff1661210357604051634289c49360e01b815260040160405180910390fd5b8061210d30612356565b101561212c5760405163356680b760e01b815260040160405180910390fd5b806012600082825461213e9190615598565b9091555050600f5460405163a9059cbb60e01b815233600482015260248101839052620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061538c565b50604051819033907f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2090600090a350565b6008546001600160a01b03163314612219576040516307473cc760e41b815260040160405180910390fd5b806012600082825461222b9190615515565b909155505050565b6000818152600260205260408120546001600160a01b031680610b0a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b336000908152600b602052604090205460ff166122c357604051634289c49360e01b815260040160405180910390fd5b60188054911515620100000262ff000019909216919091179055565b336000908152600b602052604090205460ff1661230f57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae490604401611106565b60006001600160a01b0382166123c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fed565b506001600160a01b031660009081526003602052604090205490565b6123e4614072565b6123ee60006140cc565b565b6009546001600160a01b0316331461241b57604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca83615541565b336000908152600b602052604090205460ff1661248057604051634289c49360e01b815260040160405180910390fd5b806000036124a157604051634b1c6ca160e01b815260040160405180910390fd5b601355565b60158054612006906153f7565b336000908152600b602052604090205460ff166124e357604051634289c49360e01b815260040160405180910390fd5b60648160ff16111561250857604051634b1c6ca160e01b815260040160405180910390fd5b600f805460ff9092166101000261ff0019909216919091179055565b6000816001600160a01b03811661254e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152601b602052604090205491505b50919050565b612578614072565b336000908152600b60205260409020805460ff19166001179055600f80546001600160a01b03888116620100000262010000600160b01b031990921691909117909155600880548783166001600160a01b031991821617909155600a8054868416908316179055600980549287169290911691909117905560176125fc8382615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516126599460179493909101615756565b604051602081830303815290604052601590816126769190615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b8184015293516126d39460179493909101615756565b604051602081830303815290604052601690816126f09190615697565b506001600160a01b0381166000908152600e60205260408120805460ff191660011790555b607a811015612742576000818152601a60205260409020600190558061273a816153de565b915050612715565b50505050505050565b6000826001600160a01b0381166127755760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b6009546000906001600160a01b031633146127d557604051638eea824160e01b815260040160405180910390fd5b506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b336000908152601c602090815260408083206078845290915281205460ff1681036128445760405163210f01d160e21b815260040160405180910390fd5b601354601254101561286957604051634b1c6ca160e01b815260040160405180910390fd5b600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156128b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128dc9190615528565b90506013548110156129015760405163356680b760e01b815260040160405180910390fd5b6000805b60788160ff161161299057336000908152601c6020908152604080832060ff8086168552925282205416900361293e5760019150612990565b336000908152601c6020908152604080832060ff80861685529252822080549091169161296a83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050612905565b5080156129af57604051623de82960e51b815260040160405180910390fd5b612a4733601580546129c0906153f7565b80601f01602080910402602001604051908101604052809291908181526020018280546129ec906153f7565b8015612a395780601f10612a0e57610100808354040283529160200191612a39565b820191906000526020600020905b815481529060010190602001808311612a1c57829003601f168201915b505050505060786002613e24565b60135460126000828254612a5b9190615598565b9091555050600f5460135460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612aba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ade919061538c565b50600954604051633f27a03f60e21b81523360048201526000916001600160a01b03169063fc9e80fc906024016020604051808303816000875af1158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e919061538c565b905080612b6e5760405163e07c7c8d60e01b815260040160405180910390fd5b60405160019033907f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a36001935050505090565b606060018054610ecf906153f7565b336000908152600b602052604090205460ff16612be557604051634289c49360e01b815260040160405180910390fd5b6015612bf18382615697565b506016612bfe8282615697565b5080604051612c0d9190615805565b604051809103902082604051612c239190615805565b604051908190038120907fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec690600090a35050565b826001600160a01b038116612c7f5760405163e6c4247b60e01b815260040160405180910390fd5b336001600160a01b03851603612ca857604051632f35253160e01b815260040160405180910390fd5b60005b82811015612f7d57336000908152601c6020526040812090858584818110612cd557612cd5615376565b9050602002016020810190612cea9190614fc9565b60ff908116825260208201929092526040016000908120549091169003612d245760405163210f01d160e21b815260040160405180910390fd5b336000908152601c6020526040812090858584818110612d4657612d46615376565b9050602002016020810190612d5b9190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612d8283615541565b91906101000a81548160ff021916908360ff16021790555050601c6000866001600160a01b03166001600160a01b031681526020019081526020016000206000858584818110612dd457612dd4615376565b9050602002016020810190612de99190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612e10836153bf565b91906101000a81548160ff021916908360ff16021790555050601860029054906101000a900460ff1615612f6b576009546000906001600160a01b0316632edb5fcf33878786818110612e6557612e65615376565b9050602002016020810190612e7a9190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eea919061538c565b336000908152601c602052604081209192509060019082888887818110612f1357612f13615376565b9050602002016020810190612f289190614fc9565b60ff908116825260208201929092526040016000205416119050811580612f4c5750805b612f685760405162461bcd60e51b8152600401610fed906155f8565b50505b80612f75816153de565b915050612cab565b508282604051612f8e92919061555e565b604051908190038120906001600160a01b0386169033907f368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b90600090a450505050565b612fdc33838361411e565b5050565b336000908152600b602052604090205460ff1661301057604051634289c49360e01b815260040160405180910390fd5b60005b60798160ff1611612fdc576001600160a01b0382166000908152601c6020908152604080832060ff808616855292528220805490911691613053836153bf565b91906101000a81548160ff021916908360ff160217905550508080613077906153bf565b915050613013565b6009546001600160a01b031633146130aa57604051638eea824160e01b815260040160405180910390fd5b836001600160a01b0381166130d25760405163e6c4247b60e01b815260040160405180910390fd5b826001600160a01b0381166130fa5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a16855292529091205416158061315557506001600160a01b0384166000908152601c6020908152604080832060ff808816855292529091205416155b156131735760405163210f01d160e21b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a168552925282208054909116916131a883615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c602090815260408083208a851684529091528120805490921692506131f7836153bf565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c60209081526040808320888516845290915281208054909216925061324683615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0388166000908152601c602090815260408083208885168452909152812080549092169250613295836153bf565b91906101000a81548160ff021916908360ff16021790555050836001600160a01b0316866001600160a01b03167f52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524878660405161330292919060ff92831681529116602082015260400190565b60405180910390a3505050505050565b61331c3383613e87565b6133385760405162461bcd60e51b8152600401610fed906155ab565b611b18848484846141e4565b336000908152600b602052604090205460ff1661337457604051634289c49360e01b815260040160405180910390fd5b8060000361339557604051634b1c6ca160e01b815260040160405180910390fd5b601455565b336000908152601c6020908152604080832060ff808616855292528220541690036133d85760405163210f01d160e21b815260040160405180910390fd5b601854610100900460ff16156134ae57600954604051632edb5fcf60e01b815233600482015260ff831660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa15801561343a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345e919061538c565b336000908152601c6020908152604080832060ff8088168552925290912054919250600191161181158061348f5750805b6134ab5760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff8086168552925282208054909116916134da83615541565b91906101000a81548160ff021916908360ff1602179055505060006017604051806040016040528060018152602001602f60f81b8152508360ff1673__$7e24fea74dbc7efffb723a34f6ecd87681$__636900a3ae90916040518263ffffffff1660e01b815260040161354f91815260200190565b600060405180830381865af415801561356c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135949190810190615821565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016135c59493929190615756565b6040516020818303038152906040529050612fdc33828460ff166001613e24565b6060610b0a82614217565b336000908152600b602052604090205460ff1661362157604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166136495760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f90600090a25050565b601254600f546000916064916136b29190610100900460ff16615897565b6136bc919061562f565b905090565b336000908152600b602052604090205460ff166136f157604051634289c49360e01b815260040160405180910390fd5b6018805460ff1916911515919091179055565b336000908152600b602052604090205460ff1661373457604051634289c49360e01b815260040160405180910390fd5b806001600160a01b03811661375c5760405163e6c4247b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0384169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a25050565b6008546001600160a01b031633146137d2576040516307473cc760e41b815260040160405180910390fd5b601155565b60178054612006906153f7565b336000908152600b602052604090205460ff1661381457604051634289c49360e01b815260040160405180910390fd5b604051633b9db68960e11b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063773b6d1290604401611106565b613863614072565b6001600160a01b0381166138c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fed565b6120d0816140cc565b336000908152600b602052604090205460ff1661390157604051634289c49360e01b815260040160405180910390fd5b601880549115156101000261ff0019909216919091179055565b60006001600160e01b03198216632483248360e11b1480610b0a5750610b0a8261431f565b6000818152600260205260409020546001600160a01b03166120d05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139d482612233565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60085460405163d3e6a7ad60e01b8152600481018690526001600160a01b0387811692169063d3e6a7ad90602401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906154b2565b6001600160a01b031614613aa357604051637f6ecdf560e01b815260040160405180910390fd5b600f835110613ac557604051639dcca73360e01b815260040160405180910390fd5b60185460ff1615613b91576040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b90613b12903390899089908990899060040161542b565b602060405180830381865af4158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5391906154b2565b6001600160a01b0381166000908152600e602052604090205490915060ff16613b8f57604051638baa579f60e01b815260040160405180910390fd5b505b6008546040516380f2540b60e01b8152600481018690526001600160a01b038781166024830152909116906380f2540b90604401600060405180830381600087803b158015613bdf57600080fd5b505af1158015613bf3573d6000803e3d6000fd5b505050506006601154613c06919061562f565b601154613c139190615598565b60126000828254613c249190615515565b90915550600090505b8351811015613dd257838181518110613c4857613c48615376565b602002602001015160ff16607803613cad576078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb81015613ca857604051630d1ecf1760e11b815260040160405180910390fd5b613cff565b611388601a6000868481518110613cc657613cc6615376565b602002602001015160ff168152602001908152602001600020541115613cff57604051630d1ecf1760e11b815260040160405180910390fd5b601a6000858381518110613d1557613d15615376565b602002602001015160ff1681526020019081526020016000206000815480929190613d3f906153de565b90915550506001600160a01b0386166000908152601c602052604081208551909190869084908110613d7357613d73615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190613dac906153bf565b91906101000a81548160ff021916908360ff160217905550508080600101915050613c2d565b508383604051613de291906158ae565b604051908190038120906001600160a01b038816907fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e390600090a45050505050565b601054600081815260196020526040902081815560018101849055600201805461ff00191661010060ff851602179055613e5e858261436f565b613e688185614389565b600160106000828254613e7b9190615515565b90915550505050505050565b600080613e9383612233565b9050806001600160a01b0316846001600160a01b03161480613eda57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806112625750836001600160a01b0316613ef384610f52565b6001600160a01b031614949350505050565b826001600160a01b0316613f1882612233565b6001600160a01b031614613f3e5760405162461bcd60e51b8152600401610fed906158e7565b6001600160a01b038216613fa05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fed565b826001600160a01b0316613fb382612233565b6001600160a01b031614613fd95760405162461bcd60e51b8152600401610fed906158e7565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6120d081614454565b6007546001600160a01b031633146123ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fed565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361417f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fed565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d64565b6141ef848484613f05565b6141fb84848484614494565b611b185760405162461bcd60e51b8152600401610fed9061592c565b606061422282613940565b6000828152600660205260408120805461423b906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054614267906153f7565b80156142b45780601f10614289576101008083540402835291602001916142b4565b820191906000526020600020905b81548152906001019060200180831161429757829003601f168201915b5050505050905060006142d260408051602081019091526000815290565b905080516000036142e4575092915050565b8151156143165780826040516020016142fe92919061597e565b60405160208183030381529060405292505050919050565b61126284614592565b60006001600160e01b031982166380ac58cd60e01b148061435057506001600160e01b03198216635b5e139f60e01b145b80610b0a57506301ffc9a760e01b6001600160e01b0319831614610b0a565b612fdc828260405180602001604052806000815250614606565b6000828152600260205260409020546001600160a01b03166144045760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610fed565b600082815260066020526040902061441c8282615697565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b61445d81614639565b60008181526006602052604090208054614476906153f7565b1590506120d05760008181526006602052604081206120d0916149c3565b60006001600160a01b0384163b1561458a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144d89033908990889088906004016159ad565b6020604051808303816000875af1925050508015614513575060408051601f3d908101601f19168201909252614510918101906159ea565b60015b614570573d808015614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b5080516000036145685760405162461bcd60e51b8152600401610fed9061592c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001611262565b606061459d82613940565b60006145b460408051602081019091526000815290565b905060008151116145d457604051806020016040528060008152506145ff565b806145de846146ce565b6040516020016145ef92919061597e565b6040516020818303038152906040525b9392505050565b6146108383614760565b61461d6000848484614494565b61108e5760405162461bcd60e51b8152600401610fed9061592c565b600061464482612233565b905061464f82612233565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006146db836148eb565b60010190506000816001600160401b038111156146fa576146fa614bc7565b6040519080825280601f01601f191660200182016040528015614724576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461472e57509392505050565b6001600160a01b0382166147b65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fed565b6000818152600260205260409020546001600160a01b03161561481b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6000818152600260205260409020546001600160a01b0316156148805760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061492a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614956576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061497457662386f26fc10000830492506010015b6305f5e100831061498c576305f5e100830492506008015b61271083106149a057612710830492506004015b606483106149b2576064830492506002015b600a8310610b0a5760010192915050565b5080546149cf906153f7565b6000825580601f106149df575050565b601f0160209004906000526020600020908101906120d091905b80821115614a0d57600081556001016149f9565b5090565b6001600160e01b0319811681146120d057600080fd5b600060208284031215614a3957600080fd5b81356145ff81614a11565b6001600160a01b03811681146120d057600080fd5b600060208284031215614a6b57600080fd5b81356145ff81614a44565b600081518084526020808501945080840160005b83811015614aa957815160ff1687529582019590820190600101614a8a565b509495945050505050565b606081526000614ac76060830186614a76565b602083820381850152614ada8287614a76565b8481036040860152855180825282870193509082019060005b81811015614b11578451151583529383019391830191600101614af3565b509098975050505050505050565b60005b83811015614b3a578181015183820152602001614b22565b50506000910152565b60008151808452614b5b816020860160208601614b1f565b601f01601f19169290920160200192915050565b6020815260006145ff6020830184614b43565b600060208284031215614b9457600080fd5b5035919050565b60008060408385031215614bae57600080fd5b8235614bb981614a44565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614c0557614c05614bc7565b604052919050565b60006001600160401b03821115614c2657614c26614bc7565b5060051b60200190565b803560ff81168114614c4157600080fd5b919050565b600082601f830112614c5757600080fd5b81356020614c6c614c6783614c0d565b614bdd565b82815260059290921b84018101918181019086841115614c8b57600080fd5b8286015b84811015614cad57614ca081614c30565b8352918301918301614c8f565b509695505050505050565b60008060008060608587031215614cce57600080fd5b8435935060208501356001600160401b0380821115614cec57600080fd5b614cf888838901614c46565b94506040870135915080821115614d0e57600080fd5b818701915087601f830112614d2257600080fd5b813581811115614d3157600080fd5b886020828501011115614d4357600080fd5b95989497505060200194505050565b60008060408385031215614d6557600080fd5b8235614d7081614a44565b9150614d7e60208401614c30565b90509250929050565b600082601f830112614d9857600080fd5b81356020614da8614c6783614c0d565b82815260059290921b84018101918181019086841115614dc757600080fd5b8286015b84811015614cad5780356001600160401b03811115614dea5760008081fd5b614df88986838b0101614c46565b845250918301918301614dcb565b60008083601f840112614e1857600080fd5b5081356001600160401b03811115614e2f57600080fd5b6020830191508360208260051b8501011115614e4a57600080fd5b9250929050565b600080600080600060808688031215614e6957600080fd5b614e7286614c30565b94506020808701356001600160401b0380821115614e8f57600080fd5b818901915089601f830112614ea357600080fd5b8135614eb1614c6782614c0d565b81815260059190911b8301840190848101908c831115614ed057600080fd5b938501935b82851015614eee57843582529385019390850190614ed5565b985050506040890135925080831115614f0657600080fd5b614f128a848b01614d87565b95506060890135925080831115614f2857600080fd5b5050614f3688828901614e06565b969995985093965092949392505050565b60008060208385031215614f5a57600080fd5b82356001600160401b03811115614f7057600080fd5b614f7c85828601614e06565b90969095509350505050565b600080600060608486031215614f9d57600080fd5b8335614fa881614a44565b92506020840135614fb881614a44565b929592945050506040919091013590565b600060208284031215614fdb57600080fd5b6145ff82614c30565b600080600060608486031215614ff957600080fd5b833561500481614a44565b92506020840135915060408401356001600160401b0381111561502657600080fd5b61503286828701614c46565b9150509250925092565b80151581146120d057600080fd5b60006020828403121561505c57600080fd5b81356145ff8161503c565b60006001600160401b0382111561508057615080614bc7565b50601f01601f191660200190565b600061509c614c6784615067565b90508281528383830111156150b057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150d857600080fd5b6145ff8383356020850161508e565b60008060008060008060c0878903121561510057600080fd5b863561510b81614a44565b9550602087013561511b81614a44565b9450604087013561512b81614a44565b9350606087013561513b81614a44565b925060808701356001600160401b0381111561515657600080fd5b61516289828a016150c7565b92505060a087013561517381614a44565b809150509295509295509295565b6000806040838503121561519457600080fd5b82356001600160401b03808211156151ab57600080fd5b6151b7868387016150c7565b935060208501359150808211156151cd57600080fd5b506151da858286016150c7565b9150509250929050565b6000806000604084860312156151f957600080fd5b833561520481614a44565b925060208401356001600160401b0381111561521f57600080fd5b61522b86828701614e06565b9497909650939450505050565b6000806040838503121561524b57600080fd5b823561525681614a44565b915060208301356152668161503c565b809150509250929050565b6000806000806080858703121561528757600080fd5b843561529281614a44565b93506152a060208601614c30565b925060408501356152b081614a44565b91506152be60608601614c30565b905092959194509250565b600080600080608085870312156152df57600080fd5b84356152ea81614a44565b935060208501356152fa81614a44565b92506040850135915060608501356001600160401b0381111561531c57600080fd5b8501601f8101871361532d57600080fd5b61533c8782356020840161508e565b91505092959194509250565b6000806040838503121561535b57600080fd5b823561536681614a44565b9150602083013561526681614a44565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561539e57600080fd5b81516145ff8161503c565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036153d5576153d56153a9565b60010192915050565b6000600182016153f0576153f06153a9565b5060010190565b600181811c9082168061540b57607f821691505b60208210810361256a57634e487b7160e01b600052602260045260246000fd5b6001600160a01b0386168152602080820186905260806040830181905285519083018190526000918681019160a0850190845b8181101561547d57845160ff168352938301939183019160010161545e565b505084810360608601528581528587838301376000818701830152601f909501601f1916909401909301979650505050505050565b6000602082840312156154c457600080fd5b81516145ff81614a44565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b602001915036819003821315614e4a57600080fd5b80820180821115610b0a57610b0a6153a9565b60006020828403121561553a57600080fd5b5051919050565b600060ff821680615554576155546153a9565b6000190192915050565b60008184825b8581101561558d5760ff61557783614c30565b1683526020928301929190910190600101615564565b509095945050505050565b81810381811115610b0a57610b0a6153a9565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526017908201527f5468697320636172642068617320616e206f666665722e000000000000000000604082015260600190565b60008261564c57634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561108e57600081815260208120601f850160051c810160208610156156785750805b601f850160051c820191505b8181101561146f57828155600101615684565b81516001600160401b038111156156b0576156b0614bc7565b6156c4816156be84546153f7565b84615651565b602080601f8311600181146156f957600084156156e15750858301515b600019600386901b1c1916600185901b17855561146f565b600085815260208120601f198616915b8281101561572857888601518255948401946001909101908401615709565b50858210156157465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654615764816153f7565b6001828116801561577c5760018114615791576157c0565b60ff19841687528215158302870194506157c0565b8a60005260208060002060005b858110156157b75781548a82015290840190820161579e565b50505082870194505b5050505085516157d4818360208a01614b1f565b85519101906157e7818360208901614b1f565b84519101906157fa818360208801614b1f565b019695505050505050565b60008251615817818460208701614b1f565b9190910192915050565b60006020828403121561583357600080fd5b81516001600160401b0381111561584957600080fd5b8201601f8101841361585a57600080fd5b8051615868614c6782615067565b81815285602083850101111561587d57600080fd5b61588e826020830160208601614b1f565b95945050505050565b8082028115828204841417610b0a57610b0a6153a9565b815160009082906020808601845b838110156158db57815160ff16855293820193908201906001016158bc565b50929695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351615990818460208801614b1f565b8351908301906159a4818360208801614b1f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159e090830184614b43565b9695505050505050565b6000602082840312156159fc57600080fd5b81516145ff81614a1156fea26469706673582212200ffaf3d324c37446eb406b5236a0190fe68d2f2a5fd1a9f7402876c3b73a475464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xF DUP1 SLOAD PUSH2 0xFFFF NOT AND PUSH2 0x320A OR SWAP1 SSTORE PUSH8 0x10A741A462780000 PUSH1 0x11 SSTORE PUSH1 0x0 PUSH1 0x12 SSTORE PUSH8 0xD02AB486CEDC0000 PUSH1 0x13 SSTORE PUSH8 0xDE0B6B3A7640000 PUSH1 0x14 SSTORE PUSH1 0x18 DUP1 SLOAD PUSH3 0xFFFF00 NOT AND PUSH3 0x10100 OR SWAP1 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH10 0x47616D6D614361726473 PUSH1 0xB0 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x4E4F465F4743 PUSH1 0xD0 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0xAE SWAP2 SWAP1 PUSH3 0x1DB JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0xBD DUP3 DUP3 PUSH3 0x1DB JUMP JUMPDEST POP POP POP PUSH3 0xDA PUSH3 0xD4 PUSH3 0xE0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xE4 JUMP JUMPDEST PUSH3 0x2A7 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x161 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x182 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x1D6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1B1 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x1D2 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1BD JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x1F7 JUMPI PUSH3 0x1F7 PUSH3 0x136 JUMP JUMPDEST PUSH3 0x20F DUP2 PUSH3 0x208 DUP5 SLOAD PUSH3 0x14C JUMP JUMPDEST DUP5 PUSH3 0x188 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x247 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x22E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x1D2 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x278 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x257 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x297 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x5A3D DUP1 PUSH3 0x2B7 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x46A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x79E8DADC GT PUSH2 0x24C JUMPI DUP1 PUSH4 0xAD1684FA GT PUSH2 0x146 JUMPI DUP1 PUSH4 0xDBFC05CF GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xE8A7E31D GT PUSH2 0x87 JUMPI DUP1 PUSH4 0xE8A7E31D EQ PUSH2 0xA82 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xA8A JUMPI DUP1 PUSH4 0xEB12D61E EQ PUSH2 0xAC6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xAD9 JUMPI DUP1 PUSH4 0xF98FD283 EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDBFC05CF EQ PUSH2 0xA23 JUMPI DUP1 PUSH4 0xDDB975E8 EQ PUSH2 0xA36 JUMPI DUP1 PUSH4 0xE1883C6E EQ PUSH2 0xA49 JUMPI DUP1 PUSH4 0xE4AE0B9B EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC87B56DD GT PUSH2 0x10A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x9D9 JUMPI DUP1 PUSH4 0xCAFAA473 EQ PUSH2 0x9EC JUMPI DUP1 PUSH4 0xD322B563 EQ PUSH2 0x9FF JUMPI DUP1 PUSH4 0xD7093F40 EQ PUSH2 0xA12 JUMPI DUP1 PUSH4 0xD780C477 EQ PUSH2 0xA1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAD1684FA EQ PUSH2 0x984 JUMPI DUP1 PUSH4 0xB3526185 EQ PUSH2 0x997 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x9A0 JUMPI DUP1 PUSH4 0xBA6C0FBC EQ PUSH2 0x9B3 JUMPI DUP1 PUSH4 0xBF400A6A EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x9FF26EFD GT PUSH2 0x198 JUMPI DUP1 PUSH4 0x9FF26EFD EQ PUSH2 0x910 JUMPI DUP1 PUSH4 0xA1AF8AD4 EQ PUSH2 0x93E JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0xA419811D EQ PUSH2 0x964 JUMPI DUP1 PUSH4 0xAB535160 EQ PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8C9 JUMPI DUP1 PUSH4 0x9038F414 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x8E2 JUMPI DUP1 PUSH4 0x9A5613AD EQ PUSH2 0x8EA JUMPI DUP1 PUSH4 0x9C7F707F EQ PUSH2 0x8FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7DF73E27 GT PUSH2 0x21B JUMPI DUP1 PUSH4 0x7DF73E27 EQ PUSH2 0x84E JUMPI DUP1 PUSH4 0x82D8A118 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x886EB60F EQ PUSH2 0x883 JUMPI DUP1 PUSH4 0x88E0EF80 EQ PUSH2 0x896 JUMPI DUP1 PUSH4 0x8BF670C8 EQ PUSH2 0x8B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79E8DADC EQ PUSH2 0x80D JUMPI DUP1 PUSH4 0x7CE65F7B EQ PUSH2 0x815 JUMPI DUP1 PUSH4 0x7CF86B72 EQ PUSH2 0x828 JUMPI DUP1 PUSH4 0x7DE99BD9 EQ PUSH2 0x83B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D GT PUSH2 0x368 JUMPI DUP1 PUSH4 0x5E31CE48 GT PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7065CB48 GT PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x7B9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x7CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x7DF JUMPI DUP1 PUSH4 0x7155A3AC EQ PUSH2 0x7E7 JUMPI DUP1 PUSH4 0x7232D7D4 EQ PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5E31CE48 EQ PUSH2 0x765 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x778 JUMPI DUP1 PUSH4 0x656BD0AD EQ PUSH2 0x78B JUMPI DUP1 PUSH4 0x68CC5BC1 EQ PUSH2 0x794 JUMPI DUP1 PUSH4 0x6D0AF178 EQ PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4039327E GT PUSH2 0x32C JUMPI DUP1 PUSH4 0x4039327E EQ PUSH2 0x6B2 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x6BA JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x6CD JUMPI DUP1 PUSH4 0x4C03CD0B EQ PUSH2 0x6E0 JUMPI DUP1 PUSH4 0x5312EA8E EQ PUSH2 0x752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D EQ PUSH2 0x63A JUMPI DUP1 PUSH4 0x2CA699E7 EQ PUSH2 0x64D JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x660 JUMPI DUP1 PUSH4 0x2F9E026A EQ PUSH2 0x68C JUMPI DUP1 PUSH4 0x30F5CC58 EQ PUSH2 0x69F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 GT PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x203335F6 GT PUSH2 0x3BA JUMPI DUP1 PUSH4 0x203335F6 EQ PUSH2 0x5E5 JUMPI DUP1 PUSH4 0x20965A5F EQ PUSH2 0x5F8 JUMPI DUP1 PUSH4 0x21A7C6B0 EQ PUSH2 0x60B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x614 JUMPI DUP1 PUSH4 0x241A08FE EQ PUSH2 0x627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 EQ PUSH2 0x575 JUMPI DUP1 PUSH4 0x14CCA36A EQ PUSH2 0x587 JUMPI DUP1 PUSH4 0x155E2F92 EQ PUSH2 0x59A JUMPI DUP1 PUSH4 0x1585CC4E EQ PUSH2 0x5AD JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x81812FC GT PUSH2 0x43D JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x527 JUMPI DUP1 PUSH4 0xE316AB7 EQ PUSH2 0x53C JUMPI DUP1 PUSH4 0x128916DC EQ PUSH2 0x54F JUMPI DUP1 PUSH4 0x1306952C EQ PUSH2 0x562 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0x435DCAF EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x7B2E246 EQ PUSH2 0x4CE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x482 PUSH2 0x47D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A27 JUMP JUMPDEST PUSH2 0xAFF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4AA PUSH2 0x4A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4AB4 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP2 SWAP1 PUSH2 0x4B6F JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x4DC CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x50F PUSH2 0x50A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x535 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B9B JUMP JUMPDEST PUSH2 0xF79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x53A PUSH2 0x54A CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1093 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x55D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1139 JUMP JUMPDEST PUSH2 0x50F PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x11DC JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x126A JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x5BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x12E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1341 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E51 JUMP JUMPDEST PUSH2 0x13B8 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x606 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F47 JUMP JUMPDEST PUSH2 0x1477 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x13 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x622 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x1A93 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x635 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x1AC5 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x648 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x1B0B JUMP JUMPDEST PUSH2 0x53A PUSH2 0x65B CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x1B1E JUMP JUMPDEST PUSH2 0x482 PUSH2 0x66E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6AD CALLDATASIZE PUSH1 0x4 PUSH2 0x4FE4 JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x1FF9 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x2087 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6DB CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x722 PUSH2 0x6EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF DUP1 DUP4 AND SWAP3 PUSH2 0x100 SWAP1 DIV AND SWAP1 DUP6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE SWAP2 ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x760 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20D3 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x773 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x21EE JUMP JUMPDEST PUSH2 0x50F PUSH2 0x786 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2233 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x11 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x2293 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x22DF JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x7DA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2356 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x23DC JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x23F0 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x808 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2450 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x24A6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x823 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x24B3 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x836 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2524 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x849 CALLDATASIZE PUSH1 0x4 PUSH2 0x50E7 JUMP JUMPDEST PUSH2 0x2570 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x85C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x10 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x891 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x274B JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x8A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x8C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x27A7 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x50F JUMP JUMPDEST PUSH2 0x482 PUSH2 0x2806 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x2BA6 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x90B CALLDATASIZE PUSH1 0x4 PUSH2 0x5181 JUMP JUMPDEST PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x91E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x51E4 JUMP JUMPDEST PUSH2 0x2C57 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x95F CALLDATASIZE PUSH1 0x4 PUSH2 0x5238 JUMP JUMPDEST PUSH2 0x2FD1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x972 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2FE0 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x992 CALLDATASIZE PUSH1 0x4 PUSH2 0x5271 JUMP JUMPDEST PUSH2 0x307F JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x14 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9AE CALLDATASIZE PUSH1 0x4 PUSH2 0x52C9 JUMP JUMPDEST PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x3344 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x339A JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x9E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x35E6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9FA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x35F1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x12 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x3694 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA31 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x36C1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA44 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x3704 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x37A7 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x50F SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x37D7 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xA98 CALLDATASIZE PUSH1 0x4 PUSH2 0x5348 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAD4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x37E4 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAE7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x385B JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAFA CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x38D1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0A DUP3 PUSH2 0x391B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0xCF6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO PUSH2 0xCE4 JUMPI DUP1 DUP6 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP6 AND DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD DUP6 MLOAD SWAP1 DUP3 AND SWAP2 DUP7 SWAP2 SWAP1 DUP6 AND SWAP1 DUP2 LT PUSH2 0xC2C JUMPI PUSH2 0xC2C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP3 DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP2 AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB1 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST DUP4 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xCC6 JUMPI PUSH2 0xCC6 PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP2 PUSH2 0xCE0 DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP3 POP POP JUMPDEST DUP1 PUSH2 0xCEE DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0xB8D JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD14 JUMPI PUSH2 0xD14 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD3D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD5D JUMPI PUSH2 0xD5D PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD86 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xDA6 JUMPI PUSH2 0xDA6 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDCF JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0xEAE JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xDF2 JUMPI PUSH2 0xDF2 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE0C JUMPI PUSH2 0xE0C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE32 JUMPI PUSH2 0xE32 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE4C JUMPI PUSH2 0xE4C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP6 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE72 JUMPI PUSH2 0xE72 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE8C JUMPI PUSH2 0xE8C PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP1 PUSH2 0xEA6 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0xDD5 JUMP JUMPDEST POP SWAP2 SWAP11 SWAP1 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xEFB SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF48 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF1D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF48 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF2B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF5D DUP3 PUSH2 0x3940 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF84 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xFF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x1012 JUMPI POP PUSH2 0x1012 DUP2 CALLER PUSH2 0xA98 JUMP JUMPDEST PUSH2 0x1084 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 PUSH2 0x399F JUMP JUMPDEST POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x10C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x982088F PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x982088F0 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x111E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1132 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1169 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1191 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x538B3425A321783393AD250DB10356B8B3523EF29A40DE015C5218213DE0EAD0 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x121E SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x123B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x125F SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1311 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1371 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0xFF DUP6 AND ISZERO DUP1 PUSH2 0x13D0 JUMPI POP PUSH1 0xF SLOAD PUSH1 0xFF SWAP1 DUP2 AND SWAP1 DUP7 AND GT JUMPDEST ISZERO PUSH2 0x13EE JUMPI PUSH1 0x40 MLOAD PUSH4 0xB154B3B PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x146F JUMPI PUSH2 0x145D CALLER DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1412 JUMPI PUSH2 0x1412 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x142C JUMPI PUSH2 0x142C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP7 DUP7 DUP2 DUP2 LT PUSH2 0x1446 JUMPI PUSH2 0x1446 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x1458 SWAP2 SWAP1 PUSH2 0x54CF JUMP JUMPDEST PUSH2 0x3A0D JUMP JUMPDEST DUP1 PUSH2 0x1467 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x13F1 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 SUB PUSH2 0x14B5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x14D0 SWAP1 DUP4 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x3C DUP3 LT PUSH2 0x1588 JUMPI PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x152B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x154F SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x14 SLOAD DUP2 LT DUP1 PUSH2 0x1564 JUMPI POP PUSH1 0x14 SLOAD PUSH1 0x12 SLOAD LT JUMPDEST ISZERO PUSH2 0x1582 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0xCDB3117 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xCDB3117 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15F9 SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST GT SWAP1 POP DUP4 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1820 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x162A JUMPI PUSH2 0x162A PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x163F SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x1679 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 ISZERO PUSH2 0x179C JUMPI PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x16A3 JUMPI PUSH2 0x16A3 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x16B8 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1704 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1728 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST ISZERO PUSH2 0x179C JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP2 DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x1751 JUMPI PUSH2 0x1751 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x1766 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND LT ISZERO PUSH2 0x179C JUMPI PUSH1 0x40 MLOAD PUSH4 0x483E9B8D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x17BE JUMPI PUSH2 0x17BE PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x17D3 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x17FA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x1600 JUMP JUMPDEST POP CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1840 SWAP1 DUP5 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH2 0x1855 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 CALLER SWAP1 PUSH32 0xDBCDA3B6D52A6F69C85189CA3F35E5BE8A2E3D052FEA47F656FF00384B0C47B1 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP3 ISZERO PUSH2 0x146F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF AND SWAP2 PUSH2 0x18B7 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x1968 CALLER PUSH1 0x16 DUP1 SLOAD PUSH2 0x18E1 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x190D SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x195A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x192F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x195A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x193D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x79 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x14 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x197C SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x14 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19FF SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH4 0xFA8213D3 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFA8213D3 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1A59 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x2 SWAP3 POP CALLER SWAP2 POP PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1A9E CALLER JUMPDEST DUP3 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x1ABA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH2 0x3F05 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1AF5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1B18 CALLER DUP6 DUP6 DUP6 DUP6 PUSH2 0x3A0D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1B46 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x1B84 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SUB PUSH2 0x1BAD JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1C84 JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C10 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C34 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP10 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x1C65 JUMPI POP DUP1 JUMPDEST PUSH2 0x1C81 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x1CB0 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x1CFF DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x1B6E5F928A38F442936BBDF4696F128A543B8E43730594344A66C028D0B9C3DA DUP5 PUSH1 0x40 MLOAD PUSH2 0x1D64 SWAP2 SWAP1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DA1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E03 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x1E16 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x1E23 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1E34 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B18 JUMPI DUP2 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1E58 JUMPI PUSH2 0x1E58 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 EQ PUSH2 0x1EA3 JUMPI PUSH2 0x1389 PUSH1 0x1A PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x1E83 JUMPI PUSH2 0x1E83 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT PUSH2 0x1ED4 JUMP JUMPDEST PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB9 GT JUMPDEST PUSH2 0x1F20 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x696E76616C69642063617264496E76656E746F727920706F736974696F6E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1F36 JUMPI PUSH2 0x1F36 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1F60 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP4 MLOAD SWAP1 SWAP2 SWAP1 DUP5 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x1F94 JUMPI PUSH2 0x1F94 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1FCD SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x1FF1 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1E3D JUMP JUMPDEST PUSH1 0x16 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2032 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x207F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2054 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x207F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2062 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x20AB CALLER PUSH2 0x1A98 JUMP JUMPDEST PUSH2 0x20C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4069 JUMP JUMPDEST POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2103 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x210D ADDRESS PUSH2 0x2356 JUMP JUMPDEST LT ISZERO PUSH2 0x212C JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x213E SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2199 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21BD SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 CALLER SWAP1 PUSH32 0x23D6711A1D031134A36921253C75AA59E967D38E369AC625992824315E204F20 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2219 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x222B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x22C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x230F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x23C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x23E4 PUSH2 0x4072 JUMP JUMPDEST PUSH2 0x23EE PUSH1 0x0 PUSH2 0x40CC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x241B JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x5541 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2480 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x24A1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SSTORE JUMP JUMPDEST PUSH1 0x15 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x24E3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x64 DUP2 PUSH1 0xFF AND GT ISZERO PUSH2 0x2508 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x254E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 POP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2578 PUSH2 0x4072 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0xF DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH3 0x10000 MUL PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD DUP8 DUP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x9 DUP1 SLOAD SWAP3 DUP8 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x17 PUSH2 0x25FC DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x31323 PUSH1 0xEC SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x2659 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x15 SWAP1 DUP2 PUSH2 0x2676 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x313231 PUSH1 0xE8 SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x26D3 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x16 SWAP1 DUP2 PUSH2 0x26F0 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x7A DUP2 LT ISZERO PUSH2 0x2742 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 SSTORE DUP1 PUSH2 0x273A DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2715 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2775 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x27D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x78 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 SUB PUSH2 0x2844 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SLOAD PUSH1 0x12 SLOAD LT ISZERO PUSH2 0x2869 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28DC SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x13 SLOAD DUP2 LT ISZERO PUSH2 0x2901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x78 DUP2 PUSH1 0xFF AND GT PUSH2 0x2990 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x293E JUMPI PUSH1 0x1 SWAP2 POP PUSH2 0x2990 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x296A DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x2905 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x29AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x3DE829 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2A47 CALLER PUSH1 0x15 DUP1 SLOAD PUSH2 0x29C0 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x29EC SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2A39 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A0E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2A39 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2A1C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x78 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2A5B SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2ABA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2ADE SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x3F27A03F PUSH1 0xE2 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xFC9E80FC SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2B2A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B4E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2B6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE07C7C8D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 SWAP1 CALLER SWAP1 PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 SWAP4 POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2BE5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x15 PUSH2 0x2BF1 DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x16 PUSH2 0x2BFE DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP DUP1 PUSH1 0x40 MLOAD PUSH2 0x2C0D SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2C23 SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xABFD337AC5625B7DC2DDD3D3BD465FB1DEC15322EEEED81032268B337880BEC6 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2C7F JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SUB PUSH2 0x2CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F7D JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2CD5 JUMPI PUSH2 0x2CD5 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2CEA SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x2D24 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2D46 JUMPI PUSH2 0x2D46 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2D5B SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2D82 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x1C PUSH1 0x0 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2DD4 JUMPI PUSH2 0x2DD4 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2DE9 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2E10 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x18 PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x2F6B JUMPI PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP8 DUP8 DUP7 DUP2 DUP2 LT PUSH2 0x2E65 JUMPI PUSH2 0x2E65 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2E7A SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2EC6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EEA SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 DUP3 DUP9 DUP9 DUP8 DUP2 DUP2 LT PUSH2 0x2F13 JUMPI PUSH2 0x2F13 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2F28 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND GT SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x2F4C JUMPI POP DUP1 JUMPDEST PUSH2 0x2F68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST DUP1 PUSH2 0x2F75 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CAB JUMP JUMPDEST POP DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2F8E SWAP3 SWAP2 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 CALLER SWAP1 PUSH32 0x368EB521419FE880268B0D75C05EAA2DA7AE9CCF468BE86A848F7054366D2B9B SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP JUMP JUMPDEST PUSH2 0x2FDC CALLER DUP4 DUP4 PUSH2 0x411E JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3010 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0x2FDC JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x3053 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x3077 SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3013 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x30AA JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30FA JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO DUP1 PUSH2 0x3155 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO JUMPDEST ISZERO PUSH2 0x3173 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x31A8 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x31F7 DUP4 PUSH2 0x53BF JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3246 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3295 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x52819375A02768CB5083D7B729260C6DB2309FCB5C9161201ADA89D30D00D524 DUP8 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3302 SWAP3 SWAP2 SWAP1 PUSH1 0xFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x331C CALLER DUP4 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x3338 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x1B18 DUP5 DUP5 DUP5 DUP5 PUSH2 0x41E4 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3374 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x3395 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x14 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x33D8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x34AE JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x343A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x345E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x348F JUMPI POP DUP1 JUMPDEST PUSH2 0x34AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x34DA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 PUSH1 0x17 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP DUP4 PUSH1 0xFF AND PUSH20 0x0 PUSH4 0x6900A3AE SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x354F SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x356C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3594 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x35C5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x2FDC CALLER DUP3 DUP5 PUSH1 0xFF AND PUSH1 0x1 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB0A DUP3 PUSH2 0x4217 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3621 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3649 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x5A78287A942B8EA0DA8734A4EB919DF11E564CC48301FFCB582DC8612D98208F SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x12 SLOAD PUSH1 0xF SLOAD PUSH1 0x0 SWAP2 PUSH1 0x64 SWAP2 PUSH2 0x36B2 SWAP2 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x5897 JUMP JUMPDEST PUSH2 0x36BC SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x36F1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3734 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x375C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x563F24D71E856F79BEC30E1AA96082A296CD13F0A71CEC730A72B719FA0FA202 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x37D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x11 SSTORE JUMP JUMPDEST PUSH1 0x17 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3814 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3B9DB689 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x773B6D12 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH2 0x3863 PUSH2 0x4072 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x40CC JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xB0A JUMPI POP PUSH2 0xB0A DUP3 PUSH2 0x431F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x20D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x39D4 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3E6A7AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP3 AND SWAP1 PUSH4 0xD3E6A7AD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A7C SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3AA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7F6ECDF5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP4 MLOAD LT PUSH2 0x3AC5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9DCCA733 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B91 JUMPI PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x3B12 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3B2F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B53 SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x3B8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x8BAA579F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BF3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x3C06 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x3C13 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C24 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x3DD2 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3C48 JUMPI PUSH2 0x3C48 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 SUB PUSH2 0x3CAD JUMPI PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB8 LT ISZERO PUSH2 0x3CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3CFF JUMP JUMPDEST PUSH2 0x1388 PUSH1 0x1A PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3CC6 JUMPI PUSH2 0x3CC6 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT ISZERO PUSH2 0x3CFF JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3D15 JUMPI PUSH2 0x3D15 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3D3F SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP6 MLOAD SWAP1 SWAP2 SWAP1 DUP7 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x3D73 JUMPI PUSH2 0x3D73 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3DAC SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3C2D JUMP JUMPDEST POP DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DE2 SWAP2 SWAP1 PUSH2 0x58AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xBABE8F5E83E93AB103DDF917B4292A19335A5128B3530BEDD896A681CDD945E3 SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x10 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF DUP6 AND MUL OR SWAP1 SSTORE PUSH2 0x3E5E DUP6 DUP3 PUSH2 0x436F JUMP JUMPDEST PUSH2 0x3E68 DUP2 DUP6 PUSH2 0x4389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x10 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3E7B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E93 DUP4 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x3EDA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x1262 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3EF3 DUP5 PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3F18 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3F3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3FA0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3FB3 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3FD9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4454 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x23EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x417F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x41EF DUP5 DUP5 DUP5 PUSH2 0x3F05 JUMP JUMPDEST PUSH2 0x41FB DUP5 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x1B18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4222 DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x423B SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4267 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x42B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4289 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x42B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4297 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x42D2 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x42E4 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x4316 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x42FE SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1262 DUP5 PUSH2 0x4592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4350 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xB0A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x2FDC DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x4606 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4404 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x441C DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8E1A15ABA9398E019F0B49DF1A4FDE98EE17AE345CB5F6B5E2C27F5033E8CE7 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH2 0x445D DUP2 PUSH2 0x4639 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x4476 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x20D0 SWAP2 PUSH2 0x49C3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x458A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x44D8 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x59AD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x4513 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x4510 SWAP2 DUP2 ADD SWAP1 PUSH2 0x59EA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4570 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x4541 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4546 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x4568 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x1262 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x1262 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x459D DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x45D4 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x45FF JUMP JUMPDEST DUP1 PUSH2 0x45DE DUP5 PUSH2 0x46CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x45EF SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x4610 DUP4 DUP4 PUSH2 0x4760 JUMP JUMPDEST PUSH2 0x461D PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x108E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4644 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP PUSH2 0x464F DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x46DB DUP4 PUSH2 0x48EB JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x46FA JUMPI PUSH2 0x46FA PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x4724 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x472E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x47B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x481B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x4880 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x492A JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x4956 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x4974 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x498C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x49A0 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x49B2 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xB0A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x49CF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x49DF JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x20D0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4A0D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x49F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4AA9 JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4A8A JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4AC7 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x4A76 JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x4ADA DUP3 DUP8 PUSH2 0x4A76 JUMP JUMPDEST DUP5 DUP2 SUB PUSH1 0x40 DUP7 ADD MSTORE DUP6 MLOAD DUP1 DUP3 MSTORE DUP3 DUP8 ADD SWAP4 POP SWAP1 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B11 JUMPI DUP5 MLOAD ISZERO ISZERO DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4AF3 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4B3A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4B22 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B5B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x45FF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4BB9 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4C05 JUMPI PUSH2 0x4C05 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4C26 JUMPI PUSH2 0x4C26 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4C41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4C57 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4C6C PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST PUSH2 0x4BDD JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4C8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI PUSH2 0x4CA0 DUP2 PUSH2 0x4C30 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4C8F JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4CCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4CEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CF8 DUP9 DUP4 DUP10 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4D0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4D31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x4D43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP POP PUSH1 0x20 ADD SWAP5 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4D70 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x4D7E PUSH1 0x20 DUP5 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4DA8 PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DEA JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4DF8 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4C46 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4DCB JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4E18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E72 DUP7 PUSH2 0x4C30 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP1 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4E8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4EA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4EB1 PUSH2 0x4C67 DUP3 PUSH2 0x4C0D JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP13 DUP4 GT ISZERO PUSH2 0x4ED0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x4EEE JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4ED5 JUMP JUMPDEST SWAP9 POP POP POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F12 DUP11 DUP5 DUP12 ADD PUSH2 0x4D87 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x4F36 DUP9 DUP3 DUP10 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F7C DUP6 DUP3 DUP7 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4F9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4FA8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4FB8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP3 PUSH2 0x4C30 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4FF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5004 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5026 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5032 DUP7 DUP3 DUP8 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x505C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5080 JUMPI PUSH2 0x5080 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x509C PUSH2 0x4C67 DUP5 PUSH2 0x5067 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x50B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x50D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x508E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x5100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x510B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH2 0x511B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0x512B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x513B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5162 DUP10 DUP3 DUP11 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x5173 DUP2 PUSH2 0x4A44 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x51AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x51B7 DUP7 DUP4 DUP8 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x51CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51DA DUP6 DUP3 DUP7 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x51F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5204 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x521F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x522B DUP7 DUP3 DUP8 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x524B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5256 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x503C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x5292 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH2 0x52A0 PUSH1 0x20 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x52B0 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x52BE PUSH1 0x60 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x52DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x52EA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x52FA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x531C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x532D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x533C DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x508E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x535B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5366 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x539E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x53D5 JUMPI PUSH2 0x53D5 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x53F0 JUMPI PUSH2 0x53F0 PUSH2 0x53A9 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x540B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x256A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE DUP6 MLOAD SWAP1 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP7 DUP2 ADD SWAP2 PUSH1 0xA0 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x547D JUMPI DUP5 MLOAD PUSH1 0xFF AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x545E JUMP JUMPDEST POP POP DUP5 DUP2 SUB PUSH1 0x60 DUP7 ADD MSTORE DUP6 DUP2 MSTORE DUP6 DUP8 DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP8 ADD DUP4 ADD MSTORE PUSH1 0x1F SWAP1 SWAP6 ADD PUSH1 0x1F NOT AND SWAP1 SWAP5 ADD SWAP1 SWAP4 ADD SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x54E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x553A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND DUP1 PUSH2 0x5554 JUMPI PUSH2 0x5554 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 NOT ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP3 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x558D JUMPI PUSH1 0xFF PUSH2 0x5577 DUP4 PUSH2 0x4C30 JUMP JUMPDEST AND DUP4 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5564 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x5468697320636172642068617320616E206F666665722E000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x564C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x108E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5678 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x146F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5684 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56B0 JUMPI PUSH2 0x56B0 PUSH2 0x4BC7 JUMP JUMPDEST PUSH2 0x56C4 DUP2 PUSH2 0x56BE DUP5 SLOAD PUSH2 0x53F7 JUMP JUMPDEST DUP5 PUSH2 0x5651 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x56F9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x56E1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x146F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5728 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5709 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5746 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 SLOAD PUSH2 0x5764 DUP2 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x577C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5791 JUMPI PUSH2 0x57C0 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x57C0 JUMP JUMPDEST DUP11 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x57B7 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x579E JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP POP POP POP DUP6 MLOAD PUSH2 0x57D4 DUP2 DUP4 PUSH1 0x20 DUP11 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP6 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57E7 DUP2 DUP4 PUSH1 0x20 DUP10 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP5 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57FA DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5817 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5849 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x585A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x5868 PUSH2 0x4C67 DUP3 PUSH2 0x5067 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x587D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x588E DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x58DB JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x58BC JUMP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5990 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x59A4 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x59E0 SWAP1 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x59FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF STATICCALL RETURN 0xD3 0x24 0xC3 PUSH21 0x46EB406B5236A0190FE68D2F2A5FD1A9F7402876C3 0xB7 GASPRICE SELFBALANCE SLOAD PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1668:18731:19:-:0;;;2051:40;;;-1:-1:-1;;2095:42:19;;;;;2233:5;2204:34;;-1:-1:-1;2253:34:19;;2325:5;2291:39;;2414:4;2375:43;;2598:49;;;-1:-1:-1;;2651:53:19;;;;;1668:18731;;;;;;;;;;1390:113:5;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;1668:18731:19;;655:96:12;734:10;;655:96::o;2426:187:0:-;2518:6;;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;14:127:25:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:25;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:25;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:25;;;2580:26;2531:89;-1:-1:-1;;1335:1:25;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:25;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:25;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:25;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:25:o;:::-;1668:18731:19;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DAI_TOKEN_3605":{"entryPoint":null,"id":3605,"parameterSlots":0,"returnSlots":0},"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":14751,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_432":{"entryPoint":null,"id":432,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_burn_1464":{"entryPoint":17492,"id":1464,"parameterSlots":1,"returnSlots":0},"@_burn_5674":{"entryPoint":16489,"id":5674,"parameterSlots":1,"returnSlots":0},"@_burn_886":{"entryPoint":17977,"id":886,"parameterSlots":1,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":17556,"id":1103,"parameterSlots":4,"returnSlots":1},"@_checkOwner_54":{"entryPoint":16498,"id":54,"parameterSlots":0,"returnSlots":0},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":16007,"id":698,"parameterSlots":2,"returnSlots":1},"@_mint_819":{"entryPoint":18272,"id":819,"parameterSlots":2,"returnSlots":0},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_openPack_4754":{"entryPoint":14861,"id":4754,"parameterSlots":5,"returnSlots":0},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":14656,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeMint_713":{"entryPoint":17263,"id":713,"parameterSlots":2,"returnSlots":0},"@_safeMint_742":{"entryPoint":17926,"id":742,"parameterSlots":3,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":16868,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":16670,"id":1027,"parameterSlots":3,"returnSlots":0},"@_setTokenURI_1434":{"entryPoint":17289,"id":1434,"parameterSlots":2,"returnSlots":0},"@_transferOwnership_111":{"entryPoint":16588,"id":111,"parameterSlots":1,"returnSlots":0},"@_transfer_971":{"entryPoint":16133,"id":971,"parameterSlots":3,"returnSlots":0},"@addOwner_3950":{"entryPoint":8927,"id":3950,"parameterSlots":1,"returnSlots":0},"@addSigner_3978":{"entryPoint":14308,"id":3978,"parameterSlots":1,"returnSlots":0},"@approve_475":{"entryPoint":3961,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":9046,"id":336,"parameterSlots":1,"returnSlots":1},"@burnCards_5350":{"entryPoint":5239,"id":5350,"parameterSlots":2,"returnSlots":0},"@burn_1308":{"entryPoint":8354,"id":1308,"parameterSlots":1,"returnSlots":0},"@changeMaxPacksToOpenAtOnce_4207":{"entryPoint":6853,"id":4207,"parameterSlots":1,"returnSlots":0},"@changePackPrice_4195":{"entryPoint":14247,"id":4195,"parameterSlots":1,"returnSlots":0},"@changeRequireOfferValidationInMint_4171":{"entryPoint":14545,"id":4171,"parameterSlots":1,"returnSlots":0},"@changeRequireOfferValidationInTransfer_4183":{"entryPoint":8851,"id":4183,"parameterSlots":1,"returnSlots":0},"@changeRequireOpenPackSignerValidation_4159":{"entryPoint":14017,"id":4159,"parameterSlots":1,"returnSlots":0},"@emergencyWithdraw_5532":{"entryPoint":8403,"id":5532,"parameterSlots":1,"returnSlots":0},"@exchangeCardsOffer_4828":{"entryPoint":12415,"id":4828,"parameterSlots":4,"returnSlots":0},"@finishAlbum_5149":{"entryPoint":10246,"id":5149,"parameterSlots":0,"returnSlots":1},"@gammaOffersContract_3588":{"entryPoint":null,"id":3588,"parameterSlots":0,"returnSlots":0},"@gammaPacksContract_3585":{"entryPoint":null,"id":3585,"parameterSlots":0,"returnSlots":0},"@gammaTicketsContract_3591":{"entryPoint":null,"id":3591,"parameterSlots":0,"returnSlots":0},"@getApproved_493":{"entryPoint":3922,"id":493,"parameterSlots":1,"returnSlots":1},"@getBurnedCardQttyByUser_4355":{"entryPoint":9508,"id":4355,"parameterSlots":1,"returnSlots":1},"@getCardQuantityByUser_4340":{"entryPoint":4839,"id":4340,"parameterSlots":2,"returnSlots":1},"@getCardsByUser_4529":{"entryPoint":2832,"id":4529,"parameterSlots":1,"returnSlots":3},"@getLotteryPrize_4321":{"entryPoint":13972,"id":4321,"parameterSlots":0,"returnSlots":1},"@hasCardByOffer_4261":{"entryPoint":10151,"id":4261,"parameterSlots":2,"returnSlots":1},"@hasCard_4282":{"entryPoint":10059,"id":4282,"parameterSlots":2,"returnSlots":1},"@init_3936":{"entryPoint":9584,"id":3936,"parameterSlots":6,"returnSlots":0},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@isOwner_4295":{"entryPoint":null,"id":4295,"parameterSlots":1,"returnSlots":1},"@isSigner_4308":{"entryPoint":null,"id":4308,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":18667,"id":3186,"parameterSlots":1,"returnSlots":1},"@mintCard_5442":{"entryPoint":13210,"id":5442,"parameterSlots":1,"returnSlots":0},"@name_374":{"entryPoint":3776,"id":374,"parameterSlots":0,"returnSlots":1},"@openPack_4570":{"entryPoint":6923,"id":4570,"parameterSlots":4,"returnSlots":0},"@openPacks_4622":{"entryPoint":5048,"id":4622,"parameterSlots":5,"returnSlots":0},"@ownerOf_364":{"entryPoint":8755,"id":364,"parameterSlots":1,"returnSlots":1},"@owner_40":{"entryPoint":null,"id":40,"parameterSlots":0,"returnSlots":1},"@removeCardByOffer_4224":{"entryPoint":9200,"id":4224,"parameterSlots":2,"returnSlots":0},"@removeOwner_3964":{"entryPoint":4929,"id":3964,"parameterSlots":1,"returnSlots":0},"@removeSigner_3992":{"entryPoint":4243,"id":3992,"parameterSlots":1,"returnSlots":0},"@renounceOwnership_68":{"entryPoint":9180,"id":68,"parameterSlots":0,"returnSlots":0},"@restoreCardByOffer_4241":{"entryPoint":4714,"id":4241,"parameterSlots":2,"returnSlots":0},"@s_baseUri_3625":{"entryPoint":14295,"id":3625,"parameterSlots":0,"returnSlots":0},"@s_burnedCards_3657":{"entryPoint":null,"id":3657,"parameterSlots":0,"returnSlots":0},"@s_cardsByUser_3663":{"entryPoint":null,"id":3663,"parameterSlots":0,"returnSlots":0},"@s_cardsInventory_3653":{"entryPoint":null,"id":3653,"parameterSlots":0,"returnSlots":0},"@s_cards_3649":{"entryPoint":null,"id":3649,"parameterSlots":0,"returnSlots":0},"@s_lotteryPrizePercentage_3603":{"entryPoint":null,"id":3603,"parameterSlots":0,"returnSlots":0},"@s_mainAlbumPrize_3616":{"entryPoint":null,"id":3616,"parameterSlots":0,"returnSlots":0},"@s_mainUri_3621":{"entryPoint":9382,"id":3621,"parameterSlots":0,"returnSlots":0},"@s_maxPacksToOpenAtOnce_3600":{"entryPoint":null,"id":3600,"parameterSlots":0,"returnSlots":0},"@s_packPrice_3610":{"entryPoint":null,"id":3610,"parameterSlots":0,"returnSlots":0},"@s_prizesBalance_3613":{"entryPoint":null,"id":3613,"parameterSlots":0,"returnSlots":0},"@s_requireOfferValidationInMint_3630":{"entryPoint":null,"id":3630,"parameterSlots":0,"returnSlots":0},"@s_requireOfferValidationInTransfer_3633":{"entryPoint":null,"id":3633,"parameterSlots":0,"returnSlots":0},"@s_requireOpenPackSignerValidation_3627":{"entryPoint":null,"id":3627,"parameterSlots":0,"returnSlots":0},"@s_secondaryAlbumPrize_3619":{"entryPoint":null,"id":3619,"parameterSlots":0,"returnSlots":0},"@s_secondaryUri_3623":{"entryPoint":8185,"id":3623,"parameterSlots":0,"returnSlots":0},"@s_tokenIdCounter_3607":{"entryPoint":null,"id":3607,"parameterSlots":0,"returnSlots":0},"@safeMint_5493":{"entryPoint":15908,"id":5493,"parameterSlots":4,"returnSlots":0},"@safeTransferFrom_574":{"entryPoint":8327,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":13074,"id":604,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":12241,"id":510,"parameterSlots":2,"returnSlots":0},"@setGammaOffersContract_4013":{"entryPoint":4409,"id":4013,"parameterSlots":1,"returnSlots":0},"@setGammaPacksContract_4034":{"entryPoint":13809,"id":4034,"parameterSlots":1,"returnSlots":0},"@setGammaTicketsContract_4055":{"entryPoint":14084,"id":4055,"parameterSlots":1,"returnSlots":0},"@setLotteryPrizePercentage_4124":{"entryPoint":9395,"id":4124,"parameterSlots":1,"returnSlots":0},"@setMainAlbumPrize_4086":{"entryPoint":9296,"id":4086,"parameterSlots":1,"returnSlots":0},"@setPrizesBalance_4067":{"entryPoint":8686,"id":4067,"parameterSlots":1,"returnSlots":0},"@setSecondaryAlbumPrize_4105":{"entryPoint":13124,"id":4105,"parameterSlots":1,"returnSlots":0},"@setUris_4147":{"entryPoint":11189,"id":4147,"parameterSlots":2,"returnSlots":0},"@supportsInterface_1349":{"entryPoint":14619,"id":1349,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":17183,"id":312,"parameterSlots":1,"returnSlots":1},"@supportsInterface_5706":{"entryPoint":2815,"id":5706,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":11174,"id":384,"parameterSlots":0,"returnSlots":1},"@testAddCards_5558":{"entryPoint":12256,"id":5558,"parameterSlots":1,"returnSlots":0},"@testOpenPack_5636":{"entryPoint":7537,"id":5636,"parameterSlots":3,"returnSlots":0},"@toString_1911":{"entryPoint":18126,"id":1911,"parameterSlots":1,"returnSlots":1},"@tokenURI_1408":{"entryPoint":16919,"id":1408,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":17810,"id":423,"parameterSlots":1,"returnSlots":1},"@tokenURI_5690":{"entryPoint":13798,"id":5690,"parameterSlots":1,"returnSlots":1},"@transferCard_4912":{"entryPoint":6942,"id":4912,"parameterSlots":2,"returnSlots":0},"@transferCards_5019":{"entryPoint":11351,"id":5019,"parameterSlots":3,"returnSlots":0},"@transferFrom_555":{"entryPoint":6803,"id":555,"parameterSlots":3,"returnSlots":0},"@transferOwnership_91":{"entryPoint":14427,"id":91,"parameterSlots":1,"returnSlots":0},"@verifyPackSigner_4551":{"entryPoint":4572,"id":4551,"parameterSlots":4,"returnSlots":1},"abi_decode_array_array_uint8_dyn_dyn":{"entryPoint":19847,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_array_bytes_calldata_dyn_calldata":{"entryPoint":19974,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_array_uint8_dyn":{"entryPoint":19526,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_available_length_string":{"entryPoint":20622,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_string":{"entryPoint":20679,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":19033,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":21682,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":21320,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_addresst_addresst_string_memory_ptrt_address":{"entryPoint":20711,"id":null,"parameterSlots":2,"returnSlots":6},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":20360,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":21193,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_array$_t_uint8_$dyn_calldata_ptr":{"entryPoint":20964,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bool":{"entryPoint":21048,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":19355,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptr":{"entryPoint":20452,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint8":{"entryPoint":19794,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint8t_addresst_uint8":{"entryPoint":21105,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_array$_t_uint8_$dyn_calldata_ptr":{"entryPoint":20295,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool":{"entryPoint":20554,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bool_fromMemory":{"entryPoint":21388,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4":{"entryPoint":18983,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":23018,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptr_fromMemory":{"entryPoint":22561,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr":{"entryPoint":20865,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":19330,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256_fromMemory":{"entryPoint":21800,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr":{"entryPoint":19640,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_uint8":{"entryPoint":20425,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint8t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr":{"entryPoint":20049,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_uint8":{"entryPoint":19504,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_array_uint8_dyn":{"entryPoint":19062,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":19267,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_calldata_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":21854,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22702,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22358,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":22533,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":22910,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":22957,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_calldata_ptr__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed":{"entryPoint":21547,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":19124,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaOffersContract_$3565__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaPacksContract_$3525__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_IgammaTicketsContract_$3571__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":19311,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":21931,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22828,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22759,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":22008,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_Data_$5718_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__to_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint8_t_uint8__to_t_uint8_t_uint8__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"access_calldata_tail_t_bytes_calldata_ptr":{"entryPoint":21711,"id":null,"parameterSlots":2,"returnSlots":2},"allocate_memory":{"entryPoint":19421,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_array_uint8_dyn":{"entryPoint":19469,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_string":{"entryPoint":20583,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":21781,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":22063,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":22679,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":21912,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":22097,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":22167,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":19231,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint8":{"entryPoint":21825,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":21495,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":21470,"id":null,"parameterSlots":1,"returnSlots":1},"increment_t_uint8":{"entryPoint":21439,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x11":{"entryPoint":21417,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":21366,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":19399,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_address":{"entryPoint":19012,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bool":{"entryPoint":20540,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":18961,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:37022:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:25","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:25"},"nodeType":"YulFunctionCall","src":"125:12:25"},"nodeType":"YulExpressionStatement","src":"125:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:25","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:25"},"nodeType":"YulFunctionCall","src":"99:20:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:25"},"nodeType":"YulFunctionCall","src":"88:32:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:25"},"nodeType":"YulFunctionCall","src":"78:43:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:25"},"nodeType":"YulFunctionCall","src":"71:51:25"},"nodeType":"YulIf","src":"68:71:25"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:25","type":""}],"src":"14:131:25"},{"body":{"nodeType":"YulBlock","src":"219:176:25","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:25"},"nodeType":"YulFunctionCall","src":"267:12:25"},"nodeType":"YulExpressionStatement","src":"267:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:25"},"nodeType":"YulFunctionCall","src":"236:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:25"},"nodeType":"YulFunctionCall","src":"232:32:25"},"nodeType":"YulIf","src":"229:52:25"},{"nodeType":"YulVariableDeclaration","src":"290:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:25"},"nodeType":"YulFunctionCall","src":"303:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:25"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:25"},"nodeType":"YulFunctionCall","src":"335:30:25"},"nodeType":"YulExpressionStatement","src":"335:30:25"},{"nodeType":"YulAssignment","src":"374:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:25"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:25","type":""}],"src":"150:245:25"},{"body":{"nodeType":"YulBlock","src":"495:92:25","statements":[{"nodeType":"YulAssignment","src":"505:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:25"},"nodeType":"YulFunctionCall","src":"513:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:25"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:25"},"nodeType":"YulFunctionCall","src":"565:14:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:25"},"nodeType":"YulFunctionCall","src":"558:22:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:25"},"nodeType":"YulFunctionCall","src":"540:41:25"},"nodeType":"YulExpressionStatement","src":"540:41:25"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:25","type":""}],"src":"400:187:25"},{"body":{"nodeType":"YulBlock","src":"637:86:25","statements":[{"body":{"nodeType":"YulBlock","src":"701:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"710:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"713:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"703:6:25"},"nodeType":"YulFunctionCall","src":"703:12:25"},"nodeType":"YulExpressionStatement","src":"703:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"660:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"671:5:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"686:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"691:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"682:3:25"},"nodeType":"YulFunctionCall","src":"682:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"695:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"678:3:25"},"nodeType":"YulFunctionCall","src":"678:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"667:3:25"},"nodeType":"YulFunctionCall","src":"667:31:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"657:2:25"},"nodeType":"YulFunctionCall","src":"657:42:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"650:6:25"},"nodeType":"YulFunctionCall","src":"650:50:25"},"nodeType":"YulIf","src":"647:70:25"}]},"name":"validator_revert_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"626:5:25","type":""}],"src":"592:131:25"},{"body":{"nodeType":"YulBlock","src":"798:177:25","statements":[{"body":{"nodeType":"YulBlock","src":"844:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"853:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"856:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"846:6:25"},"nodeType":"YulFunctionCall","src":"846:12:25"},"nodeType":"YulExpressionStatement","src":"846:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"819:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"828:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"815:3:25"},"nodeType":"YulFunctionCall","src":"815:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"840:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"811:3:25"},"nodeType":"YulFunctionCall","src":"811:32:25"},"nodeType":"YulIf","src":"808:52:25"},{"nodeType":"YulVariableDeclaration","src":"869:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"895:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"882:12:25"},"nodeType":"YulFunctionCall","src":"882:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"873:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"939:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"914:24:25"},"nodeType":"YulFunctionCall","src":"914:31:25"},"nodeType":"YulExpressionStatement","src":"914:31:25"},{"nodeType":"YulAssignment","src":"954:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"964:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"954:6:25"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"764:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"775:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"787:6:25","type":""}],"src":"728:247:25"},{"body":{"nodeType":"YulBlock","src":"1039:385:25","statements":[{"nodeType":"YulVariableDeclaration","src":"1049:26:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1069:5:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1063:5:25"},"nodeType":"YulFunctionCall","src":"1063:12:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1053:6:25","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1091:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"1096:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1084:6:25"},"nodeType":"YulFunctionCall","src":"1084:19:25"},"nodeType":"YulExpressionStatement","src":"1084:19:25"},{"nodeType":"YulVariableDeclaration","src":"1112:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1122:4:25","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1116:2:25","type":""}]},{"nodeType":"YulAssignment","src":"1135:19:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1146:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1151:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1142:3:25"},"nodeType":"YulFunctionCall","src":"1142:12:25"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1135:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"1163:28:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1181:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1188:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1177:3:25"},"nodeType":"YulFunctionCall","src":"1177:14:25"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"1167:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1200:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1209:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1204:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1268:131:25","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1289:3:25"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1304:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1298:5:25"},"nodeType":"YulFunctionCall","src":"1298:13:25"},{"kind":"number","nodeType":"YulLiteral","src":"1313:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1294:3:25"},"nodeType":"YulFunctionCall","src":"1294:24:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1282:6:25"},"nodeType":"YulFunctionCall","src":"1282:37:25"},"nodeType":"YulExpressionStatement","src":"1282:37:25"},{"nodeType":"YulAssignment","src":"1332:19:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1343:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1348:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1339:3:25"},"nodeType":"YulFunctionCall","src":"1339:12:25"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"1332:3:25"}]},{"nodeType":"YulAssignment","src":"1364:25:25","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1378:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1386:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1374:3:25"},"nodeType":"YulFunctionCall","src":"1374:15:25"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"1364:6:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1230:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"1233:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1227:2:25"},"nodeType":"YulFunctionCall","src":"1227:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1241:18:25","statements":[{"nodeType":"YulAssignment","src":"1243:14:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1252:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"1255:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1248:3:25"},"nodeType":"YulFunctionCall","src":"1248:9:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1243:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"1223:3:25","statements":[]},"src":"1219:180:25"},{"nodeType":"YulAssignment","src":"1408:10:25","value":{"name":"pos","nodeType":"YulIdentifier","src":"1415:3:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1408:3:25"}]}]},"name":"abi_encode_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1016:5:25","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1023:3:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"1031:3:25","type":""}],"src":"980:444:25"},{"body":{"nodeType":"YulBlock","src":"1722:713:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1739:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1750:2:25","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1732:6:25"},"nodeType":"YulFunctionCall","src":"1732:21:25"},"nodeType":"YulExpressionStatement","src":"1732:21:25"},{"nodeType":"YulVariableDeclaration","src":"1762:68:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1803:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1815:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1826:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1811:3:25"},"nodeType":"YulFunctionCall","src":"1811:18:25"}],"functionName":{"name":"abi_encode_array_uint8_dyn","nodeType":"YulIdentifier","src":"1776:26:25"},"nodeType":"YulFunctionCall","src":"1776:54:25"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"1766:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1839:12:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1849:2:25","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1843:2:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1871:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1882:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1867:3:25"},"nodeType":"YulFunctionCall","src":"1867:18:25"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"1891:6:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"1899:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1887:3:25"},"nodeType":"YulFunctionCall","src":"1887:22:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1860:6:25"},"nodeType":"YulFunctionCall","src":"1860:50:25"},"nodeType":"YulExpressionStatement","src":"1860:50:25"},{"nodeType":"YulVariableDeclaration","src":"1919:56:25","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"1960:6:25"},{"name":"tail_1","nodeType":"YulIdentifier","src":"1968:6:25"}],"functionName":{"name":"abi_encode_array_uint8_dyn","nodeType":"YulIdentifier","src":"1933:26:25"},"nodeType":"YulFunctionCall","src":"1933:42:25"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"1923:6:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1995:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2006:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1991:3:25"},"nodeType":"YulFunctionCall","src":"1991:18:25"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2015:6:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2023:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2011:3:25"},"nodeType":"YulFunctionCall","src":"2011:22:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1984:6:25"},"nodeType":"YulFunctionCall","src":"1984:50:25"},"nodeType":"YulExpressionStatement","src":"1984:50:25"},{"nodeType":"YulVariableDeclaration","src":"2043:17:25","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"2054:6:25"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"2047:3:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2069:27:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"2089:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2083:5:25"},"nodeType":"YulFunctionCall","src":"2083:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2073:6:25","type":""}]},{"expression":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2112:6:25"},{"name":"length","nodeType":"YulIdentifier","src":"2120:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2105:6:25"},"nodeType":"YulFunctionCall","src":"2105:22:25"},"nodeType":"YulExpressionStatement","src":"2105:22:25"},{"nodeType":"YulAssignment","src":"2136:22:25","value":{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"2147:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"2155:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2143:3:25"},"nodeType":"YulFunctionCall","src":"2143:15:25"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2136:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"2167:29:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"2185:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"2193:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2181:3:25"},"nodeType":"YulFunctionCall","src":"2181:15:25"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"2171:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2205:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"2214:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2209:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2273:136:25","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2294:3:25"},{"arguments":[{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2319:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2313:5:25"},"nodeType":"YulFunctionCall","src":"2313:13:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2306:6:25"},"nodeType":"YulFunctionCall","src":"2306:21:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2299:6:25"},"nodeType":"YulFunctionCall","src":"2299:29:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2287:6:25"},"nodeType":"YulFunctionCall","src":"2287:42:25"},"nodeType":"YulExpressionStatement","src":"2287:42:25"},{"nodeType":"YulAssignment","src":"2342:19:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2353:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"2358:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2349:3:25"},"nodeType":"YulFunctionCall","src":"2349:12:25"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2342:3:25"}]},{"nodeType":"YulAssignment","src":"2374:25:25","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2388:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"2396:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2384:3:25"},"nodeType":"YulFunctionCall","src":"2384:15:25"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"2374:6:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2235:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"2238:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2232:2:25"},"nodeType":"YulFunctionCall","src":"2232:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2246:18:25","statements":[{"nodeType":"YulAssignment","src":"2248:14:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2257:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"2260:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2253:3:25"},"nodeType":"YulFunctionCall","src":"2253:9:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2248:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"2228:3:25","statements":[]},"src":"2224:185:25"},{"nodeType":"YulAssignment","src":"2418:11:25","value":{"name":"pos","nodeType":"YulIdentifier","src":"2426:3:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2418:4:25"}]}]},"name":"abi_encode_tuple_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1675:9:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1686:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1694:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1702:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1713:4:25","type":""}],"src":"1429:1006:25"},{"body":{"nodeType":"YulBlock","src":"2506:184:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2516:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"2525:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"2520:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2585:63:25","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2610:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"2615:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2606:3:25"},"nodeType":"YulFunctionCall","src":"2606:11:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2629:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"2634:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2625:3:25"},"nodeType":"YulFunctionCall","src":"2625:11:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2619:5:25"},"nodeType":"YulFunctionCall","src":"2619:18:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2599:6:25"},"nodeType":"YulFunctionCall","src":"2599:39:25"},"nodeType":"YulExpressionStatement","src":"2599:39:25"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2546:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"2549:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2543:2:25"},"nodeType":"YulFunctionCall","src":"2543:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"2557:19:25","statements":[{"nodeType":"YulAssignment","src":"2559:15:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"2568:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"2571:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2564:3:25"},"nodeType":"YulFunctionCall","src":"2564:10:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"2559:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"2539:3:25","statements":[]},"src":"2535:113:25"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2668:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"2673:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2664:3:25"},"nodeType":"YulFunctionCall","src":"2664:16:25"},{"kind":"number","nodeType":"YulLiteral","src":"2682:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2657:6:25"},"nodeType":"YulFunctionCall","src":"2657:27:25"},"nodeType":"YulExpressionStatement","src":"2657:27:25"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"2484:3:25","type":""},{"name":"dst","nodeType":"YulTypedName","src":"2489:3:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"2494:6:25","type":""}],"src":"2440:250:25"},{"body":{"nodeType":"YulBlock","src":"2745:221:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2755:26:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2775:5:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2769:5:25"},"nodeType":"YulFunctionCall","src":"2769:12:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2759:6:25","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2797:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"2802:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2790:6:25"},"nodeType":"YulFunctionCall","src":"2790:19:25"},"nodeType":"YulExpressionStatement","src":"2790:19:25"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2857:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"2864:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2853:3:25"},"nodeType":"YulFunctionCall","src":"2853:16:25"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2875:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"2880:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2871:3:25"},"nodeType":"YulFunctionCall","src":"2871:14:25"},{"name":"length","nodeType":"YulIdentifier","src":"2887:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"2818:34:25"},"nodeType":"YulFunctionCall","src":"2818:76:25"},"nodeType":"YulExpressionStatement","src":"2818:76:25"},{"nodeType":"YulAssignment","src":"2903:57:25","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2918:3:25"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2931:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"2939:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2927:3:25"},"nodeType":"YulFunctionCall","src":"2927:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2948:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2944:3:25"},"nodeType":"YulFunctionCall","src":"2944:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2923:3:25"},"nodeType":"YulFunctionCall","src":"2923:29:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2914:3:25"},"nodeType":"YulFunctionCall","src":"2914:39:25"},{"kind":"number","nodeType":"YulLiteral","src":"2955:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2910:3:25"},"nodeType":"YulFunctionCall","src":"2910:50:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2903:3:25"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2722:5:25","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2729:3:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2737:3:25","type":""}],"src":"2695:271:25"},{"body":{"nodeType":"YulBlock","src":"3092:99:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3109:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3120:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3102:6:25"},"nodeType":"YulFunctionCall","src":"3102:21:25"},"nodeType":"YulExpressionStatement","src":"3102:21:25"},{"nodeType":"YulAssignment","src":"3132:53:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3158:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3170:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3181:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3166:3:25"},"nodeType":"YulFunctionCall","src":"3166:18:25"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"3140:17:25"},"nodeType":"YulFunctionCall","src":"3140:45:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3132:4:25"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3061:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3072:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3083:4:25","type":""}],"src":"2971:220:25"},{"body":{"nodeType":"YulBlock","src":"3297:76:25","statements":[{"nodeType":"YulAssignment","src":"3307:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3319:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3330:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3315:3:25"},"nodeType":"YulFunctionCall","src":"3315:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3307:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3349:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"3360:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3342:6:25"},"nodeType":"YulFunctionCall","src":"3342:25:25"},"nodeType":"YulExpressionStatement","src":"3342:25:25"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3266:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3277:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3288:4:25","type":""}],"src":"3196:177:25"},{"body":{"nodeType":"YulBlock","src":"3448:110:25","statements":[{"body":{"nodeType":"YulBlock","src":"3494:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3503:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3506:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3496:6:25"},"nodeType":"YulFunctionCall","src":"3496:12:25"},"nodeType":"YulExpressionStatement","src":"3496:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3469:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"3478:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3465:3:25"},"nodeType":"YulFunctionCall","src":"3465:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"3490:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3461:3:25"},"nodeType":"YulFunctionCall","src":"3461:32:25"},"nodeType":"YulIf","src":"3458:52:25"},{"nodeType":"YulAssignment","src":"3519:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3542:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3529:12:25"},"nodeType":"YulFunctionCall","src":"3529:23:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3519:6:25"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3414:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3425:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3437:6:25","type":""}],"src":"3378:180:25"},{"body":{"nodeType":"YulBlock","src":"3664:102:25","statements":[{"nodeType":"YulAssignment","src":"3674:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3686:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3697:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3682:3:25"},"nodeType":"YulFunctionCall","src":"3682:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3674:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3716:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3731:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3747:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"3752:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3743:3:25"},"nodeType":"YulFunctionCall","src":"3743:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"3756:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3739:3:25"},"nodeType":"YulFunctionCall","src":"3739:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3727:3:25"},"nodeType":"YulFunctionCall","src":"3727:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3709:6:25"},"nodeType":"YulFunctionCall","src":"3709:51:25"},"nodeType":"YulExpressionStatement","src":"3709:51:25"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3633:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3644:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3655:4:25","type":""}],"src":"3563:203:25"},{"body":{"nodeType":"YulBlock","src":"3858:228:25","statements":[{"body":{"nodeType":"YulBlock","src":"3904:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3913:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3916:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3906:6:25"},"nodeType":"YulFunctionCall","src":"3906:12:25"},"nodeType":"YulExpressionStatement","src":"3906:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3879:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"3888:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3875:3:25"},"nodeType":"YulFunctionCall","src":"3875:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"3900:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3871:3:25"},"nodeType":"YulFunctionCall","src":"3871:32:25"},"nodeType":"YulIf","src":"3868:52:25"},{"nodeType":"YulVariableDeclaration","src":"3929:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3955:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3942:12:25"},"nodeType":"YulFunctionCall","src":"3942:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3933:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3999:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"3974:24:25"},"nodeType":"YulFunctionCall","src":"3974:31:25"},"nodeType":"YulExpressionStatement","src":"3974:31:25"},{"nodeType":"YulAssignment","src":"4014:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"4024:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4014:6:25"}]},{"nodeType":"YulAssignment","src":"4038:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4065:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4076:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4061:3:25"},"nodeType":"YulFunctionCall","src":"4061:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4048:12:25"},"nodeType":"YulFunctionCall","src":"4048:32:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4038:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3816:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3827:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3839:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3847:6:25","type":""}],"src":"3771:315:25"},{"body":{"nodeType":"YulBlock","src":"4123:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4140:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4147:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"4152:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4143:3:25"},"nodeType":"YulFunctionCall","src":"4143:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4133:6:25"},"nodeType":"YulFunctionCall","src":"4133:31:25"},"nodeType":"YulExpressionStatement","src":"4133:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4180:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"4183:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4173:6:25"},"nodeType":"YulFunctionCall","src":"4173:15:25"},"nodeType":"YulExpressionStatement","src":"4173:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4204:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4207:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4197:6:25"},"nodeType":"YulFunctionCall","src":"4197:15:25"},"nodeType":"YulExpressionStatement","src":"4197:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"4091:127:25"},{"body":{"nodeType":"YulBlock","src":"4268:230:25","statements":[{"nodeType":"YulAssignment","src":"4278:19:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4294:2:25","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4288:5:25"},"nodeType":"YulFunctionCall","src":"4288:9:25"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4278:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"4306:58:25","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4328:6:25"},{"arguments":[{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4344:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"4350:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4340:3:25"},"nodeType":"YulFunctionCall","src":"4340:13:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4359:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4355:3:25"},"nodeType":"YulFunctionCall","src":"4355:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4336:3:25"},"nodeType":"YulFunctionCall","src":"4336:27:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4324:3:25"},"nodeType":"YulFunctionCall","src":"4324:40:25"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4310:10:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4439:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4441:16:25"},"nodeType":"YulFunctionCall","src":"4441:18:25"},"nodeType":"YulExpressionStatement","src":"4441:18:25"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4382:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"4394:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4379:2:25"},"nodeType":"YulFunctionCall","src":"4379:34:25"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4418:10:25"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4430:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4415:2:25"},"nodeType":"YulFunctionCall","src":"4415:22:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4376:2:25"},"nodeType":"YulFunctionCall","src":"4376:62:25"},"nodeType":"YulIf","src":"4373:88:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4477:2:25","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4481:10:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4470:6:25"},"nodeType":"YulFunctionCall","src":"4470:22:25"},"nodeType":"YulExpressionStatement","src":"4470:22:25"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4248:4:25","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4257:6:25","type":""}],"src":"4223:275:25"},{"body":{"nodeType":"YulBlock","src":"4570:114:25","statements":[{"body":{"nodeType":"YulBlock","src":"4614:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4616:16:25"},"nodeType":"YulFunctionCall","src":"4616:18:25"},"nodeType":"YulExpressionStatement","src":"4616:18:25"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4586:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"4594:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4583:2:25"},"nodeType":"YulFunctionCall","src":"4583:30:25"},"nodeType":"YulIf","src":"4580:56:25"},{"nodeType":"YulAssignment","src":"4645:33:25","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4661:1:25","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"4664:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4657:3:25"},"nodeType":"YulFunctionCall","src":"4657:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"4673:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4653:3:25"},"nodeType":"YulFunctionCall","src":"4653:25:25"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4645:4:25"}]}]},"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4550:6:25","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4561:4:25","type":""}],"src":"4503:181:25"},{"body":{"nodeType":"YulBlock","src":"4736:109:25","statements":[{"nodeType":"YulAssignment","src":"4746:29:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4768:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4755:12:25"},"nodeType":"YulFunctionCall","src":"4755:20:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"4746:5:25"}]},{"body":{"nodeType":"YulBlock","src":"4823:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4832:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4835:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4825:6:25"},"nodeType":"YulFunctionCall","src":"4825:12:25"},"nodeType":"YulExpressionStatement","src":"4825:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4797:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4808:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"4815:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4804:3:25"},"nodeType":"YulFunctionCall","src":"4804:16:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4794:2:25"},"nodeType":"YulFunctionCall","src":"4794:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4787:6:25"},"nodeType":"YulFunctionCall","src":"4787:35:25"},"nodeType":"YulIf","src":"4784:55:25"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4715:6:25","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"4726:5:25","type":""}],"src":"4689:156:25"},{"body":{"nodeType":"YulBlock","src":"4912:600:25","statements":[{"body":{"nodeType":"YulBlock","src":"4961:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4970:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4973:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4963:6:25"},"nodeType":"YulFunctionCall","src":"4963:12:25"},"nodeType":"YulExpressionStatement","src":"4963:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4940:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"4948:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4936:3:25"},"nodeType":"YulFunctionCall","src":"4936:17:25"},{"name":"end","nodeType":"YulIdentifier","src":"4955:3:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4932:3:25"},"nodeType":"YulFunctionCall","src":"4932:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4925:6:25"},"nodeType":"YulFunctionCall","src":"4925:35:25"},"nodeType":"YulIf","src":"4922:55:25"},{"nodeType":"YulVariableDeclaration","src":"4986:30:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5009:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4996:12:25"},"nodeType":"YulFunctionCall","src":"4996:20:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4990:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5025:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"5035:4:25","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"5029:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5048:69:25","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"5113:2:25"}],"functionName":{"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulIdentifier","src":"5075:37:25"},"nodeType":"YulFunctionCall","src":"5075:41:25"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"5059:15:25"},"nodeType":"YulFunctionCall","src":"5059:58:25"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"5052:3:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5126:16:25","value":{"name":"dst","nodeType":"YulIdentifier","src":"5139:3:25"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"5130:5:25","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5158:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"5163:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5151:6:25"},"nodeType":"YulFunctionCall","src":"5151:15:25"},"nodeType":"YulExpressionStatement","src":"5151:15:25"},{"nodeType":"YulAssignment","src":"5175:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5186:3:25"},{"name":"_2","nodeType":"YulIdentifier","src":"5191:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5182:3:25"},"nodeType":"YulFunctionCall","src":"5182:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5175:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"5203:46:25","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5225:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5237:1:25","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"5240:2:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5233:3:25"},"nodeType":"YulFunctionCall","src":"5233:10:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5221:3:25"},"nodeType":"YulFunctionCall","src":"5221:23:25"},{"name":"_2","nodeType":"YulIdentifier","src":"5246:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5217:3:25"},"nodeType":"YulFunctionCall","src":"5217:32:25"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"5207:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"5277:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5286:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5289:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5279:6:25"},"nodeType":"YulFunctionCall","src":"5279:12:25"},"nodeType":"YulExpressionStatement","src":"5279:12:25"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"5264:6:25"},{"name":"end","nodeType":"YulIdentifier","src":"5272:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5261:2:25"},"nodeType":"YulFunctionCall","src":"5261:15:25"},"nodeType":"YulIf","src":"5258:35:25"},{"nodeType":"YulVariableDeclaration","src":"5302:26:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5317:6:25"},{"name":"_2","nodeType":"YulIdentifier","src":"5325:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5313:3:25"},"nodeType":"YulFunctionCall","src":"5313:15:25"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"5306:3:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"5393:90:25","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5414:3:25"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5436:3:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"5419:16:25"},"nodeType":"YulFunctionCall","src":"5419:21:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5407:6:25"},"nodeType":"YulFunctionCall","src":"5407:34:25"},"nodeType":"YulExpressionStatement","src":"5407:34:25"},{"nodeType":"YulAssignment","src":"5454:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"5465:3:25"},{"name":"_2","nodeType":"YulIdentifier","src":"5470:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5461:3:25"},"nodeType":"YulFunctionCall","src":"5461:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"5454:3:25"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5348:3:25"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"5353:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5345:2:25"},"nodeType":"YulFunctionCall","src":"5345:15:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"5361:23:25","statements":[{"nodeType":"YulAssignment","src":"5363:19:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5374:3:25"},{"name":"_2","nodeType":"YulIdentifier","src":"5379:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5370:3:25"},"nodeType":"YulFunctionCall","src":"5370:12:25"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"5363:3:25"}]}]},"pre":{"nodeType":"YulBlock","src":"5341:3:25","statements":[]},"src":"5337:146:25"},{"nodeType":"YulAssignment","src":"5492:14:25","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"5501:5:25"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5492:5:25"}]}]},"name":"abi_decode_array_uint8_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"4886:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"4894:3:25","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4902:5:25","type":""}],"src":"4850:662:25"},{"body":{"nodeType":"YulBlock","src":"5663:735:25","statements":[{"body":{"nodeType":"YulBlock","src":"5709:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5718:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5721:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5711:6:25"},"nodeType":"YulFunctionCall","src":"5711:12:25"},"nodeType":"YulExpressionStatement","src":"5711:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5684:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"5693:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5680:3:25"},"nodeType":"YulFunctionCall","src":"5680:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"5705:2:25","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5676:3:25"},"nodeType":"YulFunctionCall","src":"5676:32:25"},"nodeType":"YulIf","src":"5673:52:25"},{"nodeType":"YulAssignment","src":"5734:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5757:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5744:12:25"},"nodeType":"YulFunctionCall","src":"5744:23:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5734:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"5776:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5807:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5818:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5803:3:25"},"nodeType":"YulFunctionCall","src":"5803:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5790:12:25"},"nodeType":"YulFunctionCall","src":"5790:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5780:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"5831:28:25","value":{"kind":"number","nodeType":"YulLiteral","src":"5841:18:25","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"5835:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"5886:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5895:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5898:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5888:6:25"},"nodeType":"YulFunctionCall","src":"5888:12:25"},"nodeType":"YulExpressionStatement","src":"5888:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5874:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"5882:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5871:2:25"},"nodeType":"YulFunctionCall","src":"5871:14:25"},"nodeType":"YulIf","src":"5868:34:25"},{"nodeType":"YulAssignment","src":"5911:69:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5952:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"5963:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5948:3:25"},"nodeType":"YulFunctionCall","src":"5948:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5972:7:25"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"5921:26:25"},"nodeType":"YulFunctionCall","src":"5921:59:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5911:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"5989:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6022:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6033:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6018:3:25"},"nodeType":"YulFunctionCall","src":"6018:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6005:12:25"},"nodeType":"YulFunctionCall","src":"6005:32:25"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5993:8:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"6066:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6075:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6078:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6068:6:25"},"nodeType":"YulFunctionCall","src":"6068:12:25"},"nodeType":"YulExpressionStatement","src":"6068:12:25"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"6052:8:25"},{"name":"_1","nodeType":"YulIdentifier","src":"6062:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6049:2:25"},"nodeType":"YulFunctionCall","src":"6049:16:25"},"nodeType":"YulIf","src":"6046:36:25"},{"nodeType":"YulVariableDeclaration","src":"6091:34:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6105:9:25"},{"name":"offset_1","nodeType":"YulIdentifier","src":"6116:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6101:3:25"},"nodeType":"YulFunctionCall","src":"6101:24:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"6095:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"6173:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6182:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6185:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6175:6:25"},"nodeType":"YulFunctionCall","src":"6175:12:25"},"nodeType":"YulExpressionStatement","src":"6175:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6152:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"6156:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6148:3:25"},"nodeType":"YulFunctionCall","src":"6148:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6163:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6144:3:25"},"nodeType":"YulFunctionCall","src":"6144:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6137:6:25"},"nodeType":"YulFunctionCall","src":"6137:35:25"},"nodeType":"YulIf","src":"6134:55:25"},{"nodeType":"YulVariableDeclaration","src":"6198:30:25","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6225:2:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6212:12:25"},"nodeType":"YulFunctionCall","src":"6212:16:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6202:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"6255:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6264:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6267:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6257:6:25"},"nodeType":"YulFunctionCall","src":"6257:12:25"},"nodeType":"YulExpressionStatement","src":"6257:12:25"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6243:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"6251:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6240:2:25"},"nodeType":"YulFunctionCall","src":"6240:14:25"},"nodeType":"YulIf","src":"6237:34:25"},{"body":{"nodeType":"YulBlock","src":"6321:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6330:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6333:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6323:6:25"},"nodeType":"YulFunctionCall","src":"6323:12:25"},"nodeType":"YulExpressionStatement","src":"6323:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6294:2:25"},{"name":"length","nodeType":"YulIdentifier","src":"6298:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6290:3:25"},"nodeType":"YulFunctionCall","src":"6290:15:25"},{"kind":"number","nodeType":"YulLiteral","src":"6307:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6286:3:25"},"nodeType":"YulFunctionCall","src":"6286:24:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6312:7:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6283:2:25"},"nodeType":"YulFunctionCall","src":"6283:37:25"},"nodeType":"YulIf","src":"6280:57:25"},{"nodeType":"YulAssignment","src":"6346:21:25","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"6360:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"6364:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6356:3:25"},"nodeType":"YulFunctionCall","src":"6356:11:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"6346:6:25"}]},{"nodeType":"YulAssignment","src":"6376:16:25","value":{"name":"length","nodeType":"YulIdentifier","src":"6386:6:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"6376:6:25"}]}]},"name":"abi_decode_tuple_t_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5605:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5616:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5628:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5636:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5644:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5652:6:25","type":""}],"src":"5517:881:25"},{"body":{"nodeType":"YulBlock","src":"6534:102:25","statements":[{"nodeType":"YulAssignment","src":"6544:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6556:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6567:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6552:3:25"},"nodeType":"YulFunctionCall","src":"6552:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6544:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6586:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6601:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6617:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"6622:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6613:3:25"},"nodeType":"YulFunctionCall","src":"6613:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"6626:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6609:3:25"},"nodeType":"YulFunctionCall","src":"6609:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6597:3:25"},"nodeType":"YulFunctionCall","src":"6597:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6579:6:25"},"nodeType":"YulFunctionCall","src":"6579:51:25"},"nodeType":"YulExpressionStatement","src":"6579:51:25"}]},"name":"abi_encode_tuple_t_contract$_IgammaTicketsContract_$3571__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6503:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6514:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6525:4:25","type":""}],"src":"6403:233:25"},{"body":{"nodeType":"YulBlock","src":"6726:232:25","statements":[{"body":{"nodeType":"YulBlock","src":"6772:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6781:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6784:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6774:6:25"},"nodeType":"YulFunctionCall","src":"6774:12:25"},"nodeType":"YulExpressionStatement","src":"6774:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6747:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"6756:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6743:3:25"},"nodeType":"YulFunctionCall","src":"6743:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"6768:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6739:3:25"},"nodeType":"YulFunctionCall","src":"6739:32:25"},"nodeType":"YulIf","src":"6736:52:25"},{"nodeType":"YulVariableDeclaration","src":"6797:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6823:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6810:12:25"},"nodeType":"YulFunctionCall","src":"6810:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6801:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6867:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"6842:24:25"},"nodeType":"YulFunctionCall","src":"6842:31:25"},"nodeType":"YulExpressionStatement","src":"6842:31:25"},{"nodeType":"YulAssignment","src":"6882:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"6892:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6882:6:25"}]},{"nodeType":"YulAssignment","src":"6906:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6937:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6948:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6933:3:25"},"nodeType":"YulFunctionCall","src":"6933:18:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"6916:16:25"},"nodeType":"YulFunctionCall","src":"6916:36:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6906:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6684:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6695:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6707:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6715:6:25","type":""}],"src":"6641:317:25"},{"body":{"nodeType":"YulBlock","src":"7060:87:25","statements":[{"nodeType":"YulAssignment","src":"7070:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7082:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7093:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7078:3:25"},"nodeType":"YulFunctionCall","src":"7078:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7070:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7112:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7127:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"7135:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7123:3:25"},"nodeType":"YulFunctionCall","src":"7123:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7105:6:25"},"nodeType":"YulFunctionCall","src":"7105:36:25"},"nodeType":"YulExpressionStatement","src":"7105:36:25"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7029:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7040:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7051:4:25","type":""}],"src":"6963:184:25"},{"body":{"nodeType":"YulBlock","src":"7224:832:25","statements":[{"body":{"nodeType":"YulBlock","src":"7273:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7282:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7285:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7275:6:25"},"nodeType":"YulFunctionCall","src":"7275:12:25"},"nodeType":"YulExpressionStatement","src":"7275:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7252:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"7260:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7248:3:25"},"nodeType":"YulFunctionCall","src":"7248:17:25"},{"name":"end","nodeType":"YulIdentifier","src":"7267:3:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"7244:3:25"},"nodeType":"YulFunctionCall","src":"7244:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7237:6:25"},"nodeType":"YulFunctionCall","src":"7237:35:25"},"nodeType":"YulIf","src":"7234:55:25"},{"nodeType":"YulVariableDeclaration","src":"7298:30:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7321:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7308:12:25"},"nodeType":"YulFunctionCall","src":"7308:20:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"7302:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7337:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"7347:4:25","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"7341:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7360:69:25","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"7425:2:25"}],"functionName":{"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulIdentifier","src":"7387:37:25"},"nodeType":"YulFunctionCall","src":"7387:41:25"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"7371:15:25"},"nodeType":"YulFunctionCall","src":"7371:58:25"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"7364:3:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7438:16:25","value":{"name":"dst","nodeType":"YulIdentifier","src":"7451:3:25"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"7442:5:25","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7470:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"7475:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7463:6:25"},"nodeType":"YulFunctionCall","src":"7463:15:25"},"nodeType":"YulExpressionStatement","src":"7463:15:25"},{"nodeType":"YulAssignment","src":"7487:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7498:3:25"},{"name":"_2","nodeType":"YulIdentifier","src":"7503:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7494:3:25"},"nodeType":"YulFunctionCall","src":"7494:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7487:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"7515:46:25","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7537:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7549:1:25","type":"","value":"5"},{"name":"_1","nodeType":"YulIdentifier","src":"7552:2:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7545:3:25"},"nodeType":"YulFunctionCall","src":"7545:10:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7533:3:25"},"nodeType":"YulFunctionCall","src":"7533:23:25"},{"name":"_2","nodeType":"YulIdentifier","src":"7558:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7529:3:25"},"nodeType":"YulFunctionCall","src":"7529:32:25"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"7519:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"7589:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7598:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7601:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7591:6:25"},"nodeType":"YulFunctionCall","src":"7591:12:25"},"nodeType":"YulExpressionStatement","src":"7591:12:25"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"7576:6:25"},{"name":"end","nodeType":"YulIdentifier","src":"7584:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7573:2:25"},"nodeType":"YulFunctionCall","src":"7573:15:25"},"nodeType":"YulIf","src":"7570:35:25"},{"nodeType":"YulVariableDeclaration","src":"7614:26:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7629:6:25"},{"name":"_2","nodeType":"YulIdentifier","src":"7637:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7625:3:25"},"nodeType":"YulFunctionCall","src":"7625:15:25"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"7618:3:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"7705:322:25","statements":[{"nodeType":"YulVariableDeclaration","src":"7719:36:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7751:3:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"7738:12:25"},"nodeType":"YulFunctionCall","src":"7738:17:25"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"7723:11:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"7819:74:25","statements":[{"nodeType":"YulVariableDeclaration","src":"7837:11:25","value":{"kind":"number","nodeType":"YulLiteral","src":"7847:1:25","type":"","value":"0"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"7841:2:25","type":""}]},{"expression":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"7872:2:25"},{"name":"_3","nodeType":"YulIdentifier","src":"7876:2:25"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7865:6:25"},"nodeType":"YulFunctionCall","src":"7865:14:25"},"nodeType":"YulExpressionStatement","src":"7865:14:25"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"7774:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"7787:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7771:2:25"},"nodeType":"YulFunctionCall","src":"7771:35:25"},"nodeType":"YulIf","src":"7768:125:25"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7913:3:25"},{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"7953:6:25"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"7961:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7949:3:25"},"nodeType":"YulFunctionCall","src":"7949:24:25"},{"name":"_2","nodeType":"YulIdentifier","src":"7975:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7945:3:25"},"nodeType":"YulFunctionCall","src":"7945:33:25"},{"name":"end","nodeType":"YulIdentifier","src":"7980:3:25"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"7918:26:25"},"nodeType":"YulFunctionCall","src":"7918:66:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7906:6:25"},"nodeType":"YulFunctionCall","src":"7906:79:25"},"nodeType":"YulExpressionStatement","src":"7906:79:25"},{"nodeType":"YulAssignment","src":"7998:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8009:3:25"},{"name":"_2","nodeType":"YulIdentifier","src":"8014:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8005:3:25"},"nodeType":"YulFunctionCall","src":"8005:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"7998:3:25"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7660:3:25"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"7665:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7657:2:25"},"nodeType":"YulFunctionCall","src":"7657:15:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7673:23:25","statements":[{"nodeType":"YulAssignment","src":"7675:19:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7686:3:25"},{"name":"_2","nodeType":"YulIdentifier","src":"7691:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7682:3:25"},"nodeType":"YulFunctionCall","src":"7682:12:25"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"7675:3:25"}]}]},"pre":{"nodeType":"YulBlock","src":"7653:3:25","statements":[]},"src":"7649:378:25"},{"nodeType":"YulAssignment","src":"8036:14:25","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"8045:5:25"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8036:5:25"}]}]},"name":"abi_decode_array_array_uint8_dyn_dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"7198:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"7206:3:25","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"7214:5:25","type":""}],"src":"7152:904:25"},{"body":{"nodeType":"YulBlock","src":"8152:283:25","statements":[{"body":{"nodeType":"YulBlock","src":"8201:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8210:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8213:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8203:6:25"},"nodeType":"YulFunctionCall","src":"8203:12:25"},"nodeType":"YulExpressionStatement","src":"8203:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8180:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"8188:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8176:3:25"},"nodeType":"YulFunctionCall","src":"8176:17:25"},{"name":"end","nodeType":"YulIdentifier","src":"8195:3:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8172:3:25"},"nodeType":"YulFunctionCall","src":"8172:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8165:6:25"},"nodeType":"YulFunctionCall","src":"8165:35:25"},"nodeType":"YulIf","src":"8162:55:25"},{"nodeType":"YulAssignment","src":"8226:30:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8249:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8236:12:25"},"nodeType":"YulFunctionCall","src":"8236:20:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"8226:6:25"}]},{"body":{"nodeType":"YulBlock","src":"8299:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8308:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8311:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8301:6:25"},"nodeType":"YulFunctionCall","src":"8301:12:25"},"nodeType":"YulExpressionStatement","src":"8301:12:25"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8271:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"8279:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8268:2:25"},"nodeType":"YulFunctionCall","src":"8268:30:25"},"nodeType":"YulIf","src":"8265:50:25"},{"nodeType":"YulAssignment","src":"8324:29:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8340:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"8348:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8336:3:25"},"nodeType":"YulFunctionCall","src":"8336:17:25"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"8324:8:25"}]},{"body":{"nodeType":"YulBlock","src":"8413:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8422:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8425:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8415:6:25"},"nodeType":"YulFunctionCall","src":"8415:12:25"},"nodeType":"YulExpressionStatement","src":"8415:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8376:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8388:1:25","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"8391:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8384:3:25"},"nodeType":"YulFunctionCall","src":"8384:14:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8372:3:25"},"nodeType":"YulFunctionCall","src":"8372:27:25"},{"kind":"number","nodeType":"YulLiteral","src":"8401:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8368:3:25"},"nodeType":"YulFunctionCall","src":"8368:38:25"},{"name":"end","nodeType":"YulIdentifier","src":"8408:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8365:2:25"},"nodeType":"YulFunctionCall","src":"8365:47:25"},"nodeType":"YulIf","src":"8362:67:25"}]},"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8115:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"8123:3:25","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"8131:8:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"8141:6:25","type":""}],"src":"8061:374:25"},{"body":{"nodeType":"YulBlock","src":"8678:1333:25","statements":[{"body":{"nodeType":"YulBlock","src":"8725:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8734:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8737:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8727:6:25"},"nodeType":"YulFunctionCall","src":"8727:12:25"},"nodeType":"YulExpressionStatement","src":"8727:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"8699:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"8708:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8695:3:25"},"nodeType":"YulFunctionCall","src":"8695:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"8720:3:25","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"8691:3:25"},"nodeType":"YulFunctionCall","src":"8691:33:25"},"nodeType":"YulIf","src":"8688:53:25"},{"nodeType":"YulAssignment","src":"8750:37:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8777:9:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"8760:16:25"},"nodeType":"YulFunctionCall","src":"8760:27:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"8750:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"8796:12:25","value":{"kind":"number","nodeType":"YulLiteral","src":"8806:2:25","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"8800:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8817:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8848:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"8859:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8844:3:25"},"nodeType":"YulFunctionCall","src":"8844:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"8831:12:25"},"nodeType":"YulFunctionCall","src":"8831:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"8821:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8872:28:25","value":{"kind":"number","nodeType":"YulLiteral","src":"8882:18:25","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"8876:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"8927:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8936:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8939:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8929:6:25"},"nodeType":"YulFunctionCall","src":"8929:12:25"},"nodeType":"YulExpressionStatement","src":"8929:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"8915:6:25"},{"name":"_2","nodeType":"YulIdentifier","src":"8923:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8912:2:25"},"nodeType":"YulFunctionCall","src":"8912:14:25"},"nodeType":"YulIf","src":"8909:34:25"},{"nodeType":"YulVariableDeclaration","src":"8952:32:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8966:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"8977:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8962:3:25"},"nodeType":"YulFunctionCall","src":"8962:22:25"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"8956:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"9032:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9041:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9044:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9034:6:25"},"nodeType":"YulFunctionCall","src":"9034:12:25"},"nodeType":"YulExpressionStatement","src":"9034:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9011:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"9015:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9007:3:25"},"nodeType":"YulFunctionCall","src":"9007:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9022:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9003:3:25"},"nodeType":"YulFunctionCall","src":"9003:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8996:6:25"},"nodeType":"YulFunctionCall","src":"8996:35:25"},"nodeType":"YulIf","src":"8993:55:25"},{"nodeType":"YulVariableDeclaration","src":"9057:26:25","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9080:2:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9067:12:25"},"nodeType":"YulFunctionCall","src":"9067:16:25"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"9061:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9092:69:25","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"9157:2:25"}],"functionName":{"name":"array_allocation_size_array_uint8_dyn","nodeType":"YulIdentifier","src":"9119:37:25"},"nodeType":"YulFunctionCall","src":"9119:41:25"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"9103:15:25"},"nodeType":"YulFunctionCall","src":"9103:58:25"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"9096:3:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9170:16:25","value":{"name":"dst","nodeType":"YulIdentifier","src":"9183:3:25"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"9174:5:25","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9202:3:25"},{"name":"_4","nodeType":"YulIdentifier","src":"9207:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9195:6:25"},"nodeType":"YulFunctionCall","src":"9195:15:25"},"nodeType":"YulExpressionStatement","src":"9195:15:25"},{"nodeType":"YulAssignment","src":"9219:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9230:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9235:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9226:3:25"},"nodeType":"YulFunctionCall","src":"9226:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9219:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"9247:42:25","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9269:2:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9277:1:25","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"9280:2:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9273:3:25"},"nodeType":"YulFunctionCall","src":"9273:10:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9265:3:25"},"nodeType":"YulFunctionCall","src":"9265:19:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9286:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9261:3:25"},"nodeType":"YulFunctionCall","src":"9261:28:25"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"9251:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"9321:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9330:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9333:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9323:6:25"},"nodeType":"YulFunctionCall","src":"9323:12:25"},"nodeType":"YulExpressionStatement","src":"9323:12:25"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"9304:6:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9312:7:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9301:2:25"},"nodeType":"YulFunctionCall","src":"9301:19:25"},"nodeType":"YulIf","src":"9298:39:25"},{"nodeType":"YulVariableDeclaration","src":"9346:22:25","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"9361:2:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9365:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9357:3:25"},"nodeType":"YulFunctionCall","src":"9357:11:25"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"9350:3:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"9433:86:25","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9454:3:25"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9472:3:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9459:12:25"},"nodeType":"YulFunctionCall","src":"9459:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9447:6:25"},"nodeType":"YulFunctionCall","src":"9447:30:25"},"nodeType":"YulExpressionStatement","src":"9447:30:25"},{"nodeType":"YulAssignment","src":"9490:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"9501:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9506:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9497:3:25"},"nodeType":"YulFunctionCall","src":"9497:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"9490:3:25"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9388:3:25"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"9393:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9385:2:25"},"nodeType":"YulFunctionCall","src":"9385:15:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9401:23:25","statements":[{"nodeType":"YulAssignment","src":"9403:19:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9414:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9419:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9410:3:25"},"nodeType":"YulFunctionCall","src":"9410:12:25"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"9403:3:25"}]}]},"pre":{"nodeType":"YulBlock","src":"9381:3:25","statements":[]},"src":"9377:142:25"},{"nodeType":"YulAssignment","src":"9528:15:25","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"9538:5:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"9528:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"9552:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9585:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9596:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9581:3:25"},"nodeType":"YulFunctionCall","src":"9581:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9568:12:25"},"nodeType":"YulFunctionCall","src":"9568:32:25"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"9556:8:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"9629:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9638:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9641:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9631:6:25"},"nodeType":"YulFunctionCall","src":"9631:12:25"},"nodeType":"YulExpressionStatement","src":"9631:12:25"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"9615:8:25"},{"name":"_2","nodeType":"YulIdentifier","src":"9625:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9612:2:25"},"nodeType":"YulFunctionCall","src":"9612:16:25"},"nodeType":"YulIf","src":"9609:36:25"},{"nodeType":"YulAssignment","src":"9654:81:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9705:9:25"},{"name":"offset_1","nodeType":"YulIdentifier","src":"9716:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9701:3:25"},"nodeType":"YulFunctionCall","src":"9701:24:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9727:7:25"}],"functionName":{"name":"abi_decode_array_array_uint8_dyn_dyn","nodeType":"YulIdentifier","src":"9664:36:25"},"nodeType":"YulFunctionCall","src":"9664:71:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"9654:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"9744:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9777:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9788:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9773:3:25"},"nodeType":"YulFunctionCall","src":"9773:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9760:12:25"},"nodeType":"YulFunctionCall","src":"9760:32:25"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"9748:8:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"9821:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9830:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9833:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9823:6:25"},"nodeType":"YulFunctionCall","src":"9823:12:25"},"nodeType":"YulExpressionStatement","src":"9823:12:25"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"9807:8:25"},{"name":"_2","nodeType":"YulIdentifier","src":"9817:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9804:2:25"},"nodeType":"YulFunctionCall","src":"9804:16:25"},"nodeType":"YulIf","src":"9801:36:25"},{"nodeType":"YulVariableDeclaration","src":"9846:105:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9921:9:25"},{"name":"offset_2","nodeType":"YulIdentifier","src":"9932:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9917:3:25"},"nodeType":"YulFunctionCall","src":"9917:24:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9943:7:25"}],"functionName":{"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"9872:44:25"},"nodeType":"YulFunctionCall","src":"9872:79:25"},"variables":[{"name":"value3_1","nodeType":"YulTypedName","src":"9850:8:25","type":""},{"name":"value4_1","nodeType":"YulTypedName","src":"9860:8:25","type":""}]},{"nodeType":"YulAssignment","src":"9960:18:25","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"9970:8:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"9960:6:25"}]},{"nodeType":"YulAssignment","src":"9987:18:25","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"9997:8:25"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"9987:6:25"}]}]},"name":"abi_decode_tuple_t_uint8t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8612:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"8623:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"8635:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8643:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"8651:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"8659:6:25","type":""},{"name":"value4","nodeType":"YulTypedName","src":"8667:6:25","type":""}],"src":"8440:1571:25"},{"body":{"nodeType":"YulBlock","src":"10119:339:25","statements":[{"body":{"nodeType":"YulBlock","src":"10165:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10174:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10177:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10167:6:25"},"nodeType":"YulFunctionCall","src":"10167:12:25"},"nodeType":"YulExpressionStatement","src":"10167:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10140:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"10149:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10136:3:25"},"nodeType":"YulFunctionCall","src":"10136:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"10161:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10132:3:25"},"nodeType":"YulFunctionCall","src":"10132:32:25"},"nodeType":"YulIf","src":"10129:52:25"},{"nodeType":"YulVariableDeclaration","src":"10190:37:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10217:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10204:12:25"},"nodeType":"YulFunctionCall","src":"10204:23:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10194:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"10270:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10279:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10282:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10272:6:25"},"nodeType":"YulFunctionCall","src":"10272:12:25"},"nodeType":"YulExpressionStatement","src":"10272:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10242:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"10250:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10239:2:25"},"nodeType":"YulFunctionCall","src":"10239:30:25"},"nodeType":"YulIf","src":"10236:50:25"},{"nodeType":"YulVariableDeclaration","src":"10295:103:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10370:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"10381:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10366:3:25"},"nodeType":"YulFunctionCall","src":"10366:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10390:7:25"}],"functionName":{"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"10321:44:25"},"nodeType":"YulFunctionCall","src":"10321:77:25"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"10299:8:25","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"10309:8:25","type":""}]},{"nodeType":"YulAssignment","src":"10407:18:25","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"10417:8:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10407:6:25"}]},{"nodeType":"YulAssignment","src":"10434:18:25","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"10444:8:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10434:6:25"}]}]},"name":"abi_decode_tuple_t_array$_t_uint8_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10077:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10088:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10100:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10108:6:25","type":""}],"src":"10016:442:25"},{"body":{"nodeType":"YulBlock","src":"10567:352:25","statements":[{"body":{"nodeType":"YulBlock","src":"10613:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10622:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10625:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10615:6:25"},"nodeType":"YulFunctionCall","src":"10615:12:25"},"nodeType":"YulExpressionStatement","src":"10615:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"10588:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"10597:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10584:3:25"},"nodeType":"YulFunctionCall","src":"10584:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"10609:2:25","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"10580:3:25"},"nodeType":"YulFunctionCall","src":"10580:32:25"},"nodeType":"YulIf","src":"10577:52:25"},{"nodeType":"YulVariableDeclaration","src":"10638:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10664:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10651:12:25"},"nodeType":"YulFunctionCall","src":"10651:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"10642:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10708:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10683:24:25"},"nodeType":"YulFunctionCall","src":"10683:31:25"},"nodeType":"YulExpressionStatement","src":"10683:31:25"},{"nodeType":"YulAssignment","src":"10723:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"10733:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10723:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"10747:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10779:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"10790:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10775:3:25"},"nodeType":"YulFunctionCall","src":"10775:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10762:12:25"},"nodeType":"YulFunctionCall","src":"10762:32:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"10751:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"10828:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"10803:24:25"},"nodeType":"YulFunctionCall","src":"10803:33:25"},"nodeType":"YulExpressionStatement","src":"10803:33:25"},{"nodeType":"YulAssignment","src":"10845:17:25","value":{"name":"value_1","nodeType":"YulIdentifier","src":"10855:7:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10845:6:25"}]},{"nodeType":"YulAssignment","src":"10871:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10898:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"10909:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10894:3:25"},"nodeType":"YulFunctionCall","src":"10894:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10881:12:25"},"nodeType":"YulFunctionCall","src":"10881:32:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10871:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10517:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10528:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10540:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10548:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10556:6:25","type":""}],"src":"10463:456:25"},{"body":{"nodeType":"YulBlock","src":"10992:114:25","statements":[{"body":{"nodeType":"YulBlock","src":"11038:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11047:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11050:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11040:6:25"},"nodeType":"YulFunctionCall","src":"11040:12:25"},"nodeType":"YulExpressionStatement","src":"11040:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11013:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"11022:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11009:3:25"},"nodeType":"YulFunctionCall","src":"11009:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"11034:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11005:3:25"},"nodeType":"YulFunctionCall","src":"11005:32:25"},"nodeType":"YulIf","src":"11002:52:25"},{"nodeType":"YulAssignment","src":"11063:37:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11090:9:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"11073:16:25"},"nodeType":"YulFunctionCall","src":"11073:27:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11063:6:25"}]}]},"name":"abi_decode_tuple_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10958:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"10969:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"10981:6:25","type":""}],"src":"10924:182:25"},{"body":{"nodeType":"YulBlock","src":"11240:102:25","statements":[{"nodeType":"YulAssignment","src":"11250:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11262:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"11273:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11258:3:25"},"nodeType":"YulFunctionCall","src":"11258:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11250:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11292:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11307:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11323:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"11328:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"11319:3:25"},"nodeType":"YulFunctionCall","src":"11319:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"11332:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11315:3:25"},"nodeType":"YulFunctionCall","src":"11315:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"11303:3:25"},"nodeType":"YulFunctionCall","src":"11303:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11285:6:25"},"nodeType":"YulFunctionCall","src":"11285:51:25"},"nodeType":"YulExpressionStatement","src":"11285:51:25"}]},"name":"abi_encode_tuple_t_contract$_IgammaPacksContract_$3525__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11209:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11220:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11231:4:25","type":""}],"src":"11111:231:25"},{"body":{"nodeType":"YulBlock","src":"11474:420:25","statements":[{"body":{"nodeType":"YulBlock","src":"11520:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11529:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11532:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11522:6:25"},"nodeType":"YulFunctionCall","src":"11522:12:25"},"nodeType":"YulExpressionStatement","src":"11522:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11495:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"11504:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11491:3:25"},"nodeType":"YulFunctionCall","src":"11491:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"11516:2:25","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11487:3:25"},"nodeType":"YulFunctionCall","src":"11487:32:25"},"nodeType":"YulIf","src":"11484:52:25"},{"nodeType":"YulVariableDeclaration","src":"11545:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11571:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11558:12:25"},"nodeType":"YulFunctionCall","src":"11558:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"11549:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"11615:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"11590:24:25"},"nodeType":"YulFunctionCall","src":"11590:31:25"},"nodeType":"YulExpressionStatement","src":"11590:31:25"},{"nodeType":"YulAssignment","src":"11630:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"11640:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11630:6:25"}]},{"nodeType":"YulAssignment","src":"11654:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11681:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"11692:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11677:3:25"},"nodeType":"YulFunctionCall","src":"11677:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11664:12:25"},"nodeType":"YulFunctionCall","src":"11664:32:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11654:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"11705:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11736:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"11747:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11732:3:25"},"nodeType":"YulFunctionCall","src":"11732:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11719:12:25"},"nodeType":"YulFunctionCall","src":"11719:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"11709:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"11794:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11803:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11806:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11796:6:25"},"nodeType":"YulFunctionCall","src":"11796:12:25"},"nodeType":"YulExpressionStatement","src":"11796:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11766:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"11774:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11763:2:25"},"nodeType":"YulFunctionCall","src":"11763:30:25"},"nodeType":"YulIf","src":"11760:50:25"},{"nodeType":"YulAssignment","src":"11819:69:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11860:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"11871:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11856:3:25"},"nodeType":"YulFunctionCall","src":"11856:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"11880:7:25"}],"functionName":{"name":"abi_decode_array_uint8_dyn","nodeType":"YulIdentifier","src":"11829:26:25"},"nodeType":"YulFunctionCall","src":"11829:59:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"11819:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11424:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11435:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11447:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11455:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11463:6:25","type":""}],"src":"11347:547:25"},{"body":{"nodeType":"YulBlock","src":"12102:277:25","statements":[{"nodeType":"YulAssignment","src":"12112:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12124:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"12135:3:25","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12120:3:25"},"nodeType":"YulFunctionCall","src":"12120:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12112:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12155:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"12166:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12148:6:25"},"nodeType":"YulFunctionCall","src":"12148:25:25"},"nodeType":"YulExpressionStatement","src":"12148:25:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12193:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"12204:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12189:3:25"},"nodeType":"YulFunctionCall","src":"12189:18:25"},{"name":"value1","nodeType":"YulIdentifier","src":"12209:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12182:6:25"},"nodeType":"YulFunctionCall","src":"12182:34:25"},"nodeType":"YulExpressionStatement","src":"12182:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12236:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"12247:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12232:3:25"},"nodeType":"YulFunctionCall","src":"12232:18:25"},{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12266:6:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12259:6:25"},"nodeType":"YulFunctionCall","src":"12259:14:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12252:6:25"},"nodeType":"YulFunctionCall","src":"12252:22:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12225:6:25"},"nodeType":"YulFunctionCall","src":"12225:50:25"},"nodeType":"YulExpressionStatement","src":"12225:50:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12295:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"12306:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12291:3:25"},"nodeType":"YulFunctionCall","src":"12291:18:25"},{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"12315:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"12323:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12311:3:25"},"nodeType":"YulFunctionCall","src":"12311:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12284:6:25"},"nodeType":"YulFunctionCall","src":"12284:45:25"},"nodeType":"YulExpressionStatement","src":"12284:45:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12349:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"12360:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12345:3:25"},"nodeType":"YulFunctionCall","src":"12345:19:25"},{"name":"value4","nodeType":"YulIdentifier","src":"12366:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12338:6:25"},"nodeType":"YulFunctionCall","src":"12338:35:25"},"nodeType":"YulExpressionStatement","src":"12338:35:25"}]},"name":"abi_encode_tuple_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__to_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12039:9:25","type":""},{"name":"value4","nodeType":"YulTypedName","src":"12050:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"12058:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12066:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12074:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12082:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12093:4:25","type":""}],"src":"11899:480:25"},{"body":{"nodeType":"YulBlock","src":"12426:76:25","statements":[{"body":{"nodeType":"YulBlock","src":"12480:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12489:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12492:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12482:6:25"},"nodeType":"YulFunctionCall","src":"12482:12:25"},"nodeType":"YulExpressionStatement","src":"12482:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12449:5:25"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12470:5:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12463:6:25"},"nodeType":"YulFunctionCall","src":"12463:13:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12456:6:25"},"nodeType":"YulFunctionCall","src":"12456:21:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"12446:2:25"},"nodeType":"YulFunctionCall","src":"12446:32:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12439:6:25"},"nodeType":"YulFunctionCall","src":"12439:40:25"},"nodeType":"YulIf","src":"12436:60:25"}]},"name":"validator_revert_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"12415:5:25","type":""}],"src":"12384:118:25"},{"body":{"nodeType":"YulBlock","src":"12574:174:25","statements":[{"body":{"nodeType":"YulBlock","src":"12620:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12629:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"12632:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"12622:6:25"},"nodeType":"YulFunctionCall","src":"12622:12:25"},"nodeType":"YulExpressionStatement","src":"12622:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12595:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"12604:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12591:3:25"},"nodeType":"YulFunctionCall","src":"12591:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"12616:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12587:3:25"},"nodeType":"YulFunctionCall","src":"12587:32:25"},"nodeType":"YulIf","src":"12584:52:25"},{"nodeType":"YulVariableDeclaration","src":"12645:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12671:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12658:12:25"},"nodeType":"YulFunctionCall","src":"12658:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"12649:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"12712:5:25"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"12690:21:25"},"nodeType":"YulFunctionCall","src":"12690:28:25"},"nodeType":"YulExpressionStatement","src":"12690:28:25"},{"nodeType":"YulAssignment","src":"12727:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"12737:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12727:6:25"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12540:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12551:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12563:6:25","type":""}],"src":"12507:241:25"},{"body":{"nodeType":"YulBlock","src":"12811:129:25","statements":[{"body":{"nodeType":"YulBlock","src":"12855:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"12857:16:25"},"nodeType":"YulFunctionCall","src":"12857:18:25"},"nodeType":"YulExpressionStatement","src":"12857:18:25"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12827:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"12835:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"12824:2:25"},"nodeType":"YulFunctionCall","src":"12824:30:25"},"nodeType":"YulIf","src":"12821:56:25"},{"nodeType":"YulAssignment","src":"12886:48:25","value":{"arguments":[{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"12906:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"12914:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12902:3:25"},"nodeType":"YulFunctionCall","src":"12902:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12923:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"12919:3:25"},"nodeType":"YulFunctionCall","src":"12919:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12898:3:25"},"nodeType":"YulFunctionCall","src":"12898:29:25"},{"kind":"number","nodeType":"YulLiteral","src":"12929:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12894:3:25"},"nodeType":"YulFunctionCall","src":"12894:40:25"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"12886:4:25"}]}]},"name":"array_allocation_size_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"12791:6:25","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"12802:4:25","type":""}],"src":"12753:187:25"},{"body":{"nodeType":"YulBlock","src":"13020:263:25","statements":[{"nodeType":"YulAssignment","src":"13030:62:25","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"13084:6:25"}],"functionName":{"name":"array_allocation_size_string","nodeType":"YulIdentifier","src":"13055:28:25"},"nodeType":"YulFunctionCall","src":"13055:36:25"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"13039:15:25"},"nodeType":"YulFunctionCall","src":"13039:53:25"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"13030:5:25"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"13108:5:25"},{"name":"length","nodeType":"YulIdentifier","src":"13115:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13101:6:25"},"nodeType":"YulFunctionCall","src":"13101:21:25"},"nodeType":"YulExpressionStatement","src":"13101:21:25"},{"body":{"nodeType":"YulBlock","src":"13160:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13169:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13172:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13162:6:25"},"nodeType":"YulFunctionCall","src":"13162:12:25"},"nodeType":"YulExpressionStatement","src":"13162:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"13141:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"13146:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13137:3:25"},"nodeType":"YulFunctionCall","src":"13137:16:25"},{"name":"end","nodeType":"YulIdentifier","src":"13155:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13134:2:25"},"nodeType":"YulFunctionCall","src":"13134:25:25"},"nodeType":"YulIf","src":"13131:45:25"},{"expression":{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"13202:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"13209:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13198:3:25"},"nodeType":"YulFunctionCall","src":"13198:16:25"},{"name":"src","nodeType":"YulIdentifier","src":"13216:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"13221:6:25"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"13185:12:25"},"nodeType":"YulFunctionCall","src":"13185:43:25"},"nodeType":"YulExpressionStatement","src":"13185:43:25"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"13252:5:25"},{"name":"length","nodeType":"YulIdentifier","src":"13259:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13248:3:25"},"nodeType":"YulFunctionCall","src":"13248:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"13268:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13244:3:25"},"nodeType":"YulFunctionCall","src":"13244:29:25"},{"kind":"number","nodeType":"YulLiteral","src":"13275:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13237:6:25"},"nodeType":"YulFunctionCall","src":"13237:40:25"},"nodeType":"YulExpressionStatement","src":"13237:40:25"}]},"name":"abi_decode_available_length_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"12989:3:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"12994:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"13002:3:25","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"13010:5:25","type":""}],"src":"12945:338:25"},{"body":{"nodeType":"YulBlock","src":"13341:169:25","statements":[{"body":{"nodeType":"YulBlock","src":"13390:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13399:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13402:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13392:6:25"},"nodeType":"YulFunctionCall","src":"13392:12:25"},"nodeType":"YulExpressionStatement","src":"13392:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13369:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"13377:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13365:3:25"},"nodeType":"YulFunctionCall","src":"13365:17:25"},{"name":"end","nodeType":"YulIdentifier","src":"13384:3:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13361:3:25"},"nodeType":"YulFunctionCall","src":"13361:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13354:6:25"},"nodeType":"YulFunctionCall","src":"13354:35:25"},"nodeType":"YulIf","src":"13351:55:25"},{"nodeType":"YulAssignment","src":"13415:89:25","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13463:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"13471:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13459:3:25"},"nodeType":"YulFunctionCall","src":"13459:17:25"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13491:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13478:12:25"},"nodeType":"YulFunctionCall","src":"13478:20:25"},{"name":"end","nodeType":"YulIdentifier","src":"13500:3:25"}],"functionName":{"name":"abi_decode_available_length_string","nodeType":"YulIdentifier","src":"13424:34:25"},"nodeType":"YulFunctionCall","src":"13424:80:25"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"13415:5:25"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"13315:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"13323:3:25","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"13331:5:25","type":""}],"src":"13288:222:25"},{"body":{"nodeType":"YulBlock","src":"13680:859:25","statements":[{"body":{"nodeType":"YulBlock","src":"13727:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13736:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"13739:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"13729:6:25"},"nodeType":"YulFunctionCall","src":"13729:12:25"},"nodeType":"YulExpressionStatement","src":"13729:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13701:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"13710:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13697:3:25"},"nodeType":"YulFunctionCall","src":"13697:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"13722:3:25","type":"","value":"192"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13693:3:25"},"nodeType":"YulFunctionCall","src":"13693:33:25"},"nodeType":"YulIf","src":"13690:53:25"},{"nodeType":"YulVariableDeclaration","src":"13752:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13778:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13765:12:25"},"nodeType":"YulFunctionCall","src":"13765:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"13756:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"13822:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13797:24:25"},"nodeType":"YulFunctionCall","src":"13797:31:25"},"nodeType":"YulExpressionStatement","src":"13797:31:25"},{"nodeType":"YulAssignment","src":"13837:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"13847:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13837:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"13861:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13893:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"13904:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13889:3:25"},"nodeType":"YulFunctionCall","src":"13889:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"13876:12:25"},"nodeType":"YulFunctionCall","src":"13876:32:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"13865:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"13942:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"13917:24:25"},"nodeType":"YulFunctionCall","src":"13917:33:25"},"nodeType":"YulExpressionStatement","src":"13917:33:25"},{"nodeType":"YulAssignment","src":"13959:17:25","value":{"name":"value_1","nodeType":"YulIdentifier","src":"13969:7:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13959:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"13985:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14017:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"14028:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14013:3:25"},"nodeType":"YulFunctionCall","src":"14013:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14000:12:25"},"nodeType":"YulFunctionCall","src":"14000:32:25"},"variables":[{"name":"value_2","nodeType":"YulTypedName","src":"13989:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_2","nodeType":"YulIdentifier","src":"14066:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14041:24:25"},"nodeType":"YulFunctionCall","src":"14041:33:25"},"nodeType":"YulExpressionStatement","src":"14041:33:25"},{"nodeType":"YulAssignment","src":"14083:17:25","value":{"name":"value_2","nodeType":"YulIdentifier","src":"14093:7:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"14083:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"14109:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14141:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"14152:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14137:3:25"},"nodeType":"YulFunctionCall","src":"14137:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14124:12:25"},"nodeType":"YulFunctionCall","src":"14124:32:25"},"variables":[{"name":"value_3","nodeType":"YulTypedName","src":"14113:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_3","nodeType":"YulIdentifier","src":"14190:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14165:24:25"},"nodeType":"YulFunctionCall","src":"14165:33:25"},"nodeType":"YulExpressionStatement","src":"14165:33:25"},{"nodeType":"YulAssignment","src":"14207:17:25","value":{"name":"value_3","nodeType":"YulIdentifier","src":"14217:7:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"14207:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"14233:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14264:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"14275:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14260:3:25"},"nodeType":"YulFunctionCall","src":"14260:19:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14247:12:25"},"nodeType":"YulFunctionCall","src":"14247:33:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14237:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"14323:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14332:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14335:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14325:6:25"},"nodeType":"YulFunctionCall","src":"14325:12:25"},"nodeType":"YulExpressionStatement","src":"14325:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14295:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"14303:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14292:2:25"},"nodeType":"YulFunctionCall","src":"14292:30:25"},"nodeType":"YulIf","src":"14289:50:25"},{"nodeType":"YulAssignment","src":"14348:60:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14380:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"14391:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14376:3:25"},"nodeType":"YulFunctionCall","src":"14376:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14400:7:25"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"14358:17:25"},"nodeType":"YulFunctionCall","src":"14358:50:25"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"14348:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"14417:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14449:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"14460:3:25","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14445:3:25"},"nodeType":"YulFunctionCall","src":"14445:19:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14432:12:25"},"nodeType":"YulFunctionCall","src":"14432:33:25"},"variables":[{"name":"value_4","nodeType":"YulTypedName","src":"14421:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_4","nodeType":"YulIdentifier","src":"14499:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"14474:24:25"},"nodeType":"YulFunctionCall","src":"14474:33:25"},"nodeType":"YulExpressionStatement","src":"14474:33:25"},{"nodeType":"YulAssignment","src":"14516:17:25","value":{"name":"value_4","nodeType":"YulIdentifier","src":"14526:7:25"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"14516:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_addresst_string_memory_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13606:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13617:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13629:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13637:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"13645:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"13653:6:25","type":""},{"name":"value4","nodeType":"YulTypedName","src":"13661:6:25","type":""},{"name":"value5","nodeType":"YulTypedName","src":"13669:6:25","type":""}],"src":"13515:1024:25"},{"body":{"nodeType":"YulBlock","src":"14651:436:25","statements":[{"body":{"nodeType":"YulBlock","src":"14697:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14706:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14709:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14699:6:25"},"nodeType":"YulFunctionCall","src":"14699:12:25"},"nodeType":"YulExpressionStatement","src":"14699:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"14672:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"14681:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"14668:3:25"},"nodeType":"YulFunctionCall","src":"14668:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"14693:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"14664:3:25"},"nodeType":"YulFunctionCall","src":"14664:32:25"},"nodeType":"YulIf","src":"14661:52:25"},{"nodeType":"YulVariableDeclaration","src":"14722:37:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14749:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14736:12:25"},"nodeType":"YulFunctionCall","src":"14736:23:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"14726:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"14768:28:25","value":{"kind":"number","nodeType":"YulLiteral","src":"14778:18:25","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14772:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"14823:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14832:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"14835:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14825:6:25"},"nodeType":"YulFunctionCall","src":"14825:12:25"},"nodeType":"YulExpressionStatement","src":"14825:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"14811:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"14819:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14808:2:25"},"nodeType":"YulFunctionCall","src":"14808:14:25"},"nodeType":"YulIf","src":"14805:34:25"},{"nodeType":"YulAssignment","src":"14848:60:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14880:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"14891:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14876:3:25"},"nodeType":"YulFunctionCall","src":"14876:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"14900:7:25"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"14858:17:25"},"nodeType":"YulFunctionCall","src":"14858:50:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"14848:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"14917:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14950:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"14961:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14946:3:25"},"nodeType":"YulFunctionCall","src":"14946:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"14933:12:25"},"nodeType":"YulFunctionCall","src":"14933:32:25"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"14921:8:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"14994:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15003:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15006:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"14996:6:25"},"nodeType":"YulFunctionCall","src":"14996:12:25"},"nodeType":"YulExpressionStatement","src":"14996:12:25"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"14980:8:25"},{"name":"_1","nodeType":"YulIdentifier","src":"14990:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14977:2:25"},"nodeType":"YulFunctionCall","src":"14977:16:25"},"nodeType":"YulIf","src":"14974:36:25"},{"nodeType":"YulAssignment","src":"15019:62:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15051:9:25"},{"name":"offset_1","nodeType":"YulIdentifier","src":"15062:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15047:3:25"},"nodeType":"YulFunctionCall","src":"15047:24:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15073:7:25"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"15029:17:25"},"nodeType":"YulFunctionCall","src":"15029:52:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15019:6:25"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14609:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"14620:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"14632:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14640:6:25","type":""}],"src":"14544:543:25"},{"body":{"nodeType":"YulBlock","src":"15212:457:25","statements":[{"body":{"nodeType":"YulBlock","src":"15258:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15267:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15270:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15260:6:25"},"nodeType":"YulFunctionCall","src":"15260:12:25"},"nodeType":"YulExpressionStatement","src":"15260:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15233:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"15242:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15229:3:25"},"nodeType":"YulFunctionCall","src":"15229:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"15254:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15225:3:25"},"nodeType":"YulFunctionCall","src":"15225:32:25"},"nodeType":"YulIf","src":"15222:52:25"},{"nodeType":"YulVariableDeclaration","src":"15283:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15309:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15296:12:25"},"nodeType":"YulFunctionCall","src":"15296:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15287:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15353:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15328:24:25"},"nodeType":"YulFunctionCall","src":"15328:31:25"},"nodeType":"YulExpressionStatement","src":"15328:31:25"},{"nodeType":"YulAssignment","src":"15368:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"15378:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15368:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"15392:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15423:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"15434:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15419:3:25"},"nodeType":"YulFunctionCall","src":"15419:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15406:12:25"},"nodeType":"YulFunctionCall","src":"15406:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"15396:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"15481:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15490:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15493:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15483:6:25"},"nodeType":"YulFunctionCall","src":"15483:12:25"},"nodeType":"YulExpressionStatement","src":"15483:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15453:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"15461:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15450:2:25"},"nodeType":"YulFunctionCall","src":"15450:30:25"},"nodeType":"YulIf","src":"15447:50:25"},{"nodeType":"YulVariableDeclaration","src":"15506:103:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15581:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"15592:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15577:3:25"},"nodeType":"YulFunctionCall","src":"15577:22:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"15601:7:25"}],"functionName":{"name":"abi_decode_array_bytes_calldata_dyn_calldata","nodeType":"YulIdentifier","src":"15532:44:25"},"nodeType":"YulFunctionCall","src":"15532:77:25"},"variables":[{"name":"value1_1","nodeType":"YulTypedName","src":"15510:8:25","type":""},{"name":"value2_1","nodeType":"YulTypedName","src":"15520:8:25","type":""}]},{"nodeType":"YulAssignment","src":"15618:18:25","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"15628:8:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"15618:6:25"}]},{"nodeType":"YulAssignment","src":"15645:18:25","value":{"name":"value2_1","nodeType":"YulIdentifier","src":"15655:8:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"15645:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_uint8_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15162:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15173:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15185:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15193:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"15201:6:25","type":""}],"src":"15092:577:25"},{"body":{"nodeType":"YulBlock","src":"15758:298:25","statements":[{"body":{"nodeType":"YulBlock","src":"15804:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15813:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15816:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15806:6:25"},"nodeType":"YulFunctionCall","src":"15806:12:25"},"nodeType":"YulExpressionStatement","src":"15806:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"15779:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"15788:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"15775:3:25"},"nodeType":"YulFunctionCall","src":"15775:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"15800:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"15771:3:25"},"nodeType":"YulFunctionCall","src":"15771:32:25"},"nodeType":"YulIf","src":"15768:52:25"},{"nodeType":"YulVariableDeclaration","src":"15829:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15855:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15842:12:25"},"nodeType":"YulFunctionCall","src":"15842:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"15833:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15899:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"15874:24:25"},"nodeType":"YulFunctionCall","src":"15874:31:25"},"nodeType":"YulExpressionStatement","src":"15874:31:25"},{"nodeType":"YulAssignment","src":"15914:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"15924:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"15914:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"15938:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15970:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"15981:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15966:3:25"},"nodeType":"YulFunctionCall","src":"15966:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"15953:12:25"},"nodeType":"YulFunctionCall","src":"15953:32:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"15942:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"16016:7:25"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"15994:21:25"},"nodeType":"YulFunctionCall","src":"15994:30:25"},"nodeType":"YulExpressionStatement","src":"15994:30:25"},{"nodeType":"YulAssignment","src":"16033:17:25","value":{"name":"value_1","nodeType":"YulIdentifier","src":"16043:7:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"16033:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15716:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"15727:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"15739:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"15747:6:25","type":""}],"src":"15674:382:25"},{"body":{"nodeType":"YulBlock","src":"16178:412:25","statements":[{"body":{"nodeType":"YulBlock","src":"16225:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16234:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16237:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16227:6:25"},"nodeType":"YulFunctionCall","src":"16227:12:25"},"nodeType":"YulExpressionStatement","src":"16227:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16199:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"16208:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16195:3:25"},"nodeType":"YulFunctionCall","src":"16195:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"16220:3:25","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16191:3:25"},"nodeType":"YulFunctionCall","src":"16191:33:25"},"nodeType":"YulIf","src":"16188:53:25"},{"nodeType":"YulVariableDeclaration","src":"16250:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16276:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16263:12:25"},"nodeType":"YulFunctionCall","src":"16263:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16254:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16320:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16295:24:25"},"nodeType":"YulFunctionCall","src":"16295:31:25"},"nodeType":"YulExpressionStatement","src":"16295:31:25"},{"nodeType":"YulAssignment","src":"16335:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"16345:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16335:6:25"}]},{"nodeType":"YulAssignment","src":"16359:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16390:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"16401:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16386:3:25"},"nodeType":"YulFunctionCall","src":"16386:18:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"16369:16:25"},"nodeType":"YulFunctionCall","src":"16369:36:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"16359:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"16414:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16446:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"16457:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16442:3:25"},"nodeType":"YulFunctionCall","src":"16442:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16429:12:25"},"nodeType":"YulFunctionCall","src":"16429:32:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"16418:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"16495:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16470:24:25"},"nodeType":"YulFunctionCall","src":"16470:33:25"},"nodeType":"YulExpressionStatement","src":"16470:33:25"},{"nodeType":"YulAssignment","src":"16512:17:25","value":{"name":"value_1","nodeType":"YulIdentifier","src":"16522:7:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"16512:6:25"}]},{"nodeType":"YulAssignment","src":"16538:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16569:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"16580:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16565:3:25"},"nodeType":"YulFunctionCall","src":"16565:18:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"16548:16:25"},"nodeType":"YulFunctionCall","src":"16548:36:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"16538:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint8t_addresst_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16120:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16131:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16143:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16151:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16159:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16167:6:25","type":""}],"src":"16061:529:25"},{"body":{"nodeType":"YulBlock","src":"16725:665:25","statements":[{"body":{"nodeType":"YulBlock","src":"16772:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"16781:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"16784:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"16774:6:25"},"nodeType":"YulFunctionCall","src":"16774:12:25"},"nodeType":"YulExpressionStatement","src":"16774:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16746:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"16755:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16742:3:25"},"nodeType":"YulFunctionCall","src":"16742:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"16767:3:25","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16738:3:25"},"nodeType":"YulFunctionCall","src":"16738:33:25"},"nodeType":"YulIf","src":"16735:53:25"},{"nodeType":"YulVariableDeclaration","src":"16797:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16823:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16810:12:25"},"nodeType":"YulFunctionCall","src":"16810:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"16801:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"16867:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16842:24:25"},"nodeType":"YulFunctionCall","src":"16842:31:25"},"nodeType":"YulExpressionStatement","src":"16842:31:25"},{"nodeType":"YulAssignment","src":"16882:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"16892:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16882:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"16906:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16938:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"16949:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16934:3:25"},"nodeType":"YulFunctionCall","src":"16934:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"16921:12:25"},"nodeType":"YulFunctionCall","src":"16921:32:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"16910:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"16987:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"16962:24:25"},"nodeType":"YulFunctionCall","src":"16962:33:25"},"nodeType":"YulExpressionStatement","src":"16962:33:25"},{"nodeType":"YulAssignment","src":"17004:17:25","value":{"name":"value_1","nodeType":"YulIdentifier","src":"17014:7:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"17004:6:25"}]},{"nodeType":"YulAssignment","src":"17030:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17057:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"17068:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17053:3:25"},"nodeType":"YulFunctionCall","src":"17053:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17040:12:25"},"nodeType":"YulFunctionCall","src":"17040:32:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"17030:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"17081:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17112:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"17123:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17108:3:25"},"nodeType":"YulFunctionCall","src":"17108:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17095:12:25"},"nodeType":"YulFunctionCall","src":"17095:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"17085:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"17170:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17179:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17182:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17172:6:25"},"nodeType":"YulFunctionCall","src":"17172:12:25"},"nodeType":"YulExpressionStatement","src":"17172:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"17142:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"17150:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"17139:2:25"},"nodeType":"YulFunctionCall","src":"17139:30:25"},"nodeType":"YulIf","src":"17136:50:25"},{"nodeType":"YulVariableDeclaration","src":"17195:32:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17209:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"17220:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17205:3:25"},"nodeType":"YulFunctionCall","src":"17205:22:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"17199:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"17275:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17284:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17287:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17277:6:25"},"nodeType":"YulFunctionCall","src":"17277:12:25"},"nodeType":"YulExpressionStatement","src":"17277:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17254:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"17258:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17250:3:25"},"nodeType":"YulFunctionCall","src":"17250:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17265:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17246:3:25"},"nodeType":"YulFunctionCall","src":"17246:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"17239:6:25"},"nodeType":"YulFunctionCall","src":"17239:35:25"},"nodeType":"YulIf","src":"17236:55:25"},{"nodeType":"YulAssignment","src":"17300:84:25","value":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17349:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"17353:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17345:3:25"},"nodeType":"YulFunctionCall","src":"17345:11:25"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"17371:2:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17358:12:25"},"nodeType":"YulFunctionCall","src":"17358:16:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"17376:7:25"}],"functionName":{"name":"abi_decode_available_length_string","nodeType":"YulIdentifier","src":"17310:34:25"},"nodeType":"YulFunctionCall","src":"17310:74:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"17300:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16667:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16678:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16690:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16698:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"16706:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"16714:6:25","type":""}],"src":"16595:795:25"},{"body":{"nodeType":"YulBlock","src":"17525:102:25","statements":[{"nodeType":"YulAssignment","src":"17535:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17547:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"17558:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17543:3:25"},"nodeType":"YulFunctionCall","src":"17543:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17535:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17577:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"17592:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17608:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"17613:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17604:3:25"},"nodeType":"YulFunctionCall","src":"17604:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"17617:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17600:3:25"},"nodeType":"YulFunctionCall","src":"17600:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17588:3:25"},"nodeType":"YulFunctionCall","src":"17588:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17570:6:25"},"nodeType":"YulFunctionCall","src":"17570:51:25"},"nodeType":"YulExpressionStatement","src":"17570:51:25"}]},"name":"abi_encode_tuple_t_contract$_IgammaOffersContract_$3565__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17494:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"17505:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17516:4:25","type":""}],"src":"17395:232:25"},{"body":{"nodeType":"YulBlock","src":"17719:301:25","statements":[{"body":{"nodeType":"YulBlock","src":"17765:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17774:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17777:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17767:6:25"},"nodeType":"YulFunctionCall","src":"17767:12:25"},"nodeType":"YulExpressionStatement","src":"17767:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"17740:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"17749:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17736:3:25"},"nodeType":"YulFunctionCall","src":"17736:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"17761:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"17732:3:25"},"nodeType":"YulFunctionCall","src":"17732:32:25"},"nodeType":"YulIf","src":"17729:52:25"},{"nodeType":"YulVariableDeclaration","src":"17790:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17816:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17803:12:25"},"nodeType":"YulFunctionCall","src":"17803:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"17794:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17860:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17835:24:25"},"nodeType":"YulFunctionCall","src":"17835:31:25"},"nodeType":"YulExpressionStatement","src":"17835:31:25"},{"nodeType":"YulAssignment","src":"17875:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"17885:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"17875:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"17899:47:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17931:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"17942:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17927:3:25"},"nodeType":"YulFunctionCall","src":"17927:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"17914:12:25"},"nodeType":"YulFunctionCall","src":"17914:32:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"17903:7:25","type":""}]},{"expression":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"17980:7:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"17955:24:25"},"nodeType":"YulFunctionCall","src":"17955:33:25"},"nodeType":"YulExpressionStatement","src":"17955:33:25"},{"nodeType":"YulAssignment","src":"17997:17:25","value":{"name":"value_1","nodeType":"YulIdentifier","src":"18007:7:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"17997:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17677:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"17688:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"17700:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"17708:6:25","type":""}],"src":"17632:388:25"},{"body":{"nodeType":"YulBlock","src":"18057:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18074:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18081:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18086:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18077:3:25"},"nodeType":"YulFunctionCall","src":"18077:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18067:6:25"},"nodeType":"YulFunctionCall","src":"18067:31:25"},"nodeType":"YulExpressionStatement","src":"18067:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18114:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18117:4:25","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18107:6:25"},"nodeType":"YulFunctionCall","src":"18107:15:25"},"nodeType":"YulExpressionStatement","src":"18107:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18138:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18141:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18131:6:25"},"nodeType":"YulFunctionCall","src":"18131:15:25"},"nodeType":"YulExpressionStatement","src":"18131:15:25"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"18025:127:25"},{"body":{"nodeType":"YulBlock","src":"18282:156:25","statements":[{"nodeType":"YulAssignment","src":"18292:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18304:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"18315:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18300:3:25"},"nodeType":"YulFunctionCall","src":"18300:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18292:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18334:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"18349:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18365:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"18370:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18361:3:25"},"nodeType":"YulFunctionCall","src":"18361:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"18374:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18357:3:25"},"nodeType":"YulFunctionCall","src":"18357:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18345:3:25"},"nodeType":"YulFunctionCall","src":"18345:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18327:6:25"},"nodeType":"YulFunctionCall","src":"18327:51:25"},"nodeType":"YulExpressionStatement","src":"18327:51:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18398:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"18409:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18394:3:25"},"nodeType":"YulFunctionCall","src":"18394:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"18418:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"18426:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18414:3:25"},"nodeType":"YulFunctionCall","src":"18414:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18387:6:25"},"nodeType":"YulFunctionCall","src":"18387:45:25"},"nodeType":"YulExpressionStatement","src":"18387:45:25"}]},"name":"abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18243:9:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"18254:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"18262:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18273:4:25","type":""}],"src":"18157:281:25"},{"body":{"nodeType":"YulBlock","src":"18521:167:25","statements":[{"body":{"nodeType":"YulBlock","src":"18567:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18576:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18579:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18569:6:25"},"nodeType":"YulFunctionCall","src":"18569:12:25"},"nodeType":"YulExpressionStatement","src":"18569:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"18542:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"18551:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18538:3:25"},"nodeType":"YulFunctionCall","src":"18538:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"18563:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"18534:3:25"},"nodeType":"YulFunctionCall","src":"18534:32:25"},"nodeType":"YulIf","src":"18531:52:25"},{"nodeType":"YulVariableDeclaration","src":"18592:29:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18611:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"18605:5:25"},"nodeType":"YulFunctionCall","src":"18605:16:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"18596:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18652:5:25"}],"functionName":{"name":"validator_revert_bool","nodeType":"YulIdentifier","src":"18630:21:25"},"nodeType":"YulFunctionCall","src":"18630:28:25"},"nodeType":"YulExpressionStatement","src":"18630:28:25"},{"nodeType":"YulAssignment","src":"18667:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"18677:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"18667:6:25"}]}]},"name":"abi_decode_tuple_t_bool_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18487:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"18498:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"18510:6:25","type":""}],"src":"18443:245:25"},{"body":{"nodeType":"YulBlock","src":"18725:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18742:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18749:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"18754:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"18745:3:25"},"nodeType":"YulFunctionCall","src":"18745:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18735:6:25"},"nodeType":"YulFunctionCall","src":"18735:31:25"},"nodeType":"YulExpressionStatement","src":"18735:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18782:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18785:4:25","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18775:6:25"},"nodeType":"YulFunctionCall","src":"18775:15:25"},"nodeType":"YulExpressionStatement","src":"18775:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18806:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18809:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18799:6:25"},"nodeType":"YulFunctionCall","src":"18799:15:25"},"nodeType":"YulExpressionStatement","src":"18799:15:25"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"18693:127:25"},{"body":{"nodeType":"YulBlock","src":"18870:130:25","statements":[{"nodeType":"YulVariableDeclaration","src":"18880:31:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18899:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"18906:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18895:3:25"},"nodeType":"YulFunctionCall","src":"18895:16:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"18884:7:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"18941:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"18943:16:25"},"nodeType":"YulFunctionCall","src":"18943:18:25"},"nodeType":"YulExpressionStatement","src":"18943:18:25"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"18926:7:25"},{"kind":"number","nodeType":"YulLiteral","src":"18935:4:25","type":"","value":"0xff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18923:2:25"},"nodeType":"YulFunctionCall","src":"18923:17:25"},"nodeType":"YulIf","src":"18920:43:25"},{"nodeType":"YulAssignment","src":"18972:22:25","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"18983:7:25"},{"kind":"number","nodeType":"YulLiteral","src":"18992:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18979:3:25"},"nodeType":"YulFunctionCall","src":"18979:15:25"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"18972:3:25"}]}]},"name":"increment_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18852:5:25","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"18862:3:25","type":""}],"src":"18825:175:25"},{"body":{"nodeType":"YulBlock","src":"19052:88:25","statements":[{"body":{"nodeType":"YulBlock","src":"19083:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"19085:16:25"},"nodeType":"YulFunctionCall","src":"19085:18:25"},"nodeType":"YulExpressionStatement","src":"19085:18:25"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19068:5:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19079:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"19075:3:25"},"nodeType":"YulFunctionCall","src":"19075:6:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19065:2:25"},"nodeType":"YulFunctionCall","src":"19065:17:25"},"nodeType":"YulIf","src":"19062:43:25"},{"nodeType":"YulAssignment","src":"19114:20:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19125:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"19132:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19121:3:25"},"nodeType":"YulFunctionCall","src":"19121:13:25"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"19114:3:25"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19034:5:25","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"19044:3:25","type":""}],"src":"19005:135:25"},{"body":{"nodeType":"YulBlock","src":"19200:325:25","statements":[{"nodeType":"YulAssignment","src":"19210:22:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19224:1:25","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"19227:4:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"19220:3:25"},"nodeType":"YulFunctionCall","src":"19220:12:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19210:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"19241:38:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"19271:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"19277:1:25","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19267:3:25"},"nodeType":"YulFunctionCall","src":"19267:12:25"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"19245:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"19318:31:25","statements":[{"nodeType":"YulAssignment","src":"19320:27:25","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19334:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"19342:4:25","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19330:3:25"},"nodeType":"YulFunctionCall","src":"19330:17:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19320:6:25"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19298:18:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19291:6:25"},"nodeType":"YulFunctionCall","src":"19291:26:25"},"nodeType":"YulIf","src":"19288:61:25"},{"body":{"nodeType":"YulBlock","src":"19408:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19429:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19436:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"19441:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19432:3:25"},"nodeType":"YulFunctionCall","src":"19432:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19422:6:25"},"nodeType":"YulFunctionCall","src":"19422:31:25"},"nodeType":"YulExpressionStatement","src":"19422:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19473:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19476:4:25","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19466:6:25"},"nodeType":"YulFunctionCall","src":"19466:15:25"},"nodeType":"YulExpressionStatement","src":"19466:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19501:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19504:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19494:6:25"},"nodeType":"YulFunctionCall","src":"19494:15:25"},"nodeType":"YulExpressionStatement","src":"19494:15:25"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19364:18:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19387:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"19395:2:25","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19384:2:25"},"nodeType":"YulFunctionCall","src":"19384:14:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19361:2:25"},"nodeType":"YulFunctionCall","src":"19361:38:25"},"nodeType":"YulIf","src":"19358:161:25"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"19180:4:25","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"19189:6:25","type":""}],"src":"19145:380:25"},{"body":{"nodeType":"YulBlock","src":"19704:223:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19721:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"19732:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19714:6:25"},"nodeType":"YulFunctionCall","src":"19714:21:25"},"nodeType":"YulExpressionStatement","src":"19714:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19755:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"19766:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19751:3:25"},"nodeType":"YulFunctionCall","src":"19751:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"19771:2:25","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19744:6:25"},"nodeType":"YulFunctionCall","src":"19744:30:25"},"nodeType":"YulExpressionStatement","src":"19744:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19794:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"19805:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19790:3:25"},"nodeType":"YulFunctionCall","src":"19790:18:25"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"19810:34:25","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19783:6:25"},"nodeType":"YulFunctionCall","src":"19783:62:25"},"nodeType":"YulExpressionStatement","src":"19783:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19865:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"19876:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19861:3:25"},"nodeType":"YulFunctionCall","src":"19861:18:25"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"19881:3:25","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19854:6:25"},"nodeType":"YulFunctionCall","src":"19854:31:25"},"nodeType":"YulExpressionStatement","src":"19854:31:25"},{"nodeType":"YulAssignment","src":"19894:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19906:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"19917:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19902:3:25"},"nodeType":"YulFunctionCall","src":"19902:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19894:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19681:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19695:4:25","type":""}],"src":"19530:397:25"},{"body":{"nodeType":"YulBlock","src":"20106:251:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20123:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20134:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20116:6:25"},"nodeType":"YulFunctionCall","src":"20116:21:25"},"nodeType":"YulExpressionStatement","src":"20116:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20157:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20168:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20153:3:25"},"nodeType":"YulFunctionCall","src":"20153:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"20173:2:25","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20146:6:25"},"nodeType":"YulFunctionCall","src":"20146:30:25"},"nodeType":"YulExpressionStatement","src":"20146:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20196:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20207:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20192:3:25"},"nodeType":"YulFunctionCall","src":"20192:18:25"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"20212:34:25","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20185:6:25"},"nodeType":"YulFunctionCall","src":"20185:62:25"},"nodeType":"YulExpressionStatement","src":"20185:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20267:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20278:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20263:3:25"},"nodeType":"YulFunctionCall","src":"20263:18:25"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"20283:31:25","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20256:6:25"},"nodeType":"YulFunctionCall","src":"20256:59:25"},"nodeType":"YulExpressionStatement","src":"20256:59:25"},{"nodeType":"YulAssignment","src":"20324:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20336:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20347:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20332:3:25"},"nodeType":"YulFunctionCall","src":"20332:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20324:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20083:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20097:4:25","type":""}],"src":"19932:425:25"},{"body":{"nodeType":"YulBlock","src":"20522:145:25","statements":[{"nodeType":"YulAssignment","src":"20532:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20544:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20555:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20540:3:25"},"nodeType":"YulFunctionCall","src":"20540:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20532:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20574:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"20585:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20567:6:25"},"nodeType":"YulFunctionCall","src":"20567:25:25"},"nodeType":"YulExpressionStatement","src":"20567:25:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20612:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20623:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20608:3:25"},"nodeType":"YulFunctionCall","src":"20608:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"20632:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20648:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"20653:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20644:3:25"},"nodeType":"YulFunctionCall","src":"20644:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"20657:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20640:3:25"},"nodeType":"YulFunctionCall","src":"20640:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20628:3:25"},"nodeType":"YulFunctionCall","src":"20628:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20601:6:25"},"nodeType":"YulFunctionCall","src":"20601:60:25"},"nodeType":"YulExpressionStatement","src":"20601:60:25"}]},"name":"abi_encode_tuple_t_struct$_Data_$5718_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20483:9:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20494:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20502:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20513:4:25","type":""}],"src":"20362:305:25"},{"body":{"nodeType":"YulBlock","src":"20939:832:25","statements":[{"nodeType":"YulVariableDeclaration","src":"20949:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20967:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"20978:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20963:3:25"},"nodeType":"YulFunctionCall","src":"20963:19:25"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"20953:6:25","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20998:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"21013:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21029:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"21034:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21025:3:25"},"nodeType":"YulFunctionCall","src":"21025:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"21038:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21021:3:25"},"nodeType":"YulFunctionCall","src":"21021:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21009:3:25"},"nodeType":"YulFunctionCall","src":"21009:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20991:6:25"},"nodeType":"YulFunctionCall","src":"20991:51:25"},"nodeType":"YulExpressionStatement","src":"20991:51:25"},{"nodeType":"YulVariableDeclaration","src":"21051:12:25","value":{"kind":"number","nodeType":"YulLiteral","src":"21061:2:25","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"21055:2:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21083:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21094:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21079:3:25"},"nodeType":"YulFunctionCall","src":"21079:18:25"},{"name":"value1","nodeType":"YulIdentifier","src":"21099:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21072:6:25"},"nodeType":"YulFunctionCall","src":"21072:34:25"},"nodeType":"YulExpressionStatement","src":"21072:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21126:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"21137:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21122:3:25"},"nodeType":"YulFunctionCall","src":"21122:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"21142:3:25","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21115:6:25"},"nodeType":"YulFunctionCall","src":"21115:31:25"},"nodeType":"YulExpressionStatement","src":"21115:31:25"},{"nodeType":"YulVariableDeclaration","src":"21155:17:25","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"21166:6:25"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"21159:3:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21181:27:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"21201:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21195:5:25"},"nodeType":"YulFunctionCall","src":"21195:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"21185:6:25","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"21224:6:25"},{"name":"length","nodeType":"YulIdentifier","src":"21232:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21217:6:25"},"nodeType":"YulFunctionCall","src":"21217:22:25"},"nodeType":"YulExpressionStatement","src":"21217:22:25"},{"nodeType":"YulAssignment","src":"21248:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21259:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"21270:3:25","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21255:3:25"},"nodeType":"YulFunctionCall","src":"21255:19:25"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21248:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"21283:29:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"21301:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21309:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21297:3:25"},"nodeType":"YulFunctionCall","src":"21297:15:25"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"21287:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21321:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"21330:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21325:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"21389:131:25","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21410:3:25"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"21425:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21419:5:25"},"nodeType":"YulFunctionCall","src":"21419:13:25"},{"kind":"number","nodeType":"YulLiteral","src":"21434:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21415:3:25"},"nodeType":"YulFunctionCall","src":"21415:24:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21403:6:25"},"nodeType":"YulFunctionCall","src":"21403:37:25"},"nodeType":"YulExpressionStatement","src":"21403:37:25"},{"nodeType":"YulAssignment","src":"21453:19:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21464:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21469:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21460:3:25"},"nodeType":"YulFunctionCall","src":"21460:12:25"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21453:3:25"}]},{"nodeType":"YulAssignment","src":"21485:25:25","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"21499:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21507:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21495:3:25"},"nodeType":"YulFunctionCall","src":"21495:15:25"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"21485:6:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21351:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"21354:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21348:2:25"},"nodeType":"YulFunctionCall","src":"21348:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21362:18:25","statements":[{"nodeType":"YulAssignment","src":"21364:14:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21373:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"21376:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21369:3:25"},"nodeType":"YulFunctionCall","src":"21369:9:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21364:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"21344:3:25","statements":[]},"src":"21340:180:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21540:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"21551:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21536:3:25"},"nodeType":"YulFunctionCall","src":"21536:18:25"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21560:3:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"21565:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21556:3:25"},"nodeType":"YulFunctionCall","src":"21556:19:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21529:6:25"},"nodeType":"YulFunctionCall","src":"21529:47:25"},"nodeType":"YulExpressionStatement","src":"21529:47:25"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21592:3:25"},{"name":"value4","nodeType":"YulIdentifier","src":"21597:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21585:6:25"},"nodeType":"YulFunctionCall","src":"21585:19:25"},"nodeType":"YulExpressionStatement","src":"21585:19:25"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21630:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21635:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21626:3:25"},"nodeType":"YulFunctionCall","src":"21626:12:25"},{"name":"value3","nodeType":"YulIdentifier","src":"21640:6:25"},{"name":"value4","nodeType":"YulIdentifier","src":"21648:6:25"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"21613:12:25"},"nodeType":"YulFunctionCall","src":"21613:42:25"},"nodeType":"YulExpressionStatement","src":"21613:42:25"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21679:3:25"},{"name":"value4","nodeType":"YulIdentifier","src":"21684:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21675:3:25"},"nodeType":"YulFunctionCall","src":"21675:16:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21693:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21671:3:25"},"nodeType":"YulFunctionCall","src":"21671:25:25"},{"kind":"number","nodeType":"YulLiteral","src":"21698:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21664:6:25"},"nodeType":"YulFunctionCall","src":"21664:36:25"},"nodeType":"YulExpressionStatement","src":"21664:36:25"},{"nodeType":"YulAssignment","src":"21709:56:25","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21725:3:25"},{"arguments":[{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"21738:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"21746:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21734:3:25"},"nodeType":"YulFunctionCall","src":"21734:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21755:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21751:3:25"},"nodeType":"YulFunctionCall","src":"21751:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21730:3:25"},"nodeType":"YulFunctionCall","src":"21730:29:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21721:3:25"},"nodeType":"YulFunctionCall","src":"21721:39:25"},{"name":"_1","nodeType":"YulIdentifier","src":"21762:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21717:3:25"},"nodeType":"YulFunctionCall","src":"21717:48:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21709:4:25"}]}]},"name":"abi_encode_tuple_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_calldata_ptr__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20876:9:25","type":""},{"name":"value4","nodeType":"YulTypedName","src":"20887:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"20895:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"20903:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"20911:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"20919:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20930:4:25","type":""}],"src":"20672:1099:25"},{"body":{"nodeType":"YulBlock","src":"21857:170:25","statements":[{"body":{"nodeType":"YulBlock","src":"21903:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21912:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"21915:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"21905:6:25"},"nodeType":"YulFunctionCall","src":"21905:12:25"},"nodeType":"YulExpressionStatement","src":"21905:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"21878:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"21887:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21874:3:25"},"nodeType":"YulFunctionCall","src":"21874:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"21899:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"21870:3:25"},"nodeType":"YulFunctionCall","src":"21870:32:25"},"nodeType":"YulIf","src":"21867:52:25"},{"nodeType":"YulVariableDeclaration","src":"21928:29:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21947:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21941:5:25"},"nodeType":"YulFunctionCall","src":"21941:16:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21932:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"21991:5:25"}],"functionName":{"name":"validator_revert_address","nodeType":"YulIdentifier","src":"21966:24:25"},"nodeType":"YulFunctionCall","src":"21966:31:25"},"nodeType":"YulExpressionStatement","src":"21966:31:25"},{"nodeType":"YulAssignment","src":"22006:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"22016:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22006:6:25"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21823:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"21834:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"21846:6:25","type":""}],"src":"21776:251:25"},{"body":{"nodeType":"YulBlock","src":"22126:427:25","statements":[{"nodeType":"YulVariableDeclaration","src":"22136:51:25","value":{"arguments":[{"name":"ptr_to_tail","nodeType":"YulIdentifier","src":"22175:11:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22162:12:25"},"nodeType":"YulFunctionCall","src":"22162:25:25"},"variables":[{"name":"rel_offset_of_tail","nodeType":"YulTypedName","src":"22140:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"22276:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22285:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22288:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22278:6:25"},"nodeType":"YulFunctionCall","src":"22278:12:25"},"nodeType":"YulExpressionStatement","src":"22278:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22210:18:25"},{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22238:12:25"},"nodeType":"YulFunctionCall","src":"22238:14:25"},{"name":"base_ref","nodeType":"YulIdentifier","src":"22254:8:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22234:3:25"},"nodeType":"YulFunctionCall","src":"22234:29:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22269:2:25","type":"","value":"30"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"22265:3:25"},"nodeType":"YulFunctionCall","src":"22265:7:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22230:3:25"},"nodeType":"YulFunctionCall","src":"22230:43:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22206:3:25"},"nodeType":"YulFunctionCall","src":"22206:68:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22199:6:25"},"nodeType":"YulFunctionCall","src":"22199:76:25"},"nodeType":"YulIf","src":"22196:96:25"},{"nodeType":"YulVariableDeclaration","src":"22301:47:25","value":{"arguments":[{"name":"base_ref","nodeType":"YulIdentifier","src":"22319:8:25"},{"name":"rel_offset_of_tail","nodeType":"YulIdentifier","src":"22329:18:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22315:3:25"},"nodeType":"YulFunctionCall","src":"22315:33:25"},"variables":[{"name":"addr_1","nodeType":"YulTypedName","src":"22305:6:25","type":""}]},{"nodeType":"YulAssignment","src":"22357:30:25","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"22380:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"22367:12:25"},"nodeType":"YulFunctionCall","src":"22367:20:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"22357:6:25"}]},{"body":{"nodeType":"YulBlock","src":"22430:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22439:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22442:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22432:6:25"},"nodeType":"YulFunctionCall","src":"22432:12:25"},"nodeType":"YulExpressionStatement","src":"22432:12:25"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"22402:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"22410:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22399:2:25"},"nodeType":"YulFunctionCall","src":"22399:30:25"},"nodeType":"YulIf","src":"22396:50:25"},{"nodeType":"YulAssignment","src":"22455:25:25","value":{"arguments":[{"name":"addr_1","nodeType":"YulIdentifier","src":"22467:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"22475:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22463:3:25"},"nodeType":"YulFunctionCall","src":"22463:17:25"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"22455:4:25"}]},{"body":{"nodeType":"YulBlock","src":"22531:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22540:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22543:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22533:6:25"},"nodeType":"YulFunctionCall","src":"22533:12:25"},"nodeType":"YulExpressionStatement","src":"22533:12:25"}]},"condition":{"arguments":[{"name":"addr","nodeType":"YulIdentifier","src":"22496:4:25"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"22506:12:25"},"nodeType":"YulFunctionCall","src":"22506:14:25"},{"name":"length","nodeType":"YulIdentifier","src":"22522:6:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22502:3:25"},"nodeType":"YulFunctionCall","src":"22502:27:25"}],"functionName":{"name":"sgt","nodeType":"YulIdentifier","src":"22492:3:25"},"nodeType":"YulFunctionCall","src":"22492:38:25"},"nodeType":"YulIf","src":"22489:58:25"}]},"name":"access_calldata_tail_t_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"base_ref","nodeType":"YulTypedName","src":"22083:8:25","type":""},{"name":"ptr_to_tail","nodeType":"YulTypedName","src":"22093:11:25","type":""}],"returnVariables":[{"name":"addr","nodeType":"YulTypedName","src":"22109:4:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"22115:6:25","type":""}],"src":"22032:521:25"},{"body":{"nodeType":"YulBlock","src":"22606:77:25","statements":[{"nodeType":"YulAssignment","src":"22616:16:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22627:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"22630:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22623:3:25"},"nodeType":"YulFunctionCall","src":"22623:9:25"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"22616:3:25"}]},{"body":{"nodeType":"YulBlock","src":"22655:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22657:16:25"},"nodeType":"YulFunctionCall","src":"22657:18:25"},"nodeType":"YulExpressionStatement","src":"22657:18:25"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"22647:1:25"},{"name":"sum","nodeType":"YulIdentifier","src":"22650:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"22644:2:25"},"nodeType":"YulFunctionCall","src":"22644:10:25"},"nodeType":"YulIf","src":"22641:36:25"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"22589:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"22592:1:25","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"22598:3:25","type":""}],"src":"22558:125:25"},{"body":{"nodeType":"YulBlock","src":"22769:103:25","statements":[{"body":{"nodeType":"YulBlock","src":"22815:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"22824:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"22827:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"22817:6:25"},"nodeType":"YulFunctionCall","src":"22817:12:25"},"nodeType":"YulExpressionStatement","src":"22817:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"22790:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"22799:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22786:3:25"},"nodeType":"YulFunctionCall","src":"22786:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"22811:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"22782:3:25"},"nodeType":"YulFunctionCall","src":"22782:32:25"},"nodeType":"YulIf","src":"22779:52:25"},{"nodeType":"YulAssignment","src":"22840:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22856:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"22850:5:25"},"nodeType":"YulFunctionCall","src":"22850:16:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"22840:6:25"}]}]},"name":"abi_decode_tuple_t_uint256_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22735:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"22746:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"22758:6:25","type":""}],"src":"22688:184:25"},{"body":{"nodeType":"YulBlock","src":"22922:133:25","statements":[{"nodeType":"YulVariableDeclaration","src":"22932:31:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22951:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"22958:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"22947:3:25"},"nodeType":"YulFunctionCall","src":"22947:16:25"},"variables":[{"name":"value_1","nodeType":"YulTypedName","src":"22936:7:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"22991:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"22993:16:25"},"nodeType":"YulFunctionCall","src":"22993:18:25"},"nodeType":"YulExpressionStatement","src":"22993:18:25"}]},"condition":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"22982:7:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"22975:6:25"},"nodeType":"YulFunctionCall","src":"22975:15:25"},"nodeType":"YulIf","src":"22972:41:25"},{"nodeType":"YulAssignment","src":"23022:27:25","value":{"arguments":[{"name":"value_1","nodeType":"YulIdentifier","src":"23033:7:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23046:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"23042:3:25"},"nodeType":"YulFunctionCall","src":"23042:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23029:3:25"},"nodeType":"YulFunctionCall","src":"23029:20:25"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"23022:3:25"}]}]},"name":"decrement_t_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"22904:5:25","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"22914:3:25","type":""}],"src":"22877:178:25"},{"body":{"nodeType":"YulBlock","src":"23235:355:25","statements":[{"nodeType":"YulVariableDeclaration","src":"23245:16:25","value":{"name":"pos","nodeType":"YulIdentifier","src":"23258:3:25"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"23249:5:25","type":""}]},{"nodeType":"YulAssignment","src":"23270:12:25","value":{"name":"pos","nodeType":"YulIdentifier","src":"23279:3:25"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23270:5:25"}]},{"nodeType":"YulVariableDeclaration","src":"23291:20:25","value":{"name":"value0","nodeType":"YulIdentifier","src":"23305:6:25"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"23295:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"23320:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"23329:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"23324:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"23388:175:25","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23409:5:25"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23437:6:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"23420:16:25"},"nodeType":"YulFunctionCall","src":"23420:24:25"},{"kind":"number","nodeType":"YulLiteral","src":"23446:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23416:3:25"},"nodeType":"YulFunctionCall","src":"23416:35:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23402:6:25"},"nodeType":"YulFunctionCall","src":"23402:50:25"},"nodeType":"YulExpressionStatement","src":"23402:50:25"},{"nodeType":"YulVariableDeclaration","src":"23465:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"23475:4:25","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"23469:2:25","type":""}]},{"nodeType":"YulAssignment","src":"23492:23:25","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23505:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"23512:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23501:3:25"},"nodeType":"YulFunctionCall","src":"23501:14:25"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"23492:5:25"}]},{"nodeType":"YulAssignment","src":"23528:25:25","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23542:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"23550:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23538:3:25"},"nodeType":"YulFunctionCall","src":"23538:15:25"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"23528:6:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23350:1:25"},{"name":"value1","nodeType":"YulIdentifier","src":"23353:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"23347:2:25"},"nodeType":"YulFunctionCall","src":"23347:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"23361:18:25","statements":[{"nodeType":"YulAssignment","src":"23363:14:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"23372:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"23375:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23368:3:25"},"nodeType":"YulFunctionCall","src":"23368:9:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"23363:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"23343:3:25","statements":[]},"src":"23339:224:25"},{"nodeType":"YulAssignment","src":"23572:12:25","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"23579:5:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23572:3:25"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_calldata_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"23203:3:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23208:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23216:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"23227:3:25","type":""}],"src":"23060:530:25"},{"body":{"nodeType":"YulBlock","src":"23644:79:25","statements":[{"nodeType":"YulAssignment","src":"23654:17:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"23666:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"23669:1:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23662:3:25"},"nodeType":"YulFunctionCall","src":"23662:9:25"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"23654:4:25"}]},{"body":{"nodeType":"YulBlock","src":"23695:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"23697:16:25"},"nodeType":"YulFunctionCall","src":"23697:18:25"},"nodeType":"YulExpressionStatement","src":"23697:18:25"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"23686:4:25"},{"name":"x","nodeType":"YulIdentifier","src":"23692:1:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"23683:2:25"},"nodeType":"YulFunctionCall","src":"23683:11:25"},"nodeType":"YulIf","src":"23680:37:25"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"23626:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"23629:1:25","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"23635:4:25","type":""}],"src":"23595:128:25"},{"body":{"nodeType":"YulBlock","src":"23857:145:25","statements":[{"nodeType":"YulAssignment","src":"23867:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23879:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"23890:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23875:3:25"},"nodeType":"YulFunctionCall","src":"23875:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23867:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23909:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"23924:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"23940:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"23945:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"23936:3:25"},"nodeType":"YulFunctionCall","src":"23936:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"23949:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23932:3:25"},"nodeType":"YulFunctionCall","src":"23932:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"23920:3:25"},"nodeType":"YulFunctionCall","src":"23920:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23902:6:25"},"nodeType":"YulFunctionCall","src":"23902:51:25"},"nodeType":"YulExpressionStatement","src":"23902:51:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23973:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"23984:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23969:3:25"},"nodeType":"YulFunctionCall","src":"23969:18:25"},{"name":"value1","nodeType":"YulIdentifier","src":"23989:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23962:6:25"},"nodeType":"YulFunctionCall","src":"23962:34:25"},"nodeType":"YulExpressionStatement","src":"23962:34:25"}]},"name":"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23818:9:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"23829:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"23837:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23848:4:25","type":""}],"src":"23728:274:25"},{"body":{"nodeType":"YulBlock","src":"24181:235:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24198:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24209:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24191:6:25"},"nodeType":"YulFunctionCall","src":"24191:21:25"},"nodeType":"YulExpressionStatement","src":"24191:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24232:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24243:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24228:3:25"},"nodeType":"YulFunctionCall","src":"24228:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"24248:2:25","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24221:6:25"},"nodeType":"YulFunctionCall","src":"24221:30:25"},"nodeType":"YulExpressionStatement","src":"24221:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24271:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24282:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24267:3:25"},"nodeType":"YulFunctionCall","src":"24267:18:25"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"24287:34:25","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24260:6:25"},"nodeType":"YulFunctionCall","src":"24260:62:25"},"nodeType":"YulExpressionStatement","src":"24260:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24342:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24353:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24338:3:25"},"nodeType":"YulFunctionCall","src":"24338:18:25"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"24358:15:25","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24331:6:25"},"nodeType":"YulFunctionCall","src":"24331:43:25"},"nodeType":"YulExpressionStatement","src":"24331:43:25"},{"nodeType":"YulAssignment","src":"24383:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24395:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24406:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24391:3:25"},"nodeType":"YulFunctionCall","src":"24391:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24383:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24158:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24172:4:25","type":""}],"src":"24007:409:25"},{"body":{"nodeType":"YulBlock","src":"24595:173:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24612:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24623:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24605:6:25"},"nodeType":"YulFunctionCall","src":"24605:21:25"},"nodeType":"YulExpressionStatement","src":"24605:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24646:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24657:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24642:3:25"},"nodeType":"YulFunctionCall","src":"24642:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"24662:2:25","type":"","value":"23"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24635:6:25"},"nodeType":"YulFunctionCall","src":"24635:30:25"},"nodeType":"YulExpressionStatement","src":"24635:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24685:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24696:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24681:3:25"},"nodeType":"YulFunctionCall","src":"24681:18:25"},{"hexValue":"5468697320636172642068617320616e206f666665722e","kind":"string","nodeType":"YulLiteral","src":"24701:25:25","type":"","value":"This card has an offer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24674:6:25"},"nodeType":"YulFunctionCall","src":"24674:53:25"},"nodeType":"YulExpressionStatement","src":"24674:53:25"},{"nodeType":"YulAssignment","src":"24736:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24748:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24759:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24744:3:25"},"nodeType":"YulFunctionCall","src":"24744:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24736:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24572:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24586:4:25","type":""}],"src":"24421:347:25"},{"body":{"nodeType":"YulBlock","src":"24902:145:25","statements":[{"nodeType":"YulAssignment","src":"24912:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24924:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"24935:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24920:3:25"},"nodeType":"YulFunctionCall","src":"24920:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24912:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24954:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"24965:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24947:6:25"},"nodeType":"YulFunctionCall","src":"24947:25:25"},"nodeType":"YulExpressionStatement","src":"24947:25:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24992:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"25003:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24988:3:25"},"nodeType":"YulFunctionCall","src":"24988:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"25012:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25028:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"25033:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25024:3:25"},"nodeType":"YulFunctionCall","src":"25024:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"25037:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"25020:3:25"},"nodeType":"YulFunctionCall","src":"25020:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"25008:3:25"},"nodeType":"YulFunctionCall","src":"25008:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24981:6:25"},"nodeType":"YulFunctionCall","src":"24981:60:25"},"nodeType":"YulExpressionStatement","src":"24981:60:25"}]},"name":"abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24863:9:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"24874:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"24882:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24893:4:25","type":""}],"src":"24773:274:25"},{"body":{"nodeType":"YulBlock","src":"25084:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25101:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25108:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25113:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25104:3:25"},"nodeType":"YulFunctionCall","src":"25104:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25094:6:25"},"nodeType":"YulFunctionCall","src":"25094:31:25"},"nodeType":"YulExpressionStatement","src":"25094:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25141:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25144:4:25","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25134:6:25"},"nodeType":"YulFunctionCall","src":"25134:15:25"},"nodeType":"YulExpressionStatement","src":"25134:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25165:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25168:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25158:6:25"},"nodeType":"YulFunctionCall","src":"25158:15:25"},"nodeType":"YulExpressionStatement","src":"25158:15:25"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"25052:127:25"},{"body":{"nodeType":"YulBlock","src":"25230:171:25","statements":[{"body":{"nodeType":"YulBlock","src":"25261:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25282:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25289:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"25294:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"25285:3:25"},"nodeType":"YulFunctionCall","src":"25285:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25275:6:25"},"nodeType":"YulFunctionCall","src":"25275:31:25"},"nodeType":"YulExpressionStatement","src":"25275:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25326:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"25329:4:25","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25319:6:25"},"nodeType":"YulFunctionCall","src":"25319:15:25"},"nodeType":"YulExpressionStatement","src":"25319:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"25354:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"25357:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"25347:6:25"},"nodeType":"YulFunctionCall","src":"25347:15:25"},"nodeType":"YulExpressionStatement","src":"25347:15:25"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"25250:1:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"25243:6:25"},"nodeType":"YulFunctionCall","src":"25243:9:25"},"nodeType":"YulIf","src":"25240:132:25"},{"nodeType":"YulAssignment","src":"25381:14:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"25390:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"25393:1:25"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"25386:3:25"},"nodeType":"YulFunctionCall","src":"25386:9:25"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"25381:1:25"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"25215:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"25218:1:25","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"25224:1:25","type":""}],"src":"25184:217:25"},{"body":{"nodeType":"YulBlock","src":"25580:180:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25597:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"25608:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25590:6:25"},"nodeType":"YulFunctionCall","src":"25590:21:25"},"nodeType":"YulExpressionStatement","src":"25590:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25631:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"25642:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25627:3:25"},"nodeType":"YulFunctionCall","src":"25627:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"25647:2:25","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25620:6:25"},"nodeType":"YulFunctionCall","src":"25620:30:25"},"nodeType":"YulExpressionStatement","src":"25620:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25670:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"25681:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25666:3:25"},"nodeType":"YulFunctionCall","src":"25666:18:25"},{"hexValue":"696e76616c69642063617264496e76656e746f727920706f736974696f6e","kind":"string","nodeType":"YulLiteral","src":"25686:32:25","type":"","value":"invalid cardInventory position"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25659:6:25"},"nodeType":"YulFunctionCall","src":"25659:60:25"},"nodeType":"YulExpressionStatement","src":"25659:60:25"},{"nodeType":"YulAssignment","src":"25728:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25740:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"25751:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25736:3:25"},"nodeType":"YulFunctionCall","src":"25736:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25728:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25557:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25571:4:25","type":""}],"src":"25406:354:25"},{"body":{"nodeType":"YulBlock","src":"25939:174:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25956:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"25967:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25949:6:25"},"nodeType":"YulFunctionCall","src":"25949:21:25"},"nodeType":"YulExpressionStatement","src":"25949:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25990:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26001:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25986:3:25"},"nodeType":"YulFunctionCall","src":"25986:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"26006:2:25","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25979:6:25"},"nodeType":"YulFunctionCall","src":"25979:30:25"},"nodeType":"YulExpressionStatement","src":"25979:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26029:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26040:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26025:3:25"},"nodeType":"YulFunctionCall","src":"26025:18:25"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"26045:26:25","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26018:6:25"},"nodeType":"YulFunctionCall","src":"26018:54:25"},"nodeType":"YulExpressionStatement","src":"26018:54:25"},{"nodeType":"YulAssignment","src":"26081:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26093:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26104:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26089:3:25"},"nodeType":"YulFunctionCall","src":"26089:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26081:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"25916:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"25930:4:25","type":""}],"src":"25765:348:25"},{"body":{"nodeType":"YulBlock","src":"26292:231:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26309:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26320:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26302:6:25"},"nodeType":"YulFunctionCall","src":"26302:21:25"},"nodeType":"YulExpressionStatement","src":"26302:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26343:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26354:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26339:3:25"},"nodeType":"YulFunctionCall","src":"26339:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"26359:2:25","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26332:6:25"},"nodeType":"YulFunctionCall","src":"26332:30:25"},"nodeType":"YulExpressionStatement","src":"26332:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26382:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26393:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26378:3:25"},"nodeType":"YulFunctionCall","src":"26378:18:25"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"26398:34:25","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26371:6:25"},"nodeType":"YulFunctionCall","src":"26371:62:25"},"nodeType":"YulExpressionStatement","src":"26371:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26453:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26464:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26449:3:25"},"nodeType":"YulFunctionCall","src":"26449:18:25"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"26469:11:25","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26442:6:25"},"nodeType":"YulFunctionCall","src":"26442:39:25"},"nodeType":"YulExpressionStatement","src":"26442:39:25"},{"nodeType":"YulAssignment","src":"26490:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26502:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"26513:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26498:3:25"},"nodeType":"YulFunctionCall","src":"26498:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26490:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26269:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26283:4:25","type":""}],"src":"26118:405:25"},{"body":{"nodeType":"YulBlock","src":"26584:65:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26601:1:25","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"26604:3:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26594:6:25"},"nodeType":"YulFunctionCall","src":"26594:14:25"},"nodeType":"YulExpressionStatement","src":"26594:14:25"},{"nodeType":"YulAssignment","src":"26617:26:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26635:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"26638:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26625:9:25"},"nodeType":"YulFunctionCall","src":"26625:18:25"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"26617:4:25"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"26567:3:25","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"26575:4:25","type":""}],"src":"26528:121:25"},{"body":{"nodeType":"YulBlock","src":"26735:464:25","statements":[{"body":{"nodeType":"YulBlock","src":"26768:425:25","statements":[{"nodeType":"YulVariableDeclaration","src":"26782:11:25","value":{"kind":"number","nodeType":"YulLiteral","src":"26792:1:25","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"26786:2:25","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"26813:2:25"},{"name":"array","nodeType":"YulIdentifier","src":"26817:5:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26806:6:25"},"nodeType":"YulFunctionCall","src":"26806:17:25"},"nodeType":"YulExpressionStatement","src":"26806:17:25"},{"nodeType":"YulVariableDeclaration","src":"26836:31:25","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"26858:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"26862:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"26848:9:25"},"nodeType":"YulFunctionCall","src":"26848:19:25"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"26840:4:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"26880:57:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"26903:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"26913:1:25","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"26920:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"26932:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26916:3:25"},"nodeType":"YulFunctionCall","src":"26916:19:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"26909:3:25"},"nodeType":"YulFunctionCall","src":"26909:27:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26899:3:25"},"nodeType":"YulFunctionCall","src":"26899:38:25"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"26884:11:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"26974:23:25","statements":[{"nodeType":"YulAssignment","src":"26976:19:25","value":{"name":"data","nodeType":"YulIdentifier","src":"26991:4:25"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"26976:11:25"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"26956:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"26968:4:25","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"26953:2:25"},"nodeType":"YulFunctionCall","src":"26953:20:25"},"nodeType":"YulIf","src":"26950:47:25"},{"nodeType":"YulVariableDeclaration","src":"27010:41:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27024:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27034:1:25","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"27041:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"27046:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27037:3:25"},"nodeType":"YulFunctionCall","src":"27037:12:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27030:3:25"},"nodeType":"YulFunctionCall","src":"27030:20:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27020:3:25"},"nodeType":"YulFunctionCall","src":"27020:31:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"27014:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27064:24:25","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"27077:11:25"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"27068:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"27162:21:25","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27171:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"27178:2:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"27164:6:25"},"nodeType":"YulFunctionCall","src":"27164:17:25"},"nodeType":"YulExpressionStatement","src":"27164:17:25"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27112:5:25"},{"name":"_2","nodeType":"YulIdentifier","src":"27119:2:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27109:2:25"},"nodeType":"YulFunctionCall","src":"27109:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27123:26:25","statements":[{"nodeType":"YulAssignment","src":"27125:22:25","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"27138:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"27145:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27134:3:25"},"nodeType":"YulFunctionCall","src":"27134:13:25"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"27125:5:25"}]}]},"pre":{"nodeType":"YulBlock","src":"27105:3:25","statements":[]},"src":"27101:82:25"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"26751:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"26756:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"26748:2:25"},"nodeType":"YulFunctionCall","src":"26748:11:25"},"nodeType":"YulIf","src":"26745:448:25"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"26707:5:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"26714:3:25","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"26719:10:25","type":""}],"src":"26654:545:25"},{"body":{"nodeType":"YulBlock","src":"27289:81:25","statements":[{"nodeType":"YulAssignment","src":"27299:65:25","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"27314:4:25"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27332:1:25","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"27335:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27328:3:25"},"nodeType":"YulFunctionCall","src":"27328:11:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27345:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27341:3:25"},"nodeType":"YulFunctionCall","src":"27341:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"27324:3:25"},"nodeType":"YulFunctionCall","src":"27324:24:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27320:3:25"},"nodeType":"YulFunctionCall","src":"27320:29:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27310:3:25"},"nodeType":"YulFunctionCall","src":"27310:40:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27356:1:25","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"27359:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"27352:3:25"},"nodeType":"YulFunctionCall","src":"27352:11:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"27307:2:25"},"nodeType":"YulFunctionCall","src":"27307:57:25"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"27299:4:25"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"27266:4:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"27272:3:25","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"27280:4:25","type":""}],"src":"27204:166:25"},{"body":{"nodeType":"YulBlock","src":"27471:1256:25","statements":[{"nodeType":"YulVariableDeclaration","src":"27481:24:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"27501:3:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27495:5:25"},"nodeType":"YulFunctionCall","src":"27495:10:25"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"27485:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"27548:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"27550:16:25"},"nodeType":"YulFunctionCall","src":"27550:18:25"},"nodeType":"YulExpressionStatement","src":"27550:18:25"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27520:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"27528:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27517:2:25"},"nodeType":"YulFunctionCall","src":"27517:30:25"},"nodeType":"YulIf","src":"27514:56:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27623:4:25"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27661:4:25"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"27655:5:25"},"nodeType":"YulFunctionCall","src":"27655:11:25"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"27629:25:25"},"nodeType":"YulFunctionCall","src":"27629:38:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"27669:6:25"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"27579:43:25"},"nodeType":"YulFunctionCall","src":"27579:97:25"},"nodeType":"YulExpressionStatement","src":"27579:97:25"},{"nodeType":"YulVariableDeclaration","src":"27685:18:25","value":{"kind":"number","nodeType":"YulLiteral","src":"27702:1:25","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"27689:9:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27712:23:25","value":{"kind":"number","nodeType":"YulLiteral","src":"27731:4:25","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"27716:11:25","type":""}]},{"nodeType":"YulAssignment","src":"27744:24:25","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"27757:11:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"27744:9:25"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"27814:656:25","statements":[{"nodeType":"YulVariableDeclaration","src":"27828:35:25","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27847:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"27859:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"27855:3:25"},"nodeType":"YulFunctionCall","src":"27855:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"27843:3:25"},"nodeType":"YulFunctionCall","src":"27843:20:25"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"27832:7:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27876:49:25","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"27920:4:25"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"27890:29:25"},"nodeType":"YulFunctionCall","src":"27890:35:25"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"27880:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"27938:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"27947:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"27942:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"28025:172:25","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28050:6:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28068:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28073:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28064:3:25"},"nodeType":"YulFunctionCall","src":"28064:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28058:5:25"},"nodeType":"YulFunctionCall","src":"28058:26:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28043:6:25"},"nodeType":"YulFunctionCall","src":"28043:42:25"},"nodeType":"YulExpressionStatement","src":"28043:42:25"},{"nodeType":"YulAssignment","src":"28102:24:25","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28116:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"28124:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28112:3:25"},"nodeType":"YulFunctionCall","src":"28112:14:25"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28102:6:25"}]},{"nodeType":"YulAssignment","src":"28143:40:25","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28160:9:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"28171:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28156:3:25"},"nodeType":"YulFunctionCall","src":"28156:27:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"28143:9:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27972:1:25"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"27975:7:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"27969:2:25"},"nodeType":"YulFunctionCall","src":"27969:14:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"27984:28:25","statements":[{"nodeType":"YulAssignment","src":"27986:24:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"27995:1:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"27998:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27991:3:25"},"nodeType":"YulFunctionCall","src":"27991:19:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"27986:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"27965:3:25","statements":[]},"src":"27961:236:25"},{"body":{"nodeType":"YulBlock","src":"28245:166:25","statements":[{"nodeType":"YulVariableDeclaration","src":"28263:43:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28290:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28295:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28286:3:25"},"nodeType":"YulFunctionCall","src":"28286:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28280:5:25"},"nodeType":"YulFunctionCall","src":"28280:26:25"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"28267:9:25","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"28330:6:25"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"28342:9:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28369:1:25","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"28372:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28365:3:25"},"nodeType":"YulFunctionCall","src":"28365:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"28381:3:25","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28361:3:25"},"nodeType":"YulFunctionCall","src":"28361:24:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28391:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28387:3:25"},"nodeType":"YulFunctionCall","src":"28387:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"28357:3:25"},"nodeType":"YulFunctionCall","src":"28357:37:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28353:3:25"},"nodeType":"YulFunctionCall","src":"28353:42:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"28338:3:25"},"nodeType":"YulFunctionCall","src":"28338:58:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28323:6:25"},"nodeType":"YulFunctionCall","src":"28323:74:25"},"nodeType":"YulExpressionStatement","src":"28323:74:25"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"28216:7:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"28225:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28213:2:25"},"nodeType":"YulFunctionCall","src":"28213:19:25"},"nodeType":"YulIf","src":"28210:201:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28431:4:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28445:1:25","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"28448:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"28441:3:25"},"nodeType":"YulFunctionCall","src":"28441:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"28457:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28437:3:25"},"nodeType":"YulFunctionCall","src":"28437:22:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28424:6:25"},"nodeType":"YulFunctionCall","src":"28424:36:25"},"nodeType":"YulExpressionStatement","src":"28424:36:25"}]},"nodeType":"YulCase","src":"27807:663:25","value":{"kind":"number","nodeType":"YulLiteral","src":"27812:1:25","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"28487:234:25","statements":[{"nodeType":"YulVariableDeclaration","src":"28501:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"28514:1:25","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"28505:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"28550:67:25","statements":[{"nodeType":"YulAssignment","src":"28568:35:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"28587:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"28592:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28583:3:25"},"nodeType":"YulFunctionCall","src":"28583:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"28577:5:25"},"nodeType":"YulFunctionCall","src":"28577:26:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"28568:5:25"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"28531:6:25"},"nodeType":"YulIf","src":"28528:89:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"28637:4:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28696:5:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"28703:6:25"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"28643:52:25"},"nodeType":"YulFunctionCall","src":"28643:67:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"28630:6:25"},"nodeType":"YulFunctionCall","src":"28630:81:25"},"nodeType":"YulExpressionStatement","src":"28630:81:25"}]},"nodeType":"YulCase","src":"28479:242:25","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"27787:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"27795:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"27784:2:25"},"nodeType":"YulFunctionCall","src":"27784:14:25"},"nodeType":"YulSwitch","src":"27777:944:25"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"27456:4:25","type":""},{"name":"src","nodeType":"YulTypedName","src":"27462:3:25","type":""}],"src":"27375:1352:25"},{"body":{"nodeType":"YulBlock","src":"29008:1145:25","statements":[{"nodeType":"YulVariableDeclaration","src":"29018:12:25","value":{"kind":"number","nodeType":"YulLiteral","src":"29029:1:25","type":"","value":"0"},"variables":[{"name":"ret","nodeType":"YulTypedName","src":"29022:3:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29039:30:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"29062:6:25"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"29056:5:25"},"nodeType":"YulFunctionCall","src":"29056:13:25"},"variables":[{"name":"slotValue","nodeType":"YulTypedName","src":"29043:9:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29078:50:25","value":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"29118:9:25"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"29092:25:25"},"nodeType":"YulFunctionCall","src":"29092:36:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"29082:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29137:11:25","value":{"kind":"number","nodeType":"YulLiteral","src":"29147:1:25","type":"","value":"1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"29141:2:25","type":""}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"29198:126:25","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29219:3:25"},{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"29228:9:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29243:3:25","type":"","value":"255"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"29239:3:25"},"nodeType":"YulFunctionCall","src":"29239:8:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29224:3:25"},"nodeType":"YulFunctionCall","src":"29224:24:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29212:6:25"},"nodeType":"YulFunctionCall","src":"29212:37:25"},"nodeType":"YulExpressionStatement","src":"29212:37:25"},{"nodeType":"YulAssignment","src":"29262:52:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29273:3:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"29282:6:25"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"29304:6:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29297:6:25"},"nodeType":"YulFunctionCall","src":"29297:14:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29290:6:25"},"nodeType":"YulFunctionCall","src":"29290:22:25"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"29278:3:25"},"nodeType":"YulFunctionCall","src":"29278:35:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29269:3:25"},"nodeType":"YulFunctionCall","src":"29269:45:25"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"29262:3:25"}]}]},"nodeType":"YulCase","src":"29191:133:25","value":{"kind":"number","nodeType":"YulLiteral","src":"29196:1:25","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"29340:349:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29361:1:25","type":"","value":"0"},{"name":"value0","nodeType":"YulIdentifier","src":"29364:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29354:6:25"},"nodeType":"YulFunctionCall","src":"29354:17:25"},"nodeType":"YulExpressionStatement","src":"29354:17:25"},{"nodeType":"YulVariableDeclaration","src":"29384:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"29394:4:25","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"29388:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29411:31:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29436:1:25","type":"","value":"0"},{"name":"_2","nodeType":"YulIdentifier","src":"29439:2:25"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"29426:9:25"},"nodeType":"YulFunctionCall","src":"29426:16:25"},"variables":[{"name":"dataPos","nodeType":"YulTypedName","src":"29415:7:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29455:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"29464:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"29459:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"29532:111:25","statements":[{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29561:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"29566:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29557:3:25"},"nodeType":"YulFunctionCall","src":"29557:11:25"},{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"29576:7:25"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"29570:5:25"},"nodeType":"YulFunctionCall","src":"29570:14:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29550:6:25"},"nodeType":"YulFunctionCall","src":"29550:35:25"},"nodeType":"YulExpressionStatement","src":"29550:35:25"},{"nodeType":"YulAssignment","src":"29602:27:25","value":{"arguments":[{"name":"dataPos","nodeType":"YulIdentifier","src":"29617:7:25"},{"name":"_1","nodeType":"YulIdentifier","src":"29626:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29613:3:25"},"nodeType":"YulFunctionCall","src":"29613:16:25"},"variableNames":[{"name":"dataPos","nodeType":"YulIdentifier","src":"29602:7:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29489:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"29492:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"29486:2:25"},"nodeType":"YulFunctionCall","src":"29486:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"29500:19:25","statements":[{"nodeType":"YulAssignment","src":"29502:15:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"29511:1:25"},{"name":"_2","nodeType":"YulIdentifier","src":"29514:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29507:3:25"},"nodeType":"YulFunctionCall","src":"29507:10:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"29502:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"29482:3:25","statements":[]},"src":"29478:165:25"},{"nodeType":"YulAssignment","src":"29656:23:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29667:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"29672:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29663:3:25"},"nodeType":"YulFunctionCall","src":"29663:16:25"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"29656:3:25"}]}]},"nodeType":"YulCase","src":"29333:356:25","value":{"kind":"number","nodeType":"YulLiteral","src":"29338:1:25","type":"","value":"1"}}],"expression":{"arguments":[{"name":"slotValue","nodeType":"YulIdentifier","src":"29168:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"29179:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"29164:3:25"},"nodeType":"YulFunctionCall","src":"29164:18:25"},"nodeType":"YulSwitch","src":"29157:532:25"},{"nodeType":"YulVariableDeclaration","src":"29698:29:25","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29720:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29714:5:25"},"nodeType":"YulFunctionCall","src":"29714:13:25"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"29702:8:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"29775:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"29783:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29771:3:25"},"nodeType":"YulFunctionCall","src":"29771:17:25"},{"name":"ret","nodeType":"YulIdentifier","src":"29790:3:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"29795:8:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"29736:34:25"},"nodeType":"YulFunctionCall","src":"29736:68:25"},"nodeType":"YulExpressionStatement","src":"29736:68:25"},{"nodeType":"YulVariableDeclaration","src":"29813:31:25","value":{"arguments":[{"name":"ret","nodeType":"YulIdentifier","src":"29830:3:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"29835:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29826:3:25"},"nodeType":"YulFunctionCall","src":"29826:18:25"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"29817:5:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"29853:29:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"29875:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29869:5:25"},"nodeType":"YulFunctionCall","src":"29869:13:25"},"variables":[{"name":"length_2","nodeType":"YulTypedName","src":"29857:8:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"29930:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"29938:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29926:3:25"},"nodeType":"YulFunctionCall","src":"29926:17:25"},{"name":"end_1","nodeType":"YulIdentifier","src":"29945:5:25"},{"name":"length_2","nodeType":"YulIdentifier","src":"29952:8:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"29891:34:25"},"nodeType":"YulFunctionCall","src":"29891:70:25"},"nodeType":"YulExpressionStatement","src":"29891:70:25"},{"nodeType":"YulVariableDeclaration","src":"29970:30:25","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"29984:5:25"},{"name":"length_2","nodeType":"YulIdentifier","src":"29991:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29980:3:25"},"nodeType":"YulFunctionCall","src":"29980:20:25"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"29974:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"30009:29:25","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"30031:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30025:5:25"},"nodeType":"YulFunctionCall","src":"30025:13:25"},"variables":[{"name":"length_3","nodeType":"YulTypedName","src":"30013:8:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"30086:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"30094:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30082:3:25"},"nodeType":"YulFunctionCall","src":"30082:17:25"},{"name":"_3","nodeType":"YulIdentifier","src":"30101:2:25"},{"name":"length_3","nodeType":"YulIdentifier","src":"30105:8:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"30047:34:25"},"nodeType":"YulFunctionCall","src":"30047:67:25"},"nodeType":"YulExpressionStatement","src":"30047:67:25"},{"nodeType":"YulAssignment","src":"30123:24:25","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"30134:2:25"},{"name":"length_3","nodeType":"YulIdentifier","src":"30138:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30130:3:25"},"nodeType":"YulFunctionCall","src":"30130:17:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"30123:3:25"}]}]},"name":"abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"28960:3:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"28965:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"28973:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"28981:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"28989:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"29000:3:25","type":""}],"src":"28732:1421:25"},{"body":{"nodeType":"YulBlock","src":"30297:150:25","statements":[{"nodeType":"YulVariableDeclaration","src":"30307:27:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30327:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30321:5:25"},"nodeType":"YulFunctionCall","src":"30321:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"30311:6:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30382:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"30390:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30378:3:25"},"nodeType":"YulFunctionCall","src":"30378:17:25"},{"name":"pos","nodeType":"YulIdentifier","src":"30397:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"30402:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"30343:34:25"},"nodeType":"YulFunctionCall","src":"30343:66:25"},"nodeType":"YulExpressionStatement","src":"30343:66:25"},{"nodeType":"YulAssignment","src":"30418:23:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30429:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"30434:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30425:3:25"},"nodeType":"YulFunctionCall","src":"30425:16:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"30418:3:25"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"30273:3:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30278:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30289:3:25","type":""}],"src":"30158:289:25"},{"body":{"nodeType":"YulBlock","src":"30573:141:25","statements":[{"nodeType":"YulAssignment","src":"30583:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30595:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"30606:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30591:3:25"},"nodeType":"YulFunctionCall","src":"30591:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30583:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30625:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"30640:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"30648:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30636:3:25"},"nodeType":"YulFunctionCall","src":"30636:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30618:6:25"},"nodeType":"YulFunctionCall","src":"30618:36:25"},"nodeType":"YulExpressionStatement","src":"30618:36:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30674:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"30685:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30670:3:25"},"nodeType":"YulFunctionCall","src":"30670:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"30694:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"30702:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"30690:3:25"},"nodeType":"YulFunctionCall","src":"30690:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30663:6:25"},"nodeType":"YulFunctionCall","src":"30663:45:25"},"nodeType":"YulExpressionStatement","src":"30663:45:25"}]},"name":"abi_encode_tuple_t_uint8_t_uint8__to_t_uint8_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30534:9:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"30545:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30553:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30564:4:25","type":""}],"src":"30452:262:25"},{"body":{"nodeType":"YulBlock","src":"30828:76:25","statements":[{"nodeType":"YulAssignment","src":"30838:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30850:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"30861:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30846:3:25"},"nodeType":"YulFunctionCall","src":"30846:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30838:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30880:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"30891:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30873:6:25"},"nodeType":"YulFunctionCall","src":"30873:25:25"},"nodeType":"YulExpressionStatement","src":"30873:25:25"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30797:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"30808:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30819:4:25","type":""}],"src":"30719:185:25"},{"body":{"nodeType":"YulBlock","src":"31000:558:25","statements":[{"body":{"nodeType":"YulBlock","src":"31046:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31055:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31058:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31048:6:25"},"nodeType":"YulFunctionCall","src":"31048:12:25"},"nodeType":"YulExpressionStatement","src":"31048:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"31021:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"31030:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31017:3:25"},"nodeType":"YulFunctionCall","src":"31017:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"31042:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31013:3:25"},"nodeType":"YulFunctionCall","src":"31013:32:25"},"nodeType":"YulIf","src":"31010:52:25"},{"nodeType":"YulVariableDeclaration","src":"31071:30:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31091:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31085:5:25"},"nodeType":"YulFunctionCall","src":"31085:16:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"31075:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"31144:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31153:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31156:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31146:6:25"},"nodeType":"YulFunctionCall","src":"31146:12:25"},"nodeType":"YulExpressionStatement","src":"31146:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"31116:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"31124:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31113:2:25"},"nodeType":"YulFunctionCall","src":"31113:30:25"},"nodeType":"YulIf","src":"31110:50:25"},{"nodeType":"YulVariableDeclaration","src":"31169:32:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31183:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"31194:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31179:3:25"},"nodeType":"YulFunctionCall","src":"31179:22:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"31173:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"31249:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31258:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31261:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31251:6:25"},"nodeType":"YulFunctionCall","src":"31251:12:25"},"nodeType":"YulExpressionStatement","src":"31251:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31228:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"31232:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31224:3:25"},"nodeType":"YulFunctionCall","src":"31224:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31239:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"31220:3:25"},"nodeType":"YulFunctionCall","src":"31220:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31213:6:25"},"nodeType":"YulFunctionCall","src":"31213:35:25"},"nodeType":"YulIf","src":"31210:55:25"},{"nodeType":"YulVariableDeclaration","src":"31274:19:25","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31290:2:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31284:5:25"},"nodeType":"YulFunctionCall","src":"31284:9:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"31278:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"31302:62:25","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"31360:2:25"}],"functionName":{"name":"array_allocation_size_string","nodeType":"YulIdentifier","src":"31331:28:25"},"nodeType":"YulFunctionCall","src":"31331:32:25"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"31315:15:25"},"nodeType":"YulFunctionCall","src":"31315:49:25"},"variables":[{"name":"array","nodeType":"YulTypedName","src":"31306:5:25","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"31380:5:25"},{"name":"_2","nodeType":"YulIdentifier","src":"31387:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31373:6:25"},"nodeType":"YulFunctionCall","src":"31373:17:25"},"nodeType":"YulExpressionStatement","src":"31373:17:25"},{"body":{"nodeType":"YulBlock","src":"31436:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"31445:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"31448:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"31438:6:25"},"nodeType":"YulFunctionCall","src":"31438:12:25"},"nodeType":"YulExpressionStatement","src":"31438:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31413:2:25"},{"name":"_2","nodeType":"YulIdentifier","src":"31417:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31409:3:25"},"nodeType":"YulFunctionCall","src":"31409:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"31422:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31405:3:25"},"nodeType":"YulFunctionCall","src":"31405:20:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"31427:7:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"31402:2:25"},"nodeType":"YulFunctionCall","src":"31402:33:25"},"nodeType":"YulIf","src":"31399:53:25"},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"31500:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"31504:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31496:3:25"},"nodeType":"YulFunctionCall","src":"31496:11:25"},{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"31513:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"31520:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31509:3:25"},"nodeType":"YulFunctionCall","src":"31509:14:25"},{"name":"_2","nodeType":"YulIdentifier","src":"31525:2:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"31461:34:25"},"nodeType":"YulFunctionCall","src":"31461:67:25"},"nodeType":"YulExpressionStatement","src":"31461:67:25"},{"nodeType":"YulAssignment","src":"31537:15:25","value":{"name":"array","nodeType":"YulIdentifier","src":"31547:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"31537:6:25"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30966:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"30977:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"30989:6:25","type":""}],"src":"30909:649:25"},{"body":{"nodeType":"YulBlock","src":"31615:116:25","statements":[{"nodeType":"YulAssignment","src":"31625:20:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31640:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"31643:1:25"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"31636:3:25"},"nodeType":"YulFunctionCall","src":"31636:9:25"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"31625:7:25"}]},{"body":{"nodeType":"YulBlock","src":"31703:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"31705:16:25"},"nodeType":"YulFunctionCall","src":"31705:18:25"},"nodeType":"YulExpressionStatement","src":"31705:18:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"31674:1:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31667:6:25"},"nodeType":"YulFunctionCall","src":"31667:9:25"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"31681:1:25"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"31688:7:25"},{"name":"x","nodeType":"YulIdentifier","src":"31697:1:25"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"31684:3:25"},"nodeType":"YulFunctionCall","src":"31684:15:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"31678:2:25"},"nodeType":"YulFunctionCall","src":"31678:22:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"31664:2:25"},"nodeType":"YulFunctionCall","src":"31664:37:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"31657:6:25"},"nodeType":"YulFunctionCall","src":"31657:45:25"},"nodeType":"YulIf","src":"31654:71:25"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"31594:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"31597:1:25","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"31603:7:25","type":""}],"src":"31563:168:25"},{"body":{"nodeType":"YulBlock","src":"31910:228:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31927:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"31938:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31920:6:25"},"nodeType":"YulFunctionCall","src":"31920:21:25"},"nodeType":"YulExpressionStatement","src":"31920:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"31961:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"31972:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31957:3:25"},"nodeType":"YulFunctionCall","src":"31957:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"31977:2:25","type":"","value":"38"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31950:6:25"},"nodeType":"YulFunctionCall","src":"31950:30:25"},"nodeType":"YulExpressionStatement","src":"31950:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32000:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"32011:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31996:3:25"},"nodeType":"YulFunctionCall","src":"31996:18:25"},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061","kind":"string","nodeType":"YulLiteral","src":"32016:34:25","type":"","value":"Ownable: new owner is the zero a"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31989:6:25"},"nodeType":"YulFunctionCall","src":"31989:62:25"},"nodeType":"YulExpressionStatement","src":"31989:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32071:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"32082:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32067:3:25"},"nodeType":"YulFunctionCall","src":"32067:18:25"},{"hexValue":"646472657373","kind":"string","nodeType":"YulLiteral","src":"32087:8:25","type":"","value":"ddress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32060:6:25"},"nodeType":"YulFunctionCall","src":"32060:36:25"},"nodeType":"YulExpressionStatement","src":"32060:36:25"},{"nodeType":"YulAssignment","src":"32105:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32117:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"32128:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32113:3:25"},"nodeType":"YulFunctionCall","src":"32113:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32105:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"31887:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"31901:4:25","type":""}],"src":"31736:402:25"},{"body":{"nodeType":"YulBlock","src":"32308:385:25","statements":[{"nodeType":"YulVariableDeclaration","src":"32318:16:25","value":{"name":"pos","nodeType":"YulIdentifier","src":"32331:3:25"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"32322:5:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32343:27:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32363:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"32357:5:25"},"nodeType":"YulFunctionCall","src":"32357:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"32347:6:25","type":""}]},{"nodeType":"YulAssignment","src":"32379:12:25","value":{"name":"pos","nodeType":"YulIdentifier","src":"32388:3:25"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32379:5:25"}]},{"nodeType":"YulVariableDeclaration","src":"32400:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"32410:4:25","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"32404:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32423:29:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32441:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"32449:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32437:3:25"},"nodeType":"YulFunctionCall","src":"32437:15:25"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"32427:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"32461:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"32470:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"32465:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"32529:137:25","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32550:5:25"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"32567:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"32561:5:25"},"nodeType":"YulFunctionCall","src":"32561:13:25"},{"kind":"number","nodeType":"YulLiteral","src":"32576:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"32557:3:25"},"nodeType":"YulFunctionCall","src":"32557:24:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32543:6:25"},"nodeType":"YulFunctionCall","src":"32543:39:25"},"nodeType":"YulExpressionStatement","src":"32543:39:25"},{"nodeType":"YulAssignment","src":"32595:23:25","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32608:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"32615:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32604:3:25"},"nodeType":"YulFunctionCall","src":"32604:14:25"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"32595:5:25"}]},{"nodeType":"YulAssignment","src":"32631:25:25","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"32645:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"32653:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32641:3:25"},"nodeType":"YulFunctionCall","src":"32641:15:25"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"32631:6:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"32491:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"32494:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"32488:2:25"},"nodeType":"YulFunctionCall","src":"32488:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"32502:18:25","statements":[{"nodeType":"YulAssignment","src":"32504:14:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"32513:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"32516:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32509:3:25"},"nodeType":"YulFunctionCall","src":"32509:9:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"32504:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"32484:3:25","statements":[]},"src":"32480:186:25"},{"nodeType":"YulAssignment","src":"32675:12:25","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"32682:5:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"32675:3:25"}]}]},"name":"abi_encode_tuple_packed_t_array$_t_uint8_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"32284:3:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32289:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"32300:3:25","type":""}],"src":"32143:550:25"},{"body":{"nodeType":"YulBlock","src":"32872:227:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32889:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"32900:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32882:6:25"},"nodeType":"YulFunctionCall","src":"32882:21:25"},"nodeType":"YulExpressionStatement","src":"32882:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32923:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"32934:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32919:3:25"},"nodeType":"YulFunctionCall","src":"32919:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"32939:2:25","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32912:6:25"},"nodeType":"YulFunctionCall","src":"32912:30:25"},"nodeType":"YulExpressionStatement","src":"32912:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32962:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"32973:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32958:3:25"},"nodeType":"YulFunctionCall","src":"32958:18:25"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"32978:34:25","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32951:6:25"},"nodeType":"YulFunctionCall","src":"32951:62:25"},"nodeType":"YulExpressionStatement","src":"32951:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33033:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33044:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33029:3:25"},"nodeType":"YulFunctionCall","src":"33029:18:25"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"33049:7:25","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33022:6:25"},"nodeType":"YulFunctionCall","src":"33022:35:25"},"nodeType":"YulExpressionStatement","src":"33022:35:25"},{"nodeType":"YulAssignment","src":"33066:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33078:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33089:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33074:3:25"},"nodeType":"YulFunctionCall","src":"33074:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33066:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32849:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32863:4:25","type":""}],"src":"32698:401:25"},{"body":{"nodeType":"YulBlock","src":"33278:226:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33295:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33306:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33288:6:25"},"nodeType":"YulFunctionCall","src":"33288:21:25"},"nodeType":"YulExpressionStatement","src":"33288:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33329:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33340:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33325:3:25"},"nodeType":"YulFunctionCall","src":"33325:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"33345:2:25","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33318:6:25"},"nodeType":"YulFunctionCall","src":"33318:30:25"},"nodeType":"YulExpressionStatement","src":"33318:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33368:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33379:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33364:3:25"},"nodeType":"YulFunctionCall","src":"33364:18:25"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"33384:34:25","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33357:6:25"},"nodeType":"YulFunctionCall","src":"33357:62:25"},"nodeType":"YulExpressionStatement","src":"33357:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33439:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33450:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33435:3:25"},"nodeType":"YulFunctionCall","src":"33435:18:25"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"33455:6:25","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33428:6:25"},"nodeType":"YulFunctionCall","src":"33428:34:25"},"nodeType":"YulExpressionStatement","src":"33428:34:25"},{"nodeType":"YulAssignment","src":"33471:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33483:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33494:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33479:3:25"},"nodeType":"YulFunctionCall","src":"33479:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33471:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33255:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33269:4:25","type":""}],"src":"33104:400:25"},{"body":{"nodeType":"YulBlock","src":"33683:182:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33700:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33711:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33693:6:25"},"nodeType":"YulFunctionCall","src":"33693:21:25"},"nodeType":"YulExpressionStatement","src":"33693:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33734:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33745:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33730:3:25"},"nodeType":"YulFunctionCall","src":"33730:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"33750:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33723:6:25"},"nodeType":"YulFunctionCall","src":"33723:30:25"},"nodeType":"YulExpressionStatement","src":"33723:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33773:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33784:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33769:3:25"},"nodeType":"YulFunctionCall","src":"33769:18:25"},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","kind":"string","nodeType":"YulLiteral","src":"33789:34:25","type":"","value":"Ownable: caller is not the owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"33762:6:25"},"nodeType":"YulFunctionCall","src":"33762:62:25"},"nodeType":"YulExpressionStatement","src":"33762:62:25"},{"nodeType":"YulAssignment","src":"33833:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33845:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"33856:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33841:3:25"},"nodeType":"YulFunctionCall","src":"33841:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"33833:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33660:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"33674:4:25","type":""}],"src":"33509:356:25"},{"body":{"nodeType":"YulBlock","src":"34044:175:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34061:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34072:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34054:6:25"},"nodeType":"YulFunctionCall","src":"34054:21:25"},"nodeType":"YulExpressionStatement","src":"34054:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34095:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34106:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34091:3:25"},"nodeType":"YulFunctionCall","src":"34091:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"34111:2:25","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34084:6:25"},"nodeType":"YulFunctionCall","src":"34084:30:25"},"nodeType":"YulExpressionStatement","src":"34084:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34134:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34145:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34130:3:25"},"nodeType":"YulFunctionCall","src":"34130:18:25"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"34150:27:25","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34123:6:25"},"nodeType":"YulFunctionCall","src":"34123:55:25"},"nodeType":"YulExpressionStatement","src":"34123:55:25"},{"nodeType":"YulAssignment","src":"34187:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34199:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34210:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34195:3:25"},"nodeType":"YulFunctionCall","src":"34195:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34187:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34021:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34035:4:25","type":""}],"src":"33870:349:25"},{"body":{"nodeType":"YulBlock","src":"34398:240:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34415:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34426:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34408:6:25"},"nodeType":"YulFunctionCall","src":"34408:21:25"},"nodeType":"YulExpressionStatement","src":"34408:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34449:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34460:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34445:3:25"},"nodeType":"YulFunctionCall","src":"34445:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"34465:2:25","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34438:6:25"},"nodeType":"YulFunctionCall","src":"34438:30:25"},"nodeType":"YulExpressionStatement","src":"34438:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34488:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34499:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34484:3:25"},"nodeType":"YulFunctionCall","src":"34484:18:25"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"34504:34:25","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34477:6:25"},"nodeType":"YulFunctionCall","src":"34477:62:25"},"nodeType":"YulExpressionStatement","src":"34477:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34559:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34570:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34555:3:25"},"nodeType":"YulFunctionCall","src":"34555:18:25"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"34575:20:25","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34548:6:25"},"nodeType":"YulFunctionCall","src":"34548:48:25"},"nodeType":"YulExpressionStatement","src":"34548:48:25"},{"nodeType":"YulAssignment","src":"34605:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"34617:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"34628:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34613:3:25"},"nodeType":"YulFunctionCall","src":"34613:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"34605:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"34375:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"34389:4:25","type":""}],"src":"34224:414:25"},{"body":{"nodeType":"YulBlock","src":"34830:309:25","statements":[{"nodeType":"YulVariableDeclaration","src":"34840:27:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34860:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"34854:5:25"},"nodeType":"YulFunctionCall","src":"34854:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"34844:6:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34915:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"34923:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34911:3:25"},"nodeType":"YulFunctionCall","src":"34911:17:25"},{"name":"pos","nodeType":"YulIdentifier","src":"34930:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"34935:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"34876:34:25"},"nodeType":"YulFunctionCall","src":"34876:66:25"},"nodeType":"YulExpressionStatement","src":"34876:66:25"},{"nodeType":"YulVariableDeclaration","src":"34951:29:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34968:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"34973:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34964:3:25"},"nodeType":"YulFunctionCall","src":"34964:16:25"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"34955:5:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"34989:29:25","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35011:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35005:5:25"},"nodeType":"YulFunctionCall","src":"35005:13:25"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"34993:8:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35066:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"35074:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35062:3:25"},"nodeType":"YulFunctionCall","src":"35062:17:25"},{"name":"end_1","nodeType":"YulIdentifier","src":"35081:5:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"35088:8:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"35027:34:25"},"nodeType":"YulFunctionCall","src":"35027:70:25"},"nodeType":"YulExpressionStatement","src":"35027:70:25"},{"nodeType":"YulAssignment","src":"35106:27:25","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"35117:5:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"35124:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35113:3:25"},"nodeType":"YulFunctionCall","src":"35113:20:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35106:3:25"}]}]},"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":"34798:3:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"34803:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"34811:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34822:3:25","type":""}],"src":"34643:496:25"},{"body":{"nodeType":"YulBlock","src":"35318:236:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35335:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35346:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35328:6:25"},"nodeType":"YulFunctionCall","src":"35328:21:25"},"nodeType":"YulExpressionStatement","src":"35328:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35369:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35380:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35365:3:25"},"nodeType":"YulFunctionCall","src":"35365:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"35385:2:25","type":"","value":"46"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35358:6:25"},"nodeType":"YulFunctionCall","src":"35358:30:25"},"nodeType":"YulExpressionStatement","src":"35358:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35408:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35419:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35404:3:25"},"nodeType":"YulFunctionCall","src":"35404:18:25"},{"hexValue":"45524337323155524953746f726167653a2055524920736574206f66206e6f6e","kind":"string","nodeType":"YulLiteral","src":"35424:34:25","type":"","value":"ERC721URIStorage: URI set of non"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35397:6:25"},"nodeType":"YulFunctionCall","src":"35397:62:25"},"nodeType":"YulExpressionStatement","src":"35397:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35479:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35490:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35475:3:25"},"nodeType":"YulFunctionCall","src":"35475:18:25"},{"hexValue":"6578697374656e7420746f6b656e","kind":"string","nodeType":"YulLiteral","src":"35495:16:25","type":"","value":"existent token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35468:6:25"},"nodeType":"YulFunctionCall","src":"35468:44:25"},"nodeType":"YulExpressionStatement","src":"35468:44:25"},{"nodeType":"YulAssignment","src":"35521:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35533:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35544:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35529:3:25"},"nodeType":"YulFunctionCall","src":"35529:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35521:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35295:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35309:4:25","type":""}],"src":"35144:410:25"},{"body":{"nodeType":"YulBlock","src":"35762:286:25","statements":[{"nodeType":"YulVariableDeclaration","src":"35772:29:25","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"35790:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"35795:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"35786:3:25"},"nodeType":"YulFunctionCall","src":"35786:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"35799:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35782:3:25"},"nodeType":"YulFunctionCall","src":"35782:19:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"35776:2:25","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35817:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35832:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"35840:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35828:3:25"},"nodeType":"YulFunctionCall","src":"35828:15:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35810:6:25"},"nodeType":"YulFunctionCall","src":"35810:34:25"},"nodeType":"YulExpressionStatement","src":"35810:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35864:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35875:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35860:3:25"},"nodeType":"YulFunctionCall","src":"35860:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"35884:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"35892:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"35880:3:25"},"nodeType":"YulFunctionCall","src":"35880:15:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35853:6:25"},"nodeType":"YulFunctionCall","src":"35853:43:25"},"nodeType":"YulExpressionStatement","src":"35853:43:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35916:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35927:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35912:3:25"},"nodeType":"YulFunctionCall","src":"35912:18:25"},{"name":"value2","nodeType":"YulIdentifier","src":"35932:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35905:6:25"},"nodeType":"YulFunctionCall","src":"35905:34:25"},"nodeType":"YulExpressionStatement","src":"35905:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35959:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"35970:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35955:3:25"},"nodeType":"YulFunctionCall","src":"35955:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"35975:3:25","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35948:6:25"},"nodeType":"YulFunctionCall","src":"35948:31:25"},"nodeType":"YulExpressionStatement","src":"35948:31:25"},{"nodeType":"YulAssignment","src":"35988:54:25","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"36014:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36026:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36037:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36022:3:25"},"nodeType":"YulFunctionCall","src":"36022:19:25"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"35996:17:25"},"nodeType":"YulFunctionCall","src":"35996:46:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35988:4:25"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35707:9:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"35718:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35726:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35734:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35742:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35753:4:25","type":""}],"src":"35559:489:25"},{"body":{"nodeType":"YulBlock","src":"36133:169:25","statements":[{"body":{"nodeType":"YulBlock","src":"36179:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"36188:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"36191:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"36181:6:25"},"nodeType":"YulFunctionCall","src":"36181:12:25"},"nodeType":"YulExpressionStatement","src":"36181:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"36154:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"36163:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36150:3:25"},"nodeType":"YulFunctionCall","src":"36150:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"36175:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"36146:3:25"},"nodeType":"YulFunctionCall","src":"36146:32:25"},"nodeType":"YulIf","src":"36143:52:25"},{"nodeType":"YulVariableDeclaration","src":"36204:29:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36223:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36217:5:25"},"nodeType":"YulFunctionCall","src":"36217:16:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"36208:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36266:5:25"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"36242:23:25"},"nodeType":"YulFunctionCall","src":"36242:30:25"},"nodeType":"YulExpressionStatement","src":"36242:30:25"},{"nodeType":"YulAssignment","src":"36281:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"36291:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"36281:6:25"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36099:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"36110:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"36122:6:25","type":""}],"src":"36053:249:25"},{"body":{"nodeType":"YulBlock","src":"36481:182:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36498:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36509:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36491:6:25"},"nodeType":"YulFunctionCall","src":"36491:21:25"},"nodeType":"YulExpressionStatement","src":"36491:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36532:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36543:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36528:3:25"},"nodeType":"YulFunctionCall","src":"36528:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"36548:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36521:6:25"},"nodeType":"YulFunctionCall","src":"36521:30:25"},"nodeType":"YulExpressionStatement","src":"36521:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36571:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36582:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36567:3:25"},"nodeType":"YulFunctionCall","src":"36567:18:25"},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","kind":"string","nodeType":"YulLiteral","src":"36587:34:25","type":"","value":"ERC721: mint to the zero address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36560:6:25"},"nodeType":"YulFunctionCall","src":"36560:62:25"},"nodeType":"YulExpressionStatement","src":"36560:62:25"},{"nodeType":"YulAssignment","src":"36631:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36643:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36654:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36639:3:25"},"nodeType":"YulFunctionCall","src":"36639:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36631:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36458:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36472:4:25","type":""}],"src":"36307:356:25"},{"body":{"nodeType":"YulBlock","src":"36842:178:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36859:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36870:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36852:6:25"},"nodeType":"YulFunctionCall","src":"36852:21:25"},"nodeType":"YulExpressionStatement","src":"36852:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36893:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36904:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36889:3:25"},"nodeType":"YulFunctionCall","src":"36889:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"36909:2:25","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36882:6:25"},"nodeType":"YulFunctionCall","src":"36882:30:25"},"nodeType":"YulExpressionStatement","src":"36882:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36932:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"36943:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36928:3:25"},"nodeType":"YulFunctionCall","src":"36928:18:25"},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","kind":"string","nodeType":"YulLiteral","src":"36948:30:25","type":"","value":"ERC721: token already minted"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36921:6:25"},"nodeType":"YulFunctionCall","src":"36921:58:25"},"nodeType":"YulExpressionStatement","src":"36921:58:25"},{"nodeType":"YulAssignment","src":"36988:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"37000:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"37011:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36996:3:25"},"nodeType":"YulFunctionCall","src":"36996:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36988:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"36819:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"36833:4:25","type":""}],"src":"36668:352:25"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_array_uint8_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_tuple_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_uint8_$dyn_memory_ptr_t_array$_t_bool_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_array_uint8_dyn(value0, add(headStart, 96))\n let _1 := 32\n mstore(add(headStart, _1), sub(tail_1, headStart))\n let tail_2 := abi_encode_array_uint8_dyn(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let pos := tail_2\n let length := mload(value2)\n mstore(tail_2, length)\n pos := add(tail_2, _1)\n let srcPtr := add(value2, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, iszero(iszero(mload(srcPtr))))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_uint8_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_array_uint8_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_uint8_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, abi_decode_uint8(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint8_dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let _2 := add(headStart, offset_1)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value2 := add(_2, 32)\n value3 := length\n }\n function abi_encode_tuple_t_contract$_IgammaTicketsContract_$3571__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint8(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := abi_decode_uint8(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_array_array_uint8_dyn_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_uint8_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff)\n {\n let _3 := 0\n revert(_3, _3)\n }\n mstore(dst, abi_decode_array_uint8_dyn(add(add(offset, innerOffset), _2), end))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_array_bytes_calldata_dyn_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint8t_array$_t_uint256_$dyn_memory_ptrt_array$_t_array$_t_uint8_$dyn_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n let _1 := 32\n let offset := calldataload(add(headStart, _1))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n let dst := allocate_memory(array_allocation_size_array_uint8_dyn(_4))\n let dst_1 := dst\n mstore(dst, _4)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _4)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _1)\n }\n value1 := dst_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _2) { revert(0, 0) }\n value2 := abi_decode_array_array_uint8_dyn_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _2) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_array_bytes_calldata_dyn_calldata(add(headStart, offset_2), dataEnd)\n value3 := value3_1\n value4 := value4_1\n }\n function abi_decode_tuple_t_array$_t_uint8_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_array_bytes_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint8(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_uint8(headStart)\n }\n function abi_encode_tuple_t_contract$_IgammaPacksContract_$3525__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value2 := abi_decode_array_uint8_dyn(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__to_t_uint256_t_uint256_t_bool_t_uint8_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n mstore(add(headStart, 96), and(value3, 0xff))\n mstore(add(headStart, 128), value4)\n }\n function validator_revert_bool(value)\n {\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function array_allocation_size_string(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(and(add(length, 31), not(31)), 0x20)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_addresst_addresst_addresst_addresst_string_memory_ptrt_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n let value_2 := calldataload(add(headStart, 64))\n validator_revert_address(value_2)\n value2 := value_2\n let value_3 := calldataload(add(headStart, 96))\n validator_revert_address(value_3)\n value3 := value_3\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_string(add(headStart, offset), dataEnd)\n let value_4 := calldataload(add(headStart, 160))\n validator_revert_address(value_4)\n value5 := value_4\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_array$_t_uint8_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_array_bytes_calldata_dyn_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_bool(value_1)\n value1 := value_1\n }\n function abi_decode_tuple_t_addresst_uint8t_addresst_uint8(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := abi_decode_uint8(add(headStart, 32))\n let value_1 := calldataload(add(headStart, 64))\n validator_revert_address(value_1)\n value2 := value_1\n value3 := abi_decode_uint8(add(headStart, 96))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n value3 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_contract$_IgammaOffersContract_$3565__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bool(value)\n value0 := value\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if eq(value_1, 0xff) { panic_error_0x11() }\n ret := add(value_1, 1)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_struct$_Data_$5718_storage_ptr_t_address__to_t_uint256_t_address__fromStack_library_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_calldata_ptr__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_bytes_memory_ptr__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 128)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n let _1 := 32\n mstore(add(headStart, _1), value1)\n mstore(add(headStart, 64), 128)\n let pos := tail_1\n let length := mload(value2)\n mstore(tail_1, length)\n pos := add(headStart, 160)\n let srcPtr := add(value2, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n mstore(add(headStart, 96), sub(pos, headStart))\n mstore(pos, value4)\n calldatacopy(add(pos, _1), value3, value4)\n mstore(add(add(pos, value4), _1), 0)\n tail := add(add(pos, and(add(value4, 31), not(31))), _1)\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function access_calldata_tail_t_bytes_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function decrement_t_uint8(value) -> ret\n {\n let value_1 := and(value, 0xff)\n if iszero(value_1) { panic_error_0x11() }\n ret := add(value_1, not(0))\n }\n function abi_encode_tuple_packed_t_array$_t_uint8_$dyn_calldata_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n let pos_1 := pos\n pos_1 := pos\n let srcPtr := value0\n let i := 0\n for { } lt(i, value1) { i := add(i, 1) }\n {\n mstore(pos_1, and(abi_decode_uint8(srcPtr), 0xff))\n let _1 := 0x20\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos_1\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_88b5330e1896933900a14bf749a759ceee010cb99d295ffa203eac33ad95a232__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"This card has an offer.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, sub(shl(160, 1), 1)))\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_eb01e1647e93493aed8ecd1e3d4acfa1adcdfee195c37f083ed59badee6a65f8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"invalid cardInventory position\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_packed_t_bytes_storage_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n let ret := 0\n let slotValue := sload(value0)\n let length := extract_byte_array_length(slotValue)\n let _1 := 1\n switch and(slotValue, _1)\n case 0 {\n mstore(pos, and(slotValue, not(255)))\n ret := add(pos, mul(length, iszero(iszero(length))))\n }\n case 1 {\n mstore(0, value0)\n let _2 := 0x20\n let dataPos := keccak256(0, _2)\n let i := 0\n for { } lt(i, length) { i := add(i, _2) }\n {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, _1)\n }\n ret := add(pos, length)\n }\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), ret, length_1)\n let end_1 := add(ret, length_1)\n let length_2 := mload(value2)\n copy_memory_to_memory_with_cleanup(add(value2, 0x20), end_1, length_2)\n let _3 := add(end_1, length_2)\n let length_3 := mload(value3)\n copy_memory_to_memory_with_cleanup(add(value3, 0x20), _3, length_3)\n end := add(_3, length_3)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_uint8_t_uint8__to_t_uint8_t_uint8__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, 0xff))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n let _2 := mload(_1)\n let array := allocate_memory(array_allocation_size_string(_2))\n mstore(array, _2)\n if gt(add(add(_1, _2), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_1, 32), add(array, 32), _2)\n value0 := array\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_packed_t_array$_t_uint8_$dyn_memory_ptr__to_t_array$_t_uint8_$dyn_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let pos_1 := pos\n let length := mload(value0)\n pos_1 := pos\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos_1, and(mload(srcPtr), 0xff))\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos_1\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\n }\n function abi_encode_tuple_t_stringliteral_7521de1f20ce4d7bb86b61090bad73a87315a1f4baff36cc352901c7777280c4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"ERC721URIStorage: URI set of non\")\n mstore(add(headStart, 96), \"existent token\")\n tail := add(headStart, 128)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"ERC721: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"ERC721: token already minted\")\n tail := add(headStart, 96)\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":[{"length":20,"start":4328},{"length":20,"start":5014},{"length":20,"start":9012},{"length":20,"start":14393}]},"contracts/gamma/libs/LibPackVerifier.sol":{"LibPackVerifier":[{"length":20,"start":4590},{"length":20,"start":15074}]},"contracts/gamma/libs/LibStringUtils.sol":{"LibStringUtils":[{"length":20,"start":13591}]}},"object":"608060405234801561001057600080fd5b506004361061046a5760003560e01c806379e8dadc1161024c578063ad1684fa11610146578063dbfc05cf116100c3578063e8a7e31d11610087578063e8a7e31d14610a82578063e985e9c514610a8a578063eb12d61e14610ac6578063f2fde38b14610ad9578063f98fd28314610aec57600080fd5b8063dbfc05cf14610a23578063ddb975e814610a36578063e1883c6e14610a49578063e4ae0b9b14610a5c578063e606df8714610a6957600080fd5b8063c87b56dd1161010a578063c87b56dd146109d9578063cafaa473146109ec578063d322b563146109ff578063d7093f4014610a12578063d780c47714610a1b57600080fd5b8063ad1684fa14610984578063b352618514610997578063b88d4fde146109a0578063ba6c0fbc146109b3578063bf400a6a146109c657600080fd5b80638da5cb5b116101d45780639ff26efd116101985780639ff26efd14610910578063a1af8ad41461093e578063a22cb46514610951578063a419811d14610964578063ab5351601461097757600080fd5b80638da5cb5b146108c95780639038f414146108da57806395d89b41146108e25780639a5613ad146108ea5780639c7f707f146108fd57600080fd5b80637df73e271161021b5780637df73e271461084e57806382d8a1181461087a578063886eb60f1461088357806388e0ef80146108965780638bf670c8146108b657600080fd5b806379e8dadc1461080d5780637ce65f7b146108155780637cf86b72146108285780637de99bd91461083b57600080fd5b8063267b841d116103685780635e31ce48116102e55780637065cb48116102a95780637065cb48146107b957806370a08231146107cc578063715018a6146107df5780637155a3ac146107e75780637232d7d4146107fa57600080fd5b80635e31ce48146107655780636352211e14610778578063656bd0ad1461078b57806368cc5bc1146107945780636d0af178146107a757600080fd5b80634039327e1161032c5780634039327e146106b257806342842e0e146106ba57806342966c68146106cd5780634c03cd0b146106e05780635312ea8e1461075257600080fd5b8063267b841d1461063a5780632ca699e71461064d5780632f54bf6e146106605780632f9e026a1461068c57806330f5cc581461069f57600080fd5b8063147baac7116103f6578063203335f6116103ba578063203335f6146105e557806320965a5f146105f857806321a7c6b01461060b57806323b872dd14610614578063241a08fe1461062757600080fd5b8063147baac71461057557806314cca36a14610587578063155e2f921461059a5780631585cc4e146105ad578063173825d9146105d257600080fd5b8063081812fc1161043d578063081812fc146104fc578063095ea7b3146105275780630e316ab71461053c578063128916dc1461054f5780631306952c1461056257600080fd5b806301ffc9a71461046f5780630435dcaf1461049757806306fdde03146104b957806307b2e246146104ce575b600080fd5b61048261047d366004614a27565b610aff565b60405190151581526020015b60405180910390f35b6104aa6104a5366004614a59565b610b10565b60405161048e93929190614ab4565b6104c1610ec0565b60405161048e9190614b6f565b6104ee6104dc366004614a59565b601b6020526000908152604090205481565b60405190815260200161048e565b61050f61050a366004614b82565b610f52565b6040516001600160a01b03909116815260200161048e565b61053a610535366004614b9b565b610f79565b005b61053a61054a366004614a59565b611093565b61053a61055d366004614a59565b611139565b61050f610570366004614cb8565b6111dc565b60185461048290610100900460ff1681565b600a5461050f906001600160a01b031681565b61053a6105a8366004614d52565b61126a565b6105c06105bb366004614d52565b6112e7565b60405160ff909116815260200161048e565b61053a6105e0366004614a59565b611341565b61053a6105f3366004614e51565b6113b8565b61053a610606366004614f47565b611477565b6104ee60135481565b61053a610622366004614f88565b611a93565b61053a610635366004614fc9565b611ac5565b61053a610648366004614cb8565b611b0b565b61053a61065b366004614d52565b611b1e565b61048261066e366004614a59565b6001600160a01b03166000908152600b602052604090205460ff1690565b60085461050f906001600160a01b031681565b61053a6106ad366004614fe4565b611d71565b6104c1611ff9565b61053a6106c8366004614f88565b612087565b61053a6106db366004614b82565b6120a2565b6107226106ee366004614b82565b60196020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a00161048e565b61053a610760366004614b82565b6120d3565b61053a610773366004614b82565b6121ee565b61050f610786366004614b82565b612233565b6104ee60115481565b61053a6107a236600461504a565b612293565b600f546105c090610100900460ff1681565b61053a6107c7366004614a59565b6122df565b6104ee6107da366004614a59565b612356565b61053a6123dc565b61053a6107f5366004614d52565b6123f0565b61053a610808366004614b82565b612450565b6104c16124a6565b61053a610823366004614fc9565b6124b3565b6104ee610836366004614a59565b612524565b61053a6108493660046150e7565b612570565b61048261085c366004614a59565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104ee60105481565b610482610891366004614d52565b61274b565b6104ee6108a4366004614b82565b601a6020526000908152604090205481565b6104826108c4366004614d52565b6127a7565b6007546001600160a01b031661050f565b610482612806565b6104c1612ba6565b6018546104829062010000900460ff1681565b61053a61090b366004615181565b612bb5565b6105c061091e366004614d52565b601c60209081526000928352604080842090915290825290205460ff1681565b61053a61094c3660046151e4565b612c57565b61053a61095f366004615238565b612fd1565b61053a610972366004614a59565b612fe0565b600f546105c09060ff1681565b61053a610992366004615271565b61307f565b6104ee60145481565b61053a6109ae3660046152c9565b613312565b61053a6109c1366004614b82565b613344565b61053a6109d4366004614fc9565b61339a565b6104c16109e7366004614b82565b6135e6565b61053a6109fa366004614a59565b6135f1565b60095461050f906001600160a01b031681565b6104ee60125481565b6104ee613694565b61053a610a3136600461504a565b6136c1565b61053a610a44366004614a59565b613704565b61053a610a57366004614b82565b6137a7565b6018546104829060ff1681565b600f5461050f906201000090046001600160a01b031681565b6104c16137d7565b610482610a98366004615348565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61053a610ad4366004614a59565b6137e4565b61053a610ae7366004614a59565b61385b565b61053a610afa36600461504a565b6138d1565b6000610b0a8261391b565b92915050565b60408051607a808252610f608201909252606091829182916000919060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f40803683370190505090506000805b60798160ff1611610cf6576001600160a01b0389166000908152601c6020908152604080832060ff80861685529252909120541615610ce45780858360ff1681518110610bdc57610bdc615376565b60ff9283166020918202929092018101919091526001600160a01b038b166000908152601c82526040808220858516835290925220548551908216918691908516908110610c2c57610c2c615376565b60ff9283166020918202929092010152600954604051632edb5fcf60e01b81526001600160a01b038c811660048301529284166024820152911690632edb5fcf90604401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061538c565b838360ff1681518110610cc657610cc6615376565b9115156020928302919091019091015281610ce0816153bf565b9250505b80610cee816153bf565b915050610b8d565b5060008160ff166001600160401b03811115610d1457610d14614bc7565b604051908082528060200260200182016040528015610d3d578160200160208202803683370190505b50905060008260ff166001600160401b03811115610d5d57610d5d614bc7565b604051908082528060200260200182016040528015610d86578160200160208202803683370190505b50905060008360ff166001600160401b03811115610da657610da6614bc7565b604051908082528060200260200182016040528015610dcf578160200160208202803683370190505b50905060005b8460ff16811015610eae57878181518110610df257610df2615376565b6020026020010151848281518110610e0c57610e0c615376565b602002602001019060ff16908160ff1681525050868181518110610e3257610e32615376565b6020026020010151838281518110610e4c57610e4c615376565b602002602001019060ff16908160ff1681525050858181518110610e7257610e72615376565b6020026020010151828281518110610e8c57610e8c615376565b9115156020928302919091019091015280610ea6816153de565b915050610dd5565b50919a90995090975095505050505050565b606060008054610ecf906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610efb906153f7565b8015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050505050905090565b6000610f5d82613940565b506000908152600460205260409020546001600160a01b031690565b6000610f8482612233565b9050806001600160a01b0316836001600160a01b031603610ff65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101257506110128133610a98565b6110845760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fed565b61108e838361399f565b505050565b336000908152600b602052604090205460ff166110c357604051634289c49360e01b815260040160405180910390fd5b604051630982088f60e41b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063982088f0906044015b60006040518083038186803b15801561111e57600080fd5b505af4158015611132573d6000803e3d6000fd5b5050505050565b336000908152600b602052604090205460ff1661116957604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166111915760405163e6c4247b60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0384169081179091556040517f538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead090600090a25050565b6040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b9061121e903390899089908990899060040161542b565b602060405180830381865af415801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906154b2565b90505b949350505050565b6009546001600160a01b0316331461129557604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca836153bf565b91906101000a81548160ff021916908360ff160217905550505050565b6000826001600160a01b0381166113115760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff94851684529091529020541690565b336000908152600b602052604090205460ff1661137157604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a490604401611106565b60ff851615806113d05750600f5460ff908116908616115b156113ee57604051630b154b3b60e41b815260040160405180910390fd5b60005b8560ff1681101561146f5761145d3386838151811061141257611412615376565b602002602001015186848151811061142c5761142c615376565b602002602001015186868681811061144657611446615376565b905060200281019061145891906154cf565b613a0d565b80611467816153de565b9150506113f1565b505050505050565b336000908152601c602090815260408083206079845290915281205460ff1690036114b55760405163210f01d160e21b815260040160405180910390fd5b336000908152601b60205260408120546114d0908390615515565b90506000603c821061158857600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f9190615528565b90506014548110806115645750601454601254105b156115825760405163356680b760e01b815260040160405180910390fd5b60019150505b600954604051630cdb311760e01b815233600482015260009182916001600160a01b0390911690630cdb311790602401602060405180830381865afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190615528565b1190508360005b8181101561182057336000908152601c602052604081209088888481811061162a5761162a615376565b905060200201602081019061163f9190614fc9565b60ff9081168252602082019290925260400160009081205490911690036116795760405163210f01d160e21b815260040160405180910390fd5b821561179c576009546001600160a01b0316632edb5fcf338989858181106116a3576116a3615376565b90506020020160208101906116b89190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611728919061538c565b1561179c57336000908152601c6020526040812060029189898581811061175157611751615376565b90506020020160208101906117669190614fc9565b60ff908116825260208201929092526040016000205416101561179c5760405163483e9b8d60e11b815260040160405180910390fd5b336000908152601c60205260408120908888848181106117be576117be615376565b90506020020160208101906117d39190614fc9565b60ff908116825260208201929092526040016000908120805490921691906117fa83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050611600565b50336000908152601b602052604081208054839290611840908490615515565b9091555050604051611855908790879061555e565b6040519081900381209033907fdbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b190600090a3821561146f57336000908152601c60209081526040808320607984529091528120805460ff16916118b783615541565b91906101000a81548160ff021916908360ff1602179055505061196833601680546118e1906153f7565b80601f016020809104026020016040519081016040528092919081815260200182805461190d906153f7565b801561195a5780601f1061192f5761010080835404028352916020019161195a565b820191906000526020600020905b81548152906001019060200180831161193d57829003601f168201915b505050505060796002613e24565b6014546012600082825461197c9190615598565b9091555050600f5460145460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff919061538c565b50600a5460405163fa8213d360e01b81523360048201526001600160a01b039091169063fa8213d390602401600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b5050604051600292503391507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a3505050505050565b611a9e335b82613e87565b611aba5760405162461bcd60e51b8152600401610fed906155ab565b61108e838383613f05565b336000908152600b602052604090205460ff16611af557604051634289c49360e01b815260040160405180910390fd5b600f805460ff191660ff92909216919091179055565b611b183385858585613a0d565b50505050565b816001600160a01b038116611b465760405163e6c4247b60e01b815260040160405180910390fd5b336000908152601c6020908152604080832060ff80871685529252822054169003611b845760405163210f01d160e21b815260040160405180910390fd5b336001600160a01b03841603611bad57604051632f35253160e01b815260040160405180910390fd5b60185462010000900460ff1615611c8457600954604051632edb5fcf60e01b815233600482015260ff841660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa158015611c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c34919061538c565b336000908152601c6020908152604080832060ff80891685529252909120549192506001911611811580611c655750805b611c815760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff808716855292528220805490911691611cb083615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0385166000908152601c602090815260408083208785168452909152812080549092169250611cff836153bf565b91906101000a81548160ff021916908360ff16021790555050826001600160a01b0316336001600160a01b03167f1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da84604051611d64919060ff91909116815260200190565b60405180910390a3505050565b336000908152600b602052604090205460ff16611da157604051634289c49360e01b815260040160405180910390fd5b6008546040516380f2540b60e01b8152600481018490526001600160a01b038581166024830152909116906380f2540b90604401600060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506006601154611e16919061562f565b601154611e239190615598565b60126000828254611e349190615515565b90915550600090505b8151811015611b1857818181518110611e5857611e58615376565b602002602001015160ff16607814611ea357611389601a6000848481518110611e8357611e83615376565b602002602001015160ff1681526020019081526020016000205410611ed4565b6078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb9115b611f205760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610fed565b601a6000838381518110611f3657611f36615376565b602002602001015160ff1681526020019081526020016000206000815480929190611f60906153de565b90915550506001600160a01b0384166000908152601c602052604081208351909190849084908110611f9457611f94615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611fcd906153bf565b91906101000a81548160ff021916908360ff160217905550508080611ff1906153de565b915050611e3d565b60168054612006906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054612032906153f7565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b505050505081565b61108e83838360405180602001604052806000815250613312565b6120ab33611a98565b6120c75760405162461bcd60e51b8152600401610fed906155ab565b6120d081614069565b50565b336000908152600b602052604090205460ff1661210357604051634289c49360e01b815260040160405180910390fd5b8061210d30612356565b101561212c5760405163356680b760e01b815260040160405180910390fd5b806012600082825461213e9190615598565b9091555050600f5460405163a9059cbb60e01b815233600482015260248101839052620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061538c565b50604051819033907f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2090600090a350565b6008546001600160a01b03163314612219576040516307473cc760e41b815260040160405180910390fd5b806012600082825461222b9190615515565b909155505050565b6000818152600260205260408120546001600160a01b031680610b0a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b336000908152600b602052604090205460ff166122c357604051634289c49360e01b815260040160405180910390fd5b60188054911515620100000262ff000019909216919091179055565b336000908152600b602052604090205460ff1661230f57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae490604401611106565b60006001600160a01b0382166123c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fed565b506001600160a01b031660009081526003602052604090205490565b6123e4614072565b6123ee60006140cc565b565b6009546001600160a01b0316331461241b57604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca83615541565b336000908152600b602052604090205460ff1661248057604051634289c49360e01b815260040160405180910390fd5b806000036124a157604051634b1c6ca160e01b815260040160405180910390fd5b601355565b60158054612006906153f7565b336000908152600b602052604090205460ff166124e357604051634289c49360e01b815260040160405180910390fd5b60648160ff16111561250857604051634b1c6ca160e01b815260040160405180910390fd5b600f805460ff9092166101000261ff0019909216919091179055565b6000816001600160a01b03811661254e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152601b602052604090205491505b50919050565b612578614072565b336000908152600b60205260409020805460ff19166001179055600f80546001600160a01b03888116620100000262010000600160b01b031990921691909117909155600880548783166001600160a01b031991821617909155600a8054868416908316179055600980549287169290911691909117905560176125fc8382615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516126599460179493909101615756565b604051602081830303815290604052601590816126769190615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b8184015293516126d39460179493909101615756565b604051602081830303815290604052601690816126f09190615697565b506001600160a01b0381166000908152600e60205260408120805460ff191660011790555b607a811015612742576000818152601a60205260409020600190558061273a816153de565b915050612715565b50505050505050565b6000826001600160a01b0381166127755760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b6009546000906001600160a01b031633146127d557604051638eea824160e01b815260040160405180910390fd5b506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b336000908152601c602090815260408083206078845290915281205460ff1681036128445760405163210f01d160e21b815260040160405180910390fd5b601354601254101561286957604051634b1c6ca160e01b815260040160405180910390fd5b600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156128b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128dc9190615528565b90506013548110156129015760405163356680b760e01b815260040160405180910390fd5b6000805b60788160ff161161299057336000908152601c6020908152604080832060ff8086168552925282205416900361293e5760019150612990565b336000908152601c6020908152604080832060ff80861685529252822080549091169161296a83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050612905565b5080156129af57604051623de82960e51b815260040160405180910390fd5b612a4733601580546129c0906153f7565b80601f01602080910402602001604051908101604052809291908181526020018280546129ec906153f7565b8015612a395780601f10612a0e57610100808354040283529160200191612a39565b820191906000526020600020905b815481529060010190602001808311612a1c57829003601f168201915b505050505060786002613e24565b60135460126000828254612a5b9190615598565b9091555050600f5460135460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612aba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ade919061538c565b50600954604051633f27a03f60e21b81523360048201526000916001600160a01b03169063fc9e80fc906024016020604051808303816000875af1158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e919061538c565b905080612b6e5760405163e07c7c8d60e01b815260040160405180910390fd5b60405160019033907f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a36001935050505090565b606060018054610ecf906153f7565b336000908152600b602052604090205460ff16612be557604051634289c49360e01b815260040160405180910390fd5b6015612bf18382615697565b506016612bfe8282615697565b5080604051612c0d9190615805565b604051809103902082604051612c239190615805565b604051908190038120907fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec690600090a35050565b826001600160a01b038116612c7f5760405163e6c4247b60e01b815260040160405180910390fd5b336001600160a01b03851603612ca857604051632f35253160e01b815260040160405180910390fd5b60005b82811015612f7d57336000908152601c6020526040812090858584818110612cd557612cd5615376565b9050602002016020810190612cea9190614fc9565b60ff908116825260208201929092526040016000908120549091169003612d245760405163210f01d160e21b815260040160405180910390fd5b336000908152601c6020526040812090858584818110612d4657612d46615376565b9050602002016020810190612d5b9190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612d8283615541565b91906101000a81548160ff021916908360ff16021790555050601c6000866001600160a01b03166001600160a01b031681526020019081526020016000206000858584818110612dd457612dd4615376565b9050602002016020810190612de99190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612e10836153bf565b91906101000a81548160ff021916908360ff16021790555050601860029054906101000a900460ff1615612f6b576009546000906001600160a01b0316632edb5fcf33878786818110612e6557612e65615376565b9050602002016020810190612e7a9190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eea919061538c565b336000908152601c602052604081209192509060019082888887818110612f1357612f13615376565b9050602002016020810190612f289190614fc9565b60ff908116825260208201929092526040016000205416119050811580612f4c5750805b612f685760405162461bcd60e51b8152600401610fed906155f8565b50505b80612f75816153de565b915050612cab565b508282604051612f8e92919061555e565b604051908190038120906001600160a01b0386169033907f368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b90600090a450505050565b612fdc33838361411e565b5050565b336000908152600b602052604090205460ff1661301057604051634289c49360e01b815260040160405180910390fd5b60005b60798160ff1611612fdc576001600160a01b0382166000908152601c6020908152604080832060ff808616855292528220805490911691613053836153bf565b91906101000a81548160ff021916908360ff160217905550508080613077906153bf565b915050613013565b6009546001600160a01b031633146130aa57604051638eea824160e01b815260040160405180910390fd5b836001600160a01b0381166130d25760405163e6c4247b60e01b815260040160405180910390fd5b826001600160a01b0381166130fa5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a16855292529091205416158061315557506001600160a01b0384166000908152601c6020908152604080832060ff808816855292529091205416155b156131735760405163210f01d160e21b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a168552925282208054909116916131a883615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c602090815260408083208a851684529091528120805490921692506131f7836153bf565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c60209081526040808320888516845290915281208054909216925061324683615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0388166000908152601c602090815260408083208885168452909152812080549092169250613295836153bf565b91906101000a81548160ff021916908360ff16021790555050836001600160a01b0316866001600160a01b03167f52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524878660405161330292919060ff92831681529116602082015260400190565b60405180910390a3505050505050565b61331c3383613e87565b6133385760405162461bcd60e51b8152600401610fed906155ab565b611b18848484846141e4565b336000908152600b602052604090205460ff1661337457604051634289c49360e01b815260040160405180910390fd5b8060000361339557604051634b1c6ca160e01b815260040160405180910390fd5b601455565b336000908152601c6020908152604080832060ff808616855292528220541690036133d85760405163210f01d160e21b815260040160405180910390fd5b601854610100900460ff16156134ae57600954604051632edb5fcf60e01b815233600482015260ff831660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa15801561343a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345e919061538c565b336000908152601c6020908152604080832060ff8088168552925290912054919250600191161181158061348f5750805b6134ab5760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff8086168552925282208054909116916134da83615541565b91906101000a81548160ff021916908360ff1602179055505060006017604051806040016040528060018152602001602f60f81b8152508360ff1673__$7e24fea74dbc7efffb723a34f6ecd87681$__636900a3ae90916040518263ffffffff1660e01b815260040161354f91815260200190565b600060405180830381865af415801561356c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135949190810190615821565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016135c59493929190615756565b6040516020818303038152906040529050612fdc33828460ff166001613e24565b6060610b0a82614217565b336000908152600b602052604090205460ff1661362157604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166136495760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f90600090a25050565b601254600f546000916064916136b29190610100900460ff16615897565b6136bc919061562f565b905090565b336000908152600b602052604090205460ff166136f157604051634289c49360e01b815260040160405180910390fd5b6018805460ff1916911515919091179055565b336000908152600b602052604090205460ff1661373457604051634289c49360e01b815260040160405180910390fd5b806001600160a01b03811661375c5760405163e6c4247b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0384169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a25050565b6008546001600160a01b031633146137d2576040516307473cc760e41b815260040160405180910390fd5b601155565b60178054612006906153f7565b336000908152600b602052604090205460ff1661381457604051634289c49360e01b815260040160405180910390fd5b604051633b9db68960e11b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063773b6d1290604401611106565b613863614072565b6001600160a01b0381166138c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fed565b6120d0816140cc565b336000908152600b602052604090205460ff1661390157604051634289c49360e01b815260040160405180910390fd5b601880549115156101000261ff0019909216919091179055565b60006001600160e01b03198216632483248360e11b1480610b0a5750610b0a8261431f565b6000818152600260205260409020546001600160a01b03166120d05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139d482612233565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60085460405163d3e6a7ad60e01b8152600481018690526001600160a01b0387811692169063d3e6a7ad90602401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906154b2565b6001600160a01b031614613aa357604051637f6ecdf560e01b815260040160405180910390fd5b600f835110613ac557604051639dcca73360e01b815260040160405180910390fd5b60185460ff1615613b91576040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b90613b12903390899089908990899060040161542b565b602060405180830381865af4158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5391906154b2565b6001600160a01b0381166000908152600e602052604090205490915060ff16613b8f57604051638baa579f60e01b815260040160405180910390fd5b505b6008546040516380f2540b60e01b8152600481018690526001600160a01b038781166024830152909116906380f2540b90604401600060405180830381600087803b158015613bdf57600080fd5b505af1158015613bf3573d6000803e3d6000fd5b505050506006601154613c06919061562f565b601154613c139190615598565b60126000828254613c249190615515565b90915550600090505b8351811015613dd257838181518110613c4857613c48615376565b602002602001015160ff16607803613cad576078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb81015613ca857604051630d1ecf1760e11b815260040160405180910390fd5b613cff565b611388601a6000868481518110613cc657613cc6615376565b602002602001015160ff168152602001908152602001600020541115613cff57604051630d1ecf1760e11b815260040160405180910390fd5b601a6000858381518110613d1557613d15615376565b602002602001015160ff1681526020019081526020016000206000815480929190613d3f906153de565b90915550506001600160a01b0386166000908152601c602052604081208551909190869084908110613d7357613d73615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190613dac906153bf565b91906101000a81548160ff021916908360ff160217905550508080600101915050613c2d565b508383604051613de291906158ae565b604051908190038120906001600160a01b038816907fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e390600090a45050505050565b601054600081815260196020526040902081815560018101849055600201805461ff00191661010060ff851602179055613e5e858261436f565b613e688185614389565b600160106000828254613e7b9190615515565b90915550505050505050565b600080613e9383612233565b9050806001600160a01b0316846001600160a01b03161480613eda57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806112625750836001600160a01b0316613ef384610f52565b6001600160a01b031614949350505050565b826001600160a01b0316613f1882612233565b6001600160a01b031614613f3e5760405162461bcd60e51b8152600401610fed906158e7565b6001600160a01b038216613fa05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fed565b826001600160a01b0316613fb382612233565b6001600160a01b031614613fd95760405162461bcd60e51b8152600401610fed906158e7565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6120d081614454565b6007546001600160a01b031633146123ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fed565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361417f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fed565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d64565b6141ef848484613f05565b6141fb84848484614494565b611b185760405162461bcd60e51b8152600401610fed9061592c565b606061422282613940565b6000828152600660205260408120805461423b906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054614267906153f7565b80156142b45780601f10614289576101008083540402835291602001916142b4565b820191906000526020600020905b81548152906001019060200180831161429757829003601f168201915b5050505050905060006142d260408051602081019091526000815290565b905080516000036142e4575092915050565b8151156143165780826040516020016142fe92919061597e565b60405160208183030381529060405292505050919050565b61126284614592565b60006001600160e01b031982166380ac58cd60e01b148061435057506001600160e01b03198216635b5e139f60e01b145b80610b0a57506301ffc9a760e01b6001600160e01b0319831614610b0a565b612fdc828260405180602001604052806000815250614606565b6000828152600260205260409020546001600160a01b03166144045760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610fed565b600082815260066020526040902061441c8282615697565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b61445d81614639565b60008181526006602052604090208054614476906153f7565b1590506120d05760008181526006602052604081206120d0916149c3565b60006001600160a01b0384163b1561458a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144d89033908990889088906004016159ad565b6020604051808303816000875af1925050508015614513575060408051601f3d908101601f19168201909252614510918101906159ea565b60015b614570573d808015614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b5080516000036145685760405162461bcd60e51b8152600401610fed9061592c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001611262565b606061459d82613940565b60006145b460408051602081019091526000815290565b905060008151116145d457604051806020016040528060008152506145ff565b806145de846146ce565b6040516020016145ef92919061597e565b6040516020818303038152906040525b9392505050565b6146108383614760565b61461d6000848484614494565b61108e5760405162461bcd60e51b8152600401610fed9061592c565b600061464482612233565b905061464f82612233565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006146db836148eb565b60010190506000816001600160401b038111156146fa576146fa614bc7565b6040519080825280601f01601f191660200182016040528015614724576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461472e57509392505050565b6001600160a01b0382166147b65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fed565b6000818152600260205260409020546001600160a01b03161561481b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6000818152600260205260409020546001600160a01b0316156148805760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061492a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614956576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061497457662386f26fc10000830492506010015b6305f5e100831061498c576305f5e100830492506008015b61271083106149a057612710830492506004015b606483106149b2576064830492506002015b600a8310610b0a5760010192915050565b5080546149cf906153f7565b6000825580601f106149df575050565b601f0160209004906000526020600020908101906120d091905b80821115614a0d57600081556001016149f9565b5090565b6001600160e01b0319811681146120d057600080fd5b600060208284031215614a3957600080fd5b81356145ff81614a11565b6001600160a01b03811681146120d057600080fd5b600060208284031215614a6b57600080fd5b81356145ff81614a44565b600081518084526020808501945080840160005b83811015614aa957815160ff1687529582019590820190600101614a8a565b509495945050505050565b606081526000614ac76060830186614a76565b602083820381850152614ada8287614a76565b8481036040860152855180825282870193509082019060005b81811015614b11578451151583529383019391830191600101614af3565b509098975050505050505050565b60005b83811015614b3a578181015183820152602001614b22565b50506000910152565b60008151808452614b5b816020860160208601614b1f565b601f01601f19169290920160200192915050565b6020815260006145ff6020830184614b43565b600060208284031215614b9457600080fd5b5035919050565b60008060408385031215614bae57600080fd5b8235614bb981614a44565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614c0557614c05614bc7565b604052919050565b60006001600160401b03821115614c2657614c26614bc7565b5060051b60200190565b803560ff81168114614c4157600080fd5b919050565b600082601f830112614c5757600080fd5b81356020614c6c614c6783614c0d565b614bdd565b82815260059290921b84018101918181019086841115614c8b57600080fd5b8286015b84811015614cad57614ca081614c30565b8352918301918301614c8f565b509695505050505050565b60008060008060608587031215614cce57600080fd5b8435935060208501356001600160401b0380821115614cec57600080fd5b614cf888838901614c46565b94506040870135915080821115614d0e57600080fd5b818701915087601f830112614d2257600080fd5b813581811115614d3157600080fd5b886020828501011115614d4357600080fd5b95989497505060200194505050565b60008060408385031215614d6557600080fd5b8235614d7081614a44565b9150614d7e60208401614c30565b90509250929050565b600082601f830112614d9857600080fd5b81356020614da8614c6783614c0d565b82815260059290921b84018101918181019086841115614dc757600080fd5b8286015b84811015614cad5780356001600160401b03811115614dea5760008081fd5b614df88986838b0101614c46565b845250918301918301614dcb565b60008083601f840112614e1857600080fd5b5081356001600160401b03811115614e2f57600080fd5b6020830191508360208260051b8501011115614e4a57600080fd5b9250929050565b600080600080600060808688031215614e6957600080fd5b614e7286614c30565b94506020808701356001600160401b0380821115614e8f57600080fd5b818901915089601f830112614ea357600080fd5b8135614eb1614c6782614c0d565b81815260059190911b8301840190848101908c831115614ed057600080fd5b938501935b82851015614eee57843582529385019390850190614ed5565b985050506040890135925080831115614f0657600080fd5b614f128a848b01614d87565b95506060890135925080831115614f2857600080fd5b5050614f3688828901614e06565b969995985093965092949392505050565b60008060208385031215614f5a57600080fd5b82356001600160401b03811115614f7057600080fd5b614f7c85828601614e06565b90969095509350505050565b600080600060608486031215614f9d57600080fd5b8335614fa881614a44565b92506020840135614fb881614a44565b929592945050506040919091013590565b600060208284031215614fdb57600080fd5b6145ff82614c30565b600080600060608486031215614ff957600080fd5b833561500481614a44565b92506020840135915060408401356001600160401b0381111561502657600080fd5b61503286828701614c46565b9150509250925092565b80151581146120d057600080fd5b60006020828403121561505c57600080fd5b81356145ff8161503c565b60006001600160401b0382111561508057615080614bc7565b50601f01601f191660200190565b600061509c614c6784615067565b90508281528383830111156150b057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150d857600080fd5b6145ff8383356020850161508e565b60008060008060008060c0878903121561510057600080fd5b863561510b81614a44565b9550602087013561511b81614a44565b9450604087013561512b81614a44565b9350606087013561513b81614a44565b925060808701356001600160401b0381111561515657600080fd5b61516289828a016150c7565b92505060a087013561517381614a44565b809150509295509295509295565b6000806040838503121561519457600080fd5b82356001600160401b03808211156151ab57600080fd5b6151b7868387016150c7565b935060208501359150808211156151cd57600080fd5b506151da858286016150c7565b9150509250929050565b6000806000604084860312156151f957600080fd5b833561520481614a44565b925060208401356001600160401b0381111561521f57600080fd5b61522b86828701614e06565b9497909650939450505050565b6000806040838503121561524b57600080fd5b823561525681614a44565b915060208301356152668161503c565b809150509250929050565b6000806000806080858703121561528757600080fd5b843561529281614a44565b93506152a060208601614c30565b925060408501356152b081614a44565b91506152be60608601614c30565b905092959194509250565b600080600080608085870312156152df57600080fd5b84356152ea81614a44565b935060208501356152fa81614a44565b92506040850135915060608501356001600160401b0381111561531c57600080fd5b8501601f8101871361532d57600080fd5b61533c8782356020840161508e565b91505092959194509250565b6000806040838503121561535b57600080fd5b823561536681614a44565b9150602083013561526681614a44565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561539e57600080fd5b81516145ff8161503c565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036153d5576153d56153a9565b60010192915050565b6000600182016153f0576153f06153a9565b5060010190565b600181811c9082168061540b57607f821691505b60208210810361256a57634e487b7160e01b600052602260045260246000fd5b6001600160a01b0386168152602080820186905260806040830181905285519083018190526000918681019160a0850190845b8181101561547d57845160ff168352938301939183019160010161545e565b505084810360608601528581528587838301376000818701830152601f909501601f1916909401909301979650505050505050565b6000602082840312156154c457600080fd5b81516145ff81614a44565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b602001915036819003821315614e4a57600080fd5b80820180821115610b0a57610b0a6153a9565b60006020828403121561553a57600080fd5b5051919050565b600060ff821680615554576155546153a9565b6000190192915050565b60008184825b8581101561558d5760ff61557783614c30565b1683526020928301929190910190600101615564565b509095945050505050565b81810381811115610b0a57610b0a6153a9565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526017908201527f5468697320636172642068617320616e206f666665722e000000000000000000604082015260600190565b60008261564c57634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561108e57600081815260208120601f850160051c810160208610156156785750805b601f850160051c820191505b8181101561146f57828155600101615684565b81516001600160401b038111156156b0576156b0614bc7565b6156c4816156be84546153f7565b84615651565b602080601f8311600181146156f957600084156156e15750858301515b600019600386901b1c1916600185901b17855561146f565b600085815260208120601f198616915b8281101561572857888601518255948401946001909101908401615709565b50858210156157465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654615764816153f7565b6001828116801561577c5760018114615791576157c0565b60ff19841687528215158302870194506157c0565b8a60005260208060002060005b858110156157b75781548a82015290840190820161579e565b50505082870194505b5050505085516157d4818360208a01614b1f565b85519101906157e7818360208901614b1f565b84519101906157fa818360208801614b1f565b019695505050505050565b60008251615817818460208701614b1f565b9190910192915050565b60006020828403121561583357600080fd5b81516001600160401b0381111561584957600080fd5b8201601f8101841361585a57600080fd5b8051615868614c6782615067565b81815285602083850101111561587d57600080fd5b61588e826020830160208601614b1f565b95945050505050565b8082028115828204841417610b0a57610b0a6153a9565b815160009082906020808601845b838110156158db57815160ff16855293820193908201906001016158bc565b50929695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351615990818460208801614b1f565b8351908301906159a4818360208801614b1f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159e090830184614b43565b9695505050505050565b6000602082840312156159fc57600080fd5b81516145ff81614a1156fea26469706673582212200ffaf3d324c37446eb406b5236a0190fe68d2f2a5fd1a9f7402876c3b73a475464736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x46A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x79E8DADC GT PUSH2 0x24C JUMPI DUP1 PUSH4 0xAD1684FA GT PUSH2 0x146 JUMPI DUP1 PUSH4 0xDBFC05CF GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xE8A7E31D GT PUSH2 0x87 JUMPI DUP1 PUSH4 0xE8A7E31D EQ PUSH2 0xA82 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0xA8A JUMPI DUP1 PUSH4 0xEB12D61E EQ PUSH2 0xAC6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xAD9 JUMPI DUP1 PUSH4 0xF98FD283 EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDBFC05CF EQ PUSH2 0xA23 JUMPI DUP1 PUSH4 0xDDB975E8 EQ PUSH2 0xA36 JUMPI DUP1 PUSH4 0xE1883C6E EQ PUSH2 0xA49 JUMPI DUP1 PUSH4 0xE4AE0B9B EQ PUSH2 0xA5C JUMPI DUP1 PUSH4 0xE606DF87 EQ PUSH2 0xA69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC87B56DD GT PUSH2 0x10A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x9D9 JUMPI DUP1 PUSH4 0xCAFAA473 EQ PUSH2 0x9EC JUMPI DUP1 PUSH4 0xD322B563 EQ PUSH2 0x9FF JUMPI DUP1 PUSH4 0xD7093F40 EQ PUSH2 0xA12 JUMPI DUP1 PUSH4 0xD780C477 EQ PUSH2 0xA1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAD1684FA EQ PUSH2 0x984 JUMPI DUP1 PUSH4 0xB3526185 EQ PUSH2 0x997 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x9A0 JUMPI DUP1 PUSH4 0xBA6C0FBC EQ PUSH2 0x9B3 JUMPI DUP1 PUSH4 0xBF400A6A EQ PUSH2 0x9C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x9FF26EFD GT PUSH2 0x198 JUMPI DUP1 PUSH4 0x9FF26EFD EQ PUSH2 0x910 JUMPI DUP1 PUSH4 0xA1AF8AD4 EQ PUSH2 0x93E JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x951 JUMPI DUP1 PUSH4 0xA419811D EQ PUSH2 0x964 JUMPI DUP1 PUSH4 0xAB535160 EQ PUSH2 0x977 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x8C9 JUMPI DUP1 PUSH4 0x9038F414 EQ PUSH2 0x8DA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x8E2 JUMPI DUP1 PUSH4 0x9A5613AD EQ PUSH2 0x8EA JUMPI DUP1 PUSH4 0x9C7F707F EQ PUSH2 0x8FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7DF73E27 GT PUSH2 0x21B JUMPI DUP1 PUSH4 0x7DF73E27 EQ PUSH2 0x84E JUMPI DUP1 PUSH4 0x82D8A118 EQ PUSH2 0x87A JUMPI DUP1 PUSH4 0x886EB60F EQ PUSH2 0x883 JUMPI DUP1 PUSH4 0x88E0EF80 EQ PUSH2 0x896 JUMPI DUP1 PUSH4 0x8BF670C8 EQ PUSH2 0x8B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79E8DADC EQ PUSH2 0x80D JUMPI DUP1 PUSH4 0x7CE65F7B EQ PUSH2 0x815 JUMPI DUP1 PUSH4 0x7CF86B72 EQ PUSH2 0x828 JUMPI DUP1 PUSH4 0x7DE99BD9 EQ PUSH2 0x83B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D GT PUSH2 0x368 JUMPI DUP1 PUSH4 0x5E31CE48 GT PUSH2 0x2E5 JUMPI DUP1 PUSH4 0x7065CB48 GT PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x7065CB48 EQ PUSH2 0x7B9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x7CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x7DF JUMPI DUP1 PUSH4 0x7155A3AC EQ PUSH2 0x7E7 JUMPI DUP1 PUSH4 0x7232D7D4 EQ PUSH2 0x7FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5E31CE48 EQ PUSH2 0x765 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x778 JUMPI DUP1 PUSH4 0x656BD0AD EQ PUSH2 0x78B JUMPI DUP1 PUSH4 0x68CC5BC1 EQ PUSH2 0x794 JUMPI DUP1 PUSH4 0x6D0AF178 EQ PUSH2 0x7A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4039327E GT PUSH2 0x32C JUMPI DUP1 PUSH4 0x4039327E EQ PUSH2 0x6B2 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x6BA JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x6CD JUMPI DUP1 PUSH4 0x4C03CD0B EQ PUSH2 0x6E0 JUMPI DUP1 PUSH4 0x5312EA8E EQ PUSH2 0x752 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x267B841D EQ PUSH2 0x63A JUMPI DUP1 PUSH4 0x2CA699E7 EQ PUSH2 0x64D JUMPI DUP1 PUSH4 0x2F54BF6E EQ PUSH2 0x660 JUMPI DUP1 PUSH4 0x2F9E026A EQ PUSH2 0x68C JUMPI DUP1 PUSH4 0x30F5CC58 EQ PUSH2 0x69F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 GT PUSH2 0x3F6 JUMPI DUP1 PUSH4 0x203335F6 GT PUSH2 0x3BA JUMPI DUP1 PUSH4 0x203335F6 EQ PUSH2 0x5E5 JUMPI DUP1 PUSH4 0x20965A5F EQ PUSH2 0x5F8 JUMPI DUP1 PUSH4 0x21A7C6B0 EQ PUSH2 0x60B JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x614 JUMPI DUP1 PUSH4 0x241A08FE EQ PUSH2 0x627 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x147BAAC7 EQ PUSH2 0x575 JUMPI DUP1 PUSH4 0x14CCA36A EQ PUSH2 0x587 JUMPI DUP1 PUSH4 0x155E2F92 EQ PUSH2 0x59A JUMPI DUP1 PUSH4 0x1585CC4E EQ PUSH2 0x5AD JUMPI DUP1 PUSH4 0x173825D9 EQ PUSH2 0x5D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x81812FC GT PUSH2 0x43D JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x4FC JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x527 JUMPI DUP1 PUSH4 0xE316AB7 EQ PUSH2 0x53C JUMPI DUP1 PUSH4 0x128916DC EQ PUSH2 0x54F JUMPI DUP1 PUSH4 0x1306952C EQ PUSH2 0x562 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0x435DCAF EQ PUSH2 0x497 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x4B9 JUMPI DUP1 PUSH4 0x7B2E246 EQ PUSH2 0x4CE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x482 PUSH2 0x47D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A27 JUMP JUMPDEST PUSH2 0xAFF JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x4AA PUSH2 0x4A5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0xB10 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4AB4 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0xEC0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x48E SWAP2 SWAP1 PUSH2 0x4B6F JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x4DC CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x50F PUSH2 0x50A CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x535 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B9B JUMP JUMPDEST PUSH2 0xF79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x53A PUSH2 0x54A CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1093 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x55D CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1139 JUMP JUMPDEST PUSH2 0x50F PUSH2 0x570 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x11DC JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x126A JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x5BB CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x12E7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x1341 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x5F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x4E51 JUMP JUMPDEST PUSH2 0x13B8 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x606 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F47 JUMP JUMPDEST PUSH2 0x1477 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x13 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x622 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x1A93 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x635 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x1AC5 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x648 CALLDATASIZE PUSH1 0x4 PUSH2 0x4CB8 JUMP JUMPDEST PUSH2 0x1B0B JUMP JUMPDEST PUSH2 0x53A PUSH2 0x65B CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x1B1E JUMP JUMPDEST PUSH2 0x482 PUSH2 0x66E CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6AD CALLDATASIZE PUSH1 0x4 PUSH2 0x4FE4 JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x1FF9 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6C8 CALLDATASIZE PUSH1 0x4 PUSH2 0x4F88 JUMP JUMPDEST PUSH2 0x2087 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x6DB CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0x722 PUSH2 0x6EE CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD SLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 SWAP1 SWAP2 PUSH1 0xFF DUP1 DUP4 AND SWAP3 PUSH2 0x100 SWAP1 DIV AND SWAP1 DUP6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP6 DUP7 MSTORE PUSH1 0x20 DUP7 ADD SWAP5 SWAP1 SWAP5 MSTORE SWAP2 ISZERO ISZERO SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xFF SWAP1 SWAP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 ADD PUSH2 0x48E JUMP JUMPDEST PUSH2 0x53A PUSH2 0x760 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x20D3 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x773 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x21EE JUMP JUMPDEST PUSH2 0x50F PUSH2 0x786 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2233 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x11 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x2293 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7C7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x22DF JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x7DA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2356 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x23DC JUMP JUMPDEST PUSH2 0x53A PUSH2 0x7F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x23F0 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x808 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x2450 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x24A6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x823 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x24B3 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x836 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2524 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x849 CALLDATASIZE PUSH1 0x4 PUSH2 0x50E7 JUMP JUMPDEST PUSH2 0x2570 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x85C CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x10 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x891 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x274B JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x8A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x482 PUSH2 0x8C4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH2 0x27A7 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x50F JUMP JUMPDEST PUSH2 0x482 PUSH2 0x2806 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x2BA6 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x90B CALLDATASIZE PUSH1 0x4 PUSH2 0x5181 JUMP JUMPDEST PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x5C0 PUSH2 0x91E CALLDATASIZE PUSH1 0x4 PUSH2 0x4D52 JUMP JUMPDEST PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x0 SWAP3 DUP4 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SWAP1 SWAP2 MSTORE SWAP1 DUP3 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x94C CALLDATASIZE PUSH1 0x4 PUSH2 0x51E4 JUMP JUMPDEST PUSH2 0x2C57 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x95F CALLDATASIZE PUSH1 0x4 PUSH2 0x5238 JUMP JUMPDEST PUSH2 0x2FD1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x972 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x2FE0 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x5C0 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x992 CALLDATASIZE PUSH1 0x4 PUSH2 0x5271 JUMP JUMPDEST PUSH2 0x307F JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x14 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9AE CALLDATASIZE PUSH1 0x4 PUSH2 0x52C9 JUMP JUMPDEST PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9C1 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x3344 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4FC9 JUMP JUMPDEST PUSH2 0x339A JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x9E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x35E6 JUMP JUMPDEST PUSH2 0x53A PUSH2 0x9FA CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x35F1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH2 0x50F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x12 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x4EE PUSH2 0x3694 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA31 CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x36C1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA44 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x3704 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xA57 CALLDATASIZE PUSH1 0x4 PUSH2 0x4B82 JUMP JUMPDEST PUSH2 0x37A7 JUMP JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x482 SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0xF SLOAD PUSH2 0x50F SWAP1 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x4C1 PUSH2 0x37D7 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xA98 CALLDATASIZE PUSH1 0x4 PUSH2 0x5348 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAD4 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x37E4 JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAE7 CALLDATASIZE PUSH1 0x4 PUSH2 0x4A59 JUMP JUMPDEST PUSH2 0x385B JUMP JUMPDEST PUSH2 0x53A PUSH2 0xAFA CALLDATASIZE PUSH1 0x4 PUSH2 0x504A JUMP JUMPDEST PUSH2 0x38D1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB0A DUP3 PUSH2 0x391B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH1 0x0 SWAP2 SWAP1 PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x7A DUP1 DUP3 MSTORE PUSH2 0xF60 DUP3 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 SWAP2 POP PUSH1 0x20 DUP3 ADD PUSH2 0xF40 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP POP SWAP1 POP PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0xCF6 JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO PUSH2 0xCE4 JUMPI DUP1 DUP6 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP12 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C DUP3 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP6 DUP6 AND DUP4 MSTORE SWAP1 SWAP3 MSTORE KECCAK256 SLOAD DUP6 MLOAD SWAP1 DUP3 AND SWAP2 DUP7 SWAP2 SWAP1 DUP6 AND SWAP1 DUP2 LT PUSH2 0xC2C JUMPI PUSH2 0xC2C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0xFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP13 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP3 DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP2 AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC8D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xCB1 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST DUP4 DUP4 PUSH1 0xFF AND DUP2 MLOAD DUP2 LT PUSH2 0xCC6 JUMPI PUSH2 0xCC6 PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP2 PUSH2 0xCE0 DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP3 POP POP JUMPDEST DUP1 PUSH2 0xCEE DUP2 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0xB8D JUMP JUMPDEST POP PUSH1 0x0 DUP2 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD14 JUMPI PUSH2 0xD14 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD3D JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xD5D JUMPI PUSH2 0xD5D PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xD86 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP4 PUSH1 0xFF AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0xDA6 JUMPI PUSH2 0xDA6 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDCF JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP5 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0xEAE JUMPI DUP8 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xDF2 JUMPI PUSH2 0xDF2 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE0C JUMPI PUSH2 0xE0C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP7 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE32 JUMPI PUSH2 0xE32 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE4C JUMPI PUSH2 0xE4C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD SWAP1 PUSH1 0xFF AND SWAP1 DUP2 PUSH1 0xFF AND DUP2 MSTORE POP POP DUP6 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0xE72 JUMPI PUSH2 0xE72 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xE8C JUMPI PUSH2 0xE8C PUSH2 0x5376 JUMP JUMPDEST SWAP2 ISZERO ISZERO PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE DUP1 PUSH2 0xEA6 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0xDD5 JUMP JUMPDEST POP SWAP2 SWAP11 SWAP1 SWAP10 POP SWAP1 SWAP8 POP SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xEFB SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF48 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF1D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF48 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF2B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF5D DUP3 PUSH2 0x3940 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF84 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0xFF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x1012 JUMPI POP PUSH2 0x1012 DUP2 CALLER PUSH2 0xA98 JUMP JUMPDEST PUSH2 0x1084 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 PUSH2 0x399F JUMP JUMPDEST POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x10C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x982088F PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x982088F0 SWAP1 PUSH1 0x44 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x111E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x1132 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1169 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1191 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x538B3425A321783393AD250DB10356B8B3523EF29A40DE015C5218213DE0EAD0 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x121E SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x123B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x125F SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1295 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1311 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1371 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2DD92C69 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB764B1A4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0xFF DUP6 AND ISZERO DUP1 PUSH2 0x13D0 JUMPI POP PUSH1 0xF SLOAD PUSH1 0xFF SWAP1 DUP2 AND SWAP1 DUP7 AND GT JUMPDEST ISZERO PUSH2 0x13EE JUMPI PUSH1 0x40 MLOAD PUSH4 0xB154B3B PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP6 PUSH1 0xFF AND DUP2 LT ISZERO PUSH2 0x146F JUMPI PUSH2 0x145D CALLER DUP7 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1412 JUMPI PUSH2 0x1412 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x142C JUMPI PUSH2 0x142C PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 DUP7 DUP7 DUP2 DUP2 LT PUSH2 0x1446 JUMPI PUSH2 0x1446 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x1458 SWAP2 SWAP1 PUSH2 0x54CF JUMP JUMPDEST PUSH2 0x3A0D JUMP JUMPDEST DUP1 PUSH2 0x1467 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x13F1 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 SUB PUSH2 0x14B5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH2 0x14D0 SWAP1 DUP4 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x3C DUP3 LT PUSH2 0x1588 JUMPI PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x152B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x154F SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x14 SLOAD DUP2 LT DUP1 PUSH2 0x1564 JUMPI POP PUSH1 0x14 SLOAD PUSH1 0x12 SLOAD LT JUMPDEST ISZERO PUSH2 0x1582 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0xCDB3117 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xCDB3117 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x15D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15F9 SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST GT SWAP1 POP DUP4 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1820 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x162A JUMPI PUSH2 0x162A PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x163F SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x1679 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 ISZERO PUSH2 0x179C JUMPI PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x16A3 JUMPI PUSH2 0x16A3 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x16B8 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1704 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1728 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST ISZERO PUSH2 0x179C JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 SWAP2 DUP10 DUP10 DUP6 DUP2 DUP2 LT PUSH2 0x1751 JUMPI PUSH2 0x1751 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x1766 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND LT ISZERO PUSH2 0x179C JUMPI PUSH1 0x40 MLOAD PUSH4 0x483E9B8D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP9 DUP9 DUP5 DUP2 DUP2 LT PUSH2 0x17BE JUMPI PUSH2 0x17BE PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x17D3 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x17FA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x1600 JUMP JUMPDEST POP CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x1840 SWAP1 DUP5 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH2 0x1855 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 CALLER SWAP1 PUSH32 0xDBCDA3B6D52A6F69C85189CA3F35E5BE8A2E3D052FEA47F656FF00384B0C47B1 SWAP1 PUSH1 0x0 SWAP1 LOG3 DUP3 ISZERO PUSH2 0x146F JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x79 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF AND SWAP2 PUSH2 0x18B7 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x1968 CALLER PUSH1 0x16 DUP1 SLOAD PUSH2 0x18E1 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x190D SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x195A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x192F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x195A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x193D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x79 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x14 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x197C SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x14 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19DB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x19FF SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH4 0xFA8213D3 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xFA8213D3 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1A45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1A59 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x2 SWAP3 POP CALLER SWAP2 POP PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1A9E CALLER JUMPDEST DUP3 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x1ABA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH2 0x3F05 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1AF5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1B18 CALLER DUP6 DUP6 DUP6 DUP6 PUSH2 0x3A0D JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1B46 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x1B84 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SUB PUSH2 0x1BAD JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH3 0x10000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1C84 JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1C10 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C34 SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP10 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x1C65 JUMPI POP DUP1 JUMPDEST PUSH2 0x1C81 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP8 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x1CB0 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x1CFF DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x1B6E5F928A38F442936BBDF4696F128A543B8E43730594344A66C028D0B9C3DA DUP5 PUSH1 0x40 MLOAD PUSH2 0x1D64 SWAP2 SWAP1 PUSH1 0xFF SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1DA1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1DEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1E03 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x1E16 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x1E23 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x1E34 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1B18 JUMPI DUP2 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x1E58 JUMPI PUSH2 0x1E58 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 EQ PUSH2 0x1EA3 JUMPI PUSH2 0x1389 PUSH1 0x1A PUSH1 0x0 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x1E83 JUMPI PUSH2 0x1E83 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD LT PUSH2 0x1ED4 JUMP JUMPDEST PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB9 GT JUMPDEST PUSH2 0x1F20 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x696E76616C69642063617264496E76656E746F727920706F736974696F6E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP4 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1F36 JUMPI PUSH2 0x1F36 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1F60 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP4 MLOAD SWAP1 SWAP2 SWAP1 DUP5 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x1F94 JUMPI PUSH2 0x1F94 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1FCD SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x1FF1 SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x1E3D JUMP JUMPDEST PUSH1 0x16 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2032 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x207F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2054 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x207F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2062 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH2 0x108E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x3312 JUMP JUMPDEST PUSH2 0x20AB CALLER PUSH2 0x1A98 JUMP JUMPDEST PUSH2 0x20C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4069 JUMP JUMPDEST POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2103 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x210D ADDRESS PUSH2 0x2356 JUMP JUMPDEST LT ISZERO PUSH2 0x212C JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x213E SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2199 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21BD SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 CALLER SWAP1 PUSH32 0x23D6711A1D031134A36921253C75AA59E967D38E369AC625992824315E204F20 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2219 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x222B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x22C3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH3 0x10000 MUL PUSH3 0xFF0000 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x230F JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x2D35E2B9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0xB PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0xB4D78AE4 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x23C0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x23E4 PUSH2 0x4072 JUMP JUMPDEST PUSH2 0x23EE PUSH1 0x0 PUSH2 0x40CC JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x241B JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x12CA DUP4 PUSH2 0x5541 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2480 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x24A1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SSTORE JUMP JUMPDEST PUSH1 0x15 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x24E3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x64 DUP2 PUSH1 0xFF AND GT ISZERO PUSH2 0x2508 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP1 SLOAD PUSH1 0xFF SWAP1 SWAP3 AND PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x254E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1B PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP2 POP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2578 PUSH2 0x4072 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0xF DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 DUP2 AND PUSH3 0x10000 MUL PUSH3 0x10000 PUSH1 0x1 PUSH1 0xB0 SHL SUB NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD DUP8 DUP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0xA DUP1 SLOAD DUP7 DUP5 AND SWAP1 DUP4 AND OR SWAP1 SSTORE PUSH1 0x9 DUP1 SLOAD SWAP3 DUP8 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x17 PUSH2 0x25FC DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x31323 PUSH1 0xEC SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x2659 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x15 SWAP1 DUP2 PUSH2 0x2676 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x2F PUSH1 0xF8 SHL PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 MLOAD DUP1 DUP5 ADD DUP5 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH3 0x313231 PUSH1 0xE8 SHL DUP2 DUP4 ADD MSTORE DUP4 MLOAD DUP1 DUP6 ADD DUP6 MSTORE PUSH1 0x6 DUP2 MSTORE PUSH6 0x23173539B7B7 PUSH1 0xD1 SHL DUP2 DUP5 ADD MSTORE SWAP4 MLOAD PUSH2 0x26D3 SWAP5 PUSH1 0x17 SWAP5 SWAP4 SWAP1 SWAP2 ADD PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x16 SWAP1 DUP2 PUSH2 0x26F0 SWAP2 SWAP1 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMPDEST PUSH1 0x7A DUP2 LT ISZERO PUSH2 0x2742 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 SWAP1 SSTORE DUP1 PUSH2 0x273A DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2715 JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2775 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x27D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF SWAP5 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD AND ISZERO ISZERO SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x78 DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 SUB PUSH2 0x2844 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x13 SLOAD PUSH1 0x12 SLOAD LT ISZERO PUSH2 0x2869 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF SLOAD PUSH1 0x40 MLOAD PUSH4 0x70A08231 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH3 0x10000 SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x28B8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x28DC SWAP2 SWAP1 PUSH2 0x5528 JUMP JUMPDEST SWAP1 POP PUSH1 0x13 SLOAD DUP2 LT ISZERO PUSH2 0x2901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x356680B7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x78 DUP2 PUSH1 0xFF AND GT PUSH2 0x2990 JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x293E JUMPI PUSH1 0x1 SWAP2 POP PUSH2 0x2990 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x296A DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x2905 JUMP JUMPDEST POP DUP1 ISZERO PUSH2 0x29AF JUMPI PUSH1 0x40 MLOAD PUSH3 0x3DE829 PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2A47 CALLER PUSH1 0x15 DUP1 SLOAD PUSH2 0x29C0 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x29EC SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2A39 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2A0E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2A39 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2A1C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP PUSH1 0x78 PUSH1 0x2 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2A5B SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0xF SLOAD PUSH1 0x13 SLOAD PUSH1 0x40 MLOAD PUSH4 0xA9059CBB PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH3 0x10000 SWAP1 SWAP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2ABA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2ADE SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST POP PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x3F27A03F PUSH1 0xE2 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xFC9E80FC SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2B2A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B4E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2B6E JUMPI PUSH1 0x40 MLOAD PUSH4 0xE07C7C8D PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 SWAP1 CALLER SWAP1 PUSH32 0x6D0344E2059F835240CB954CCE07D4B26F0D0844EECC234F7EE0E292BA80A1AA SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x1 SWAP4 POP POP POP POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0xECF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x2BE5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x15 PUSH2 0x2BF1 DUP4 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x16 PUSH2 0x2BFE DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP DUP1 PUSH1 0x40 MLOAD PUSH2 0x2C0D SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2C23 SWAP2 SWAP1 PUSH2 0x5805 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0xABFD337AC5625B7DC2DDD3D3BD465FB1DEC15322EEEED81032268B337880BEC6 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2C7F JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SUB PUSH2 0x2CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2F352531 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2F7D JUMPI CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2CD5 JUMPI PUSH2 0x2CD5 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2CEA SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SLOAD SWAP1 SWAP2 AND SWAP1 SUB PUSH2 0x2D24 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2D46 JUMPI PUSH2 0x2D46 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2D5B SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2D82 DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x1C PUSH1 0x0 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 DUP6 DUP5 DUP2 DUP2 LT PUSH2 0x2DD4 JUMPI PUSH2 0x2DD4 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2DE9 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP2 SWAP1 PUSH2 0x2E10 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x18 PUSH1 0x2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x2F6B JUMPI PUSH1 0x9 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2EDB5FCF CALLER DUP8 DUP8 DUP7 DUP2 DUP2 LT PUSH2 0x2E65 JUMPI PUSH2 0x2E65 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2E7A SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0xFF AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2EC6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2EEA SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 DUP3 DUP9 DUP9 DUP8 DUP2 DUP2 LT PUSH2 0x2F13 JUMPI PUSH2 0x2F13 PUSH2 0x5376 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x2F28 SWAP2 SWAP1 PUSH2 0x4FC9 JUMP JUMPDEST PUSH1 0xFF SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD PUSH1 0x0 KECCAK256 SLOAD AND GT SWAP1 POP DUP2 ISZERO DUP1 PUSH2 0x2F4C JUMPI POP DUP1 JUMPDEST PUSH2 0x2F68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST DUP1 PUSH2 0x2F75 DUP2 PUSH2 0x53DE JUMP JUMPDEST SWAP2 POP POP PUSH2 0x2CAB JUMP JUMPDEST POP DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x2F8E SWAP3 SWAP2 SWAP1 PUSH2 0x555E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 CALLER SWAP1 PUSH32 0x368EB521419FE880268B0D75C05EAA2DA7AE9CCF468BE86A848F7054366D2B9B SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP JUMP JUMPDEST PUSH2 0x2FDC CALLER DUP4 DUP4 PUSH2 0x411E JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3010 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST PUSH1 0x79 DUP2 PUSH1 0xFF AND GT PUSH2 0x2FDC JUMPI PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x3053 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH2 0x3077 SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 POP POP PUSH2 0x3013 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x30AA JUMPI PUSH1 0x40 MLOAD PUSH4 0x8EEA8241 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x30FA JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO DUP1 PUSH2 0x3155 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD AND ISZERO JUMPDEST ISZERO PUSH2 0x3173 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP11 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x31A8 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP11 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x31F7 DUP4 PUSH2 0x53BF JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3246 DUP4 PUSH2 0x5541 JUMP JUMPDEST DUP3 SLOAD PUSH2 0x100 SWAP3 SWAP1 SWAP3 EXP PUSH1 0xFF DUP2 DUP2 MUL NOT SWAP1 SWAP4 AND SWAP2 DUP4 AND MUL OR SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP9 DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND SWAP3 POP PUSH2 0x3295 DUP4 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x52819375A02768CB5083D7B729260C6DB2309FCB5C9161201ADA89D30D00D524 DUP8 DUP7 PUSH1 0x40 MLOAD PUSH2 0x3302 SWAP3 SWAP2 SWAP1 PUSH1 0xFF SWAP3 DUP4 AND DUP2 MSTORE SWAP2 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x331C CALLER DUP4 PUSH2 0x3E87 JUMP JUMPDEST PUSH2 0x3338 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55AB JUMP JUMPDEST PUSH2 0x1B18 DUP5 DUP5 DUP5 DUP5 PUSH2 0x41E4 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3374 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x0 SUB PUSH2 0x3395 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B1C6CA1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x14 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 SLOAD AND SWAP1 SUB PUSH2 0x33D8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x210F01D1 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x34AE JUMPI PUSH1 0x9 SLOAD PUSH1 0x40 MLOAD PUSH4 0x2EDB5FCF PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x2EDB5FCF SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x343A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x345E SWAP2 SWAP1 PUSH2 0x538C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP9 AND DUP6 MSTORE SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 SLOAD SWAP2 SWAP3 POP PUSH1 0x1 SWAP2 AND GT DUP2 ISZERO DUP1 PUSH2 0x348F JUMPI POP DUP1 JUMPDEST PUSH2 0x34AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x55F8 JUMP JUMPDEST POP POP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0xFF DUP1 DUP7 AND DUP6 MSTORE SWAP3 MSTORE DUP3 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP2 PUSH2 0x34DA DUP4 PUSH2 0x5541 JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP PUSH1 0x0 PUSH1 0x17 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2F PUSH1 0xF8 SHL DUP2 MSTORE POP DUP4 PUSH1 0xFF AND PUSH20 0x0 PUSH4 0x6900A3AE SWAP1 SWAP2 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x354F SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x356C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x3594 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x5821 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x173539B7B7 PUSH1 0xD9 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x35C5 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x5756 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP PUSH2 0x2FDC CALLER DUP3 DUP5 PUSH1 0xFF AND PUSH1 0x1 PUSH2 0x3E24 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB0A DUP3 PUSH2 0x4217 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3621 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x3649 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x5A78287A942B8EA0DA8734A4EB919DF11E564CC48301FFCB582DC8612D98208F SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x12 SLOAD PUSH1 0xF SLOAD PUSH1 0x0 SWAP2 PUSH1 0x64 SWAP2 PUSH2 0x36B2 SWAP2 SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND PUSH2 0x5897 JUMP JUMPDEST PUSH2 0x36BC SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x36F1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3734 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x375C JUMPI PUSH1 0x40 MLOAD PUSH4 0xE6C4247B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x40 MLOAD PUSH32 0x563F24D71E856F79BEC30E1AA96082A296CD13F0A71CEC730A72B719FA0FA202 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x37D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7473CC7 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x11 SSTORE JUMP JUMPDEST PUSH1 0x17 DUP1 SLOAD PUSH2 0x2006 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3814 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3B9DB689 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0xD PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x0 SWAP1 PUSH4 0x773B6D12 SWAP1 PUSH1 0x44 ADD PUSH2 0x1106 JUMP JUMPDEST PUSH2 0x3863 PUSH2 0x4072 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x40CC JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xB PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x3901 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4289C493 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 DUP1 SLOAD SWAP2 ISZERO ISZERO PUSH2 0x100 MUL PUSH2 0xFF00 NOT SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0xB0A JUMPI POP PUSH2 0xB0A DUP3 PUSH2 0x431F JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x20D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x39D4 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0xD3E6A7AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP3 AND SWAP1 PUSH4 0xD3E6A7AD SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x3A58 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3A7C SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3AA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7F6ECDF5 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xF DUP4 MLOAD LT PUSH2 0x3AC5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9DCCA733 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x18 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B91 JUMPI PUSH1 0x40 MLOAD PUSH4 0x38FB7D8B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH20 0x0 SWAP1 PUSH4 0x38FB7D8B SWAP1 PUSH2 0x3B12 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x542B JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS DELEGATECALL ISZERO DUP1 ISZERO PUSH2 0x3B2F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x3B53 SWAP2 SWAP1 PUSH2 0x54B2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0xE PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF AND PUSH2 0x3B8F JUMPI PUSH1 0x40 MLOAD PUSH4 0x8BAA579F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x40 MLOAD PUSH4 0x80F2540B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x80F2540B SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3BDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3BF3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x6 PUSH1 0x11 SLOAD PUSH2 0x3C06 SWAP2 SWAP1 PUSH2 0x562F JUMP JUMPDEST PUSH1 0x11 SLOAD PUSH2 0x3C13 SWAP2 SWAP1 PUSH2 0x5598 JUMP JUMPDEST PUSH1 0x12 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C24 SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x0 SWAP1 POP JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x3DD2 JUMPI DUP4 DUP2 DUP2 MLOAD DUP2 LT PUSH2 0x3C48 JUMPI PUSH2 0x3C48 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0x78 SUB PUSH2 0x3CAD JUMPI PUSH1 0x78 PUSH1 0x0 MSTORE PUSH1 0x1A PUSH1 0x20 MSTORE PUSH32 0x382F0CE335A2F6D9FF5C37189F20A85F5E9319580268A4587D7C49525CD970D SLOAD PUSH2 0xBB8 LT ISZERO PUSH2 0x3CA8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3CFF JUMP JUMPDEST PUSH2 0x1388 PUSH1 0x1A PUSH1 0x0 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3CC6 JUMPI PUSH2 0x3CC6 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD GT ISZERO PUSH2 0x3CFF JUMPI PUSH1 0x40 MLOAD PUSH4 0xD1ECF17 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1A PUSH1 0x0 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x3D15 JUMPI PUSH2 0x3D15 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3D3F SWAP1 PUSH2 0x53DE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP6 MLOAD SWAP1 SWAP2 SWAP1 DUP7 SWAP1 DUP5 SWAP1 DUP2 LT PUSH2 0x3D73 JUMPI PUSH2 0x3D73 PUSH2 0x5376 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0xFF AND PUSH1 0xFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP2 DUP2 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x3DAC SWAP1 PUSH2 0x53BF JUMP JUMPDEST SWAP2 SWAP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0xFF AND MUL OR SWAP1 SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3C2D JUMP JUMPDEST POP DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x3DE2 SWAP2 SWAP1 PUSH2 0x58AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xBABE8F5E83E93AB103DDF917B4292A19335A5128B3530BEDD896A681CDD945E3 SWAP1 PUSH1 0x0 SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x10 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x19 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP2 DUP2 SSTORE PUSH1 0x1 DUP2 ADD DUP5 SWAP1 SSTORE PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 PUSH1 0xFF DUP6 AND MUL OR SWAP1 SSTORE PUSH2 0x3E5E DUP6 DUP3 PUSH2 0x436F JUMP JUMPDEST PUSH2 0x3E68 DUP2 DUP6 PUSH2 0x4389 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x10 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3E7B SWAP2 SWAP1 PUSH2 0x5515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3E93 DUP4 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x3EDA JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x1262 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3EF3 DUP5 PUSH2 0xF52 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3F18 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3F3E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3FA0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3FB3 DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3FD9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x58E7 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x20D0 DUP2 PUSH2 0x4454 JUMP JUMPDEST PUSH1 0x7 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x23EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x417F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH2 0x1D64 JUMP JUMPDEST PUSH2 0x41EF DUP5 DUP5 DUP5 PUSH2 0x3F05 JUMP JUMPDEST PUSH2 0x41FB DUP5 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x1B18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x60 PUSH2 0x4222 DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x423B SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4267 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x42B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4289 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x42B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4297 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x42D2 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x42E4 JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0x4316 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x42FE SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1262 DUP5 PUSH2 0x4592 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4350 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0xB0A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0xB0A JUMP JUMPDEST PUSH2 0x2FDC DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x4606 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4404 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524337323155524953746F726167653A2055524920736574206F66206E6F6E PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x32BC34B9BA32B73A103A37B5B2B7 PUSH1 0x91 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x441C DUP3 DUP3 PUSH2 0x5697 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0xF8E1A15ABA9398E019F0B49DF1A4FDE98EE17AE345CB5F6B5E2C27F5033E8CE7 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH2 0x445D DUP2 PUSH2 0x4639 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x4476 SWAP1 PUSH2 0x53F7 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x20D0 SWAP2 PUSH2 0x49C3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0x458A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x44D8 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x59AD JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x4513 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x4510 SWAP2 DUP2 ADD SWAP1 PUSH2 0x59EA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x4570 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x4541 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x4546 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x4568 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x1262 JUMP JUMPDEST POP PUSH1 0x1 PUSH2 0x1262 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x459D DUP3 PUSH2 0x3940 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x45B4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0x45D4 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x45FF JUMP JUMPDEST DUP1 PUSH2 0x45DE DUP5 PUSH2 0x46CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x45EF SWAP3 SWAP2 SWAP1 PUSH2 0x597E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x4610 DUP4 DUP4 PUSH2 0x4760 JUMP JUMPDEST PUSH2 0x461D PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x4494 JUMP JUMPDEST PUSH2 0x108E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFED SWAP1 PUSH2 0x592C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4644 DUP3 PUSH2 0x2233 JUMP JUMPDEST SWAP1 POP PUSH2 0x464F DUP3 PUSH2 0x2233 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0x46DB DUP4 PUSH2 0x48EB JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x46FA JUMPI PUSH2 0x46FA PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x4724 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0x472E JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x47B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x481B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x4880 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFED JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP5 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP5 OR SWAP1 SSTORE MLOAD DUP4 SWAP3 SWAP2 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0x492A JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0x4956 JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0x4974 JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0x498C JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0x49A0 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0x49B2 JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0xB0A JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x49CF SWAP1 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x49DF JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x20D0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x4A0D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x49F9 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4A6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD SWAP5 POP DUP1 DUP5 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4AA9 JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP8 MSTORE SWAP6 DUP3 ADD SWAP6 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x4A8A JUMP JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4AC7 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x4A76 JUMP JUMPDEST PUSH1 0x20 DUP4 DUP3 SUB DUP2 DUP6 ADD MSTORE PUSH2 0x4ADA DUP3 DUP8 PUSH2 0x4A76 JUMP JUMPDEST DUP5 DUP2 SUB PUSH1 0x40 DUP7 ADD MSTORE DUP6 MLOAD DUP1 DUP3 MSTORE DUP3 DUP8 ADD SWAP4 POP SWAP1 DUP3 ADD SWAP1 PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x4B11 JUMPI DUP5 MLOAD ISZERO ISZERO DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x4AF3 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x4B3A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x4B22 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x4B5B DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x45FF PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4B94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4BAE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4BB9 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x4C05 JUMPI PUSH2 0x4C05 PUSH2 0x4BC7 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x4C26 JUMPI PUSH2 0x4C26 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4C41 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4C57 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4C6C PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST PUSH2 0x4BDD JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4C8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI PUSH2 0x4CA0 DUP2 PUSH2 0x4C30 JUMP JUMPDEST DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4C8F JUMP JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x4CCE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4CEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4CF8 DUP9 DUP4 DUP10 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4D0E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x4D31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x4D43 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP POP PUSH1 0x20 ADD SWAP5 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4D65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x4D70 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x4D7E PUSH1 0x20 DUP5 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4D98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x4DA8 PUSH2 0x4C67 DUP4 PUSH2 0x4C0D JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x4DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x4CAD JUMPI DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4DEA JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x4DF8 DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x4C46 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x4DCB JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x4E18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4E2F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4E69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4E72 DUP7 PUSH2 0x4C30 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP1 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x4E8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4EA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x4EB1 PUSH2 0x4C67 DUP3 PUSH2 0x4C0D JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP4 ADD DUP5 ADD SWAP1 DUP5 DUP2 ADD SWAP1 DUP13 DUP4 GT ISZERO PUSH2 0x4ED0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP6 ADD SWAP4 JUMPDEST DUP3 DUP6 LT ISZERO PUSH2 0x4EEE JUMPI DUP5 CALLDATALOAD DUP3 MSTORE SWAP4 DUP6 ADD SWAP4 SWAP1 DUP6 ADD SWAP1 PUSH2 0x4ED5 JUMP JUMPDEST SWAP9 POP POP POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F12 DUP11 DUP5 DUP12 ADD PUSH2 0x4D87 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x4F28 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x4F36 DUP9 DUP3 DUP10 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x4F5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x4F70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4F7C DUP6 DUP3 DUP7 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4F9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x4FA8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x4FB8 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4FDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP3 PUSH2 0x4C30 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4FF9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5004 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5026 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5032 DUP7 DUP3 DUP8 ADD PUSH2 0x4C46 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x20D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x505C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5080 JUMPI PUSH2 0x5080 PUSH2 0x4BC7 JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x509C PUSH2 0x4C67 DUP5 PUSH2 0x5067 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x50B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x50D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x45FF DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x508E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x5100 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x510B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH2 0x511B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0x512B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD PUSH2 0x513B DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5156 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5162 DUP10 DUP3 DUP11 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x5173 DUP2 PUSH2 0x4A44 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x51AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x51B7 DUP7 DUP4 DUP8 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x51CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x51DA DUP6 DUP3 DUP7 ADD PUSH2 0x50C7 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x51F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x5204 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x521F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x522B DUP7 DUP3 DUP8 ADD PUSH2 0x4E06 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x524B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5256 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x503C JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x5287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x5292 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH2 0x52A0 PUSH1 0x20 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x52B0 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH2 0x52BE PUSH1 0x60 DUP7 ADD PUSH2 0x4C30 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x52DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x52EA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x52FA DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x531C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x532D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x533C DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x508E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x535B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x5366 DUP2 PUSH2 0x4A44 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x5266 DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x539E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x503C JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND PUSH1 0xFF DUP2 SUB PUSH2 0x53D5 JUMPI PUSH2 0x53D5 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x53F0 JUMPI PUSH2 0x53F0 PUSH2 0x53A9 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x540B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x256A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x40 DUP4 ADD DUP2 SWAP1 MSTORE DUP6 MLOAD SWAP1 DUP4 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP7 DUP2 ADD SWAP2 PUSH1 0xA0 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x547D JUMPI DUP5 MLOAD PUSH1 0xFF AND DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x545E JUMP JUMPDEST POP POP DUP5 DUP2 SUB PUSH1 0x60 DUP7 ADD MSTORE DUP6 DUP2 MSTORE DUP6 DUP8 DUP4 DUP4 ADD CALLDATACOPY PUSH1 0x0 DUP2 DUP8 ADD DUP4 ADD MSTORE PUSH1 0x1F SWAP1 SWAP6 ADD PUSH1 0x1F NOT AND SWAP1 SWAP5 ADD SWAP1 SWAP4 ADD SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x54C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A44 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x54E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x5500 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x4E4A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x553A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND DUP1 PUSH2 0x5554 JUMPI PUSH2 0x5554 PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x0 NOT ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP5 DUP3 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x558D JUMPI PUSH1 0xFF PUSH2 0x5577 DUP4 PUSH2 0x4C30 JUMP JUMPDEST AND DUP4 MSTORE PUSH1 0x20 SWAP3 DUP4 ADD SWAP3 SWAP2 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x5564 JUMP JUMPDEST POP SWAP1 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x17 SWAP1 DUP3 ADD MSTORE PUSH32 0x5468697320636172642068617320616E206F666665722E000000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x564C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x108E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x5678 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x146F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x5684 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x56B0 JUMPI PUSH2 0x56B0 PUSH2 0x4BC7 JUMP JUMPDEST PUSH2 0x56C4 DUP2 PUSH2 0x56BE DUP5 SLOAD PUSH2 0x53F7 JUMP JUMPDEST DUP5 PUSH2 0x5651 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x56F9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x56E1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x146F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x5728 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x5709 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x5746 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 SLOAD PUSH2 0x5764 DUP2 PUSH2 0x53F7 JUMP JUMPDEST PUSH1 0x1 DUP3 DUP2 AND DUP1 ISZERO PUSH2 0x577C JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x5791 JUMPI PUSH2 0x57C0 JUMP JUMPDEST PUSH1 0xFF NOT DUP5 AND DUP8 MSTORE DUP3 ISZERO ISZERO DUP4 MUL DUP8 ADD SWAP5 POP PUSH2 0x57C0 JUMP JUMPDEST DUP11 PUSH1 0x0 MSTORE PUSH1 0x20 DUP1 PUSH1 0x0 KECCAK256 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x57B7 JUMPI DUP2 SLOAD DUP11 DUP3 ADD MSTORE SWAP1 DUP5 ADD SWAP1 DUP3 ADD PUSH2 0x579E JUMP JUMPDEST POP POP POP DUP3 DUP8 ADD SWAP5 POP JUMPDEST POP POP POP POP DUP6 MLOAD PUSH2 0x57D4 DUP2 DUP4 PUSH1 0x20 DUP11 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP6 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57E7 DUP2 DUP4 PUSH1 0x20 DUP10 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP5 MLOAD SWAP2 ADD SWAP1 PUSH2 0x57FA DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x5817 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5833 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x5849 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x585A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH2 0x5868 PUSH2 0x4C67 DUP3 PUSH2 0x5067 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP6 PUSH1 0x20 DUP4 DUP6 ADD ADD GT ISZERO PUSH2 0x587D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x588E DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x4B1F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xB0A JUMPI PUSH2 0xB0A PUSH2 0x53A9 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH1 0x20 DUP1 DUP7 ADD DUP5 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x58DB JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x58BC JUMP JUMPDEST POP SWAP3 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x5990 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x59A4 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x4B1F JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x59E0 SWAP1 DUP4 ADD DUP5 PUSH2 0x4B43 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x59FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x45FF DUP2 PUSH2 0x4A11 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF STATICCALL RETURN 0xD3 0x24 0xC3 PUSH21 0x46EB406B5236A0190FE68D2F2A5FD1A9F7402876C3 0xB7 GASPRICE SELFBALANCE SLOAD PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"1668:18731:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;755:181:20;;;;;;:::i;:::-;;:::i;:::-;;;565:14:25;;558:22;540:41;;528:2;513:18;755:181:20;;;;;;;;9625:936:19;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;2471:98:5:-;;;:::i;:::-;;;;;;;:::i;3080:60:19:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3342:25:25;;;3330:2;3315:18;3080:60:19;3196:177:25;3935:167:5;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3727:32:25;;;3709:51;;3697:2;3682:18;3935:167:5;3563:203:25;3468:406:5;;;;;;:::i;:::-;;:::i;:::-;;5976:119:19;;;;;;:::i;:::-;;:::i;6099:251::-;;;;;;:::i;:::-;;:::i;10565:245::-;;;;;;:::i;:::-;;:::i;2598:49::-;;;;;;;;;;;;1911;;;;;-1:-1:-1;;;;;1911:49:19;;;8504:137;;;;;;:::i;:::-;;:::i;9323:157::-;;;;;;:::i;:::-;;:::i;:::-;;;7135:4:25;7123:17;;;7105:36;;7093:2;7078:18;9323:157:19;6963:184:25;5751:114:19;;;;;;:::i;:::-;;:::i;10997:386::-;;;;;;:::i;:::-;;:::i;16417:1564::-;;;;;;:::i;:::-;;:::i;2291:39::-;;;;;;4612:296:5;;;;;;:::i;:::-;;:::i;8218:142:19:-;;;;;;:::i;:::-;;:::i;10814:179::-;;;;;;:::i;:::-;;:::i;13088:897::-;;;;;;:::i;:::-;;:::i;8981:101::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9054:23:19;9035:4;9054:23;;;:10;:23;;;;;;;;;8981:101;1811:45;;;;;-1:-1:-1;;;;;1811:45:19;;;19770:573;;;;;;:::i;:::-;;:::i;2490:28::-;;;:::i;4974:149:5:-;;;;;;:::i;:::-;;:::i;531:238:8:-;;;;;;:::i;:::-;;:::i;2932:47:19:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12148:25:25;;;12204:2;12189:18;;12182:34;;;;12259:14;;12252:22;12232:18;;;12225:50;;;;12323:4;12311:17;;;12306:2;12291:18;;12284:45;12360:3;12345:19;;12338:35;12135:3;12120:19;2932:47:19;11899:480:25;19253:269:19;;;;;;:::i;:::-;;:::i;6862:110::-;;;;;;:::i;:::-;;:::i;2190:219:5:-;;;;;;:::i;:::-;;:::i;2204:34:19:-;;;;;;7955:139;;;;;;:::i;:::-;;:::i;2095:42::-;;;;;;;;;;;;5649:98;;;;;;:::i;:::-;;:::i;1929:204:5:-;;;;;;:::i;:::-;;:::i;1824:101:0:-;;;:::i;8364:136:19:-;;;;;;:::i;:::-;;:::i;6976:150::-;;;;;;:::i;:::-;;:::i;2463:23::-;;;:::i;7294:165::-;;;;;;:::i;:::-;;:::i;9484:137::-;;;;;;:::i;:::-;;:::i;4770:875::-;;;;;;:::i;:::-;;:::i;9086:104::-;;;;;;:::i;:::-;-1:-1:-1;;;;;9160:25:19;9141:4;9160:25;;;:19;:25;;;;;;;;;9086:104;2169:31;;;;;;8827:150;;;;;;:::i;:::-;;:::i;2983:69::-;;;;;;:::i;:::-;;;;;;;;;;;;;;8645:178;;;;;;:::i;:::-;;:::i;1201:85:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;1201:85;;15130:1165:19;;;:::i;2633:102:5:-;;;:::i;2651:53:19:-;;;;;;;;;;;;7463:212;;;;;;:::i;:::-;;:::i;3144:87::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13989:1021;;;;;;:::i;:::-;;:::i;4169:153:5:-;;;;;;:::i;:::-;;:::i;19583:183:19:-;;;;;;:::i;:::-;;:::i;2051:40::-;;;;;;;;;12524:560;;;;;;:::i;:::-;;:::i;2375:43::-;;;;;;5189:276:5;;;;;;:::i;:::-;;:::i;7130:160:19:-;;;;;;:::i;:::-;;:::i;17985:878::-;;;;;;:::i;:::-;;:::i;584:165:20:-;;;;;;:::i;:::-;;:::i;6354:242:19:-;;;;;;:::i;:::-;;:::i;1860:47::-;;;;;-1:-1:-1;;;;;1860:47:19;;;2253:34;;;;;;9194:125;;;:::i;7679:137::-;;;;;;:::i;:::-;;:::i;6600:258::-;;;;;;:::i;:::-;;:::i;8098:116::-;;;;;;:::i;:::-;;:::i;2549:45::-;;;;;;;;;2141:24;;;;;;;;-1:-1:-1;;;;;2141:24:19;;;2522:23;;;:::i;4388:162:5:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;5869:103:19;;;;;;:::i;:::-;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;7820:131:19:-;;;;;;:::i;:::-;;:::i;755:181:20:-;866:4;893:36;917:11;893:23;:36::i;:::-;886:43;755:181;-1:-1:-1;;755:181:20:o;9625:936:19:-;9774:16;;;9786:3;9774:16;;;;;;;;;9692:14;;;;;;9745:26;;9774:16;;;;;;;;;-1:-1:-1;;9824:16:19;;;9836:3;9824:16;;;;;;;;;9745:45;;-1:-1:-1;9796:25:19;;9824:16;-1:-1:-1;9824:16:19;;;;;;;;-1:-1:-1;;9869:15:19;;;9880:3;9869:15;;;;;;;;;9796:44;;-1:-1:-1;9846:20:19;;9869:15;-1:-1:-1;9869:15:19;;;;;;;;;;-1:-1:-1;9869:15:19;9846:38;;9890:11;9917:7;9912:248;9931:3;9926:1;:8;;;9912:248;;-1:-1:-1;;;;;9953:19:19;;9978:1;9953:19;;;:13;:19;;;;;;;;:22;;;;;;;;;;;;;:26;9949:205;;10012:1;9991:11;10003:5;9991:18;;;;;;;;;;:::i;:::-;:22;;;;:18;;;;;;;;;;:22;;;;-1:-1:-1;;;;;10043:19:19;;;;;;:13;:19;;;;;;:22;;;;;;;;;;10023:17;;10043:22;;;;10023:10;;:17;;;;;;;;;;:::i;:::-;:42;;;;:17;;;;;;;;;:42;10091:19;;:37;;-1:-1:-1;;;10091:37:19;;-1:-1:-1;;;;;18345:32:25;;;10091:37:19;;;18327:51:25;18414:17;;;18394:18;;;18387:45;10091:19:19;;;:28;;18300:18:25;;10091:37:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10075:6;10082:5;10075:13;;;;;;;;;;:::i;:::-;:53;;;:13;;;;;;;;;;;:53;10138:7;;;;:::i;:::-;;;;9949:205;9936:3;;;;:::i;:::-;;;;9912:248;;;;10166:30;10211:5;10199:18;;-1:-1:-1;;;;;10199:18:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10199:18:19;;10166:51;;10223:28;10266:5;10254:18;;-1:-1:-1;;;;;10254:18:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10254:18:19;;10223:49;;10278:29;10321:5;10310:17;;-1:-1:-1;;;;;10310:17:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10310:17:19;;10278:49;;10339:9;10334:160;10354:5;10350:9;;:1;:9;10334:160;;;10395:11;10407:1;10395:14;;;;;;;;:::i;:::-;;;;;;;10374:15;10390:1;10374:18;;;;;;;;:::i;:::-;;;;;;:35;;;;;;;;;;;10436:10;10447:1;10436:13;;;;;;;;:::i;:::-;;;;;;;10417;10431:1;10417:16;;;;;;;;:::i;:::-;;;;;;:32;;;;;;;;;;;10478:6;10485:1;10478:9;;;;;;;;:::i;:::-;;;;;;;10457:15;10473:1;10457:18;;;;;;;;:::i;:::-;:30;;;:18;;;;;;;;;;;:30;10361:3;;;;:::i;:::-;;;;10334:160;;;-1:-1:-1;10508:15:19;;10525:13;;-1:-1:-1;10508:15:19;;-1:-1:-1;9625:936:19;-1:-1:-1;;;;;;9625:936:19:o;2471:98:5:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;19732:2:25;3597:57:5;;;19714:21:25;19771:2;19751:18;;;19744:30;19810:34;19790:18;;;19783:62;-1:-1:-1;;;19861:18:25;;;19854:31;19902:19;;3597:57:5;;;;;;;;;734:10:12;-1:-1:-1;;;;;3686:21:5;;;;:62;;-1:-1:-1;3711:37:5;3728:5;734:10:12;4388:162:5;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;20134:2:25;3665:170:5;;;20116:21:25;20173:2;20153:18;;;20146:30;20212:34;20192:18;;;20185:62;20283:31;20263:18;;;20256:59;20332:19;;3665:170:5;19932:425:25;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;5976:119:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;6049:41:::1;::::0;-1:-1:-1;;;6049:41:19;;:11:::1;:41;::::0;::::1;20567:25:25::0;-1:-1:-1;;;;;20628:32:25;;20608:18;;;20601:60;6049:24:19::1;::::0;::::1;::::0;20540:18:25;;6049:41:19::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5976:119:::0;:::o;6099:251::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;6198:20;-1:-1:-1;;;;;4707:22:19;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:19::1;;;;;;;;;;;4704:50;6226:19:::2;:64:::0;;-1:-1:-1;;;;;;6226:64:19::2;-1:-1:-1::0;;;;;6226:64:19;::::2;::::0;;::::2;::::0;;;6301:44:::2;::::0;::::2;::::0;-1:-1:-1;;6301:44:19::2;4644:1:::1;6099:251:::0;:::o;10565:245::-;10728:77;;-1:-1:-1;;;10728:77:19;;10699:14;;10728:15;;:32;;:77;;10761:10;;10773;;10785:8;;10795:9;;;;10728:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10721:84;;10565:245;;;;;;;:::o;8504:137::-;4491:19;;-1:-1:-1;;;;;4491:19:19;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:19;;;;;;;;;;;4466:74;-1:-1:-1;;;;;8603:19:19;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:31:::1;::::0;;::::1;::::0;;;;;;:33;;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;8504:137:::0;;:::o;9323:157::-;9427:5;9412:4;-1:-1:-1;;;;;4707:22:19;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:19;;;;;;;;;;;4704:50;-1:-1:-1;;;;;;;9447:19:19;;;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:28:::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;9323:157::o;5751:114::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;5822:38:::1;::::0;-1:-1:-1;;;5822:38:19;;:10:::1;:38;::::0;::::1;20567:25:25::0;-1:-1:-1;;;;;20628:32:25;;20608:18;;;20601:60;5822:22:19::1;::::0;::::1;::::0;20540:18:25;;5822:38:19::1;20362:305:25::0;10997:386:19;11162:18;;;;;:60;;-1:-1:-1;11200:22:19;;;;;;11184:38;;;;11162:60;11159:92;;;11231:20;;-1:-1:-1;;;11231:20:19;;;;;;;;;;;11159:92;11263:9;11258:121;11278:13;11274:17;;:1;:17;11258:121;;;11306:66;11316:10;11328:11;11340:1;11328:14;;;;;;;;:::i;:::-;;;;;;;11344:9;11354:1;11344:12;;;;;;;;:::i;:::-;;;;;;;11358:10;;11369:1;11358:13;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;11306:9;:66::i;:::-;11293:3;;;;:::i;:::-;;;;11258:121;;;;10997:386;;;;;:::o;16417:1564::-;16496:10;16482:25;;;;:13;:25;;;;;;;;16508:3;16482:30;;;;;;;;;;:35;;16479:75;;16526:28;;-1:-1:-1;;;16526:28:19;;;;;;;;;;;16479:75;16605:10;16560:28;16591:25;;;:13;:25;;;;;;:46;;16619:11;;16591:46;:::i;:::-;16560:77;;16643:17;16695:2;16671:20;:26;16667:263;;16740:9;;16733:42;;-1:-1:-1;;;16733:42:19;;16769:4;16733:42;;;3709:51:25;16707:23:19;;16740:9;;;-1:-1:-1;;;;;16740:9:19;;16733:27;;3682:18:25;;16733:42:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16707:68;;16804:21;;16786:15;:39;:82;;;;16847:21;;16829:15;;:39;16786:82;16783:113;;;16877:19;;-1:-1:-1;;;16877:19:19;;;;;;;;;;;16783:113;16919:4;16904:19;;16699:231;16667:263;16958:19;;:54;;-1:-1:-1;;;16958:54:19;;17001:10;16958:54;;;3709:51:25;16936:18:19;;;;-1:-1:-1;;;;;16958:19:19;;;;:42;;3682:18:25;;16958:54:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;-1:-1:-1;17051:11:19;17023:25;17075:436;17095:17;17091:1;:21;17075:436;;;17140:10;17126:25;;;;:13;:25;;;;;;17152:11;;17164:1;17152:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17126:41;;;;;;;;;;;;;;;-1:-1:-1;17126:41:19;;;;;;;:46;;17123:86;;17181:28;;-1:-1:-1;;;17181:28:19;;;;;;;;;;;17123:86;17221:13;17217:198;;;17250:19;;-1:-1:-1;;;;;17250:19:19;:28;17279:10;17291:11;;17303:1;17291:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17250:56;;-1:-1:-1;;;;;;17250:56:19;;;;;;;-1:-1:-1;;;;;18345:32:25;;;17250:56:19;;;18327:51:25;18426:4;18414:17;18394:18;;;18387:45;18300:18;;17250:56:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17246:161;;;17337:10;17323:25;;;;:13;:25;;;;;17367:1;;17349:11;;17361:1;17349:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17323:41;;;;;;;;;;;;;;;-1:-1:-1;17323:41:19;;;:45;17320:76;;;17377:19;;-1:-1:-1;;;17377:19:19;;;;;;;;;;;17320:76;17436:10;17422:25;;;;:13;:25;;;;;;17448:11;;17460:1;17448:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17422:41;;;;;;;;;;;;;;;-1:-1:-1;17422:41:19;;;:43;;;;;;:41;:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;17493:3;;;;;;;17075:436;;;-1:-1:-1;17531:10:19;17517:25;;;;:13;:25;;;;;:46;;17546:17;;17517:25;:46;;17546:17;;17517:46;:::i;:::-;;;;-1:-1:-1;;17574:36:19;;;;17598:11;;;;17574:36;:::i;:::-;;;;;;;;;;17586:10;;17574:36;;;;;17621:12;17617:360;;;17657:10;17643:25;;;;:13;:25;;;;;;;;17669:3;17643:30;;;;;;;:32;;:30;:32;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;17683:44;17692:10;17704:14;17683:44;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17720:3;17725:1;17683:8;:44::i;:::-;17782:21;;17763:15;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;17818:9:19;;17850:21;;17811:61;;-1:-1:-1;;;17811:61:19;;17838:10;17811:61;;;23902:51:25;23969:18;;;23962:34;;;;17818:9:19;;;;-1:-1:-1;;;;;17818:9:19;;17811:26;;23875:18:25;;17811:61:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;17881:20:19;;:47;;-1:-1:-1;;;17881:47:19;;17917:10;17881:47;;;3709:51:25;-1:-1:-1;;;;;17881:20:19;;;;:35;;3682:18:25;;17881:47:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17941:29:19;;17968:1;;-1:-1:-1;17956:10:19;;-1:-1:-1;17941:29:19;;;;;16473:1508;;;;16417:1564;;:::o;4612:296:5:-;4771:41;734:10:12;4790:12:5;4804:7;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:5;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;8218:142:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;8309:22:::1;:46:::0;;-1:-1:-1;;8309:46:19::1;;::::0;;;::::1;::::0;;;::::1;::::0;;8218:142::o;10814:179::-;10934:54;10944:10;10956;10968:8;10978:9;;10934;:54::i;:::-;10814:179;;;;:::o;13088:897::-;13166:2;-1:-1:-1;;;;;4707:22:19;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:19;;;;;;;;;;;4704:50;13193:10:::1;13179:25;::::0;;;:13:::1;:25;::::0;;;;;;;:37:::1;::::0;;::::1;::::0;;;;;;;::::1;:42:::0;;13176:82:::1;;13230:28;;-1:-1:-1::0;;;13230:28:19::1;;;;;;;;;;;13176:82;13273:10;-1:-1:-1::0;;;;;13267:16:19;::::1;::::0;13264:45:::1;;13292:17;;-1:-1:-1::0;;;13292:17:19::1;;;;;;;;;;;13264:45;13320:34;::::0;;;::::1;;;13316:529;;;13380:19;::::0;:52:::1;::::0;-1:-1:-1;;;13380:52:19;;13409:10:::1;13380:52;::::0;::::1;18327:51:25::0;18426:4;18414:17;;18394:18;;;18387:45;13364:13:19::1;::::0;-1:-1:-1;;;;;13380:19:19::1;::::0;:28:::1;::::0;18300:18:25;;13380:52:19::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13476:10;13440:19;13462:25:::0;;;:13:::1;:25;::::0;;;;;;;:37:::1;::::0;;::::1;::::0;;;;;;;;13364:68;;-1:-1:-1;13502:1:19::1;13462:37:::0;::::1;:41;13783:9:::0;::::1;::::0;:27:::1;;;13796:14;13783:27;13775:63;;;;-1:-1:-1::0;;;13775:63:19::1;;;;;;;:::i;:::-;13356:489;;13316:529;13865:10;13851:25;::::0;;;:13:::1;:25;::::0;;;;;;;:37:::1;::::0;;::::1;::::0;;;;;;:39;;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;::::0;;::::1;::::0;;;::::1;;::::0;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;-1:-1:-1;;;;;13896:17:19;::::1;-1:-1:-1::0;13896:17:19;;;:13:::1;:17;::::0;;;;;;;:29;;::::1;::::0;;;;;;;:31;;;;::::1;::::0;-1:-1:-1;13896:31:19::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;13965:2;-1:-1:-1::0;;;;;13938:42:19::1;13953:10;-1:-1:-1::0;;;;;13938:42:19::1;;13969:10;13938:42;;;;;7135:4:25::0;7123:17;;;;7105:36;;7093:2;7078:18;;6963:184;13938:42:19::1;;;;;;;;13088:897:::0;;;:::o;19770:573::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;19881:18:::1;::::0;:45:::1;::::0;-1:-1:-1;;;19881:45:19;;::::1;::::0;::::1;20567:25:25::0;;;-1:-1:-1;;;;;20628:32:25;;;20608:18;;;20601:60;19881:18:19;;::::1;::::0;:27:::1;::::0;20540:18:25;;19881:45:19::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;19983:1;19969:11;;:15;;;;:::i;:::-;19955:11;;:29;;;;:::i;:::-;19936:15;;:48;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;19999:9:19::1;::::0;-1:-1:-1;19995:342:19::1;20012:8;:15;20010:1;:17;19995:342;;;20055:8;20064:1;20055:11;;;;;;;;:::i;:::-;;;;;;;:18;;20070:3;20055:18;:88;;20139:4;20107:16;:29;20124:8;20133:1;20124:11;;;;;;;;:::i;:::-;;;;;;;20107:29;;;;;;;;;;;;;;:36;20055:88;;;20093:3;20076:21;::::0;:16:::1;:21;::::0;;;20100:4:::1;-1:-1:-1::0;20055:88:19::1;20047:148;;;::::0;-1:-1:-1;;;20047:148:19;;25608:2:25;20047:148:19::1;::::0;::::1;25590:21:25::0;25647:2;25627:18;;;25620:30;25686:32;25666:18;;;25659:60;25736:18;;20047:148:19::1;25406:354:25::0;20047:148:19::1;20209:16;:29;20226:8;20235:1;20226:11;;;;;;;;:::i;:::-;;;;;;;20209:29;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;20273:19:19;::::1;;::::0;;;:13:::1;:19;::::0;;;;20293:11;;20273:19;;;20293:8;;20302:1;;20293:11;::::1;;;;;:::i;:::-;;;;;;;20273:32;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20029:3;;;;;:::i;:::-;;;;19995:342;;2490:28:::0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4974:149:5:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;531:238:8:-;647:41;734:10:12;666:12:8;655:96:12;647:41:8;639:99;;;;-1:-1:-1;;;639:99:8;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;19253:269:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;19350:6:::1;19323:24;19341:4;19323:9;:24::i;:::-;:33;19320:64;;;19365:19;;-1:-1:-1::0;;;19365:19:19::1;;;;;;;;;;;19320:64;19409:6;19390:15;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;19428:9:19::1;::::0;19421:46:::1;::::0;-1:-1:-1;;;19421:46:19;;19448:10:::1;19421:46;::::0;::::1;23902:51:25::0;23969:18;;;23962:34;;;19428:9:19;;;::::1;-1:-1:-1::0;;;;;19428:9:19::1;::::0;19421:26:::1;::::0;23875:18:25;;19421:46:19::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;19478:39:19::1;::::0;19510:6;;19498:10:::1;::::0;19478:39:::1;::::0;;;::::1;19253:269:::0;:::o;6862:110::-;4357:18;;-1:-1:-1;;;;;4357:18:19;4335:10;:41;4332:77;;4385:24;;-1:-1:-1;;;4385:24:19;;;;;;;;;;;4332:77;6961:6:::1;6942:15;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;6862:110:19:o;2190:219:5:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;25967:2:25;2324:56:5;;;25949:21:25;26006:2;25986:18;;;25979:30;-1:-1:-1;;;26025:18:25;;;26018:54;26089:18;;2324:56:5;25765:348:25;7955:139:19;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;8044:34:::1;:45:::0;;;::::1;;::::0;::::1;-1:-1:-1::0;;8044:45:19;;::::1;::::0;;;::::1;::::0;;7955:139::o;5649:98::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;5712:30:::1;::::0;-1:-1:-1;;;5712:30:19;;:10:::1;:30;::::0;::::1;20567:25:25::0;-1:-1:-1;;;;;20628:32:25;;20608:18;;;20601:60;5712:19:19::1;::::0;::::1;::::0;20540:18:25;;5712:30:19::1;20362:305:25::0;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;26320:2:25;2020:73:5;;;26302:21:25;26359:2;26339:18;;;26332:30;26398:34;26378:18;;;26371:62;-1:-1:-1;;;26449:18:25;;;26442:39;26498:19;;2020:73:5;26118:405:25;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;8364:136:19:-;4491:19;;-1:-1:-1;;;;;4491:19:19;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:19;;;;;;;;;;;4466:74;-1:-1:-1;;;;;8462:19:19;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:31:::1;::::0;;::::1;::::0;;;;;;:33;;;;::::1;::::0;::::1;::::0;::::1;:::i;6976:150::-:0;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;7048:6:::1;7058:1;7048:11:::0;7045:45:::1;;7068:22;;-1:-1:-1::0;;;7068:22:19::1;;;;;;;;;;;7045:45;7096:16;:25:::0;6976:150::o;2463:23::-;;;;;;;:::i;7294:165::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;7381:3:::1;7372:6;:12;;;7369:46;;;7393:22;;-1:-1:-1::0;;;7393:22:19::1;;;;;;;;;;;7369:46;7421:24;:33:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;7421:33:19;;::::1;::::0;;;::::1;::::0;;7294:165::o;9484:137::-;9575:7;9560:4;-1:-1:-1;;;;;4707:22:19;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:19;;;;;;;;;;;4704:50;-1:-1:-1;;;;;9597:19:19;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;-1:-1:-1;4760:1:19::1;9484:137:::0;;;;:::o;4770:875::-;1094:13:0;:11;:13::i;:::-;5012:10:19::1;4994:17;:29:::0;;;:10:::1;:29;::::0;;;;:36;;-1:-1:-1;;4994:36:19::1;5026:4;4994:36;::::0;;5037:9:::1;:28:::0;;-1:-1:-1;;;;;5037:28:19;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;5037:28:19;;::::1;::::0;;;::::1;::::0;;;5071:18:::1;:61:::0;;;;::::1;-1:-1:-1::0;;;;;;5071:61:19;;::::1;;::::0;;;5138:20:::1;:67:::0;;;;::::1;::::0;;::::1;;::::0;;5211:19:::1;:64:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;5282:9:::1;:20;5294:8:::0;5282:9;:20:::1;:::i;:::-;-1:-1:-1::0;5362:10:19::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5362:10:19::1;::::0;;::::1;::::0;;;;5374:12;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5374:12:19;;::::1;::::0;5388:15;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5388:15:19;;::::1;::::0;5327:77;;::::1;::::0;5350:9:::1;::::0;5362:10;5388:15;;5327:77:::1;;:::i;:::-;;;;;;;;;;;;;5308:9;:97;;;;;;:::i;:::-;-1:-1:-1::0;5477:10:19::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5477:10:19::1;::::0;;::::1;::::0;;;;5489:12;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5489:12:19;;::::1;::::0;5503:15;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;5503:15:19;;::::1;::::0;5442:77;;::::1;::::0;5465:9:::1;::::0;5477:10;5503:15;;5442:77:::1;;:::i;:::-;;;;;;;;;;;;;5411:14;:114;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;5531:28:19;::::1;;::::0;;;:19;:28:::1;::::0;;;;:35;;-1:-1:-1;;5531:35:19::1;5562:4;5531:35;::::0;;5573:68:::1;5593:3;5589:1;:7;5573:68;;;5611:19;::::0;;;:16:::1;:19;::::0;;;;5633:1:::1;5611:23:::0;;5628:1;5598:3:::1;5628:1:::0;5598:3:::1;:::i;:::-;;;;5573:68;;;;4770:875:::0;;;;;;:::o;8827:150::-;8917:8;8902:4;-1:-1:-1;;;;;4707:22:19;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:19;;;;;;;;;;;4704:50;-1:-1:-1;;;;;;;8940:19:19;;;::::1;8971:1;8940:19:::0;;;:13:::1;:19;::::0;;;;;;;:28:::1;::::0;;::::1;::::0;;;;;;;;::::1;:32:::0;;;8827:150::o;8645:178::-;4491:19;;8760:8;;-1:-1:-1;;;;;4491:19:19;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:19;;;;;;;;;;;4466:74;-1:-1:-1;;;;;;8783:19:19;;;::::1;8817:1;8783:19:::0;;;:13:::1;:19;::::0;;;;;;;:31:::1;::::0;;::::1;::::0;;;;;;;;::::1;:35:::0;;;8645:178::o;15130:1165::-;15254:10;15169:4;15240:25;;;:13;:25;;;;;;;;15266:3;15240:30;;;;;;;;;;:35;;15237:75;;15284:28;;-1:-1:-1;;;15284:28:19;;;;;;;;;;;15237:75;15339:16;;15321:15;;:34;15318:68;;;15364:22;;-1:-1:-1;;;15364:22:19;;;;;;;;;;;15318:68;15426:9;;15419:42;;-1:-1:-1;;;15419:42:19;;15455:4;15419:42;;;3709:51:25;15393:23:19;;15426:9;;;-1:-1:-1;;;;;15426:9:19;;15419:27;;3682:18:25;;15419:42:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15393:68;;15488:16;;15470:15;:34;15467:65;;;15513:19;;-1:-1:-1;;;15513:19:19;;;;;;;;;;;15467:65;15599:15;15630:7;15625:206;15644:3;15639:1;:8;;;15625:206;;15676:10;15662:25;;;;:13;:25;;;;;;;;:28;;;;;;;;;;;;:33;;15658:90;;15720:4;15707:17;;15734:5;;15658:90;15769:10;15755:25;;;;:13;:25;;;;;;;;:28;;;;;;;;;;:30;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;15813:3;;;;;;;15625:206;;;;15839:10;15836:41;;;15858:19;;-1:-1:-1;;;15858:19:19;;;;;;;;;;;15836:41;15917:39;15926:10;15938:9;15917:39;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15949:3;15954:1;15917:8;:39::i;:::-;16012:16;;15993:15;;:35;;;;;;;:::i;:::-;;;;-1:-1:-1;;16041:9:19;;16073:16;;16034:56;;-1:-1:-1;;;16034:56:19;;16061:10;16034:56;;;23902:51:25;23969:18;;;23962:34;;;;16041:9:19;;;;-1:-1:-1;;;;;16041:9:19;;16034:26;;23875:18:25;;16034:56:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;16122:19:19;;:50;;-1:-1:-1;;;16122:50:19;;16161:10;16122:50;;;3709:51:25;16097:22:19;;-1:-1:-1;;;;;16122:19:19;;:38;;3682:18:25;;16122:50:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16097:75;;16182:17;16178:54;;16208:24;;-1:-1:-1;;;16208:24:19;;;;;;;;;;;16178:54;16244:29;;16271:1;;16259:10;;16244:29;;;;;16286:4;16279:11;;;;;15130:1165;:::o;2633:102:5:-;2689:13;2721:7;2714:14;;;;;:::i;7463:212:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;7563:9:::1;:22;7575:10:::0;7563:9;:22:::1;:::i;:::-;-1:-1:-1::0;7591:14:19::1;:32;7608:15:::0;7591:14;:32:::1;:::i;:::-;;7654:15;7634:36;;;;;;:::i;:::-;;;;;;;;7642:10;7634:36;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;7463:212:::0;;:::o;13989:1021::-;14078:2;-1:-1:-1;;;;;4707:22:19;;4704:50;;4738:16;;-1:-1:-1;;;4738:16:19;;;;;;;;;;;4704:50;14097:10:::1;-1:-1:-1::0;;;;;14091:16:19;::::1;::::0;14088:45:::1;;14116:17;;-1:-1:-1::0;;;14116:17:19::1;;;;;;;;;;;14088:45;14145:9;14140:811;14156:22:::0;;::::1;14140:811;;;14210:10;14196:25;::::0;;;:13:::1;:25;::::0;;;;;14222:11;;14234:1;14222:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14196:41;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14196:41:19;;;;;;::::1;:46:::0;;14193:86:::1;;14251:28;;-1:-1:-1::0;;;14251:28:19::1;;;;;;;;;;;14193:86;14301:10;14287:25;::::0;;;:13:::1;:25;::::0;;;;;14313:11;;14325:1;14313:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14287:41;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14287:41:19;;;:43;;;;::::1;::::0;:41;:43:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;14338:13;:17;14352:2;-1:-1:-1::0;;;;;14338:17:19::1;-1:-1:-1::0;;;;;14338:17:19::1;;;;;;;;;;;;:33;14356:11;;14368:1;14356:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14338:33;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14338:33:19;;;:35;;;;::::1;::::0;:33;:35:::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;14386:34;;;;;;;;;;;14382:563;;;14448:19;::::0;14432:13:::1;::::0;-1:-1:-1;;;;;14448:19:19::1;:28;14477:10;14489:11:::0;;14501:1;14489:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14448:56;::::0;-1:-1:-1;;;;;;14448:56:19::1;::::0;;;;;;-1:-1:-1;;;;;18345:32:25;;;14448:56:19::1;::::0;::::1;18327:51:25::0;18426:4;18414:17;18394:18;;;18387:45;18300:18;;14448:56:19::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14550:10;14514:19;14536:25:::0;;;:13:::1;:25;::::0;;;;14432:72;;-1:-1:-1;14514:19:19;14580:1:::1;::::0;14514:19;14562:11;;14574:1;14562:14;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14536:41;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14536:41:19;;::::1;:45;::::0;-1:-1:-1;14881:9:19;::::1;::::0;:27:::1;;;14894:14;14881:27;14873:63;;;;-1:-1:-1::0;;;14873:63:19::1;;;;;;;:::i;:::-;14422:523;;14382:563;14180:3:::0;::::1;::::0;::::1;:::i;:::-;;;;14140:811;;;;14993:11;;14961:44;;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;14961:44:19;::::1;::::0;14977:10:::1;::::0;14961:44:::1;::::0;;;::::1;13989:1021:::0;;;;:::o;4169:153:5:-;4263:52;734:10:12;4296:8:5;4306;4263:18;:52::i;:::-;4169:153;;:::o;19583:183:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;19649:7:::1;19645:117;19661:3;19658:1;:6;;;19645:117;;-1:-1:-1::0;;;;;19729:19:19;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;;:22:::1;::::0;;::::1;::::0;;;;;;:24;;;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;19666:3;;;;;:::i;:::-;;;;19645:117;;12524:560:::0;4491:19;;-1:-1:-1;;;;;4491:19:19;4469:10;:42;4466:74;;4520:20;;-1:-1:-1;;;4520:20:19;;;;;;;;;;;4466:74;12690:4;-1:-1:-1;;;;;4707:22:19;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:19::1;;;;;;;;;;;4704:50;12713:2:::0;-1:-1:-1;;;;;4707:22:19;::::2;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:19::2;;;;;;;;;;;4704:50;-1:-1:-1::0;;;;;12726:19:19;::::3;;::::0;;;:13:::3;:19;::::0;;;;;;;:35:::3;::::0;;::::3;::::0;;;;;;;;::::3;:40:::0;;:80:::3;;-1:-1:-1::0;;;;;;12770:17:19;::::3;;::::0;;;:13:::3;:17;::::0;;;;;;;:31:::3;::::0;;::::3;::::0;;;;;;;;::::3;:36:::0;12726:80:::3;12723:120;;;12815:28;;-1:-1:-1::0;;;12815:28:19::3;;;;;;;;;;;12723:120;-1:-1:-1::0;;;;;12850:19:19;::::3;;::::0;;;:13:::3;:19;::::0;;;;;;;:35:::3;::::0;;::::3;::::0;;;;;;:37;;;;::::3;::::0;::::3;::::0;::::3;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;-1:-1:-1;;;;;12893:17:19;::::3;-1:-1:-1::0;12893:17:19;;;:13:::3;:17;::::0;;;;;;;:33;;::::3;::::0;;;;;;;:35;;;;::::3;::::0;-1:-1:-1;12893:35:19::3;::::0;::::3;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;-1:-1:-1;;;;;12934:17:19;::::3;-1:-1:-1::0;12934:17:19;;;:13:::3;:17;::::0;;;;;;;:31;;::::3;::::0;;;;;;;:33;;;;::::3;::::0;-1:-1:-1;12934:33:19::3;::::0;::::3;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;-1:-1:-1;;;;;12973:19:19;::::3;-1:-1:-1::0;12973:19:19;;;:13:::3;:19;::::0;;;;;;;:33;;::::3;::::0;;;;;;;:35;;;;::::3;::::0;-1:-1:-1;12973:35:19::3;::::0;::::3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;13046:2;-1:-1:-1::0;;;;;13020:59:19::3;13040:4;-1:-1:-1::0;;;;;13020:59:19::3;;13050:14;13066:12;13020:59;;;;;;30648:4:25::0;30636:17;;;30618:36;;30690:17;;30685:2;30670:18;;30663:45;30606:2;30591:18;;30452:262;13020:59:19::3;;;;;;;;4760:1:::2;4546::::1;12524:560:::0;;;;:::o;5189:276:5:-;5319:41;734:10:12;5352:7:5;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;7130:160:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;7207:6:::1;7217:1;7207:11:::0;7204:45:::1;;7227:22;;-1:-1:-1::0;;;7227:22:19::1;;;;;;;;;;;7204:45;7255:21;:30:::0;7130:160::o;17985:878::-;18048:10;18034:25;;;;:13;:25;;;;;;;;:34;;;;;;;;;;;;:39;;18031:79;;18082:28;;-1:-1:-1;;;18082:28:19;;;;;;;;;;;18031:79;18121:30;;;;;;;18117:519;;;18177:19;;:49;;-1:-1:-1;;;18177:49:19;;18206:10;18177:49;;;18327:51:25;18426:4;18414:17;;18394:18;;;18387:45;18161:13:19;;-1:-1:-1;;;;;18177:19:19;;:28;;18300:18:25;;18177:49:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18270:10;18234:19;18256:25;;;:13;:25;;;;;;;;:34;;;;;;;;;;;;18161:65;;-1:-1:-1;18293:1:19;18256:34;;:38;18574:9;;;:27;;;18587:14;18574:27;18566:63;;;;-1:-1:-1;;;18566:63:19;;;;;;;:::i;:::-;18153:483;;18117:519;18656:10;18642:25;;;;:13;:25;;;;;;;;:34;;;;;;;;;;:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;18685:17;18742:9;18754:10;;;;;;;;;;;;;-1:-1:-1;;;18754:10:19;;;18772:7;:16;;;;;;:18;;;;;;;;;;;;;3342:25:25;;3330:2;3315:18;;3196:177;18772:18:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18772:18:19;;;;;;;;;;;;:::i;:::-;18793:14;;;;;;;;;;;;;-1:-1:-1;;;18793:14:19;;;18719:89;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;18685:129;;18821:37;18830:10;18842:3;18847:7;18821:37;;18856:1;18821:8;:37::i;584:165:20:-;683:13;719:23;734:7;719:14;:23::i;6354:242:19:-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;6451:19;-1:-1:-1;;;;;4707:22:19;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:19::1;;;;;;;;;;;4704:50;6477:18:::2;:61:::0;;-1:-1:-1;;;;;;6477:61:19::2;-1:-1:-1::0;;;;;6477:61:19;::::2;::::0;;::::2;::::0;;;6549:42:::2;::::0;::::2;::::0;-1:-1:-1;;6549:42:19::2;4644:1:::1;6354:242:::0;:::o;9194:125::-;9292:15;;9265:24;;9242:7;;9311:3;;9265:42;;9292:15;9265:24;;;;;:42;:::i;:::-;9264:50;;;;:::i;:::-;9257:57;;9194:125;:::o;7679:137::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;7767:33:::1;:44:::0;;-1:-1:-1;;7767:44:19::1;::::0;::::1;;::::0;;;::::1;::::0;;7679:137::o;6600:258::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;6701:21;-1:-1:-1;;;;;4707:22:19;::::1;4704:50;;4738:16;;-1:-1:-1::0;;;4738:16:19::1;;;;;;;;;;;4704:50;6729:20:::2;:67:::0;;-1:-1:-1;;;;;;6729:67:19::2;-1:-1:-1::0;;;;;6729:67:19;::::2;::::0;;::::2;::::0;;;6807:46:::2;::::0;::::2;::::0;-1:-1:-1;;6807:46:19::2;4644:1:::1;6600:258:::0;:::o;8098:116::-;4357:18;;-1:-1:-1;;;;;4357:18:19;4335:10;:41;4332:77;;4385:24;;-1:-1:-1;;;4385:24:19;;;;;;;;;;;4332:77;8183:11:::1;:26:::0;8098:116::o;2522:23::-;;;;;;;:::i;5869:103::-;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;5934:33:::1;::::0;-1:-1:-1;;;5934:33:19;;:11:::1;:33;::::0;::::1;20567:25:25::0;-1:-1:-1;;;;;20628:32:25;;20608:18;;;20601:60;5934:21:19::1;::::0;::::1;::::0;20540:18:25;;5934:33:19::1;20362:305:25::0;2074:198:0;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;31938:2:25;2154:73:0::1;::::0;::::1;31920:21:25::0;31977:2;31957:18;;;31950:30;32016:34;31996:18;;;31989:62;-1:-1:-1;;;32067:18:25;;;32060:36;32113:19;;2154:73:0::1;31736:402:25::0;2154:73:0::1;2237:28;2256:8;2237:18;:28::i;7820:131:19:-:0;4606:10;4588:17;:29;;;:10;:29;;;;;;;;4584:54;;4626:12;;-1:-1:-1;;;4626:12:19;;;;;;;;;;;4584:54;7905:30:::1;:41:::0;;;::::1;;;;-1:-1:-1::0;;7905:41:19;;::::1;::::0;;;::::1;::::0;;7820:131::o;535:205:9:-;637:4;-1:-1:-1;;;;;;660:33:9;;-1:-1:-1;;;660:33:9;;:73;;;697:36;721:11;697:23;:36::i;13240:133:5:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;25967:2:25;13313:53:5;;;25949:21:25;26006:2;25986:18;;;25979:30;-1:-1:-1;;;26025:18:25;;;26018:54;26089:18;;13313:53:5;25765:348:25;12572:171:5;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;11387:1133:19:-;11528:18;;:43;;-1:-1:-1;;;11528:43:19;;;;;3342:25:25;;;-1:-1:-1;;;;;11528:51:19;;;;:18;;:31;;3315:18:25;;11528:43:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11528:51:19;;11525:76;;11588:13;;-1:-1:-1;;;11588:13:19;;;;;;;;;;;11525:76;11629:2;11610:8;:15;:21;11607:52;;11640:19;;-1:-1:-1;;;11640:19:19;;;;;;;;;;;11607:52;11670:33;;;;11666:319;;;11788:117;;-1:-1:-1;;;11788:117:19;;11771:14;;11788:15;;:32;;:117;;11830:10;;11850;;11870:8;;11888:9;;;;11788:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11924:27:19;;;;;;:19;:27;;;;;;11771:134;;-1:-1:-1;11924:27:19;;11920:58;;11960:18;;-1:-1:-1;;;11960:18:19;;;;;;;;;;;11920:58;11705:280;11666:319;11991:18;;:45;;-1:-1:-1;;;11991:45:19;;;;;20567:25:25;;;-1:-1:-1;;;;;20628:32:25;;;20608:18;;;20601:60;11991:18:19;;;;:27;;20540:18:25;;11991:45:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12089:1;12075:11;;:15;;;;:::i;:::-;12061:11;;:29;;;;:::i;:::-;12042:15;;:48;;;;;;;:::i;:::-;;;;-1:-1:-1;12107:9:19;;-1:-1:-1;12102:364:19;12122:8;:15;12118:1;:19;12102:364;;;12151:8;12160:1;12151:11;;;;;;;;:::i;:::-;;;;;;;:18;;12166:3;12151:18;12148:192;;12200:3;12183:21;;:16;:21;;;;12207:4;-1:-1:-1;12180:59:19;;;12220:19;;-1:-1:-1;;;12220:19:19;;;;;;;;;;;12180:59;12148:192;;;12299:4;12267:16;:29;12284:8;12293:1;12284:11;;;;;;;;:::i;:::-;;;;;;;12267:29;;;;;;;;;;;;;;:36;12264:67;;;12312:19;;-1:-1:-1;;;12312:19:19;;;;;;;;;;;12264:67;12347:16;:29;12364:8;12373:1;12364:11;;;;;;;;:::i;:::-;;;;;;;12347:29;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;12386:19:19;;;;;;:13;:19;;;;;12406:11;;12386:19;;;12406:8;;12415:1;;12406:11;;;;;;:::i;:::-;;;;;;;12386:32;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12448:3;;;;;;;12102:364;;;;12504:10;12494:8;12477:38;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;12477:38:19;;;;;;;;11387:1133;;;;;:::o;18867:341::-;18982:16;;18964:15;19004:16;;;:7;:16;;;;;:34;;;19044:23;;;:33;;;19083:22;;:31;;-1:-1:-1;;19083:31:19;;;;;;;;;19120:23;19130:3;18982:16;19120:9;:23::i;:::-;19149:27;19162:7;19171:4;19149:12;:27::i;:::-;19202:1;19182:16;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;18867:341:19:o;7404:261:5:-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;-1:-1:-1;;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;33306:2:25;11437:65:5;;;33288:21:25;33345:2;33325:18;;;33318:30;33384:34;33364:18;;;33357:62;-1:-1:-1;;;33435:18:25;;;33428:34;33479:19;;11437:65:5;33104:400:25;11437:65:5;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;465:113:20:-;551:20;563:7;551:11;:20::i;1359:130:0:-;1273:6;;-1:-1:-1;;;;;1273:6:0;734:10:12;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;33711:2:25;1414:68:0;;;33693:21:25;;;33730:18;;;33723:30;33789:34;33769:18;;;33762:62;33841:18;;1414:68:0;33509:356:25;2426:187:0;2518:6;;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;12879:277:5:-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;34072:2:25;12982:55:5;;;34054:21:25;34111:2;34091:18;;;34084:30;34150:27;34130:18;;;34123:55;34195:18;;12982:55:5;33870:349:25;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;540::25;;;13108::5;;513:18:25;13108:41:5;400:187:25;6326:267:5;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;806:608:9:-;879:13;904:23;919:7;904:14;:23::i;:::-;938;964:19;;;:10;:19;;;;;938:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:18;1014:10;3395:9:5;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;1014:10:9;993:31;;1103:4;1097:18;1119:1;1097:23;1093:70;;-1:-1:-1;1143:9:9;806:608;-1:-1:-1;;806:608:9:o;1093:70::-;1265:23;;:27;1261:106;;1339:4;1345:9;1322:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1308:48;;;;806:608;;;:::o;1261:106::-;1384:23;1399:7;1384:14;:23::i;1570:300:5:-;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;829:155:15;7995:108:5;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;1599:253:9:-;7185:4:5;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;1690:75:9;;;;-1:-1:-1;;;1690:75:9;;35346:2:25;1690:75:9;;;35328:21:25;35385:2;35365:18;;;35358:30;35424:34;35404:18;;;35397:62;-1:-1:-1;;;35475:18:25;;;35468:44;35529:19;;1690:75:9;35144:410:25;1690:75:9;1775:19;;;;:10;:19;;;;;:31;1797:9;1775:19;:31;:::i;:::-;-1:-1:-1;1822:23:9;;3342:25:25;;;1822:23:9;;3330:2:25;3315:18;1822:23:9;;;;;;;1599:253;;:::o;2070:200::-;2138:20;2150:7;2138:11;:20::i;:::-;2179:19;;;;:10;:19;;;;;2173:33;;;;;:::i;:::-;:38;;-1:-1:-1;2169:95:9;;2234:19;;;;:10;:19;;;;;2227:26;;;:::i;13925:831:5:-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14129:71;;-1:-1:-1;;;14129:71:5;;-1:-1:-1;;;;;14129:36:5;;;;;:71;;734:10:12;;14180:4:5;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;14728:11;;2801:276;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;8324:279::-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:5;;;;;;;:::i;10171:762::-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10441:23;10456:7;10441:14;:23::i;:::-;10509:24;;;;:15;:24;;;;;;;;10502:31;;-1:-1:-1;;;;;;10502:31:5;;;;;;-1:-1:-1;;;;;10749:16:5;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10749:21:5;;;10797:16;;;:7;:16;;;;;;10790:23;;;;;;;10829:36;10433:31;;-1:-1:-1;10525:7:5;;10829:36;;10509:24;;10829:36;4169:153;;:::o;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;-1:-1:-1;;;;;627:18:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;8925:920:5:-;-1:-1:-1;;;;;9004:16:5;;8996:61;;;;-1:-1:-1;;;8996:61:5;;36509:2:25;8996:61:5;;;36491:21:25;;;36528:18;;;36521:30;36587:34;36567:18;;;36560:62;36639:18;;8996:61:5;36307:356:25;8996:61:5;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:5;;36870:2:25;9067:58:5;;;36852:21:25;36909:2;36889:18;;;36882:30;36948;36928:18;;;36921:58;36996:18;;9067:58:5;36668:352:25;9067:58:5;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:5;;36870:2:25;9271:58:5;;;36852:21:25;36909:2;36889:18;;;36882:30;36948;36928:18;;;36921:58;36996:18;;9271:58:5;36668:352:25;9271:58:5;-1:-1:-1;;;;;9671:13:5;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:5;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:25:-;-1:-1:-1;;;;;;88:32:25;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:131::-;-1:-1:-1;;;;;667:31:25;;657:42;;647:70;;713:1;710;703:12;728:247;787:6;840:2;828:9;819:7;815:23;811:32;808:52;;;856:1;853;846:12;808:52;895:9;882:23;914:31;939:5;914:31;:::i;980:444::-;1031:3;1069:5;1063:12;1096:6;1091:3;1084:19;1122:4;1151:2;1146:3;1142:12;1135:19;;1188:2;1181:5;1177:14;1209:1;1219:180;1233:6;1230:1;1227:13;1219:180;;;1298:13;;1313:4;1294:24;1282:37;;1339:12;;;;1374:15;;;;1255:1;1248:9;1219:180;;;-1:-1:-1;1415:3:25;;980:444;-1:-1:-1;;;;;980:444:25:o;1429:1006::-;1750:2;1739:9;1732:21;1713:4;1776:54;1826:2;1815:9;1811:18;1803:6;1776:54;:::i;:::-;1849:2;1899:9;1891:6;1887:22;1882:2;1871:9;1867:18;1860:50;1933:42;1968:6;1960;1933:42;:::i;:::-;2011:22;;;2006:2;1991:18;;1984:50;2083:13;;2105:22;;;2181:15;;;;-1:-1:-1;2143:15:25;;;;2214:1;2224:185;2238:6;2235:1;2232:13;2224:185;;;2313:13;;2306:21;2299:29;2287:42;;2384:15;;;;2349:12;;;;2260:1;2253:9;2224:185;;;-1:-1:-1;2426:3:25;;1429:1006;-1:-1:-1;;;;;;;;1429:1006:25:o;2440:250::-;2525:1;2535:113;2549:6;2546:1;2543:13;2535:113;;;2625:11;;;2619:18;2606:11;;;2599:39;2571:2;2564:10;2535:113;;;-1:-1:-1;;2682:1:25;2664:16;;2657:27;2440:250::o;2695:271::-;2737:3;2775:5;2769:12;2802:6;2797:3;2790:19;2818:76;2887:6;2880:4;2875:3;2871:14;2864:4;2857:5;2853:16;2818:76;:::i;:::-;2948:2;2927:15;-1:-1:-1;;2923:29:25;2914:39;;;;2955:4;2910:50;;2695:271;-1:-1:-1;;2695:271:25:o;2971:220::-;3120:2;3109:9;3102:21;3083:4;3140:45;3181:2;3170:9;3166:18;3158:6;3140:45;:::i;3378:180::-;3437:6;3490:2;3478:9;3469:7;3465:23;3461:32;3458:52;;;3506:1;3503;3496:12;3458:52;-1:-1:-1;3529:23:25;;3378:180;-1:-1:-1;3378:180:25:o;3771:315::-;3839:6;3847;3900:2;3888:9;3879:7;3875:23;3871:32;3868:52;;;3916:1;3913;3906:12;3868:52;3955:9;3942:23;3974:31;3999:5;3974:31;:::i;:::-;4024:5;4076:2;4061:18;;;;4048:32;;-1:-1:-1;;;3771:315:25:o;4091:127::-;4152:10;4147:3;4143:20;4140:1;4133:31;4183:4;4180:1;4173:15;4207:4;4204:1;4197:15;4223:275;4294:2;4288:9;4359:2;4340:13;;-1:-1:-1;;4336:27:25;4324:40;;-1:-1:-1;;;;;4379:34:25;;4415:22;;;4376:62;4373:88;;;4441:18;;:::i;:::-;4477:2;4470:22;4223:275;;-1:-1:-1;4223:275:25:o;4503:181::-;4561:4;-1:-1:-1;;;;;4586:6:25;4583:30;4580:56;;;4616:18;;:::i;:::-;-1:-1:-1;4661:1:25;4657:14;4673:4;4653:25;;4503:181::o;4689:156::-;4755:20;;4815:4;4804:16;;4794:27;;4784:55;;4835:1;4832;4825:12;4784:55;4689:156;;;:::o;4850:662::-;4902:5;4955:3;4948:4;4940:6;4936:17;4932:27;4922:55;;4973:1;4970;4963:12;4922:55;5009:6;4996:20;5035:4;5059:58;5075:41;5113:2;5075:41;:::i;:::-;5059:58;:::i;:::-;5151:15;;;5237:1;5233:10;;;;5221:23;;5217:32;;;5182:12;;;;5261:15;;;5258:35;;;5289:1;5286;5279:12;5258:35;5325:2;5317:6;5313:15;5337:146;5353:6;5348:3;5345:15;5337:146;;;5419:21;5436:3;5419:21;:::i;:::-;5407:34;;5461:12;;;;5370;;5337:146;;;-1:-1:-1;5501:5:25;4850:662;-1:-1:-1;;;;;;4850:662:25:o;5517:881::-;5628:6;5636;5644;5652;5705:2;5693:9;5684:7;5680:23;5676:32;5673:52;;;5721:1;5718;5711:12;5673:52;5757:9;5744:23;5734:33;;5818:2;5807:9;5803:18;5790:32;-1:-1:-1;;;;;5882:2:25;5874:6;5871:14;5868:34;;;5898:1;5895;5888:12;5868:34;5921:59;5972:7;5963:6;5952:9;5948:22;5921:59;:::i;:::-;5911:69;;6033:2;6022:9;6018:18;6005:32;5989:48;;6062:2;6052:8;6049:16;6046:36;;;6078:1;6075;6068:12;6046:36;6116:8;6105:9;6101:24;6091:34;;6163:7;6156:4;6152:2;6148:13;6144:27;6134:55;;6185:1;6182;6175:12;6134:55;6225:2;6212:16;6251:2;6243:6;6240:14;6237:34;;;6267:1;6264;6257:12;6237:34;6312:7;6307:2;6298:6;6294:2;6290:15;6286:24;6283:37;6280:57;;;6333:1;6330;6323:12;6280:57;5517:881;;;;-1:-1:-1;;6364:2:25;6356:11;;-1:-1:-1;;;5517:881:25:o;6641:317::-;6707:6;6715;6768:2;6756:9;6747:7;6743:23;6739:32;6736:52;;;6784:1;6781;6774:12;6736:52;6823:9;6810:23;6842:31;6867:5;6842:31;:::i;:::-;6892:5;-1:-1:-1;6916:36:25;6948:2;6933:18;;6916:36;:::i;:::-;6906:46;;6641:317;;;;;:::o;7152:904::-;7214:5;7267:3;7260:4;7252:6;7248:17;7244:27;7234:55;;7285:1;7282;7275:12;7234:55;7321:6;7308:20;7347:4;7371:58;7387:41;7425:2;7387:41;:::i;7371:58::-;7463:15;;;7549:1;7545:10;;;;7533:23;;7529:32;;;7494:12;;;;7573:15;;;7570:35;;;7601:1;7598;7591:12;7570:35;7637:2;7629:6;7625:15;7649:378;7665:6;7660:3;7657:15;7649:378;;;7751:3;7738:17;-1:-1:-1;;;;;7774:11:25;7771:35;7768:125;;;7847:1;7876:2;7872;7865:14;7768:125;7918:66;7980:3;7975:2;7961:11;7953:6;7949:24;7945:33;7918:66;:::i;:::-;7906:79;;-1:-1:-1;8005:12:25;;;;7682;;7649:378;;8061:374;8131:8;8141:6;8195:3;8188:4;8180:6;8176:17;8172:27;8162:55;;8213:1;8210;8203:12;8162:55;-1:-1:-1;8236:20:25;;-1:-1:-1;;;;;8268:30:25;;8265:50;;;8311:1;8308;8301:12;8265:50;8348:4;8340:6;8336:17;8324:29;;8408:3;8401:4;8391:6;8388:1;8384:14;8376:6;8372:27;8368:38;8365:47;8362:67;;;8425:1;8422;8415:12;8362:67;8061:374;;;;;:::o;8440:1571::-;8635:6;8643;8651;8659;8667;8720:3;8708:9;8699:7;8695:23;8691:33;8688:53;;;8737:1;8734;8727:12;8688:53;8760:27;8777:9;8760:27;:::i;:::-;8750:37;;8806:2;8859;8848:9;8844:18;8831:32;-1:-1:-1;;;;;8923:2:25;8915:6;8912:14;8909:34;;;8939:1;8936;8929:12;8909:34;8977:6;8966:9;8962:22;8952:32;;9022:7;9015:4;9011:2;9007:13;9003:27;8993:55;;9044:1;9041;9034:12;8993:55;9080:2;9067:16;9103:58;9119:41;9157:2;9119:41;:::i;9103:58::-;9195:15;;;9277:1;9273:10;;;;9265:19;;9261:28;;;9226:12;;;;9301:19;;;9298:39;;;9333:1;9330;9323:12;9298:39;9357:11;;;;9377:142;9393:6;9388:3;9385:15;9377:142;;;9459:17;;9447:30;;9410:12;;;;9497;;;;9377:142;;;9538:5;-1:-1:-1;;;9596:2:25;9581:18;;9568:32;;-1:-1:-1;9612:16:25;;;9609:36;;;9641:1;9638;9631:12;9609:36;9664:71;9727:7;9716:8;9705:9;9701:24;9664:71;:::i;:::-;9654:81;;9788:2;9777:9;9773:18;9760:32;9744:48;;9817:2;9807:8;9804:16;9801:36;;;9833:1;9830;9823:12;9801:36;;;9872:79;9943:7;9932:8;9921:9;9917:24;9872:79;:::i;:::-;8440:1571;;;;-1:-1:-1;8440:1571:25;;-1:-1:-1;9970:8:25;;9846:105;8440:1571;-1:-1:-1;;;8440:1571:25:o;10016:442::-;10100:6;10108;10161:2;10149:9;10140:7;10136:23;10132:32;10129:52;;;10177:1;10174;10167:12;10129:52;10217:9;10204:23;-1:-1:-1;;;;;10242:6:25;10239:30;10236:50;;;10282:1;10279;10272:12;10236:50;10321:77;10390:7;10381:6;10370:9;10366:22;10321:77;:::i;:::-;10417:8;;10295:103;;-1:-1:-1;10016:442:25;-1:-1:-1;;;;10016:442:25:o;10463:456::-;10540:6;10548;10556;10609:2;10597:9;10588:7;10584:23;10580:32;10577:52;;;10625:1;10622;10615:12;10577:52;10664:9;10651:23;10683:31;10708:5;10683:31;:::i;:::-;10733:5;-1:-1:-1;10790:2:25;10775:18;;10762:32;10803:33;10762:32;10803:33;:::i;:::-;10463:456;;10855:7;;-1:-1:-1;;;10909:2:25;10894:18;;;;10881:32;;10463:456::o;10924:182::-;10981:6;11034:2;11022:9;11013:7;11009:23;11005:32;11002:52;;;11050:1;11047;11040:12;11002:52;11073:27;11090:9;11073:27;:::i;11347:547::-;11447:6;11455;11463;11516:2;11504:9;11495:7;11491:23;11487:32;11484:52;;;11532:1;11529;11522:12;11484:52;11571:9;11558:23;11590:31;11615:5;11590:31;:::i;:::-;11640:5;-1:-1:-1;11692:2:25;11677:18;;11664:32;;-1:-1:-1;11747:2:25;11732:18;;11719:32;-1:-1:-1;;;;;11763:30:25;;11760:50;;;11806:1;11803;11796:12;11760:50;11829:59;11880:7;11871:6;11860:9;11856:22;11829:59;:::i;:::-;11819:69;;;11347:547;;;;;:::o;12384:118::-;12470:5;12463:13;12456:21;12449:5;12446:32;12436:60;;12492:1;12489;12482:12;12507:241;12563:6;12616:2;12604:9;12595:7;12591:23;12587:32;12584:52;;;12632:1;12629;12622:12;12584:52;12671:9;12658:23;12690:28;12712:5;12690:28;:::i;12753:187::-;12802:4;-1:-1:-1;;;;;12827:6:25;12824:30;12821:56;;;12857:18;;:::i;:::-;-1:-1:-1;12923:2:25;12902:15;-1:-1:-1;;12898:29:25;12929:4;12894:40;;12753:187::o;12945:338::-;13010:5;13039:53;13055:36;13084:6;13055:36;:::i;13039:53::-;13030:62;;13115:6;13108:5;13101:21;13155:3;13146:6;13141:3;13137:16;13134:25;13131:45;;;13172:1;13169;13162:12;13131:45;13221:6;13216:3;13209:4;13202:5;13198:16;13185:43;13275:1;13268:4;13259:6;13252:5;13248:18;13244:29;13237:40;12945:338;;;;;:::o;13288:222::-;13331:5;13384:3;13377:4;13369:6;13365:17;13361:27;13351:55;;13402:1;13399;13392:12;13351:55;13424:80;13500:3;13491:6;13478:20;13471:4;13463:6;13459:17;13424:80;:::i;13515:1024::-;13629:6;13637;13645;13653;13661;13669;13722:3;13710:9;13701:7;13697:23;13693:33;13690:53;;;13739:1;13736;13729:12;13690:53;13778:9;13765:23;13797:31;13822:5;13797:31;:::i;:::-;13847:5;-1:-1:-1;13904:2:25;13889:18;;13876:32;13917:33;13876:32;13917:33;:::i;:::-;13969:7;-1:-1:-1;14028:2:25;14013:18;;14000:32;14041:33;14000:32;14041:33;:::i;:::-;14093:7;-1:-1:-1;14152:2:25;14137:18;;14124:32;14165:33;14124:32;14165:33;:::i;:::-;14217:7;-1:-1:-1;14275:3:25;14260:19;;14247:33;-1:-1:-1;;;;;14292:30:25;;14289:50;;;14335:1;14332;14325:12;14289:50;14358;14400:7;14391:6;14380:9;14376:22;14358:50;:::i;:::-;14348:60;;;14460:3;14449:9;14445:19;14432:33;14474;14499:7;14474:33;:::i;:::-;14526:7;14516:17;;;13515:1024;;;;;;;;:::o;14544:543::-;14632:6;14640;14693:2;14681:9;14672:7;14668:23;14664:32;14661:52;;;14709:1;14706;14699:12;14661:52;14749:9;14736:23;-1:-1:-1;;;;;14819:2:25;14811:6;14808:14;14805:34;;;14835:1;14832;14825:12;14805:34;14858:50;14900:7;14891:6;14880:9;14876:22;14858:50;:::i;:::-;14848:60;;14961:2;14950:9;14946:18;14933:32;14917:48;;14990:2;14980:8;14977:16;14974:36;;;15006:1;15003;14996:12;14974:36;;15029:52;15073:7;15062:8;15051:9;15047:24;15029:52;:::i;:::-;15019:62;;;14544:543;;;;;:::o;15092:577::-;15185:6;15193;15201;15254:2;15242:9;15233:7;15229:23;15225:32;15222:52;;;15270:1;15267;15260:12;15222:52;15309:9;15296:23;15328:31;15353:5;15328:31;:::i;:::-;15378:5;-1:-1:-1;15434:2:25;15419:18;;15406:32;-1:-1:-1;;;;;15450:30:25;;15447:50;;;15493:1;15490;15483:12;15447:50;15532:77;15601:7;15592:6;15581:9;15577:22;15532:77;:::i;:::-;15092:577;;15628:8;;-1:-1:-1;15506:103:25;;-1:-1:-1;;;;15092:577:25:o;15674:382::-;15739:6;15747;15800:2;15788:9;15779:7;15775:23;15771:32;15768:52;;;15816:1;15813;15806:12;15768:52;15855:9;15842:23;15874:31;15899:5;15874:31;:::i;:::-;15924:5;-1:-1:-1;15981:2:25;15966:18;;15953:32;15994:30;15953:32;15994:30;:::i;:::-;16043:7;16033:17;;;15674:382;;;;;:::o;16061:529::-;16143:6;16151;16159;16167;16220:3;16208:9;16199:7;16195:23;16191:33;16188:53;;;16237:1;16234;16227:12;16188:53;16276:9;16263:23;16295:31;16320:5;16295:31;:::i;:::-;16345:5;-1:-1:-1;16369:36:25;16401:2;16386:18;;16369:36;:::i;:::-;16359:46;;16457:2;16446:9;16442:18;16429:32;16470:33;16495:7;16470:33;:::i;:::-;16522:7;-1:-1:-1;16548:36:25;16580:2;16565:18;;16548:36;:::i;:::-;16538:46;;16061:529;;;;;;;:::o;16595:795::-;16690:6;16698;16706;16714;16767:3;16755:9;16746:7;16742:23;16738:33;16735:53;;;16784:1;16781;16774:12;16735:53;16823:9;16810:23;16842:31;16867:5;16842:31;:::i;:::-;16892:5;-1:-1:-1;16949:2:25;16934:18;;16921:32;16962:33;16921:32;16962:33;:::i;:::-;17014:7;-1:-1:-1;17068:2:25;17053:18;;17040:32;;-1:-1:-1;17123:2:25;17108:18;;17095:32;-1:-1:-1;;;;;17139:30:25;;17136:50;;;17182:1;17179;17172:12;17136:50;17205:22;;17258:4;17250:13;;17246:27;-1:-1:-1;17236:55:25;;17287:1;17284;17277:12;17236:55;17310:74;17376:7;17371:2;17358:16;17353:2;17349;17345:11;17310:74;:::i;:::-;17300:84;;;16595:795;;;;;;;:::o;17632:388::-;17700:6;17708;17761:2;17749:9;17740:7;17736:23;17732:32;17729:52;;;17777:1;17774;17767:12;17729:52;17816:9;17803:23;17835:31;17860:5;17835:31;:::i;:::-;17885:5;-1:-1:-1;17942:2:25;17927:18;;17914:32;17955:33;17914:32;17955:33;:::i;18025:127::-;18086:10;18081:3;18077:20;18074:1;18067:31;18117:4;18114:1;18107:15;18141:4;18138:1;18131:15;18443:245;18510:6;18563:2;18551:9;18542:7;18538:23;18534:32;18531:52;;;18579:1;18576;18569:12;18531:52;18611:9;18605:16;18630:28;18652:5;18630:28;:::i;18693:127::-;18754:10;18749:3;18745:20;18742:1;18735:31;18785:4;18782:1;18775:15;18809:4;18806:1;18799:15;18825:175;18862:3;18906:4;18899:5;18895:16;18935:4;18926:7;18923:17;18920:43;;18943:18;;:::i;:::-;18992:1;18979:15;;18825:175;-1:-1:-1;;18825:175:25:o;19005:135::-;19044:3;19065:17;;;19062:43;;19085:18;;:::i;:::-;-1:-1:-1;19132:1:25;19121:13;;19005:135::o;19145:380::-;19224:1;19220:12;;;;19267;;;19288:61;;19342:4;19334:6;19330:17;19320:27;;19288:61;19395:2;19387:6;19384:14;19364:18;19361:38;19358:161;;19441:10;19436:3;19432:20;19429:1;19422:31;19476:4;19473:1;19466:15;19504:4;19501:1;19494:15;20672:1099;-1:-1:-1;;;;;21009:32:25;;20991:51;;21061:2;21079:18;;;21072:34;;;20978:3;21137:2;21122:18;;21115:31;;;21195:13;;20963:19;;;21217:22;;;20930:4;;21297:15;;;;21029:3;21255:19;;;20930:4;21340:180;21354:6;21351:1;21348:13;21340:180;;;21419:13;;21434:4;21415:24;21403:37;;21495:15;;;;21460:12;;;;21376:1;21369:9;21340:180;;;21344:3;;21565:9;21560:3;21556:19;21551:2;21540:9;21536:18;21529:47;21597:6;21592:3;21585:19;21648:6;21640;21635:2;21630:3;21626:12;21613:42;21698:1;21675:16;;;21671:25;;21664:36;21755:2;21734:15;;;-1:-1:-1;;21730:29:25;21721:39;;;21717:48;;;;20672:1099;-1:-1:-1;;;;;;;20672:1099:25:o;21776:251::-;21846:6;21899:2;21887:9;21878:7;21874:23;21870:32;21867:52;;;21915:1;21912;21905:12;21867:52;21947:9;21941:16;21966:31;21991:5;21966:31;:::i;22032:521::-;22109:4;22115:6;22175:11;22162:25;22269:2;22265:7;22254:8;22238:14;22234:29;22230:43;22210:18;22206:68;22196:96;;22288:1;22285;22278:12;22196:96;22315:33;;22367:20;;;-1:-1:-1;;;;;;22399:30:25;;22396:50;;;22442:1;22439;22432:12;22396:50;22475:4;22463:17;;-1:-1:-1;22506:14:25;22502:27;;;22492:38;;22489:58;;;22543:1;22540;22533:12;22558:125;22623:9;;;22644:10;;;22641:36;;;22657:18;;:::i;22688:184::-;22758:6;22811:2;22799:9;22790:7;22786:23;22782:32;22779:52;;;22827:1;22824;22817:12;22779:52;-1:-1:-1;22850:16:25;;22688:184;-1:-1:-1;22688:184:25:o;22877:178::-;22914:3;22958:4;22951:5;22947:16;22982:7;22972:41;;22993:18;;:::i;:::-;-1:-1:-1;;23029:20:25;;22877:178;-1:-1:-1;;22877:178:25:o;23060:530::-;23227:3;23258;23305:6;23227:3;23339:224;23353:6;23350:1;23347:13;23339:224;;;23446:4;23420:24;23437:6;23420:24;:::i;:::-;23416:35;23402:50;;23475:4;23501:14;;;;23538:15;;;;;23375:1;23368:9;23339:224;;;-1:-1:-1;23579:5:25;;23060:530;-1:-1:-1;;;;;23060:530:25:o;23595:128::-;23662:9;;;23683:11;;;23680:37;;;23697:18;;:::i;24007:409::-;24209:2;24191:21;;;24248:2;24228:18;;;24221:30;24287:34;24282:2;24267:18;;24260:62;-1:-1:-1;;;24353:2:25;24338:18;;24331:43;24406:3;24391:19;;24007:409::o;24421:347::-;24623:2;24605:21;;;24662:2;24642:18;;;24635:30;24701:25;24696:2;24681:18;;24674:53;24759:2;24744:18;;24421:347::o;25184:217::-;25224:1;25250;25240:132;;25294:10;25289:3;25285:20;25282:1;25275:31;25329:4;25326:1;25319:15;25357:4;25354:1;25347:15;25240:132;-1:-1:-1;25386:9:25;;25184:217::o;26654:545::-;26756:2;26751:3;26748:11;26745:448;;;26792:1;26817:5;26813:2;26806:17;26862:4;26858:2;26848:19;26932:2;26920:10;26916:19;26913:1;26909:27;26903:4;26899:38;26968:4;26956:10;26953:20;26950:47;;;-1:-1:-1;26991:4:25;26950:47;27046:2;27041:3;27037:12;27034:1;27030:20;27024:4;27020:31;27010:41;;27101:82;27119:2;27112:5;27109:13;27101:82;;;27164:17;;;27145:1;27134:13;27101:82;;27375:1352;27501:3;27495:10;-1:-1:-1;;;;;27520:6:25;27517:30;27514:56;;;27550:18;;:::i;:::-;27579:97;27669:6;27629:38;27661:4;27655:11;27629:38;:::i;:::-;27623:4;27579:97;:::i;:::-;27731:4;;27795:2;27784:14;;27812:1;27807:663;;;;28514:1;28531:6;28528:89;;;-1:-1:-1;28583:19:25;;;28577:26;28528:89;-1:-1:-1;;27332:1:25;27328:11;;;27324:24;27320:29;27310:40;27356:1;27352:11;;;27307:57;28630:81;;27777:944;;27807:663;26601:1;26594:14;;;26638:4;26625:18;;-1:-1:-1;;27843:20:25;;;27961:236;27975:7;27972:1;27969:14;27961:236;;;28064:19;;;28058:26;28043:42;;28156:27;;;;28124:1;28112:14;;;;27991:19;;27961:236;;;27965:3;28225:6;28216:7;28213:19;28210:201;;;28286:19;;;28280:26;-1:-1:-1;;28369:1:25;28365:14;;;28381:3;28361:24;28357:37;28353:42;28338:58;28323:74;;28210:201;-1:-1:-1;;;;;28457:1:25;28441:14;;;28437:22;28424:36;;-1:-1:-1;27375:1352:25:o;28732:1421::-;29000:3;29029:1;29062:6;29056:13;29092:36;29118:9;29092:36;:::i;:::-;29147:1;29164:18;;;29191:133;;;;29338:1;29333:356;;;;29157:532;;29191:133;-1:-1:-1;;29224:24:25;;29212:37;;29297:14;;29290:22;29278:35;;29269:45;;;-1:-1:-1;29191:133:25;;29333:356;29364:6;29361:1;29354:17;29394:4;29439:2;29436:1;29426:16;29464:1;29478:165;29492:6;29489:1;29486:13;29478:165;;;29570:14;;29557:11;;;29550:35;29613:16;;;;29507:10;;29478:165;;;29482:3;;;29672:6;29667:3;29663:16;29656:23;;29157:532;;;;;29720:6;29714:13;29736:68;29795:8;29790:3;29783:4;29775:6;29771:17;29736:68;:::i;:::-;29869:13;;29826:18;;;29891:70;29869:13;29826:18;29938:4;29926:17;;29891:70;:::i;:::-;30025:13;;29980:20;;;30047:67;30025:13;29980:20;30094:4;30082:17;;30047:67;:::i;:::-;30130:17;;28732:1421;-1:-1:-1;;;;;;28732:1421:25:o;30158:289::-;30289:3;30327:6;30321:13;30343:66;30402:6;30397:3;30390:4;30382:6;30378:17;30343:66;:::i;:::-;30425:16;;;;;30158:289;-1:-1:-1;;30158:289:25:o;30909:649::-;30989:6;31042:2;31030:9;31021:7;31017:23;31013:32;31010:52;;;31058:1;31055;31048:12;31010:52;31091:9;31085:16;-1:-1:-1;;;;;31116:6:25;31113:30;31110:50;;;31156:1;31153;31146:12;31110:50;31179:22;;31232:4;31224:13;;31220:27;-1:-1:-1;31210:55:25;;31261:1;31258;31251:12;31210:55;31290:2;31284:9;31315:49;31331:32;31360:2;31331:32;:::i;31315:49::-;31387:2;31380:5;31373:17;31427:7;31422:2;31417;31413;31409:11;31405:20;31402:33;31399:53;;;31448:1;31445;31438:12;31399:53;31461:67;31525:2;31520;31513:5;31509:14;31504:2;31500;31496:11;31461:67;:::i;:::-;31547:5;30909:649;-1:-1:-1;;;;;30909:649:25:o;31563:168::-;31636:9;;;31667;;31684:15;;;31678:22;;31664:37;31654:71;;31705:18;;:::i;32143:550::-;32357:13;;32300:3;;32331;;32410:4;32437:15;;;32300:3;32480:186;32494:6;32491:1;32488:13;32480:186;;;32561:13;;32576:4;32557:24;32543:39;;32604:14;;;;32641:15;;;;32516:1;32509:9;32480:186;;;-1:-1:-1;32682:5:25;;32143:550;-1:-1:-1;;;;;;32143:550:25:o;32698:401::-;32900:2;32882:21;;;32939:2;32919:18;;;32912:30;32978:34;32973:2;32958:18;;32951:62;-1:-1:-1;;;33044:2:25;33029:18;;33022:35;33089:3;33074:19;;32698:401::o;34224:414::-;34426:2;34408:21;;;34465:2;34445:18;;;34438:30;34504:34;34499:2;34484:18;;34477:62;-1:-1:-1;;;34570:2:25;34555:18;;34548:48;34628:3;34613:19;;34224:414::o;34643:496::-;34822:3;34860:6;34854:13;34876:66;34935:6;34930:3;34923:4;34915:6;34911:17;34876:66;:::i;:::-;35005:13;;34964:16;;;;35027:70;35005:13;34964:16;35074:4;35062:17;;35027:70;:::i;:::-;35113:20;;34643:496;-1:-1:-1;;;;34643:496:25:o;35559:489::-;-1:-1:-1;;;;;35828:15:25;;;35810:34;;35880:15;;35875:2;35860:18;;35853:43;35927:2;35912:18;;35905:34;;;35975:3;35970:2;35955:18;;35948:31;;;35753:4;;35996:46;;36022:19;;36014:6;35996:46;:::i;:::-;35988:54;35559:489;-1:-1:-1;;;;;;35559:489:25:o;36053:249::-;36122:6;36175:2;36163:9;36154:7;36150:23;36146:32;36143:52;;;36191:1;36188;36181:12;36143:52;36223:9;36217:16;36242:30;36266:5;36242:30;:::i"},"methodIdentifiers":{"DAI_TOKEN()":"e606df87","addOwner(address)":"7065cb48","addSigner(address)":"eb12d61e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","burnCards(uint8[])":"20965a5f","changeMaxPacksToOpenAtOnce(uint8)":"241a08fe","changePackPrice(uint256)":"e1883c6e","changeRequireOfferValidationInMint(bool)":"f98fd283","changeRequireOfferValidationInTransfer(bool)":"68cc5bc1","changeRequireOpenPackSignerValidation(bool)":"dbfc05cf","emergencyWithdraw(uint256)":"5312ea8e","exchangeCardsOffer(address,uint8,address,uint8)":"ad1684fa","finishAlbum()":"9038f414","gammaOffersContract()":"d322b563","gammaPacksContract()":"2f9e026a","gammaTicketsContract()":"14cca36a","getApproved(uint256)":"081812fc","getBurnedCardQttyByUser(address)":"7cf86b72","getCardQuantityByUser(address,uint8)":"1585cc4e","getCardsByUser(address)":"0435dcaf","getLotteryPrize()":"d780c477","hasCard(address,uint8)":"886eb60f","hasCardByOffer(address,uint8)":"8bf670c8","init(address,address,address,address,string,address)":"7de99bd9","isApprovedForAll(address,address)":"e985e9c5","isOwner(address)":"2f54bf6e","isSigner(address)":"7df73e27","mintCard(uint8)":"bf400a6a","name()":"06fdde03","openPack(uint256,uint8[],bytes)":"267b841d","openPacks(uint8,uint256[],uint8[][],bytes[])":"203335f6","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","removeCardByOffer(address,uint8)":"7155a3ac","removeOwner(address)":"173825d9","removeSigner(address)":"0e316ab7","renounceOwnership()":"715018a6","restoreCardByOffer(address,uint8)":"155e2f92","s_baseUri()":"e8a7e31d","s_burnedCards(address)":"07b2e246","s_cards(uint256)":"4c03cd0b","s_cardsByUser(address,uint8)":"9ff26efd","s_cardsInventory(uint256)":"88e0ef80","s_lotteryPrizePercentage()":"6d0af178","s_mainAlbumPrize()":"21a7c6b0","s_mainUri()":"79e8dadc","s_maxPacksToOpenAtOnce()":"ab535160","s_packPrice()":"656bd0ad","s_prizesBalance()":"d7093f40","s_requireOfferValidationInMint()":"147baac7","s_requireOfferValidationInTransfer()":"9a5613ad","s_requireOpenPackSignerValidation()":"e4ae0b9b","s_secondaryAlbumPrize()":"b3526185","s_secondaryUri()":"4039327e","s_tokenIdCounter()":"82d8a118","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setGammaOffersContract(address)":"128916dc","setGammaPacksContract(address)":"cafaa473","setGammaTicketsContract(address)":"ddb975e8","setLotteryPrizePercentage(uint8)":"7ce65f7b","setMainAlbumPrize(uint256)":"7232d7d4","setPrizesBalance(uint256)":"5e31ce48","setSecondaryAlbumPrize(uint256)":"ba6c0fbc","setUris(string,string)":"9c7f707f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","testAddCards(address)":"a419811d","testOpenPack(address,uint256,uint8[])":"30f5cc58","tokenURI(uint256)":"c87b56dd","transferCard(address,uint8)":"2ca699e7","transferCards(address,uint8[])":"a1af8ad4","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","verifyPackSigner(uint256,uint8[],bytes)":"1306952c"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CannotRemoveUserOffers\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CardLimitExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IncorrectPrizeAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientCards\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientFunds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCardNumber\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTransfer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MustCompleteAlbum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotYourPack\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyGammaPacksContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOffersContract\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyOwners\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserDoesNotHaveCardOrAlbum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WrongPacksQuantity\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"albumClass\",\"type\":\"uint8\"}],\"name\":\"AlbumCompleted\",\"type\":\"event\"},{\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"cardTokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"albumTokenId\",\"type\":\"uint256\"}],\"name\":\"CardPasted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"CardTransfered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8[]\",\"name\":\"cardsNumber\",\"type\":\"uint8[]\"}],\"name\":\"CardsBurned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8[]\",\"name\":\"cardNumber\",\"type\":\"uint8[]\"}],\"name\":\"CardsTransfered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EmergencyWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaOffersContract\",\"type\":\"address\"}],\"name\":\"NewGammaOffersContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaPacksContract\",\"type\":\"address\"}],\"name\":\"NewGammaPacksContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGammaTicketContract\",\"type\":\"address\"}],\"name\":\"NewGammaTicketsContract\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newSigner\",\"type\":\"address\"}],\"name\":\"NewSigner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newMainUri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"newSecondaryUri\",\"type\":\"string\"}],\"name\":\"NewUris\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumberFrom\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"cardNumberTo\",\"type\":\"uint8\"}],\"name\":\"OfferCardsExchanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"player\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"}],\"name\":\"PackOpened\",\"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\":\"DAI_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newSigner\",\"type\":\"address\"}],\"name\":\"addSigner\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8[]\",\"name\":\"cardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"burnCards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_maxPacksToOpenAtOnce\",\"type\":\"uint8\"}],\"name\":\"changeMaxPacksToOpenAtOnce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPackPrice\",\"type\":\"uint256\"}],\"name\":\"changePackPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"required\",\"type\":\"bool\"}],\"name\":\"changeRequireOfferValidationInMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"required\",\"type\":\"bool\"}],\"name\":\"changeRequireOfferValidationInTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"required\",\"type\":\"bool\"}],\"name\":\"changeRequireOpenPackSignerValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"emergencyWithdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberFrom\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumberTo\",\"type\":\"uint8\"}],\"name\":\"exchangeCardsOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"finishAlbum\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaOffersContract\",\"outputs\":[{\"internalType\":\"contract IgammaOffersContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaPacksContract\",\"outputs\":[{\"internalType\":\"contract IgammaPacksContract\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gammaTicketsContract\",\"outputs\":[{\"internalType\":\"contract IgammaTicketsContract\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getBurnedCardQttyByUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNum\",\"type\":\"uint8\"}],\"name\":\"getCardQuantityByUser\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getCardsByUser\",\"outputs\":[{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"},{\"internalType\":\"uint8[]\",\"name\":\"\",\"type\":\"uint8[]\"},{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLotteryPrize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNum\",\"type\":\"uint8\"}],\"name\":\"hasCard\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"has\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"hasCardByOffer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"has\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_daiTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaPacksContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaOffersContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gammaTicketsContract\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_baseUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"user\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isSigner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"cardNum\",\"type\":\"uint8\"}],\"name\":\"mintCard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"packsQuantity\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"packsNumber\",\"type\":\"uint256[]\"},{\"internalType\":\"uint8[][]\",\"name\":\"packsData\",\"type\":\"uint8[][]\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"openPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"removeCardByOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ownerToRemove\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signerToRemove\",\"type\":\"address\"}],\"name\":\"removeSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"restoreCardByOffer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_baseUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"s_burnedCards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"s_cards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pasted\",\"type\":\"bool\"},{\"internalType\":\"uint8\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"completion\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"s_cardsByUser\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"amount\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cardNumber\",\"type\":\"uint256\"}],\"name\":\"s_cardsInventory\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_lotteryPrizePercentage\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_mainAlbumPrize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_mainUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_maxPacksToOpenAtOnce\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_packPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_prizesBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requireOfferValidationInMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requireOfferValidationInTransfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_requireOpenPackSignerValidation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_secondaryAlbumPrize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_secondaryUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"s_tokenIdCounter\",\"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\":\"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\":\"_gammaOffersContract\",\"type\":\"address\"}],\"name\":\"setGammaOffersContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaPacksContract\",\"type\":\"address\"}],\"name\":\"setGammaPacksContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gammaTicketsContract\",\"type\":\"address\"}],\"name\":\"setGammaTicketsContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"amount\",\"type\":\"uint8\"}],\"name\":\"setLotteryPrizePercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setMainAlbumPrize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setPrizesBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setSecondaryAlbumPrize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"newMainUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"newSecondaryUri\",\"type\":\"string\"}],\"name\":\"setUris\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"testAddCards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"}],\"name\":\"testOpenPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cardNumber\",\"type\":\"uint8\"}],\"name\":\"transferCard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8[]\",\"name\":\"cardNumbers\",\"type\":\"uint8[]\"}],\"name\":\"transferCards\",\"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\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyPackSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"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}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCards.v5.sol\":\"NofGammaCardsV5\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCards.v5.sol\":{\"keccak256\":\"0x4fead84374b6d720cdc8b896f202ccc6da058c3853b5ded2eb0cf2fd5d2e9d34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c7a2968d09d54d32f3268efbfb20f29bea69c976da65720d45c9d3a8686b8f7\",\"dweb:/ipfs/QmeVE59X3WL4XtDT13zgeVCJczF2idAWZQTkDKJBw1a8aH\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]},\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]},\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":7,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"_owner","offset":0,"slot":"7","type":"t_address"},{"astId":3585,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"gammaPacksContract","offset":0,"slot":"8","type":"t_contract(IgammaPacksContract)3525"},{"astId":3588,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"gammaOffersContract","offset":0,"slot":"9","type":"t_contract(IgammaOffersContract)3565"},{"astId":3591,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"gammaTicketsContract","offset":0,"slot":"10","type":"t_contract(IgammaTicketsContract)3571"},{"astId":3594,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"ownersData","offset":0,"slot":"11","type":"t_struct(Data)5718_storage"},{"astId":3597,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"signersData","offset":0,"slot":"13","type":"t_struct(Data)5718_storage"},{"astId":3600,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_maxPacksToOpenAtOnce","offset":0,"slot":"15","type":"t_uint8"},{"astId":3603,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_lotteryPrizePercentage","offset":1,"slot":"15","type":"t_uint8"},{"astId":3605,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"DAI_TOKEN","offset":2,"slot":"15","type":"t_address"},{"astId":3607,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_tokenIdCounter","offset":0,"slot":"16","type":"t_uint256"},{"astId":3610,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_packPrice","offset":0,"slot":"17","type":"t_uint256"},{"astId":3613,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_prizesBalance","offset":0,"slot":"18","type":"t_uint256"},{"astId":3616,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_mainAlbumPrize","offset":0,"slot":"19","type":"t_uint256"},{"astId":3619,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_secondaryAlbumPrize","offset":0,"slot":"20","type":"t_uint256"},{"astId":3621,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_mainUri","offset":0,"slot":"21","type":"t_string_storage"},{"astId":3623,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_secondaryUri","offset":0,"slot":"22","type":"t_string_storage"},{"astId":3625,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_baseUri","offset":0,"slot":"23","type":"t_string_storage"},{"astId":3627,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_requireOpenPackSignerValidation","offset":0,"slot":"24","type":"t_bool"},{"astId":3630,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_requireOfferValidationInMint","offset":1,"slot":"24","type":"t_bool"},{"astId":3633,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_requireOfferValidationInTransfer","offset":2,"slot":"24","type":"t_bool"},{"astId":3649,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_cards","offset":0,"slot":"25","type":"t_mapping(t_uint256,t_struct(Card)3644_storage)"},{"astId":3653,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_cardsInventory","offset":0,"slot":"26","type":"t_mapping(t_uint256,t_uint256)"},{"astId":3657,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_burnedCards","offset":0,"slot":"27","type":"t_mapping(t_address,t_uint256)"},{"astId":3663,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"s_cardsByUser","offset":0,"slot":"28","type":"t_mapping(t_address,t_mapping(t_uint8,t_uint8))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_contract(IgammaOffersContract)3565":{"encoding":"inplace","label":"contract IgammaOffersContract","numberOfBytes":"20"},"t_contract(IgammaPacksContract)3525":{"encoding":"inplace","label":"contract IgammaPacksContract","numberOfBytes":"20"},"t_contract(IgammaTicketsContract)3571":{"encoding":"inplace","label":"contract IgammaTicketsContract","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_uint8,t_uint8))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(uint8 => uint8))","numberOfBytes":"32","value":"t_mapping(t_uint8,t_uint8)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_uint256,t_struct(Card)3644_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct NofGammaCardsV5.Card)","numberOfBytes":"32","value":"t_struct(Card)3644_storage"},"t_mapping(t_uint256,t_uint256)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint8,t_uint8)":{"encoding":"mapping","key":"t_uint8","label":"mapping(uint8 => uint8)","numberOfBytes":"32","value":"t_uint8"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Card)3644_storage":{"encoding":"inplace","label":"struct NofGammaCardsV5.Card","members":[{"astId":3635,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"tokenId","offset":0,"slot":"0","type":"t_uint256"},{"astId":3637,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"number","offset":0,"slot":"1","type":"t_uint256"},{"astId":3639,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"pasted","offset":0,"slot":"2","type":"t_bool"},{"astId":3641,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"class","offset":1,"slot":"2","type":"t_uint8"},{"astId":3643,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"completion","offset":0,"slot":"3","type":"t_uint256"}],"numberOfBytes":"128"},"t_struct(Data)5718_storage":{"encoding":"inplace","label":"struct LibControlMgmt.Data","members":[{"astId":5713,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"owners","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":5717,"contract":"contracts/gamma/GammaCards.v5.sol:NofGammaCardsV5","label":"signers","offset":0,"slot":"1","type":"t_mapping(t_address,t_bool)"}],"numberOfBytes":"64"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}}}},"contracts/gamma/GammaCardsNFT.v1.sol":{"NofGammaCardsNFTV1":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_fromTokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_toTokenId","type":"uint256"}],"name":"BatchMetadataUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"MetadataUpdate","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":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"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":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","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":"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":"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":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"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"}],"evm":{"bytecode":{"functionDebugData":{"@_281":{"entryPoint":null,"id":281,"parameterSlots":2,"returnSlots":0},"@_5659":{"entryPoint":null,"id":5659,"parameterSlots":0,"returnSlots":0},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":207,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":290,"id":null,"parameterSlots":2,"returnSlots":0},"extract_byte_array_length":{"entryPoint":147,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x41":{"entryPoint":125,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:2732:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:25"},"nodeType":"YulFunctionCall","src":"66:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:25"},"nodeType":"YulFunctionCall","src":"56:31:25"},"nodeType":"YulExpressionStatement","src":"56:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:25"},"nodeType":"YulFunctionCall","src":"96:15:25"},"nodeType":"YulExpressionStatement","src":"96:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:25"},"nodeType":"YulFunctionCall","src":"120:15:25"},"nodeType":"YulExpressionStatement","src":"120:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:25"},{"body":{"nodeType":"YulBlock","src":"201:325:25","statements":[{"nodeType":"YulAssignment","src":"211:22:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"225:1:25","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"228:4:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"221:3:25"},"nodeType":"YulFunctionCall","src":"221:12:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"211:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"242:38:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"272:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"278:1:25","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"268:3:25"},"nodeType":"YulFunctionCall","src":"268:12:25"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"246:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"319:31:25","statements":[{"nodeType":"YulAssignment","src":"321:27:25","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"335:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"343:4:25","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"331:3:25"},"nodeType":"YulFunctionCall","src":"331:17:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"321:6:25"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"299:18:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"292:6:25"},"nodeType":"YulFunctionCall","src":"292:26:25"},"nodeType":"YulIf","src":"289:61:25"},{"body":{"nodeType":"YulBlock","src":"409:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"430:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"442:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"433:3:25"},"nodeType":"YulFunctionCall","src":"433:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"423:6:25"},"nodeType":"YulFunctionCall","src":"423:31:25"},"nodeType":"YulExpressionStatement","src":"423:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"474:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"477:4:25","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"467:6:25"},"nodeType":"YulFunctionCall","src":"467:15:25"},"nodeType":"YulExpressionStatement","src":"467:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"502:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"505:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"495:6:25"},"nodeType":"YulFunctionCall","src":"495:15:25"},"nodeType":"YulExpressionStatement","src":"495:15:25"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"365:18:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"388:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"396:2:25","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"385:2:25"},"nodeType":"YulFunctionCall","src":"385:14:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"362:2:25"},"nodeType":"YulFunctionCall","src":"362:38:25"},"nodeType":"YulIf","src":"359:161:25"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"181:4:25","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"190:6:25","type":""}],"src":"146:380:25"},{"body":{"nodeType":"YulBlock","src":"587:65:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"604:1:25","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"607:3:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"597:6:25"},"nodeType":"YulFunctionCall","src":"597:14:25"},"nodeType":"YulExpressionStatement","src":"597:14:25"},{"nodeType":"YulAssignment","src":"620:26:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"628:9:25"},"nodeType":"YulFunctionCall","src":"628:18:25"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:25"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"570:3:25","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"578:4:25","type":""}],"src":"531:121:25"},{"body":{"nodeType":"YulBlock","src":"738:464:25","statements":[{"body":{"nodeType":"YulBlock","src":"771:425:25","statements":[{"nodeType":"YulVariableDeclaration","src":"785:11:25","value":{"kind":"number","nodeType":"YulLiteral","src":"795:1:25","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"789:2:25","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"816:2:25"},{"name":"array","nodeType":"YulIdentifier","src":"820:5:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:25"},"nodeType":"YulFunctionCall","src":"809:17:25"},"nodeType":"YulExpressionStatement","src":"809:17:25"},{"nodeType":"YulVariableDeclaration","src":"839:31:25","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"861:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"865:4:25","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"851:9:25"},"nodeType":"YulFunctionCall","src":"851:19:25"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"843:4:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"883:57:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"906:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"916:1:25","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"923:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"935:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"919:3:25"},"nodeType":"YulFunctionCall","src":"919:19:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"912:3:25"},"nodeType":"YulFunctionCall","src":"912:27:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:25"},"nodeType":"YulFunctionCall","src":"902:38:25"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"887:11:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"977:23:25","statements":[{"nodeType":"YulAssignment","src":"979:19:25","value":{"name":"data","nodeType":"YulIdentifier","src":"994:4:25"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"979:11:25"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"959:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"971:4:25","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"956:2:25"},"nodeType":"YulFunctionCall","src":"956:20:25"},"nodeType":"YulIf","src":"953:47:25"},{"nodeType":"YulVariableDeclaration","src":"1013:41:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1027:4:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1037:1:25","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"1044:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"1049:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1040:3:25"},"nodeType":"YulFunctionCall","src":"1040:12:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1033:3:25"},"nodeType":"YulFunctionCall","src":"1033:20:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:25"},"nodeType":"YulFunctionCall","src":"1023:31:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1017:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1067:24:25","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"1080:11:25"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"1071:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1165:21:25","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1174:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1181:2:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1167:6:25"},"nodeType":"YulFunctionCall","src":"1167:17:25"},"nodeType":"YulExpressionStatement","src":"1167:17:25"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1115:5:25"},{"name":"_2","nodeType":"YulIdentifier","src":"1122:2:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1112:2:25"},"nodeType":"YulFunctionCall","src":"1112:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1126:26:25","statements":[{"nodeType":"YulAssignment","src":"1128:22:25","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"1141:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1137:3:25"},"nodeType":"YulFunctionCall","src":"1137:13:25"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"1128:5:25"}]}]},"pre":{"nodeType":"YulBlock","src":"1108:3:25","statements":[]},"src":"1104:82:25"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"754:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"759:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"751:2:25"},"nodeType":"YulFunctionCall","src":"751:11:25"},"nodeType":"YulIf","src":"748:448:25"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"710:5:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"717:3:25","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"722:10:25","type":""}],"src":"657:545:25"},{"body":{"nodeType":"YulBlock","src":"1292:81:25","statements":[{"nodeType":"YulAssignment","src":"1302:65:25","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"1317:4:25"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1335:1:25","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"1338:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1331:3:25"},"nodeType":"YulFunctionCall","src":"1331:11:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1348:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1344:3:25"},"nodeType":"YulFunctionCall","src":"1344:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"1327:3:25"},"nodeType":"YulFunctionCall","src":"1327:24:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1323:3:25"},"nodeType":"YulFunctionCall","src":"1323:29:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1313:3:25"},"nodeType":"YulFunctionCall","src":"1313:40:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1359:1:25","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"1362:3:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1355:3:25"},"nodeType":"YulFunctionCall","src":"1355:11:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1310:2:25"},"nodeType":"YulFunctionCall","src":"1310:57:25"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"1302:4:25"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"1269:4:25","type":""},{"name":"len","nodeType":"YulTypedName","src":"1275:3:25","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"1283:4:25","type":""}],"src":"1207:166:25"},{"body":{"nodeType":"YulBlock","src":"1474:1256:25","statements":[{"nodeType":"YulVariableDeclaration","src":"1484:24:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1504:3:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1498:5:25"},"nodeType":"YulFunctionCall","src":"1498:10:25"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"1488:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1551:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1553:16:25"},"nodeType":"YulFunctionCall","src":"1553:18:25"},"nodeType":"YulExpressionStatement","src":"1553:18:25"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1523:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1539:2:25","type":"","value":"64"},{"kind":"number","nodeType":"YulLiteral","src":"1543:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1535:3:25"},"nodeType":"YulFunctionCall","src":"1535:10:25"},{"kind":"number","nodeType":"YulLiteral","src":"1547:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1531:3:25"},"nodeType":"YulFunctionCall","src":"1531:18:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1520:2:25"},"nodeType":"YulFunctionCall","src":"1520:30:25"},"nodeType":"YulIf","src":"1517:56:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1626:4:25"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1664:4:25"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1658:5:25"},"nodeType":"YulFunctionCall","src":"1658:11:25"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"1632:25:25"},"nodeType":"YulFunctionCall","src":"1632:38:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"1672:6:25"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"1582:43:25"},"nodeType":"YulFunctionCall","src":"1582:97:25"},"nodeType":"YulExpressionStatement","src":"1582:97:25"},{"nodeType":"YulVariableDeclaration","src":"1688:18:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1705:1:25","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"1692:9:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1715:23:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1734:4:25","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"1719:11:25","type":""}]},{"nodeType":"YulAssignment","src":"1747:24:25","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"1760:11:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"1747:9:25"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"1817:656:25","statements":[{"nodeType":"YulVariableDeclaration","src":"1831:35:25","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1850:6:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1862:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1858:3:25"},"nodeType":"YulFunctionCall","src":"1858:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1846:3:25"},"nodeType":"YulFunctionCall","src":"1846:20:25"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"1835:7:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1879:49:25","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1923:4:25"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"1893:29:25"},"nodeType":"YulFunctionCall","src":"1893:35:25"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"1883:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1941:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1950:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"1945:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2028:172:25","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2053:6:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2071:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2076:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2067:3:25"},"nodeType":"YulFunctionCall","src":"2067:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2061:5:25"},"nodeType":"YulFunctionCall","src":"2061:26:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2046:6:25"},"nodeType":"YulFunctionCall","src":"2046:42:25"},"nodeType":"YulExpressionStatement","src":"2046:42:25"},{"nodeType":"YulAssignment","src":"2105:24:25","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2119:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"2127:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2115:3:25"},"nodeType":"YulFunctionCall","src":"2115:14:25"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2105:6:25"}]},{"nodeType":"YulAssignment","src":"2146:40:25","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2163:9:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2174:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2159:3:25"},"nodeType":"YulFunctionCall","src":"2159:27:25"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"2146:9:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1975:1:25"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"1978:7:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1972:2:25"},"nodeType":"YulFunctionCall","src":"1972:14:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1987:28:25","statements":[{"nodeType":"YulAssignment","src":"1989:24:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1998:1:25"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"2001:11:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1994:3:25"},"nodeType":"YulFunctionCall","src":"1994:19:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1989:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"1968:3:25","statements":[]},"src":"1964:236:25"},{"body":{"nodeType":"YulBlock","src":"2248:166:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2266:43:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2293:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2298:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2289:3:25"},"nodeType":"YulFunctionCall","src":"2289:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2283:5:25"},"nodeType":"YulFunctionCall","src":"2283:26:25"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"2270:9:25","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"2333:6:25"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"2345:9:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2372:1:25","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"2375:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2368:3:25"},"nodeType":"YulFunctionCall","src":"2368:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"2384:3:25","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2364:3:25"},"nodeType":"YulFunctionCall","src":"2364:24:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2394:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2390:3:25"},"nodeType":"YulFunctionCall","src":"2390:6:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"2360:3:25"},"nodeType":"YulFunctionCall","src":"2360:37:25"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2356:3:25"},"nodeType":"YulFunctionCall","src":"2356:42:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2341:3:25"},"nodeType":"YulFunctionCall","src":"2341:58:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2326:6:25"},"nodeType":"YulFunctionCall","src":"2326:74:25"},"nodeType":"YulExpressionStatement","src":"2326:74:25"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"2219:7:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"2228:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"2216:2:25"},"nodeType":"YulFunctionCall","src":"2216:19:25"},"nodeType":"YulIf","src":"2213:201:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2434:4:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2448:1:25","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"2451:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2444:3:25"},"nodeType":"YulFunctionCall","src":"2444:14:25"},{"kind":"number","nodeType":"YulLiteral","src":"2460:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2440:3:25"},"nodeType":"YulFunctionCall","src":"2440:22:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2427:6:25"},"nodeType":"YulFunctionCall","src":"2427:36:25"},"nodeType":"YulExpressionStatement","src":"2427:36:25"}]},"nodeType":"YulCase","src":"1810:663:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1815:1:25","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"2490:234:25","statements":[{"nodeType":"YulVariableDeclaration","src":"2504:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"2517:1:25","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2508:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2553:67:25","statements":[{"nodeType":"YulAssignment","src":"2571:35:25","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"2590:3:25"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"2595:9:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2586:3:25"},"nodeType":"YulFunctionCall","src":"2586:19:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2580:5:25"},"nodeType":"YulFunctionCall","src":"2580:26:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2571:5:25"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"2534:6:25"},"nodeType":"YulIf","src":"2531:89:25"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"2640:4:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2699:5:25"},{"name":"newLen","nodeType":"YulIdentifier","src":"2706:6:25"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"2646:52:25"},"nodeType":"YulFunctionCall","src":"2646:67:25"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"2633:6:25"},"nodeType":"YulFunctionCall","src":"2633:81:25"},"nodeType":"YulExpressionStatement","src":"2633:81:25"}]},"nodeType":"YulCase","src":"2482:242:25","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"1790:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"1798:2:25","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1787:2:25"},"nodeType":"YulFunctionCall","src":"1787:14:25"},"nodeType":"YulSwitch","src":"1780:944:25"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"1459:4:25","type":""},{"name":"src","nodeType":"YulTypedName","src":"1465:3:25","type":""}],"src":"1378:1352:25"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b506040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b815250816000908162000065919062000122565b50600162000074828262000122565b505050620001ee565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a857607f821691505b602082108103620000c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011d57600081815260208120601f850160051c81016020861015620000f85750805b601f850160051c820191505b81811015620001195782815560010162000104565b5050505b505050565b81516001600160401b038111156200013e576200013e6200007d565b62000156816200014f845462000093565b84620000cf565b602080601f8311600181146200018e5760008415620001755750858301515b600019600386901b1c1916600185901b17855562000119565b600085815260208120601f198616915b82811015620001bf578886015182559484019460019091019084016200019e565b5085821015620001de5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6113c380620001fe6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101e1578063b88d4fde146101f4578063c87b56dd14610207578063e985e9c51461021a57600080fd5b80636352211e146101a557806370a08231146101b857806395d89b41146101d957600080fd5b8063095ea7b3116100c8578063095ea7b31461015757806323b872dd1461016c57806342842e0e1461017f57806342966c681461019257600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610f4f565b610256565b60405190151581526020015b60405180910390f35b61011f610267565b60405161010e9190610fbc565b61013f61013a366004610fcf565b6102f9565b6040516001600160a01b03909116815260200161010e565b61016a610165366004611004565b610320565b005b61016a61017a36600461102e565b61043a565b61016a61018d36600461102e565b61046c565b61016a6101a0366004610fcf565b610487565b61013f6101b3366004610fcf565b6104b8565b6101cb6101c636600461106a565b610518565b60405190815260200161010e565b61011f61059e565b61016a6101ef366004611085565b6105ad565b61016a6102023660046110d7565b6105bc565b61011f610215366004610fcf565b6105f4565b6101026102283660046111b3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610261826105ff565b92915050565b606060008054610276906111e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906111e6565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050905090565b600061030482610624565b506000908152600460205260409020546001600160a01b031690565b600061032b826104b8565b9050806001600160a01b0316836001600160a01b03160361039d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103b957506103b98133610228565b61042b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610394565b6104358383610683565b505050565b610445335b826106f1565b6104615760405162461bcd60e51b815260040161039490611220565b610435838383610770565b610435838383604051806020016040528060008152506105bc565b6104903361043f565b6104ac5760405162461bcd60e51b815260040161039490611220565b6104b5816108d4565b50565b6000818152600260205260408120546001600160a01b0316806102615760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b60006001600160a01b0382166105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610394565b506001600160a01b031660009081526003602052604090205490565b606060018054610276906111e6565b6105b83383836108dd565b5050565b6105c633836106f1565b6105e25760405162461bcd60e51b815260040161039490611220565b6105ee848484846109ab565b50505050565b6060610261826109de565b60006001600160e01b03198216632483248360e11b1480610261575061026182610ae6565b6000818152600260205260409020546001600160a01b03166104b55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106b8826104b8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806106fd836104b8565b9050806001600160a01b0316846001600160a01b0316148061074457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107685750836001600160a01b031661075d846102f9565b6001600160a01b0316145b949350505050565b826001600160a01b0316610783826104b8565b6001600160a01b0316146107a95760405162461bcd60e51b81526004016103949061126d565b6001600160a01b03821661080b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610394565b826001600160a01b031661081e826104b8565b6001600160a01b0316146108445760405162461bcd60e51b81526004016103949061126d565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104b581610b36565b816001600160a01b0316836001600160a01b03160361093e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610394565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109b6848484610770565b6109c284848484610b76565b6105ee5760405162461bcd60e51b8152600401610394906112b2565b60606109e982610624565b60008281526006602052604081208054610a02906111e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e906111e6565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b505050505090506000610a9960408051602081019091526000815290565b90508051600003610aab575092915050565b815115610add578082604051602001610ac5929190611304565b60405160208183030381529060405292505050919050565b61076884610c77565b60006001600160e01b031982166380ac58cd60e01b1480610b1757506001600160e01b03198216635b5e139f60e01b145b8061026157506301ffc9a760e01b6001600160e01b0319831614610261565b610b3f81610ceb565b60008181526006602052604090208054610b58906111e6565b1590506104b55760008181526006602052604081206104b591610eeb565b60006001600160a01b0384163b15610c6c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610bba903390899088908890600401611333565b6020604051808303816000875af1925050508015610bf5575060408051601f3d908101601f19168201909252610bf291810190611370565b60015b610c52573d808015610c23576040519150601f19603f3d011682016040523d82523d6000602084013e610c28565b606091505b508051600003610c4a5760405162461bcd60e51b8152600401610394906112b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610768565b506001949350505050565b6060610c8282610624565b6000610c9960408051602081019091526000815290565b90506000815111610cb95760405180602001604052806000815250610ce4565b80610cc384610d80565b604051602001610cd4929190611304565b6040516020818303038152906040525b9392505050565b6000610cf6826104b8565b9050610d01826104b8565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60606000610d8d83610e13565b600101905060008167ffffffffffffffff811115610dad57610dad6110c1565b6040519080825280601f01601f191660200182016040528015610dd7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610de157509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e525772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e7e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e9c57662386f26fc10000830492506010015b6305f5e1008310610eb4576305f5e100830492506008015b6127108310610ec857612710830492506004015b60648310610eda576064830492506002015b600a83106102615760010192915050565b508054610ef7906111e6565b6000825580601f10610f07575050565b601f0160209004906000526020600020908101906104b591905b80821115610f355760008155600101610f21565b5090565b6001600160e01b0319811681146104b557600080fd5b600060208284031215610f6157600080fd5b8135610ce481610f39565b60005b83811015610f87578181015183820152602001610f6f565b50506000910152565b60008151808452610fa8816020860160208601610f6c565b601f01601f19169290920160200192915050565b602081526000610ce46020830184610f90565b600060208284031215610fe157600080fd5b5035919050565b80356001600160a01b0381168114610fff57600080fd5b919050565b6000806040838503121561101757600080fd5b61102083610fe8565b946020939093013593505050565b60008060006060848603121561104357600080fd5b61104c84610fe8565b925061105a60208501610fe8565b9150604084013590509250925092565b60006020828403121561107c57600080fd5b610ce482610fe8565b6000806040838503121561109857600080fd5b6110a183610fe8565b9150602083013580151581146110b657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156110ed57600080fd5b6110f685610fe8565b935061110460208601610fe8565b925060408501359150606085013567ffffffffffffffff8082111561112857600080fd5b818701915087601f83011261113c57600080fd5b81358181111561114e5761114e6110c1565b604051601f8201601f19908116603f01168101908382118183101715611176576111766110c1565b816040528281528a602084870101111561118f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156111c657600080fd5b6111cf83610fe8565b91506111dd60208401610fe8565b90509250929050565b600181811c908216806111fa57607f821691505b60208210810361121a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611316818460208801610f6c565b83519083019061132a818360208801610f6c565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061136690830184610f90565b9695505050505050565b60006020828403121561138257600080fd5b8151610ce481610f3956fea2646970667358221220f2ee410a99715667683fa224eb5be2c0b6c98edb2b01b26a54d1a13e0e3f5ce164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH10 0x47616D6D614361726473 PUSH1 0xB0 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH6 0x4E4F465F4743 PUSH1 0xD0 SHL DUP2 MSTORE POP DUP2 PUSH1 0x0 SWAP1 DUP2 PUSH3 0x65 SWAP2 SWAP1 PUSH3 0x122 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x74 DUP3 DUP3 PUSH3 0x122 JUMP JUMPDEST POP POP POP PUSH3 0x1EE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0xA8 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0xC9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x11D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0xF8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x119 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x104 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x13E JUMPI PUSH3 0x13E PUSH3 0x7D JUMP JUMPDEST PUSH3 0x156 DUP2 PUSH3 0x14F DUP5 SLOAD PUSH3 0x93 JUMP JUMPDEST DUP5 PUSH3 0xCF JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x18E JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x175 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x119 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x1BF JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x19E JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x1DE JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x13C3 DUP1 PUSH3 0x1FE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1E1 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0xFD CALLDATASIZE PUSH1 0x4 PUSH2 0xF4F JUMP JUMPDEST PUSH2 0x256 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11F PUSH2 0x267 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xFBC JUMP JUMPDEST PUSH2 0x13F PUSH2 0x13A CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x165 CALLDATASIZE PUSH1 0x4 PUSH2 0x1004 JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16A PUSH2 0x17A CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH2 0x16A PUSH2 0x18D CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x46C JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST PUSH2 0x13F PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x1CB PUSH2 0x1C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x106A JUMP JUMPDEST PUSH2 0x518 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x11F PUSH2 0x59E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1EF CALLDATASIZE PUSH1 0x4 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x16A PUSH2 0x202 CALLDATASIZE PUSH1 0x4 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x11F PUSH2 0x215 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x5F4 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x228 CALLDATASIZE PUSH1 0x4 PUSH2 0x11B3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261 DUP3 PUSH2 0x5FF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2A2 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x304 DUP3 PUSH2 0x624 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32B DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x39D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3B9 JUMPI POP PUSH2 0x3B9 DUP2 CALLER PUSH2 0x228 JUMP JUMPDEST PUSH2 0x42B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 PUSH2 0x683 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x445 CALLER JUMPDEST DUP3 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x461 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x490 CALLER PUSH2 0x43F JUMP JUMPDEST PUSH2 0x4AC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0x8D4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH2 0x5B8 CALLER DUP4 DUP4 PUSH2 0x8DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5C6 CALLER DUP4 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x5E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x5EE DUP5 DUP5 DUP5 DUP5 PUSH2 0x9AB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x261 DUP3 PUSH2 0x9DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0x261 JUMPI POP PUSH2 0x261 DUP3 PUSH2 0xAE6 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6B8 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6FD DUP4 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x744 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x768 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x75D DUP5 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x783 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x80B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x81E DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x844 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0xB36 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x93E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9B6 DUP5 DUP5 DUP5 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x9C2 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB76 JUMP JUMPDEST PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x9E9 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0xA02 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA2E SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA7B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA50 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA7B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xA5E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0xA99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xAAB JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xADD JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAC5 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x768 DUP5 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xB17 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x261 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x261 JUMP JUMPDEST PUSH2 0xB3F DUP2 PUSH2 0xCEB JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0xB58 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x4B5 SWAP2 PUSH2 0xEEB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC6C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xBBA SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1333 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xBF5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xBF2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xC52 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xC23 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xC4A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x768 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC82 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0xCB9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xCE4 JUMP JUMPDEST DUP1 PUSH2 0xCC3 DUP5 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCD4 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF6 DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP PUSH2 0xD01 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD8D DUP4 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xDAD JUMPI PUSH2 0xDAD PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDD7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xDE1 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xE52 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xE7E JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xE9C JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xEB4 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xEC8 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xEDA JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x261 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0xEF7 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0xF07 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B5 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xF35 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xF21 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF87 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF6F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xFA8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xCE4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1017 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1020 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1043 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x104C DUP5 PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH2 0x105A PUSH1 0x20 DUP6 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x107C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCE4 DUP3 PUSH2 0xFE8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10A1 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x10B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x10ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10F6 DUP6 PUSH2 0xFE8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1104 PUSH1 0x20 DUP7 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x114E JUMPI PUSH2 0x114E PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1176 JUMPI PUSH2 0x1176 PUSH2 0x10C1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x118F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11CF DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH2 0x11DD PUSH1 0x20 DUP5 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11FA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x121A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1316 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x132A DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1366 SWAP1 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1382 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE 0xEE COINBASE EXP SWAP10 PUSH18 0x5667683FA224EB5BE2C0B6C98EDB2B01B26A SLOAD 0xD1 LOG1 RETURNDATACOPY 0xE EXTCODEHASH 0x5C 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"333:606:20:-:0;;;412:47;;;;;;;;;;1390:113:5;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:5;;;1464:5;1456;:13;;;;;;:::i;:::-;-1:-1:-1;1479:7:5;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;333:606:20;;14:127:25;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:25;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:25;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:25;;;2580:26;2531:89;-1:-1:-1;;1335:1:25;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:25;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:25;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:25;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:25:o;:::-;333:606:20;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_afterTokenTransfer_1129":{"entryPoint":null,"id":1129,"parameterSlots":4,"returnSlots":0},"@_approve_995":{"entryPoint":1667,"id":995,"parameterSlots":2,"returnSlots":0},"@_baseURI_432":{"entryPoint":null,"id":432,"parameterSlots":0,"returnSlots":1},"@_beforeTokenTransfer_1116":{"entryPoint":null,"id":1116,"parameterSlots":4,"returnSlots":0},"@_burn_1464":{"entryPoint":2870,"id":1464,"parameterSlots":1,"returnSlots":0},"@_burn_5674":{"entryPoint":2260,"id":5674,"parameterSlots":1,"returnSlots":0},"@_burn_886":{"entryPoint":3307,"id":886,"parameterSlots":1,"returnSlots":0},"@_checkOnERC721Received_1103":{"entryPoint":2934,"id":1103,"parameterSlots":4,"returnSlots":1},"@_exists_664":{"entryPoint":null,"id":664,"parameterSlots":1,"returnSlots":1},"@_isApprovedOrOwner_698":{"entryPoint":1777,"id":698,"parameterSlots":2,"returnSlots":1},"@_msgSender_1834":{"entryPoint":null,"id":1834,"parameterSlots":0,"returnSlots":1},"@_ownerOf_646":{"entryPoint":null,"id":646,"parameterSlots":1,"returnSlots":1},"@_requireMinted_1041":{"entryPoint":1572,"id":1041,"parameterSlots":1,"returnSlots":0},"@_safeTransfer_633":{"entryPoint":2475,"id":633,"parameterSlots":4,"returnSlots":0},"@_setApprovalForAll_1027":{"entryPoint":2269,"id":1027,"parameterSlots":3,"returnSlots":0},"@_transfer_971":{"entryPoint":1904,"id":971,"parameterSlots":3,"returnSlots":0},"@approve_475":{"entryPoint":800,"id":475,"parameterSlots":2,"returnSlots":0},"@balanceOf_336":{"entryPoint":1304,"id":336,"parameterSlots":1,"returnSlots":1},"@burn_1308":{"entryPoint":1159,"id":1308,"parameterSlots":1,"returnSlots":0},"@getApproved_493":{"entryPoint":761,"id":493,"parameterSlots":1,"returnSlots":1},"@isApprovedForAll_528":{"entryPoint":null,"id":528,"parameterSlots":2,"returnSlots":1},"@isContract_1510":{"entryPoint":null,"id":1510,"parameterSlots":1,"returnSlots":1},"@log10_3186":{"entryPoint":3603,"id":3186,"parameterSlots":1,"returnSlots":1},"@name_374":{"entryPoint":615,"id":374,"parameterSlots":0,"returnSlots":1},"@ownerOf_364":{"entryPoint":1208,"id":364,"parameterSlots":1,"returnSlots":1},"@safeTransferFrom_574":{"entryPoint":1132,"id":574,"parameterSlots":3,"returnSlots":0},"@safeTransferFrom_604":{"entryPoint":1468,"id":604,"parameterSlots":4,"returnSlots":0},"@setApprovalForAll_510":{"entryPoint":1453,"id":510,"parameterSlots":2,"returnSlots":0},"@supportsInterface_1349":{"entryPoint":1535,"id":1349,"parameterSlots":1,"returnSlots":1},"@supportsInterface_2470":{"entryPoint":null,"id":2470,"parameterSlots":1,"returnSlots":1},"@supportsInterface_312":{"entryPoint":2790,"id":312,"parameterSlots":1,"returnSlots":1},"@supportsInterface_5706":{"entryPoint":598,"id":5706,"parameterSlots":1,"returnSlots":1},"@symbol_384":{"entryPoint":1438,"id":384,"parameterSlots":0,"returnSlots":1},"@toString_1911":{"entryPoint":3456,"id":1911,"parameterSlots":1,"returnSlots":1},"@tokenURI_1408":{"entryPoint":2526,"id":1408,"parameterSlots":1,"returnSlots":1},"@tokenURI_423":{"entryPoint":3191,"id":423,"parameterSlots":1,"returnSlots":1},"@tokenURI_5690":{"entryPoint":1524,"id":5690,"parameterSlots":1,"returnSlots":1},"@transferFrom_555":{"entryPoint":1082,"id":555,"parameterSlots":3,"returnSlots":0},"abi_decode_address":{"entryPoint":4072,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":4202,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":4531,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":4142,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr":{"entryPoint":4311,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_bool":{"entryPoint":4229,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":4100,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bytes4":{"entryPoint":3919,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes4_fromMemory":{"entryPoint":4976,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":4047,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_string":{"entryPoint":3984,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":4868,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"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":{"entryPoint":4915,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4028,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4640,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4786,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4717,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"copy_memory_to_memory_with_cleanup":{"entryPoint":3948,"id":null,"parameterSlots":3,"returnSlots":0},"extract_byte_array_length":{"entryPoint":4582,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x12":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":4289,"id":null,"parameterSlots":0,"returnSlots":0},"validator_revert_bytes4":{"entryPoint":3897,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:10132:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"58:87:25","statements":[{"body":{"nodeType":"YulBlock","src":"123:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"132:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"125:6:25"},"nodeType":"YulFunctionCall","src":"125:12:25"},"nodeType":"YulExpressionStatement","src":"125:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"81:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"92:5:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"108:10:25","type":"","value":"0xffffffff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"99:3:25"},"nodeType":"YulFunctionCall","src":"99:20:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"88:3:25"},"nodeType":"YulFunctionCall","src":"88:32:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"78:2:25"},"nodeType":"YulFunctionCall","src":"78:43:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"71:6:25"},"nodeType":"YulFunctionCall","src":"71:51:25"},"nodeType":"YulIf","src":"68:71:25"}]},"name":"validator_revert_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"47:5:25","type":""}],"src":"14:131:25"},{"body":{"nodeType":"YulBlock","src":"219:176:25","statements":[{"body":{"nodeType":"YulBlock","src":"265:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"274:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"277:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"267:6:25"},"nodeType":"YulFunctionCall","src":"267:12:25"},"nodeType":"YulExpressionStatement","src":"267:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"240:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"249:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"236:3:25"},"nodeType":"YulFunctionCall","src":"236:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"261:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"232:3:25"},"nodeType":"YulFunctionCall","src":"232:32:25"},"nodeType":"YulIf","src":"229:52:25"},{"nodeType":"YulVariableDeclaration","src":"290:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"316:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"303:12:25"},"nodeType":"YulFunctionCall","src":"303:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"294:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"359:5:25"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"335:23:25"},"nodeType":"YulFunctionCall","src":"335:30:25"},"nodeType":"YulExpressionStatement","src":"335:30:25"},{"nodeType":"YulAssignment","src":"374:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"384:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"374:6:25"}]}]},"name":"abi_decode_tuple_t_bytes4","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"185:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"196:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"208:6:25","type":""}],"src":"150:245:25"},{"body":{"nodeType":"YulBlock","src":"495:92:25","statements":[{"nodeType":"YulAssignment","src":"505:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"517:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"528:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"513:3:25"},"nodeType":"YulFunctionCall","src":"513:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"505:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"547:9:25"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"572:6:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"565:6:25"},"nodeType":"YulFunctionCall","src":"565:14:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"558:6:25"},"nodeType":"YulFunctionCall","src":"558:22:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"540:6:25"},"nodeType":"YulFunctionCall","src":"540:41:25"},"nodeType":"YulExpressionStatement","src":"540:41:25"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"464:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"475:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"486:4:25","type":""}],"src":"400:187:25"},{"body":{"nodeType":"YulBlock","src":"658:184:25","statements":[{"nodeType":"YulVariableDeclaration","src":"668:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"677:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"672:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"737:63:25","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"762:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"767:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"758:3:25"},"nodeType":"YulFunctionCall","src":"758:11:25"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"781:3:25"},{"name":"i","nodeType":"YulIdentifier","src":"786:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"777:3:25"},"nodeType":"YulFunctionCall","src":"777:11:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"771:5:25"},"nodeType":"YulFunctionCall","src":"771:18:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"751:6:25"},"nodeType":"YulFunctionCall","src":"751:39:25"},"nodeType":"YulExpressionStatement","src":"751:39:25"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"698:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"701:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"695:2:25"},"nodeType":"YulFunctionCall","src":"695:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"709:19:25","statements":[{"nodeType":"YulAssignment","src":"711:15:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"720:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"723:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"716:3:25"},"nodeType":"YulFunctionCall","src":"716:10:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"711:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"691:3:25","statements":[]},"src":"687:113:25"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"820:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"825:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"816:3:25"},"nodeType":"YulFunctionCall","src":"816:16:25"},{"kind":"number","nodeType":"YulLiteral","src":"834:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"809:6:25"},"nodeType":"YulFunctionCall","src":"809:27:25"},"nodeType":"YulExpressionStatement","src":"809:27:25"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"636:3:25","type":""},{"name":"dst","nodeType":"YulTypedName","src":"641:3:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"646:6:25","type":""}],"src":"592:250:25"},{"body":{"nodeType":"YulBlock","src":"897:221:25","statements":[{"nodeType":"YulVariableDeclaration","src":"907:26:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"927:5:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"921:5:25"},"nodeType":"YulFunctionCall","src":"921:12:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"911:6:25","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"949:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"954:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"942:6:25"},"nodeType":"YulFunctionCall","src":"942:19:25"},"nodeType":"YulExpressionStatement","src":"942:19:25"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1009:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"1016:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1005:3:25"},"nodeType":"YulFunctionCall","src":"1005:16:25"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1027:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"1032:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1023:3:25"},"nodeType":"YulFunctionCall","src":"1023:14:25"},{"name":"length","nodeType":"YulIdentifier","src":"1039:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"970:34:25"},"nodeType":"YulFunctionCall","src":"970:76:25"},"nodeType":"YulExpressionStatement","src":"970:76:25"},{"nodeType":"YulAssignment","src":"1055:57:25","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1070:3:25"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1083:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"1091:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1079:3:25"},"nodeType":"YulFunctionCall","src":"1079:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1100:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1096:3:25"},"nodeType":"YulFunctionCall","src":"1096:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1075:3:25"},"nodeType":"YulFunctionCall","src":"1075:29:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1066:3:25"},"nodeType":"YulFunctionCall","src":"1066:39:25"},{"kind":"number","nodeType":"YulLiteral","src":"1107:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1062:3:25"},"nodeType":"YulFunctionCall","src":"1062:50:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"1055:3:25"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"874:5:25","type":""},{"name":"pos","nodeType":"YulTypedName","src":"881:3:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"889:3:25","type":""}],"src":"847:271:25"},{"body":{"nodeType":"YulBlock","src":"1244:99:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1261:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1272:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1254:6:25"},"nodeType":"YulFunctionCall","src":"1254:21:25"},"nodeType":"YulExpressionStatement","src":"1254:21:25"},{"nodeType":"YulAssignment","src":"1284:53:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1310:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1322:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1333:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1318:3:25"},"nodeType":"YulFunctionCall","src":"1318:18:25"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"1292:17:25"},"nodeType":"YulFunctionCall","src":"1292:45:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1284:4:25"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1213:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1224:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1235:4:25","type":""}],"src":"1123:220:25"},{"body":{"nodeType":"YulBlock","src":"1418:110:25","statements":[{"body":{"nodeType":"YulBlock","src":"1464:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1473:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1476:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1466:6:25"},"nodeType":"YulFunctionCall","src":"1466:12:25"},"nodeType":"YulExpressionStatement","src":"1466:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1439:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"1448:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1435:3:25"},"nodeType":"YulFunctionCall","src":"1435:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"1460:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1431:3:25"},"nodeType":"YulFunctionCall","src":"1431:32:25"},"nodeType":"YulIf","src":"1428:52:25"},{"nodeType":"YulAssignment","src":"1489:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1512:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1499:12:25"},"nodeType":"YulFunctionCall","src":"1499:23:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1489:6:25"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1384:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1395:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1407:6:25","type":""}],"src":"1348:180:25"},{"body":{"nodeType":"YulBlock","src":"1634:102:25","statements":[{"nodeType":"YulAssignment","src":"1644:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1656:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1667:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1652:3:25"},"nodeType":"YulFunctionCall","src":"1652:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1644:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1686:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1701:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1717:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1722:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1713:3:25"},"nodeType":"YulFunctionCall","src":"1713:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"1726:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1709:3:25"},"nodeType":"YulFunctionCall","src":"1709:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1697:3:25"},"nodeType":"YulFunctionCall","src":"1697:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1679:6:25"},"nodeType":"YulFunctionCall","src":"1679:51:25"},"nodeType":"YulExpressionStatement","src":"1679:51:25"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1603:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1614:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1625:4:25","type":""}],"src":"1533:203:25"},{"body":{"nodeType":"YulBlock","src":"1790:124:25","statements":[{"nodeType":"YulAssignment","src":"1800:29:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1822:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1809:12:25"},"nodeType":"YulFunctionCall","src":"1809:20:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1800:5:25"}]},{"body":{"nodeType":"YulBlock","src":"1892:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1901:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1904:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1894:6:25"},"nodeType":"YulFunctionCall","src":"1894:12:25"},"nodeType":"YulExpressionStatement","src":"1894:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1851:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1862:5:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1877:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1882:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1873:3:25"},"nodeType":"YulFunctionCall","src":"1873:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"1886:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1869:3:25"},"nodeType":"YulFunctionCall","src":"1869:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1858:3:25"},"nodeType":"YulFunctionCall","src":"1858:31:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1848:2:25"},"nodeType":"YulFunctionCall","src":"1848:42:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1841:6:25"},"nodeType":"YulFunctionCall","src":"1841:50:25"},"nodeType":"YulIf","src":"1838:70:25"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1769:6:25","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1780:5:25","type":""}],"src":"1741:173:25"},{"body":{"nodeType":"YulBlock","src":"2006:167:25","statements":[{"body":{"nodeType":"YulBlock","src":"2052:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2061:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2064:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2054:6:25"},"nodeType":"YulFunctionCall","src":"2054:12:25"},"nodeType":"YulExpressionStatement","src":"2054:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2027:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2036:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2023:3:25"},"nodeType":"YulFunctionCall","src":"2023:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"2048:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2019:3:25"},"nodeType":"YulFunctionCall","src":"2019:32:25"},"nodeType":"YulIf","src":"2016:52:25"},{"nodeType":"YulAssignment","src":"2077:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2106:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2087:18:25"},"nodeType":"YulFunctionCall","src":"2087:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2077:6:25"}]},{"nodeType":"YulAssignment","src":"2125:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2152:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2163:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2148:3:25"},"nodeType":"YulFunctionCall","src":"2148:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2135:12:25"},"nodeType":"YulFunctionCall","src":"2135:32:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2125:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1964:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1975:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1987:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1995:6:25","type":""}],"src":"1919:254:25"},{"body":{"nodeType":"YulBlock","src":"2282:224:25","statements":[{"body":{"nodeType":"YulBlock","src":"2328:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2337:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2340:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2330:6:25"},"nodeType":"YulFunctionCall","src":"2330:12:25"},"nodeType":"YulExpressionStatement","src":"2330:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2303:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2312:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2299:3:25"},"nodeType":"YulFunctionCall","src":"2299:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"2324:2:25","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2295:3:25"},"nodeType":"YulFunctionCall","src":"2295:32:25"},"nodeType":"YulIf","src":"2292:52:25"},{"nodeType":"YulAssignment","src":"2353:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2382:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2363:18:25"},"nodeType":"YulFunctionCall","src":"2363:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2353:6:25"}]},{"nodeType":"YulAssignment","src":"2401:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2434:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2445:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2430:3:25"},"nodeType":"YulFunctionCall","src":"2430:18:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2411:18:25"},"nodeType":"YulFunctionCall","src":"2411:38:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2401:6:25"}]},{"nodeType":"YulAssignment","src":"2458:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2485:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2496:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2481:3:25"},"nodeType":"YulFunctionCall","src":"2481:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2468:12:25"},"nodeType":"YulFunctionCall","src":"2468:32:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2458:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2232:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2243:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2255:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2263:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2271:6:25","type":""}],"src":"2178:328:25"},{"body":{"nodeType":"YulBlock","src":"2581:116:25","statements":[{"body":{"nodeType":"YulBlock","src":"2627:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2636:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2639:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2629:6:25"},"nodeType":"YulFunctionCall","src":"2629:12:25"},"nodeType":"YulExpressionStatement","src":"2629:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2602:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2611:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2598:3:25"},"nodeType":"YulFunctionCall","src":"2598:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"2623:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2594:3:25"},"nodeType":"YulFunctionCall","src":"2594:32:25"},"nodeType":"YulIf","src":"2591:52:25"},{"nodeType":"YulAssignment","src":"2652:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2681:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2662:18:25"},"nodeType":"YulFunctionCall","src":"2662:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2652:6:25"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2547:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2558:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2570:6:25","type":""}],"src":"2511:186:25"},{"body":{"nodeType":"YulBlock","src":"2803:76:25","statements":[{"nodeType":"YulAssignment","src":"2813:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2825:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2836:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2821:3:25"},"nodeType":"YulFunctionCall","src":"2821:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2813:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2855:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"2866:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2848:6:25"},"nodeType":"YulFunctionCall","src":"2848:25:25"},"nodeType":"YulExpressionStatement","src":"2848:25:25"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2772:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2783:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2794:4:25","type":""}],"src":"2702:177:25"},{"body":{"nodeType":"YulBlock","src":"2968:263:25","statements":[{"body":{"nodeType":"YulBlock","src":"3014:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3023:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3026:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3016:6:25"},"nodeType":"YulFunctionCall","src":"3016:12:25"},"nodeType":"YulExpressionStatement","src":"3016:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2989:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"2998:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2985:3:25"},"nodeType":"YulFunctionCall","src":"2985:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"3010:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2981:3:25"},"nodeType":"YulFunctionCall","src":"2981:32:25"},"nodeType":"YulIf","src":"2978:52:25"},{"nodeType":"YulAssignment","src":"3039:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3068:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3049:18:25"},"nodeType":"YulFunctionCall","src":"3049:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3039:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"3087:45:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3117:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3128:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3113:3:25"},"nodeType":"YulFunctionCall","src":"3113:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3100:12:25"},"nodeType":"YulFunctionCall","src":"3100:32:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3091:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3185:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3194:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3197:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3187:6:25"},"nodeType":"YulFunctionCall","src":"3187:12:25"},"nodeType":"YulExpressionStatement","src":"3187:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3154:5:25"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3175:5:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3168:6:25"},"nodeType":"YulFunctionCall","src":"3168:13:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3161:6:25"},"nodeType":"YulFunctionCall","src":"3161:21:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"3151:2:25"},"nodeType":"YulFunctionCall","src":"3151:32:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3144:6:25"},"nodeType":"YulFunctionCall","src":"3144:40:25"},"nodeType":"YulIf","src":"3141:60:25"},{"nodeType":"YulAssignment","src":"3210:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"3220:5:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3210:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2926:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2937:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2949:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2957:6:25","type":""}],"src":"2884:347:25"},{"body":{"nodeType":"YulBlock","src":"3268:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3285:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3292:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3297:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3288:3:25"},"nodeType":"YulFunctionCall","src":"3288:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3278:6:25"},"nodeType":"YulFunctionCall","src":"3278:31:25"},"nodeType":"YulExpressionStatement","src":"3278:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3325:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3328:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3318:6:25"},"nodeType":"YulFunctionCall","src":"3318:15:25"},"nodeType":"YulExpressionStatement","src":"3318:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3349:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3352:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3342:6:25"},"nodeType":"YulFunctionCall","src":"3342:15:25"},"nodeType":"YulExpressionStatement","src":"3342:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3236:127:25"},{"body":{"nodeType":"YulBlock","src":"3498:1008:25","statements":[{"body":{"nodeType":"YulBlock","src":"3545:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3554:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3557:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3547:6:25"},"nodeType":"YulFunctionCall","src":"3547:12:25"},"nodeType":"YulExpressionStatement","src":"3547:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3519:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"3528:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3515:3:25"},"nodeType":"YulFunctionCall","src":"3515:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"3540:3:25","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3511:3:25"},"nodeType":"YulFunctionCall","src":"3511:33:25"},"nodeType":"YulIf","src":"3508:53:25"},{"nodeType":"YulAssignment","src":"3570:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3599:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3580:18:25"},"nodeType":"YulFunctionCall","src":"3580:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3570:6:25"}]},{"nodeType":"YulAssignment","src":"3618:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3651:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3662:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3647:3:25"},"nodeType":"YulFunctionCall","src":"3647:18:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"3628:18:25"},"nodeType":"YulFunctionCall","src":"3628:38:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3618:6:25"}]},{"nodeType":"YulAssignment","src":"3675:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3702:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3713:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3698:3:25"},"nodeType":"YulFunctionCall","src":"3698:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3685:12:25"},"nodeType":"YulFunctionCall","src":"3685:32:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"3675:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"3726:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3757:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3768:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3753:3:25"},"nodeType":"YulFunctionCall","src":"3753:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3740:12:25"},"nodeType":"YulFunctionCall","src":"3740:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3730:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3781:28:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3791:18:25","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3785:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3836:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3845:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3848:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3838:6:25"},"nodeType":"YulFunctionCall","src":"3838:12:25"},"nodeType":"YulExpressionStatement","src":"3838:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3824:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"3832:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3821:2:25"},"nodeType":"YulFunctionCall","src":"3821:14:25"},"nodeType":"YulIf","src":"3818:34:25"},{"nodeType":"YulVariableDeclaration","src":"3861:32:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3875:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"3886:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3871:3:25"},"nodeType":"YulFunctionCall","src":"3871:22:25"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3865:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3941:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3950:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3953:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3943:6:25"},"nodeType":"YulFunctionCall","src":"3943:12:25"},"nodeType":"YulExpressionStatement","src":"3943:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3920:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"3924:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3916:3:25"},"nodeType":"YulFunctionCall","src":"3916:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3931:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3912:3:25"},"nodeType":"YulFunctionCall","src":"3912:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3905:6:25"},"nodeType":"YulFunctionCall","src":"3905:35:25"},"nodeType":"YulIf","src":"3902:55:25"},{"nodeType":"YulVariableDeclaration","src":"3966:26:25","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3989:2:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3976:12:25"},"nodeType":"YulFunctionCall","src":"3976:16:25"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3970:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4015:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4017:16:25"},"nodeType":"YulFunctionCall","src":"4017:18:25"},"nodeType":"YulExpressionStatement","src":"4017:18:25"}]},"condition":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4007:2:25"},{"name":"_1","nodeType":"YulIdentifier","src":"4011:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4004:2:25"},"nodeType":"YulFunctionCall","src":"4004:10:25"},"nodeType":"YulIf","src":"4001:36:25"},{"nodeType":"YulVariableDeclaration","src":"4046:17:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4060:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4056:3:25"},"nodeType":"YulFunctionCall","src":"4056:7:25"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"4050:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4072:23:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4092:2:25","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4086:5:25"},"nodeType":"YulFunctionCall","src":"4086:9:25"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4076:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4104:71:25","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4126:6:25"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"4150:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"4154:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4146:3:25"},"nodeType":"YulFunctionCall","src":"4146:13:25"},{"name":"_4","nodeType":"YulIdentifier","src":"4161:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4142:3:25"},"nodeType":"YulFunctionCall","src":"4142:22:25"},{"kind":"number","nodeType":"YulLiteral","src":"4166:2:25","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4138:3:25"},"nodeType":"YulFunctionCall","src":"4138:31:25"},{"name":"_4","nodeType":"YulIdentifier","src":"4171:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4134:3:25"},"nodeType":"YulFunctionCall","src":"4134:40:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4122:3:25"},"nodeType":"YulFunctionCall","src":"4122:53:25"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"4108:10:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4234:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4236:16:25"},"nodeType":"YulFunctionCall","src":"4236:18:25"},"nodeType":"YulExpressionStatement","src":"4236:18:25"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4193:10:25"},{"name":"_1","nodeType":"YulIdentifier","src":"4205:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4190:2:25"},"nodeType":"YulFunctionCall","src":"4190:18:25"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4213:10:25"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4225:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4210:2:25"},"nodeType":"YulFunctionCall","src":"4210:22:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4187:2:25"},"nodeType":"YulFunctionCall","src":"4187:46:25"},"nodeType":"YulIf","src":"4184:72:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4272:2:25","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4276:10:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4265:6:25"},"nodeType":"YulFunctionCall","src":"4265:22:25"},"nodeType":"YulExpressionStatement","src":"4265:22:25"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4303:6:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4311:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4296:6:25"},"nodeType":"YulFunctionCall","src":"4296:18:25"},"nodeType":"YulExpressionStatement","src":"4296:18:25"},{"body":{"nodeType":"YulBlock","src":"4360:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4369:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4372:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4362:6:25"},"nodeType":"YulFunctionCall","src":"4362:12:25"},"nodeType":"YulExpressionStatement","src":"4362:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4337:2:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4341:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4333:3:25"},"nodeType":"YulFunctionCall","src":"4333:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"4346:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4329:3:25"},"nodeType":"YulFunctionCall","src":"4329:20:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4351:7:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4326:2:25"},"nodeType":"YulFunctionCall","src":"4326:33:25"},"nodeType":"YulIf","src":"4323:53:25"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4402:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"4410:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4398:3:25"},"nodeType":"YulFunctionCall","src":"4398:15:25"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"4419:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"4423:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4415:3:25"},"nodeType":"YulFunctionCall","src":"4415:11:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4428:2:25"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4385:12:25"},"nodeType":"YulFunctionCall","src":"4385:46:25"},"nodeType":"YulExpressionStatement","src":"4385:46:25"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4455:6:25"},{"name":"_3","nodeType":"YulIdentifier","src":"4463:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4451:3:25"},"nodeType":"YulFunctionCall","src":"4451:15:25"},{"kind":"number","nodeType":"YulLiteral","src":"4468:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4447:3:25"},"nodeType":"YulFunctionCall","src":"4447:24:25"},{"kind":"number","nodeType":"YulLiteral","src":"4473:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4440:6:25"},"nodeType":"YulFunctionCall","src":"4440:35:25"},"nodeType":"YulExpressionStatement","src":"4440:35:25"},{"nodeType":"YulAssignment","src":"4484:16:25","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"4494:6:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4484:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3440:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3451:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3463:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3471:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3479:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3487:6:25","type":""}],"src":"3368:1138:25"},{"body":{"nodeType":"YulBlock","src":"4598:173:25","statements":[{"body":{"nodeType":"YulBlock","src":"4644:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4653:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4656:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4646:6:25"},"nodeType":"YulFunctionCall","src":"4646:12:25"},"nodeType":"YulExpressionStatement","src":"4646:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4619:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"4628:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4615:3:25"},"nodeType":"YulFunctionCall","src":"4615:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"4640:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4611:3:25"},"nodeType":"YulFunctionCall","src":"4611:32:25"},"nodeType":"YulIf","src":"4608:52:25"},{"nodeType":"YulAssignment","src":"4669:39:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4698:9:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4679:18:25"},"nodeType":"YulFunctionCall","src":"4679:29:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4669:6:25"}]},{"nodeType":"YulAssignment","src":"4717:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4750:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4761:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4746:3:25"},"nodeType":"YulFunctionCall","src":"4746:18:25"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"4727:18:25"},"nodeType":"YulFunctionCall","src":"4727:38:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4717:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4556:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4567:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4579:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4587:6:25","type":""}],"src":"4511:260:25"},{"body":{"nodeType":"YulBlock","src":"4831:325:25","statements":[{"nodeType":"YulAssignment","src":"4841:22:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4855:1:25","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"4858:4:25"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"4851:3:25"},"nodeType":"YulFunctionCall","src":"4851:12:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4841:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"4872:38:25","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"4902:4:25"},{"kind":"number","nodeType":"YulLiteral","src":"4908:1:25","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4898:3:25"},"nodeType":"YulFunctionCall","src":"4898:12:25"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"4876:18:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"4949:31:25","statements":[{"nodeType":"YulAssignment","src":"4951:27:25","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4965:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"4973:4:25","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4961:3:25"},"nodeType":"YulFunctionCall","src":"4961:17:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4951:6:25"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4929:18:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4922:6:25"},"nodeType":"YulFunctionCall","src":"4922:26:25"},"nodeType":"YulIf","src":"4919:61:25"},{"body":{"nodeType":"YulBlock","src":"5039:111:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5060:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5067:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"5072:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"5063:3:25"},"nodeType":"YulFunctionCall","src":"5063:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5053:6:25"},"nodeType":"YulFunctionCall","src":"5053:31:25"},"nodeType":"YulExpressionStatement","src":"5053:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5104:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5107:4:25","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5097:6:25"},"nodeType":"YulFunctionCall","src":"5097:15:25"},"nodeType":"YulExpressionStatement","src":"5097:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5132:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5135:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5125:6:25"},"nodeType":"YulFunctionCall","src":"5125:15:25"},"nodeType":"YulExpressionStatement","src":"5125:15:25"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"4995:18:25"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5018:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"5026:2:25","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5015:2:25"},"nodeType":"YulFunctionCall","src":"5015:14:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"4992:2:25"},"nodeType":"YulFunctionCall","src":"4992:38:25"},"nodeType":"YulIf","src":"4989:161:25"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"4811:4:25","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4820:6:25","type":""}],"src":"4776:380:25"},{"body":{"nodeType":"YulBlock","src":"5335:223:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5352:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5363:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5345:6:25"},"nodeType":"YulFunctionCall","src":"5345:21:25"},"nodeType":"YulExpressionStatement","src":"5345:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5386:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5397:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5382:3:25"},"nodeType":"YulFunctionCall","src":"5382:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"5402:2:25","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5375:6:25"},"nodeType":"YulFunctionCall","src":"5375:30:25"},"nodeType":"YulExpressionStatement","src":"5375:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5425:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5436:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5421:3:25"},"nodeType":"YulFunctionCall","src":"5421:18:25"},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e65","kind":"string","nodeType":"YulLiteral","src":"5441:34:25","type":"","value":"ERC721: approval to current owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5414:6:25"},"nodeType":"YulFunctionCall","src":"5414:62:25"},"nodeType":"YulExpressionStatement","src":"5414:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5496:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5507:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5492:3:25"},"nodeType":"YulFunctionCall","src":"5492:18:25"},{"hexValue":"72","kind":"string","nodeType":"YulLiteral","src":"5512:3:25","type":"","value":"r"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5485:6:25"},"nodeType":"YulFunctionCall","src":"5485:31:25"},"nodeType":"YulExpressionStatement","src":"5485:31:25"},{"nodeType":"YulAssignment","src":"5525:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5537:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5548:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5533:3:25"},"nodeType":"YulFunctionCall","src":"5533:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5525:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5312:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5326:4:25","type":""}],"src":"5161:397:25"},{"body":{"nodeType":"YulBlock","src":"5737:251:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5754:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5765:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5747:6:25"},"nodeType":"YulFunctionCall","src":"5747:21:25"},"nodeType":"YulExpressionStatement","src":"5747:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5788:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5799:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5784:3:25"},"nodeType":"YulFunctionCall","src":"5784:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"5804:2:25","type":"","value":"61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5777:6:25"},"nodeType":"YulFunctionCall","src":"5777:30:25"},"nodeType":"YulExpressionStatement","src":"5777:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5827:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5838:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5823:3:25"},"nodeType":"YulFunctionCall","src":"5823:18:25"},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f","kind":"string","nodeType":"YulLiteral","src":"5843:34:25","type":"","value":"ERC721: approve caller is not to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5816:6:25"},"nodeType":"YulFunctionCall","src":"5816:62:25"},"nodeType":"YulExpressionStatement","src":"5816:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5898:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5909:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5894:3:25"},"nodeType":"YulFunctionCall","src":"5894:18:25"},{"hexValue":"6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","kind":"string","nodeType":"YulLiteral","src":"5914:31:25","type":"","value":"ken owner or approved for all"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5887:6:25"},"nodeType":"YulFunctionCall","src":"5887:59:25"},"nodeType":"YulExpressionStatement","src":"5887:59:25"},{"nodeType":"YulAssignment","src":"5955:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5967:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5978:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5963:3:25"},"nodeType":"YulFunctionCall","src":"5963:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5955:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5714:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5728:4:25","type":""}],"src":"5563:425:25"},{"body":{"nodeType":"YulBlock","src":"6167:235:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6184:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6195:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6177:6:25"},"nodeType":"YulFunctionCall","src":"6177:21:25"},"nodeType":"YulExpressionStatement","src":"6177:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6218:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6229:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6214:3:25"},"nodeType":"YulFunctionCall","src":"6214:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"6234:2:25","type":"","value":"45"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6207:6:25"},"nodeType":"YulFunctionCall","src":"6207:30:25"},"nodeType":"YulExpressionStatement","src":"6207:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6257:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6268:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6253:3:25"},"nodeType":"YulFunctionCall","src":"6253:18:25"},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65","kind":"string","nodeType":"YulLiteral","src":"6273:34:25","type":"","value":"ERC721: caller is not token owne"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6246:6:25"},"nodeType":"YulFunctionCall","src":"6246:62:25"},"nodeType":"YulExpressionStatement","src":"6246:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6328:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6339:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6324:3:25"},"nodeType":"YulFunctionCall","src":"6324:18:25"},{"hexValue":"72206f7220617070726f766564","kind":"string","nodeType":"YulLiteral","src":"6344:15:25","type":"","value":"r or approved"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6317:6:25"},"nodeType":"YulFunctionCall","src":"6317:43:25"},"nodeType":"YulExpressionStatement","src":"6317:43:25"},{"nodeType":"YulAssignment","src":"6369:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6381:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6392:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6377:3:25"},"nodeType":"YulFunctionCall","src":"6377:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6369:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6144:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6158:4:25","type":""}],"src":"5993:409:25"},{"body":{"nodeType":"YulBlock","src":"6581:174:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6598:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6609:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6591:6:25"},"nodeType":"YulFunctionCall","src":"6591:21:25"},"nodeType":"YulExpressionStatement","src":"6591:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6632:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6643:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6628:3:25"},"nodeType":"YulFunctionCall","src":"6628:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"6648:2:25","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6621:6:25"},"nodeType":"YulFunctionCall","src":"6621:30:25"},"nodeType":"YulExpressionStatement","src":"6621:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6671:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6682:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6667:3:25"},"nodeType":"YulFunctionCall","src":"6667:18:25"},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","kind":"string","nodeType":"YulLiteral","src":"6687:26:25","type":"","value":"ERC721: invalid token ID"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6660:6:25"},"nodeType":"YulFunctionCall","src":"6660:54:25"},"nodeType":"YulExpressionStatement","src":"6660:54:25"},{"nodeType":"YulAssignment","src":"6723:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6735:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6746:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6731:3:25"},"nodeType":"YulFunctionCall","src":"6731:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6723:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6558:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6572:4:25","type":""}],"src":"6407:348:25"},{"body":{"nodeType":"YulBlock","src":"6934:231:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6951:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6962:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6944:6:25"},"nodeType":"YulFunctionCall","src":"6944:21:25"},"nodeType":"YulExpressionStatement","src":"6944:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6985:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"6996:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6981:3:25"},"nodeType":"YulFunctionCall","src":"6981:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"7001:2:25","type":"","value":"41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6974:6:25"},"nodeType":"YulFunctionCall","src":"6974:30:25"},"nodeType":"YulExpressionStatement","src":"6974:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7024:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7035:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7020:3:25"},"nodeType":"YulFunctionCall","src":"7020:18:25"},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f742061207661","kind":"string","nodeType":"YulLiteral","src":"7040:34:25","type":"","value":"ERC721: address zero is not a va"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7013:6:25"},"nodeType":"YulFunctionCall","src":"7013:62:25"},"nodeType":"YulExpressionStatement","src":"7013:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7095:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7106:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7091:3:25"},"nodeType":"YulFunctionCall","src":"7091:18:25"},{"hexValue":"6c6964206f776e6572","kind":"string","nodeType":"YulLiteral","src":"7111:11:25","type":"","value":"lid owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7084:6:25"},"nodeType":"YulFunctionCall","src":"7084:39:25"},"nodeType":"YulExpressionStatement","src":"7084:39:25"},{"nodeType":"YulAssignment","src":"7132:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7144:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7155:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7140:3:25"},"nodeType":"YulFunctionCall","src":"7140:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7132:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6911:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6925:4:25","type":""}],"src":"6760:405:25"},{"body":{"nodeType":"YulBlock","src":"7344:227:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7361:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7372:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7354:6:25"},"nodeType":"YulFunctionCall","src":"7354:21:25"},"nodeType":"YulExpressionStatement","src":"7354:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7395:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7406:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7391:3:25"},"nodeType":"YulFunctionCall","src":"7391:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"7411:2:25","type":"","value":"37"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7384:6:25"},"nodeType":"YulFunctionCall","src":"7384:30:25"},"nodeType":"YulExpressionStatement","src":"7384:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7434:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7445:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7430:3:25"},"nodeType":"YulFunctionCall","src":"7430:18:25"},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f727265637420","kind":"string","nodeType":"YulLiteral","src":"7450:34:25","type":"","value":"ERC721: transfer from incorrect "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7423:6:25"},"nodeType":"YulFunctionCall","src":"7423:62:25"},"nodeType":"YulExpressionStatement","src":"7423:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7505:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7516:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7501:3:25"},"nodeType":"YulFunctionCall","src":"7501:18:25"},{"hexValue":"6f776e6572","kind":"string","nodeType":"YulLiteral","src":"7521:7:25","type":"","value":"owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7494:6:25"},"nodeType":"YulFunctionCall","src":"7494:35:25"},"nodeType":"YulExpressionStatement","src":"7494:35:25"},{"nodeType":"YulAssignment","src":"7538:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7550:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7561:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7546:3:25"},"nodeType":"YulFunctionCall","src":"7546:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7538:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7321:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7335:4:25","type":""}],"src":"7170:401:25"},{"body":{"nodeType":"YulBlock","src":"7750:226:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7767:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7778:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7760:6:25"},"nodeType":"YulFunctionCall","src":"7760:21:25"},"nodeType":"YulExpressionStatement","src":"7760:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7801:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7812:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7797:3:25"},"nodeType":"YulFunctionCall","src":"7797:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"7817:2:25","type":"","value":"36"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7790:6:25"},"nodeType":"YulFunctionCall","src":"7790:30:25"},"nodeType":"YulExpressionStatement","src":"7790:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7840:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7851:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7836:3:25"},"nodeType":"YulFunctionCall","src":"7836:18:25"},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f20616464","kind":"string","nodeType":"YulLiteral","src":"7856:34:25","type":"","value":"ERC721: transfer to the zero add"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7829:6:25"},"nodeType":"YulFunctionCall","src":"7829:62:25"},"nodeType":"YulExpressionStatement","src":"7829:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7911:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7922:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7907:3:25"},"nodeType":"YulFunctionCall","src":"7907:18:25"},{"hexValue":"72657373","kind":"string","nodeType":"YulLiteral","src":"7927:6:25","type":"","value":"ress"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7900:6:25"},"nodeType":"YulFunctionCall","src":"7900:34:25"},"nodeType":"YulExpressionStatement","src":"7900:34:25"},{"nodeType":"YulAssignment","src":"7943:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7955:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"7966:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7951:3:25"},"nodeType":"YulFunctionCall","src":"7951:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7943:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7727:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7741:4:25","type":""}],"src":"7576:400:25"},{"body":{"nodeType":"YulBlock","src":"8155:175:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8172:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8183:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8165:6:25"},"nodeType":"YulFunctionCall","src":"8165:21:25"},"nodeType":"YulExpressionStatement","src":"8165:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8206:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8217:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8202:3:25"},"nodeType":"YulFunctionCall","src":"8202:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"8222:2:25","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8195:6:25"},"nodeType":"YulFunctionCall","src":"8195:30:25"},"nodeType":"YulExpressionStatement","src":"8195:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8245:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8256:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8241:3:25"},"nodeType":"YulFunctionCall","src":"8241:18:25"},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","kind":"string","nodeType":"YulLiteral","src":"8261:27:25","type":"","value":"ERC721: approve to caller"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8234:6:25"},"nodeType":"YulFunctionCall","src":"8234:55:25"},"nodeType":"YulExpressionStatement","src":"8234:55:25"},{"nodeType":"YulAssignment","src":"8298:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8310:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8321:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8306:3:25"},"nodeType":"YulFunctionCall","src":"8306:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8298:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8132:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8146:4:25","type":""}],"src":"7981:349:25"},{"body":{"nodeType":"YulBlock","src":"8509:240:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8526:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8537:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8519:6:25"},"nodeType":"YulFunctionCall","src":"8519:21:25"},"nodeType":"YulExpressionStatement","src":"8519:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8560:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8571:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8556:3:25"},"nodeType":"YulFunctionCall","src":"8556:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"8576:2:25","type":"","value":"50"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8549:6:25"},"nodeType":"YulFunctionCall","src":"8549:30:25"},"nodeType":"YulExpressionStatement","src":"8549:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8599:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8610:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8595:3:25"},"nodeType":"YulFunctionCall","src":"8595:18:25"},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e204552433732315265","kind":"string","nodeType":"YulLiteral","src":"8615:34:25","type":"","value":"ERC721: transfer to non ERC721Re"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8588:6:25"},"nodeType":"YulFunctionCall","src":"8588:62:25"},"nodeType":"YulExpressionStatement","src":"8588:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8670:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8681:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8666:3:25"},"nodeType":"YulFunctionCall","src":"8666:18:25"},{"hexValue":"63656976657220696d706c656d656e746572","kind":"string","nodeType":"YulLiteral","src":"8686:20:25","type":"","value":"ceiver implementer"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8659:6:25"},"nodeType":"YulFunctionCall","src":"8659:48:25"},"nodeType":"YulExpressionStatement","src":"8659:48:25"},{"nodeType":"YulAssignment","src":"8716:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8728:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"8739:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8724:3:25"},"nodeType":"YulFunctionCall","src":"8724:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8716:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8486:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8500:4:25","type":""}],"src":"8335:414:25"},{"body":{"nodeType":"YulBlock","src":"8941:309:25","statements":[{"nodeType":"YulVariableDeclaration","src":"8951:27:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8971:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8965:5:25"},"nodeType":"YulFunctionCall","src":"8965:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8955:6:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9026:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"9034:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9022:3:25"},"nodeType":"YulFunctionCall","src":"9022:17:25"},{"name":"pos","nodeType":"YulIdentifier","src":"9041:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"9046:6:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8987:34:25"},"nodeType":"YulFunctionCall","src":"8987:66:25"},"nodeType":"YulExpressionStatement","src":"8987:66:25"},{"nodeType":"YulVariableDeclaration","src":"9062:29:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9079:3:25"},{"name":"length","nodeType":"YulIdentifier","src":"9084:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9075:3:25"},"nodeType":"YulFunctionCall","src":"9075:16:25"},"variables":[{"name":"end_1","nodeType":"YulTypedName","src":"9066:5:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9100:29:25","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9122:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9116:5:25"},"nodeType":"YulFunctionCall","src":"9116:13:25"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"9104:8:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9177:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"9185:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9173:3:25"},"nodeType":"YulFunctionCall","src":"9173:17:25"},{"name":"end_1","nodeType":"YulIdentifier","src":"9192:5:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"9199:8:25"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"9138:34:25"},"nodeType":"YulFunctionCall","src":"9138:70:25"},"nodeType":"YulExpressionStatement","src":"9138:70:25"},{"nodeType":"YulAssignment","src":"9217:27:25","value":{"arguments":[{"name":"end_1","nodeType":"YulIdentifier","src":"9228:5:25"},{"name":"length_1","nodeType":"YulIdentifier","src":"9235:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9224:3:25"},"nodeType":"YulFunctionCall","src":"9224:20:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9217:3:25"}]}]},"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":"8909:3:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"8914:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8922:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8933:3:25","type":""}],"src":"8754:496:25"},{"body":{"nodeType":"YulBlock","src":"9458:286:25","statements":[{"nodeType":"YulVariableDeclaration","src":"9468:29:25","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9486:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9491:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9482:3:25"},"nodeType":"YulFunctionCall","src":"9482:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"9495:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9478:3:25"},"nodeType":"YulFunctionCall","src":"9478:19:25"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9472:2:25","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9513:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9528:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9536:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9524:3:25"},"nodeType":"YulFunctionCall","src":"9524:15:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9506:6:25"},"nodeType":"YulFunctionCall","src":"9506:34:25"},"nodeType":"YulExpressionStatement","src":"9506:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9560:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9571:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9556:3:25"},"nodeType":"YulFunctionCall","src":"9556:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"9580:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"9588:2:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9576:3:25"},"nodeType":"YulFunctionCall","src":"9576:15:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9549:6:25"},"nodeType":"YulFunctionCall","src":"9549:43:25"},"nodeType":"YulExpressionStatement","src":"9549:43:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9612:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9623:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9608:3:25"},"nodeType":"YulFunctionCall","src":"9608:18:25"},{"name":"value2","nodeType":"YulIdentifier","src":"9628:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9601:6:25"},"nodeType":"YulFunctionCall","src":"9601:34:25"},"nodeType":"YulExpressionStatement","src":"9601:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9655:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9666:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9651:3:25"},"nodeType":"YulFunctionCall","src":"9651:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"9671:3:25","type":"","value":"128"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9644:6:25"},"nodeType":"YulFunctionCall","src":"9644:31:25"},"nodeType":"YulExpressionStatement","src":"9644:31:25"},{"nodeType":"YulAssignment","src":"9684:54:25","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"9710:6:25"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9722:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"9733:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9718:3:25"},"nodeType":"YulFunctionCall","src":"9718:19:25"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"9692:17:25"},"nodeType":"YulFunctionCall","src":"9692:46:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9684:4:25"}]}]},"name":"abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9403:9:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9414:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9422:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9430:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9438:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9449:4:25","type":""}],"src":"9255:489:25"},{"body":{"nodeType":"YulBlock","src":"9829:169:25","statements":[{"body":{"nodeType":"YulBlock","src":"9875:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9884:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"9887:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"9877:6:25"},"nodeType":"YulFunctionCall","src":"9877:12:25"},"nodeType":"YulExpressionStatement","src":"9877:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9850:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"9859:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9846:3:25"},"nodeType":"YulFunctionCall","src":"9846:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"9871:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9842:3:25"},"nodeType":"YulFunctionCall","src":"9842:32:25"},"nodeType":"YulIf","src":"9839:52:25"},{"nodeType":"YulVariableDeclaration","src":"9900:29:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9919:9:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9913:5:25"},"nodeType":"YulFunctionCall","src":"9913:16:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"9904:5:25","type":""}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9962:5:25"}],"functionName":{"name":"validator_revert_bytes4","nodeType":"YulIdentifier","src":"9938:23:25"},"nodeType":"YulFunctionCall","src":"9938:30:25"},"nodeType":"YulExpressionStatement","src":"9938:30:25"},{"nodeType":"YulAssignment","src":"9977:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"9987:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9977:6:25"}]}]},"name":"abi_decode_tuple_t_bytes4_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9795:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9806:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9818:6:25","type":""}],"src":"9749:249:25"},{"body":{"nodeType":"YulBlock","src":"10035:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10052:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10059:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"10064:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10055:3:25"},"nodeType":"YulFunctionCall","src":"10055:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10045:6:25"},"nodeType":"YulFunctionCall","src":"10045:31:25"},"nodeType":"YulExpressionStatement","src":"10045:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10092:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"10095:4:25","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10085:6:25"},"nodeType":"YulFunctionCall","src":"10085:15:25"},"nodeType":"YulExpressionStatement","src":"10085:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10116:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10119:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10109:6:25"},"nodeType":"YulFunctionCall","src":"10109:15:25"},"nodeType":"YulExpressionStatement","src":"10109:15:25"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"10003:127:25"}]},"contents":"{\n { }\n function validator_revert_bytes4(value)\n {\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value1 := value\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n let offset := calldataload(add(headStart, 96))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value3 := memPtr\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC721: approval to current owne\")\n mstore(add(headStart, 96), \"r\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 61)\n mstore(add(headStart, 64), \"ERC721: approve caller is not to\")\n mstore(add(headStart, 96), \"ken owner or approved for all\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"ERC721: caller is not token owne\")\n mstore(add(headStart, 96), \"r or approved\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ERC721: invalid token ID\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 41)\n mstore(add(headStart, 64), \"ERC721: address zero is not a va\")\n mstore(add(headStart, 96), \"lid owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC721: transfer from incorrect \")\n mstore(add(headStart, 96), \"owner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC721: transfer to the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ERC721: approve to caller\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"ERC721: transfer to non ERC721Re\")\n mstore(add(headStart, 96), \"ceiver implementer\")\n tail := add(headStart, 128)\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 let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), end_1, length_1)\n end := add(end_1, length_1)\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 {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), 128)\n tail := abi_encode_string(value3, add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_bytes4(value)\n value0 := value\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101e1578063b88d4fde146101f4578063c87b56dd14610207578063e985e9c51461021a57600080fd5b80636352211e146101a557806370a08231146101b857806395d89b41146101d957600080fd5b8063095ea7b3116100c8578063095ea7b31461015757806323b872dd1461016c57806342842e0e1461017f57806342966c681461019257600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610f4f565b610256565b60405190151581526020015b60405180910390f35b61011f610267565b60405161010e9190610fbc565b61013f61013a366004610fcf565b6102f9565b6040516001600160a01b03909116815260200161010e565b61016a610165366004611004565b610320565b005b61016a61017a36600461102e565b61043a565b61016a61018d36600461102e565b61046c565b61016a6101a0366004610fcf565b610487565b61013f6101b3366004610fcf565b6104b8565b6101cb6101c636600461106a565b610518565b60405190815260200161010e565b61011f61059e565b61016a6101ef366004611085565b6105ad565b61016a6102023660046110d7565b6105bc565b61011f610215366004610fcf565b6105f4565b6101026102283660046111b3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610261826105ff565b92915050565b606060008054610276906111e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906111e6565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050905090565b600061030482610624565b506000908152600460205260409020546001600160a01b031690565b600061032b826104b8565b9050806001600160a01b0316836001600160a01b03160361039d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103b957506103b98133610228565b61042b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610394565b6104358383610683565b505050565b610445335b826106f1565b6104615760405162461bcd60e51b815260040161039490611220565b610435838383610770565b610435838383604051806020016040528060008152506105bc565b6104903361043f565b6104ac5760405162461bcd60e51b815260040161039490611220565b6104b5816108d4565b50565b6000818152600260205260408120546001600160a01b0316806102615760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b60006001600160a01b0382166105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610394565b506001600160a01b031660009081526003602052604090205490565b606060018054610276906111e6565b6105b83383836108dd565b5050565b6105c633836106f1565b6105e25760405162461bcd60e51b815260040161039490611220565b6105ee848484846109ab565b50505050565b6060610261826109de565b60006001600160e01b03198216632483248360e11b1480610261575061026182610ae6565b6000818152600260205260409020546001600160a01b03166104b55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106b8826104b8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806106fd836104b8565b9050806001600160a01b0316846001600160a01b0316148061074457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107685750836001600160a01b031661075d846102f9565b6001600160a01b0316145b949350505050565b826001600160a01b0316610783826104b8565b6001600160a01b0316146107a95760405162461bcd60e51b81526004016103949061126d565b6001600160a01b03821661080b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610394565b826001600160a01b031661081e826104b8565b6001600160a01b0316146108445760405162461bcd60e51b81526004016103949061126d565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104b581610b36565b816001600160a01b0316836001600160a01b03160361093e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610394565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109b6848484610770565b6109c284848484610b76565b6105ee5760405162461bcd60e51b8152600401610394906112b2565b60606109e982610624565b60008281526006602052604081208054610a02906111e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e906111e6565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b505050505090506000610a9960408051602081019091526000815290565b90508051600003610aab575092915050565b815115610add578082604051602001610ac5929190611304565b60405160208183030381529060405292505050919050565b61076884610c77565b60006001600160e01b031982166380ac58cd60e01b1480610b1757506001600160e01b03198216635b5e139f60e01b145b8061026157506301ffc9a760e01b6001600160e01b0319831614610261565b610b3f81610ceb565b60008181526006602052604090208054610b58906111e6565b1590506104b55760008181526006602052604081206104b591610eeb565b60006001600160a01b0384163b15610c6c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610bba903390899088908890600401611333565b6020604051808303816000875af1925050508015610bf5575060408051601f3d908101601f19168201909252610bf291810190611370565b60015b610c52573d808015610c23576040519150601f19603f3d011682016040523d82523d6000602084013e610c28565b606091505b508051600003610c4a5760405162461bcd60e51b8152600401610394906112b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610768565b506001949350505050565b6060610c8282610624565b6000610c9960408051602081019091526000815290565b90506000815111610cb95760405180602001604052806000815250610ce4565b80610cc384610d80565b604051602001610cd4929190611304565b6040516020818303038152906040525b9392505050565b6000610cf6826104b8565b9050610d01826104b8565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60606000610d8d83610e13565b600101905060008167ffffffffffffffff811115610dad57610dad6110c1565b6040519080825280601f01601f191660200182016040528015610dd7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610de157509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e525772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e7e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e9c57662386f26fc10000830492506010015b6305f5e1008310610eb4576305f5e100830492506008015b6127108310610ec857612710830492506004015b60648310610eda576064830492506002015b600a83106102615760010192915050565b508054610ef7906111e6565b6000825580601f10610f07575050565b601f0160209004906000526020600020908101906104b591905b80821115610f355760008155600101610f21565b5090565b6001600160e01b0319811681146104b557600080fd5b600060208284031215610f6157600080fd5b8135610ce481610f39565b60005b83811015610f87578181015183820152602001610f6f565b50506000910152565b60008151808452610fa8816020860160208601610f6c565b601f01601f19169290920160200192915050565b602081526000610ce46020830184610f90565b600060208284031215610fe157600080fd5b5035919050565b80356001600160a01b0381168114610fff57600080fd5b919050565b6000806040838503121561101757600080fd5b61102083610fe8565b946020939093013593505050565b60008060006060848603121561104357600080fd5b61104c84610fe8565b925061105a60208501610fe8565b9150604084013590509250925092565b60006020828403121561107c57600080fd5b610ce482610fe8565b6000806040838503121561109857600080fd5b6110a183610fe8565b9150602083013580151581146110b657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156110ed57600080fd5b6110f685610fe8565b935061110460208601610fe8565b925060408501359150606085013567ffffffffffffffff8082111561112857600080fd5b818701915087601f83011261113c57600080fd5b81358181111561114e5761114e6110c1565b604051601f8201601f19908116603f01168101908382118183101715611176576111766110c1565b816040528281528a602084870101111561118f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156111c657600080fd5b6111cf83610fe8565b91506111dd60208401610fe8565b90509250929050565b600181811c908216806111fa57607f821691505b60208210810361121a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611316818460208801610f6c565b83519083019061132a818360208801610f6c565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061136690830184610f90565b9695505050505050565b60006020828403121561138257600080fd5b8151610ce481610f3956fea2646970667358221220f2ee410a99715667683fa224eb5be2c0b6c98edb2b01b26a54d1a13e0e3f5ce164736f6c63430008140033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xEA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xA22CB465 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x1E1 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x21A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x1A5 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0xC8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x157 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x117 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x12C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0xFD CALLDATASIZE PUSH1 0x4 PUSH2 0xF4F JUMP JUMPDEST PUSH2 0x256 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11F PUSH2 0x267 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10E SWAP2 SWAP1 PUSH2 0xFBC JUMP JUMPDEST PUSH2 0x13F PUSH2 0x13A CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x165 CALLDATASIZE PUSH1 0x4 PUSH2 0x1004 JUMP JUMPDEST PUSH2 0x320 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16A PUSH2 0x17A CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH2 0x16A PUSH2 0x18D CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x46C JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1A0 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x487 JUMP JUMPDEST PUSH2 0x13F PUSH2 0x1B3 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x4B8 JUMP JUMPDEST PUSH2 0x1CB PUSH2 0x1C6 CALLDATASIZE PUSH1 0x4 PUSH2 0x106A JUMP JUMPDEST PUSH2 0x518 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x10E JUMP JUMPDEST PUSH2 0x11F PUSH2 0x59E JUMP JUMPDEST PUSH2 0x16A PUSH2 0x1EF CALLDATASIZE PUSH1 0x4 PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x16A PUSH2 0x202 CALLDATASIZE PUSH1 0x4 PUSH2 0x10D7 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x11F PUSH2 0x215 CALLDATASIZE PUSH1 0x4 PUSH2 0xFCF JUMP JUMPDEST PUSH2 0x5F4 JUMP JUMPDEST PUSH2 0x102 PUSH2 0x228 CALLDATASIZE PUSH1 0x4 PUSH2 0x11B3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x261 DUP3 PUSH2 0x5FF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2A2 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2D2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x304 DUP3 PUSH2 0x624 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32B DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x39D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76616C20746F2063757272656E74206F776E65 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x39 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ DUP1 PUSH2 0x3B9 JUMPI POP PUSH2 0x3B9 DUP2 CALLER PUSH2 0x228 JUMP JUMPDEST PUSH2 0x42B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x3D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F76652063616C6C6572206973206E6F7420746F PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x6B656E206F776E6572206F7220617070726F76656420666F7220616C6C000000 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 PUSH2 0x683 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x445 CALLER JUMPDEST DUP3 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x461 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x435 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x490 CALLER PUSH2 0x43F JUMP JUMPDEST PUSH2 0x4AC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0x8D4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x29 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A2061646472657373207A65726F206973206E6F742061207661 PUSH1 0x44 DUP3 ADD MSTORE PUSH9 0x3634B21037BBB732B9 PUSH1 0xB9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x276 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH2 0x5B8 CALLER DUP4 DUP4 PUSH2 0x8DD JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x5C6 CALLER DUP4 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x5E2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x1220 JUMP JUMPDEST PUSH2 0x5EE DUP5 DUP5 DUP5 DUP5 PUSH2 0x9AB JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x261 DUP3 PUSH2 0x9DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x24832483 PUSH1 0xE1 SHL EQ DUP1 PUSH2 0x261 JUMPI POP PUSH2 0x261 DUP3 PUSH2 0xAE6 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4B5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x115490CDCC8C4E881A5B9D985B1A59081D1BDAD95B881251 PUSH1 0x42 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0x6B8 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6FD DUP4 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x744 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP9 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST DUP1 PUSH2 0x768 JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x75D DUP5 PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x783 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7A9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x80B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x394 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x81E DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x844 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x126D JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND DUP1 DUP7 MSTORE PUSH1 0x3 DUP6 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE SWAP1 DUP8 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE DUP7 DUP7 MSTORE PUSH1 0x2 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD SWAP1 SWAP3 AND DUP5 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD DUP5 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH2 0x4B5 DUP2 PUSH2 0xB36 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x93E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x394 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x9B6 DUP5 DUP5 DUP5 PUSH2 0x770 JUMP JUMPDEST PUSH2 0x9C2 DUP5 DUP5 DUP5 DUP5 PUSH2 0xB76 JUMP JUMPDEST PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x9E9 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0xA02 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xA2E SWAP1 PUSH2 0x11E6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA7B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA50 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA7B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xA5E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0xA99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xAAB JUMPI POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xADD JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xAC5 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x768 DUP5 PUSH2 0xC77 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0xB17 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x261 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ PUSH2 0x261 JUMP JUMPDEST PUSH2 0xB3F DUP2 PUSH2 0xCEB JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0xB58 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x4B5 SWAP2 PUSH2 0xEEB JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO PUSH2 0xC6C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xBBA SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1333 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xBF5 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xBF2 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1370 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xC52 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xC23 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xC4A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x394 SWAP1 PUSH2 0x12B2 JUMP JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP PUSH2 0x768 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xC82 DUP3 PUSH2 0x624 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC99 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 MLOAD GT PUSH2 0xCB9 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xCE4 JUMP JUMPDEST DUP1 PUSH2 0xCC3 DUP5 PUSH2 0xD80 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xCD4 SWAP3 SWAP2 SWAP1 PUSH2 0x1304 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCF6 DUP3 PUSH2 0x4B8 JUMP JUMPDEST SWAP1 POP PUSH2 0xD01 DUP3 PUSH2 0x4B8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP1 DUP6 MSTORE PUSH1 0x3 DUP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x0 NOT ADD SWAP1 SSTORE DUP8 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE DUP2 DUP5 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE MLOAD SWAP3 SWAP4 POP DUP5 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xD8D DUP4 PUSH2 0xE13 JUMP JUMPDEST PUSH1 0x1 ADD SWAP1 POP PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xDAD JUMPI PUSH2 0xDAD PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xDD7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP DUP2 DUP2 ADD PUSH1 0x20 ADD JUMPDEST PUSH1 0x0 NOT ADD PUSH16 0x181899199A1A9B1B9C1CB0B131B232B3 PUSH1 0x81 SHL PUSH1 0xA DUP7 MOD BYTE DUP2 MSTORE8 PUSH1 0xA DUP6 DIV SWAP5 POP DUP5 PUSH2 0xDE1 JUMPI POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 LT PUSH2 0xE52 JUMPI PUSH19 0x184F03E93FF9F4DAA797ED6E38ED64BF6A1F01 PUSH1 0x40 SHL DUP4 DIV SWAP3 POP PUSH1 0x40 ADD JUMPDEST PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 LT PUSH2 0xE7E JUMPI PUSH14 0x4EE2D6D415B85ACEF8100000000 DUP4 DIV SWAP3 POP PUSH1 0x20 ADD JUMPDEST PUSH7 0x2386F26FC10000 DUP4 LT PUSH2 0xE9C JUMPI PUSH7 0x2386F26FC10000 DUP4 DIV SWAP3 POP PUSH1 0x10 ADD JUMPDEST PUSH4 0x5F5E100 DUP4 LT PUSH2 0xEB4 JUMPI PUSH4 0x5F5E100 DUP4 DIV SWAP3 POP PUSH1 0x8 ADD JUMPDEST PUSH2 0x2710 DUP4 LT PUSH2 0xEC8 JUMPI PUSH2 0x2710 DUP4 DIV SWAP3 POP PUSH1 0x4 ADD JUMPDEST PUSH1 0x64 DUP4 LT PUSH2 0xEDA JUMPI PUSH1 0x64 DUP4 DIV SWAP3 POP PUSH1 0x2 ADD JUMPDEST PUSH1 0xA DUP4 LT PUSH2 0x261 JUMPI PUSH1 0x1 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0xEF7 SWAP1 PUSH2 0x11E6 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0xF07 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x4B5 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xF35 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xF21 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF87 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF6F JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xFA8 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xF6C JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xCE4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1017 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1020 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1043 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x104C DUP5 PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH2 0x105A PUSH1 0x20 DUP6 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x107C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCE4 DUP3 PUSH2 0xFE8 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1098 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10A1 DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x10B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x10ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10F6 DUP6 PUSH2 0xFE8 JUMP JUMPDEST SWAP4 POP PUSH2 0x1104 PUSH1 0x20 DUP7 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x113C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x114E JUMPI PUSH2 0x114E PUSH2 0x10C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1176 JUMPI PUSH2 0x1176 PUSH2 0x10C1 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x118F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11CF DUP4 PUSH2 0xFE8 JUMP JUMPDEST SWAP2 POP PUSH2 0x11DD PUSH1 0x20 DUP5 ADD PUSH2 0xFE8 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11FA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x121A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x2D SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A2063616C6C6572206973206E6F7420746F6B656E206F776E65 PUSH1 0x40 DUP3 ADD MSTORE PUSH13 0x1C881BDC88185C1C1C9BDD9959 PUSH1 0x9A SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x25 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E736665722066726F6D20696E636F727265637420 PUSH1 0x40 DUP3 ADD MSTORE PUSH5 0x37BBB732B9 PUSH1 0xD9 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x32 SWAP1 DUP3 ADD MSTORE PUSH32 0x4552433732313A207472616E7366657220746F206E6F6E204552433732315265 PUSH1 0x40 DUP3 ADD MSTORE PUSH18 0x31B2B4BB32B91034B6B83632B6B2B73A32B9 PUSH1 0x71 SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1316 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x132A DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xF6C JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1366 SWAP1 DUP4 ADD DUP5 PUSH2 0xF90 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1382 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xCE4 DUP2 PUSH2 0xF39 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLCODE 0xEE COINBASE EXP SWAP10 PUSH18 0x5667683FA224EB5BE2C0B6C98EDB2B01B26A SLOAD 0xD1 LOG1 RETURNDATACOPY 0xE EXTCODEHASH 0x5C 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"333:606:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;755:181;;;;;;:::i;:::-;;:::i;:::-;;;565:14:25;;558:22;540:41;;528:2;513:18;755:181:20;;;;;;;;2471:98:5;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:25;;;1679:51;;1667:2;1652:18;3935:167:5;1533:203:25;3468:406:5;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;531:238:8:-;;;;;;:::i;:::-;;:::i;2190:219:5:-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:25;;;2836:2;2821:18;1929:204:5;2702:177:25;2633:102:5;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;584:165:20:-;;;;;;:::i;:::-;;:::i;4388:162:5:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;755:181:20;866:4;893:36;917:11;893:23;:36::i;:::-;886:43;755:181;-1:-1:-1;;755:181:20:o;2471:98:5:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:5;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:5;:2;-1:-1:-1;;;;;3605:11:5;;3597:57;;;;-1:-1:-1;;;3597:57:5;;5363:2:25;3597:57:5;;;5345:21:25;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:25;;;5485:31;5533:19;;3597:57:5;;;;;;;;;734:10:12;-1:-1:-1;;;;;3686:21:5;;;;:62;;-1:-1:-1;3711:37:5;3728:5;734:10:12;4388:162:5;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:5;;5765:2:25;3665:170:5;;;5747:21:25;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:5;5563:425:25;3665:170:5;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;734:10:12;4790:12:5;4804:7;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:5;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;531:238:8:-;647:41;734:10:12;666:12:8;655:96:12;647:41:8;639:99;;;;-1:-1:-1;;;639:99:8;;;;;;;:::i;:::-;748:14;754:7;748:5;:14::i;:::-;531:238;:::o;2190:219:5:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;;2324:56;;;;-1:-1:-1;;;2324:56:5;;6609:2:25;2324:56:5;;;6591:21:25;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:25;;;6660:54;6731:18;;2324:56:5;6407:348:25;1929:204:5;2001:7;-1:-1:-1;;;;;2028:19:5;;2020:73;;;;-1:-1:-1;;;2020:73:5;;6962:2:25;2020:73:5;;;6944:21:25;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:25;;;7084:39;7140:19;;2020:73:5;6760:405:25;2020:73:5;-1:-1:-1;;;;;;2110:16:5;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;734:10:12;4296:8:5;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;734:10:12;5352:7:5;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:5;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;584:165:20:-;683:13;719:23;734:7;719:14;:23::i;535:205:9:-;637:4;-1:-1:-1;;;;;;660:33:9;;-1:-1:-1;;;660:33:9;;:73;;;697:36;721:11;697:23;:36::i;13240:133:5:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:5;13313:53;;;;-1:-1:-1;;;13313:53:5;;6609:2:25;13313:53:5;;;6591:21:25;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:25;;;6660:54;6731:18;;13313:53:5;6407:348:25;12572:171:5;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:5;-1:-1:-1;;;;;12646:29:5;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:5;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:5;:7;-1:-1:-1;;;;;7570:16:5;;:52;;;-1:-1:-1;;;;;;4508:25:5;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:5;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:5;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:5:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:5;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:5;;11346:81;;;;-1:-1:-1;;;11346:81:5;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:5;;11437:65;;;;-1:-1:-1;;;11437:65:5;;7778:2:25;11437:65:5;;;7760:21:25;7817:2;7797:18;;;7790:30;7856:34;7836:18;;;7829:62;-1:-1:-1;;;7907:18:25;;;7900:34;7951:19;;11437:65:5;7576:400:25;11437:65:5;11682:4;-1:-1:-1;;;;;11655:31:5;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:5;;11647:81;;;;-1:-1:-1;;;11647:81:5;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:5;;;;;;-1:-1:-1;;;;;12265:15:5;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:5;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;465:113:20:-;551:20;563:7;551:11;:20::i;12879:277:5:-;12999:8;-1:-1:-1;;;;;12990:17:5;:5;-1:-1:-1;;;;;12990:17:5;;12982:55;;;;-1:-1:-1;;;12982:55:5;;8183:2:25;12982:55:5;;;8165:21:25;8222:2;8202:18;;;8195:30;8261:27;8241:18;;;8234:55;8306:18;;12982:55:5;7981:349:25;12982:55:5;-1:-1:-1;;;;;13047:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:5;;;;;;;;;;13108:41;;540::25;;;13108::5;;513:18:25;13108:41:5;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:5;;;;;;;:::i;806:608:9:-;879:13;904:23;919:7;904:14;:23::i;:::-;938;964:19;;;:10;:19;;;;;938:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:18;1014:10;3395:9:5;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;1014:10:9;993:31;;1103:4;1097:18;1119:1;1097:23;1093:70;;-1:-1:-1;1143:9:9;806:608;-1:-1:-1;;806:608:9:o;1093:70::-;1265:23;;:27;1261:106;;1339:4;1345:9;1322:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1308:48;;;;806:608;;;:::o;1261:106::-;1384:23;1399:7;1384:14;:23::i;1570:300:5:-;1672:4;-1:-1:-1;;;;;;1707:40:5;;-1:-1:-1;;;1707:40:5;;:104;;-1:-1:-1;;;;;;;1763:48:5;;-1:-1:-1;;;1763:48:5;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:15;;;1827:36:5;829:155:15;2070:200:9;2138:20;2150:7;2138:11;:20::i;:::-;2179:19;;;;:10;:19;;;;;2173:33;;;;;:::i;:::-;:38;;-1:-1:-1;2169:95:9;;2234:19;;;;:10;:19;;;;;2227:26;;;:::i;13925:831:5:-;14074:4;-1:-1:-1;;;;;14094:13:5;;1702:19:11;:23;14090:660:5;;14129:71;;-1:-1:-1;;;14129:71:5;;-1:-1:-1;;;;;14129:36:5;;;;;:71;;734:10:12;;14180:4:5;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:5;;;;;;;;-1:-1:-1;;14129:71:5;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:5;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:5;-1:-1:-1;;;14250:51:5;;-1:-1:-1;14243:58:5;;14090:660;-1:-1:-1;14735:4:5;13925:831;;;;;;:::o;2801:276::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:5;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:5:o;10171:762::-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10441:23;10456:7;10441:14;:23::i;:::-;10509:24;;;;:15;:24;;;;;;;;10502:31;;-1:-1:-1;;;;;;10502:31:5;;;;;;-1:-1:-1;;;;;10749:16:5;;;;;:9;:16;;;;;:21;;-1:-1:-1;;10749:21:5;;;10797:16;;;:7;:16;;;;;;10790:23;;;;;;;10829:36;10433:31;;-1:-1:-1;10525:7:5;;10829:36;;10509:24;;10829:36;4169:153;;:::o;447:696:13:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:13;-1:-1:-1;604:41:13;-1:-1:-1;765:28:13;;;781:2;765:28;820:280;-1:-1:-1;;851:5:13;-1:-1:-1;;;985:2:13;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:13;820:280;1064:21;-1:-1:-1;1120:6:13;447:696;-1:-1:-1;;;447:696:13:o;10139:916:17:-;10192:7;;-1:-1:-1;;;10267:17:17;;10263:103;;-1:-1:-1;;;10304:17:17;;;-1:-1:-1;10349:2:17;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:17;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:17;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:17;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:17;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:17;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:17:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:25:-;-1:-1:-1;;;;;;88:32:25;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:25;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:25;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:25:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:25;;1348:180;-1:-1:-1;1348:180:25:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:25;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:25:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:25;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:25;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:401::-;7372:2;7354:21;;;7411:2;7391:18;;;7384:30;7450:34;7445:2;7430:18;;7423:62;-1:-1:-1;;;7516:2:25;7501:18;;7494:35;7561:3;7546:19;;7170:401::o;8335:414::-;8537:2;8519:21;;;8576:2;8556:18;;;8549:30;8615:34;8610:2;8595:18;;8588:62;-1:-1:-1;;;8681:2:25;8666:18;;8659:48;8739:3;8724:19;;8335:414::o;8754:496::-;8933:3;8971:6;8965:13;8987:66;9046:6;9041:3;9034:4;9026:6;9022:17;8987:66;:::i;:::-;9116:13;;9075:16;;;;9138:70;9116:13;9075:16;9185:4;9173:17;;9138:70;:::i;:::-;9224:20;;8754:496;-1:-1:-1;;;;8754:496:25:o;9255:489::-;-1:-1:-1;;;;;9524:15:25;;;9506:34;;9576:15;;9571:2;9556:18;;9549:43;9623:2;9608:18;;9601:34;;;9671:3;9666:2;9651:18;;9644:31;;;9449:4;;9692:46;;9718:19;;9710:6;9692:46;:::i;:::-;9684:54;9255:489;-1:-1:-1;;;;;;9255:489:25:o;9749:249::-;9818:6;9871:2;9859:9;9850:7;9846:23;9842:32;9839:52;;;9887:1;9884;9877:12;9839:52;9919:9;9913:16;9938:30;9962:5;9938:30;:::i"},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"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\":\"uint256\",\"name\":\"_fromTokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_toTokenId\",\"type\":\"uint256\"}],\"name\":\"BatchMetadataUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"MetadataUpdate\",\"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\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"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\":\"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\":\"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\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"BatchMetadataUpdate(uint256,uint256)\":{\"details\":\"This event emits when the metadata of a range of tokens is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFTs.\"},\"MetadataUpdate(uint256)\":{\"details\":\"This event emits when the metadata of a token is changed. So that the third-party platforms such as NFT market could timely update the images and related attributes of the NFT.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"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}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/GammaCardsNFT.v1.sol\":\"NofGammaCardsNFTV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"@openzeppelin/contracts/interfaces/IERC4906.sol\":{\"keccak256\":\"0x2a9dadb806be80dd451821f1f1190eb9aa6f6edae85b185db29d60767cc0c5f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c25cac8dbe5bd96320053d23c3dacdb875e629d7c53ac00892eb7aa8500bde6\",\"dweb:/ipfs/Qmaf2oqbxxdJA9DphAoH4UCb8aXEAVM8fnu6qMxHJ5ta4A\"]},\"@openzeppelin/contracts/interfaces/IERC721.sol\":{\"keccak256\":\"0xaf297d12d8d4a57fe01a70f0ef38908f208e3faedc577056d0b728fa2f3ccf0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbfaf37123958822a2720a4ea29651be00edab787540b770f73d3e025d286ff8\",\"dweb:/ipfs/QmbzgWeTm8hJVUqWrNAwFjshqbYVyeGpQA8D1huzxQdmw6\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol\":{\"keccak256\":\"0x52da94e59d870f54ca0eb4f485c3d9602011f668ba34d72c88124a1496ebaab1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09656a37963a61e79df0b718ad0ec323cd29d409d6ead33dbb91d0770ff87fa4\",\"dweb:/ipfs/QmXLWCYoMpZ4SecK4kVaL53LZWXZNbQG8gUzACmZ6A64rE\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol\":{\"keccak256\":\"0x7942989e3525aec1672469e4c65fb33fbd19c785c9cadbcb70fcbe1fe8bfdd37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c9f260258c2be0e3b75f8ca285872c4bfa3a8fc97fdc2e62366c78abf22b54f\",\"dweb:/ipfs/QmTg1DMNwCDj8NVi6i1noqx7cxuRdPP4VyW4fzDkKAKmH2\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/GammaCardsNFT.v1.sol\":{\"keccak256\":\"0x7524050e2e5e292fba0310bdedf7f4031de1e5d7dc95f22a6e26c3fd33da4784\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98bbcba640d1f0b86dc73a471ad444c526cab5915938b9cc5494d43f09bbd26d\",\"dweb:/ipfs/QmcLCDsXQ6WoskHPqY1k9f4tHyyyfNidsfg7yNZVckjWZY\"]}},\"version\":1}","storageLayout":{"storage":[{"astId":244,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":246,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":250,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_owners","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":254,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_balances","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":258,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_tokenApprovals","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":264,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_operatorApprovals","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":1325,"contract":"contracts/gamma/GammaCardsNFT.v1.sol:NofGammaCardsNFTV1","label":"_tokenURIs","offset":0,"slot":"6","type":"t_mapping(t_uint256,t_string_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}}}},"contracts/gamma/libs/LibControlMgmt.sol":{"LibControlMgmt":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"NewOwnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newSigner","type":"address"}],"name":"NewSignerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"signer","type":"address"}],"name":"SignerRemoved","type":"event"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6105e461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063773b6d121461005b578063982088f01461007d578063b4d78ae41461009d578063b764b1a4146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004610548565b6100dd565b005b81801561008957600080fd5b5061007b610098366004610548565b6101d7565b8180156100a957600080fd5b5061007b6100b8366004610548565b610322565b8180156100c957600080fd5b5061007b6100d8366004610548565b610403565b6001600160a01b03811661010c5760405162461bcd60e51b815260040161010390610584565b60405180910390fd5b6001600160a01b038116600090815260018301602052604090205460ff16156101775760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c72656164792061207369676e65722e000000006044820152606401610103565b6001600160a01b038116600081815260018481016020908152604092839020805460ff191690921790915590519182527f72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa391015b60405180910390a15050565b6001600160a01b0381166101fd5760405162461bcd60e51b815260040161010390610584565b6001600160a01b038116600090815260018301602052604090205460ff166102675760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f742061207369676e65722e00000000000000006044820152606401610103565b336001600160a01b038216036102cf5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320612060448201526639b4b3b732b91760c91b6064820152608401610103565b6001600160a01b0381166000818152600184016020908152604091829020805460ff1916905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91016101cb565b6001600160a01b0381166103485760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff16156103b15760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c726561647920616e206f776e65722e000000006044820152606401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916600117905590519182527f6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d91016101cb565b6001600160a01b0381166104295760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff166104915760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e206f776e65722e00000000000000006044820152606401610103565b336001600160a01b038216036104f95760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661037bbb732b91760c91b6064820152608401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016101cb565b6000806040838503121561055b57600080fd5b8235915060208301356001600160a01b038116811461057957600080fd5b809150509250929050565b60208082526010908201526f24b73b30b634b21030b2323932b9b99760811b60408201526060019056fea2646970667358221220bdc1460ec011ae34a2585654bd65bedde11324faa34ee90f1e34a97f0e2fd3b764736f6c63430008140033","opcodes":"PUSH2 0x5E4 PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x773B6D12 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x982088F0 EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB4D78AE4 EQ PUSH2 0x9D JUMPI DUP1 PUSH4 0xB764B1A4 EQ PUSH2 0xBD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x98 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x1D7 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x322 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xD8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x403 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x10C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C72656164792061207369676E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x72D4003E8F1AD99F4F488C703A1D183DEE364A6337CB77F8FBA50088CB0FBFA3 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x267 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F742061207369676E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x2CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C66206173206120 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x39B4B3B732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x3525E22824A8A7DF2C9A6029941C824CF95B6447F1E13D5128FD3826D35AFE8B SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x348 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C726561647920616E206F776E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x6E4E2A7C0E1576D48AEABD633D094F622D4F046286FEC8B9045DD7F5C9FB087D SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x429 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F7420616E206F776E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x4F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C6620617320616E PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1037BBB732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x58619076ADF5BB0943D100EF88D52D7C3FD691B19D3A9071B555B651FBF418DA SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x579 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21030B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD 0xC1 CHAINID 0xE 0xC0 GT 0xAE CALLVALUE LOG2 PC JUMP SLOAD 0xBD PUSH6 0xBEDDE11324FA LOG3 0x4E 0xE9 0xF 0x1E CALLVALUE 0xA9 PUSH32 0xE2FD3B764736F6C634300081400330000000000000000000000000000000000 ","sourceMap":"58:1693:21:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:1693:21;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@addOwner_5774":{"entryPoint":802,"id":5774,"parameterSlots":2,"returnSlots":0},"@addSigner_5861":{"entryPoint":221,"id":5861,"parameterSlots":2,"returnSlots":0},"@removeOwner_5821":{"entryPoint":1027,"id":5821,"parameterSlots":2,"returnSlots":0},"@removeSigner_5908":{"entryPoint":471,"id":5908,"parameterSlots":2,"returnSlots":0},"abi_decode_tuple_t_struct$_Data_$5718_storage_ptrt_address":{"entryPoint":1352,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":1412,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:3182:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"124:267:25","statements":[{"body":{"nodeType":"YulBlock","src":"170:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"179:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"182:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"172:6:25"},"nodeType":"YulFunctionCall","src":"172:12:25"},"nodeType":"YulExpressionStatement","src":"172:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"145:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"154:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"141:3:25"},"nodeType":"YulFunctionCall","src":"141:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"166:2:25","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"137:3:25"},"nodeType":"YulFunctionCall","src":"137:32:25"},"nodeType":"YulIf","src":"134:52:25"},{"nodeType":"YulAssignment","src":"195:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"218:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"205:12:25"},"nodeType":"YulFunctionCall","src":"205:23:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"195:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"237:45:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"267:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"278:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"263:3:25"},"nodeType":"YulFunctionCall","src":"263:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"250:12:25"},"nodeType":"YulFunctionCall","src":"250:32:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"241:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"345:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"354:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"357:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"347:6:25"},"nodeType":"YulFunctionCall","src":"347:12:25"},"nodeType":"YulExpressionStatement","src":"347:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"304:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"315:5:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"330:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"335:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"326:3:25"},"nodeType":"YulFunctionCall","src":"326:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"339:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"322:3:25"},"nodeType":"YulFunctionCall","src":"322:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"311:3:25"},"nodeType":"YulFunctionCall","src":"311:31:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"301:2:25"},"nodeType":"YulFunctionCall","src":"301:42:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"294:6:25"},"nodeType":"YulFunctionCall","src":"294:50:25"},"nodeType":"YulIf","src":"291:70:25"},{"nodeType":"YulAssignment","src":"370:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"380:5:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"370:6:25"}]}]},"name":"abi_decode_tuple_t_struct$_Data_$5718_storage_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"82:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"93:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"105:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"113:6:25","type":""}],"src":"14:377:25"},{"body":{"nodeType":"YulBlock","src":"570:166:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"587:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"598:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"580:6:25"},"nodeType":"YulFunctionCall","src":"580:21:25"},"nodeType":"YulExpressionStatement","src":"580:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"621:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"632:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"617:3:25"},"nodeType":"YulFunctionCall","src":"617:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"637:2:25","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"610:6:25"},"nodeType":"YulFunctionCall","src":"610:30:25"},"nodeType":"YulExpressionStatement","src":"610:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"660:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"671:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"656:3:25"},"nodeType":"YulFunctionCall","src":"656:18:25"},{"hexValue":"496e76616c696420616464726573732e","kind":"string","nodeType":"YulLiteral","src":"676:18:25","type":"","value":"Invalid address."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"649:6:25"},"nodeType":"YulFunctionCall","src":"649:46:25"},"nodeType":"YulExpressionStatement","src":"649:46:25"},{"nodeType":"YulAssignment","src":"704:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"716:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"727:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"712:3:25"},"nodeType":"YulFunctionCall","src":"712:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"704:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"547:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"561:4:25","type":""}],"src":"396:340:25"},{"body":{"nodeType":"YulBlock","src":"915:178:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"932:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"943:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"925:6:25"},"nodeType":"YulFunctionCall","src":"925:21:25"},"nodeType":"YulExpressionStatement","src":"925:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"966:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"977:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"962:3:25"},"nodeType":"YulFunctionCall","src":"962:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"982:2:25","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"955:6:25"},"nodeType":"YulFunctionCall","src":"955:30:25"},"nodeType":"YulExpressionStatement","src":"955:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1005:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1016:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1001:3:25"},"nodeType":"YulFunctionCall","src":"1001:18:25"},{"hexValue":"4164647265737320697320616c72656164792061207369676e65722e","kind":"string","nodeType":"YulLiteral","src":"1021:30:25","type":"","value":"Address is already a signer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"994:6:25"},"nodeType":"YulFunctionCall","src":"994:58:25"},"nodeType":"YulExpressionStatement","src":"994:58:25"},{"nodeType":"YulAssignment","src":"1061:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1073:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1084:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1069:3:25"},"nodeType":"YulFunctionCall","src":"1069:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1061:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"892:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"906:4:25","type":""}],"src":"741:352:25"},{"body":{"nodeType":"YulBlock","src":"1199:102:25","statements":[{"nodeType":"YulAssignment","src":"1209:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1221:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1232:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1217:3:25"},"nodeType":"YulFunctionCall","src":"1217:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1209:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1251:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1266:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1282:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1287:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1278:3:25"},"nodeType":"YulFunctionCall","src":"1278:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"1291:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1274:3:25"},"nodeType":"YulFunctionCall","src":"1274:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1262:3:25"},"nodeType":"YulFunctionCall","src":"1262:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1244:6:25"},"nodeType":"YulFunctionCall","src":"1244:51:25"},"nodeType":"YulExpressionStatement","src":"1244:51:25"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1168:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1179:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1190:4:25","type":""}],"src":"1098:203:25"},{"body":{"nodeType":"YulBlock","src":"1480:174:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1497:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1508:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1490:6:25"},"nodeType":"YulFunctionCall","src":"1490:21:25"},"nodeType":"YulExpressionStatement","src":"1490:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1531:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1542:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1527:3:25"},"nodeType":"YulFunctionCall","src":"1527:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"1547:2:25","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1520:6:25"},"nodeType":"YulFunctionCall","src":"1520:30:25"},"nodeType":"YulExpressionStatement","src":"1520:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1570:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1581:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1566:3:25"},"nodeType":"YulFunctionCall","src":"1566:18:25"},{"hexValue":"41646472657373206973206e6f742061207369676e65722e","kind":"string","nodeType":"YulLiteral","src":"1586:26:25","type":"","value":"Address is not a signer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1559:6:25"},"nodeType":"YulFunctionCall","src":"1559:54:25"},"nodeType":"YulExpressionStatement","src":"1559:54:25"},{"nodeType":"YulAssignment","src":"1622:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1634:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1645:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1630:3:25"},"nodeType":"YulFunctionCall","src":"1630:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1622:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1457:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1471:4:25","type":""}],"src":"1306:348:25"},{"body":{"nodeType":"YulBlock","src":"1833:229:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1850:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1861:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1843:6:25"},"nodeType":"YulFunctionCall","src":"1843:21:25"},"nodeType":"YulExpressionStatement","src":"1843:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1884:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1895:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1880:3:25"},"nodeType":"YulFunctionCall","src":"1880:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"1900:2:25","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1873:6:25"},"nodeType":"YulFunctionCall","src":"1873:30:25"},"nodeType":"YulExpressionStatement","src":"1873:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1923:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1934:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1919:3:25"},"nodeType":"YulFunctionCall","src":"1919:18:25"},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c66206173206120","kind":"string","nodeType":"YulLiteral","src":"1939:34:25","type":"","value":"You cannot remove yourself as a "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1912:6:25"},"nodeType":"YulFunctionCall","src":"1912:62:25"},"nodeType":"YulExpressionStatement","src":"1912:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1994:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2005:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1990:3:25"},"nodeType":"YulFunctionCall","src":"1990:18:25"},{"hexValue":"7369676e65722e","kind":"string","nodeType":"YulLiteral","src":"2010:9:25","type":"","value":"signer."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1983:6:25"},"nodeType":"YulFunctionCall","src":"1983:37:25"},"nodeType":"YulExpressionStatement","src":"1983:37:25"},{"nodeType":"YulAssignment","src":"2029:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2041:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2052:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2037:3:25"},"nodeType":"YulFunctionCall","src":"2037:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2029:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1810:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1824:4:25","type":""}],"src":"1659:403:25"},{"body":{"nodeType":"YulBlock","src":"2241:178:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2258:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2269:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2251:6:25"},"nodeType":"YulFunctionCall","src":"2251:21:25"},"nodeType":"YulExpressionStatement","src":"2251:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2292:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2303:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2288:3:25"},"nodeType":"YulFunctionCall","src":"2288:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"2308:2:25","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2281:6:25"},"nodeType":"YulFunctionCall","src":"2281:30:25"},"nodeType":"YulExpressionStatement","src":"2281:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2331:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2342:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2327:3:25"},"nodeType":"YulFunctionCall","src":"2327:18:25"},{"hexValue":"4164647265737320697320616c726561647920616e206f776e65722e","kind":"string","nodeType":"YulLiteral","src":"2347:30:25","type":"","value":"Address is already an owner."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2320:6:25"},"nodeType":"YulFunctionCall","src":"2320:58:25"},"nodeType":"YulExpressionStatement","src":"2320:58:25"},{"nodeType":"YulAssignment","src":"2387:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2399:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2410:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2395:3:25"},"nodeType":"YulFunctionCall","src":"2395:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2387:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2218:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2232:4:25","type":""}],"src":"2067:352:25"},{"body":{"nodeType":"YulBlock","src":"2598:174:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2615:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2626:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2608:6:25"},"nodeType":"YulFunctionCall","src":"2608:21:25"},"nodeType":"YulExpressionStatement","src":"2608:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2649:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2660:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2645:3:25"},"nodeType":"YulFunctionCall","src":"2645:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"2665:2:25","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2638:6:25"},"nodeType":"YulFunctionCall","src":"2638:30:25"},"nodeType":"YulExpressionStatement","src":"2638:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2688:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2699:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2684:3:25"},"nodeType":"YulFunctionCall","src":"2684:18:25"},{"hexValue":"41646472657373206973206e6f7420616e206f776e65722e","kind":"string","nodeType":"YulLiteral","src":"2704:26:25","type":"","value":"Address is not an owner."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2677:6:25"},"nodeType":"YulFunctionCall","src":"2677:54:25"},"nodeType":"YulExpressionStatement","src":"2677:54:25"},{"nodeType":"YulAssignment","src":"2740:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2752:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2763:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2748:3:25"},"nodeType":"YulFunctionCall","src":"2748:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2740:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2575:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2589:4:25","type":""}],"src":"2424:348:25"},{"body":{"nodeType":"YulBlock","src":"2951:229:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2968:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2979:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2961:6:25"},"nodeType":"YulFunctionCall","src":"2961:21:25"},"nodeType":"YulExpressionStatement","src":"2961:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3002:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3013:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2998:3:25"},"nodeType":"YulFunctionCall","src":"2998:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"3018:2:25","type":"","value":"39"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2991:6:25"},"nodeType":"YulFunctionCall","src":"2991:30:25"},"nodeType":"YulExpressionStatement","src":"2991:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3041:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3052:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3037:3:25"},"nodeType":"YulFunctionCall","src":"3037:18:25"},{"hexValue":"596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e","kind":"string","nodeType":"YulLiteral","src":"3057:34:25","type":"","value":"You cannot remove yourself as an"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3030:6:25"},"nodeType":"YulFunctionCall","src":"3030:62:25"},"nodeType":"YulExpressionStatement","src":"3030:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3112:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3123:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3108:3:25"},"nodeType":"YulFunctionCall","src":"3108:18:25"},{"hexValue":"206f776e65722e","kind":"string","nodeType":"YulLiteral","src":"3128:9:25","type":"","value":" owner."}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3101:6:25"},"nodeType":"YulFunctionCall","src":"3101:37:25"},"nodeType":"YulExpressionStatement","src":"3101:37:25"},{"nodeType":"YulAssignment","src":"3147:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3159:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3170:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3155:3:25"},"nodeType":"YulFunctionCall","src":"3155:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3147:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2928:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2942:4:25","type":""}],"src":"2777:403:25"}]},"contents":"{\n { }\n function abi_decode_tuple_t_struct$_Data_$5718_storage_ptrt_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_stringliteral_59acb5750c30236105ee23a5a3223a770d00887da62c81b37662e3711045ad34__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Invalid address.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6fd29d050c723de0788b8370efbb9a0a3306647fddc33996abbb14189ac4ddb9__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Address is already a signer.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_02d8e7d33342ccfb4378f37fe54acaf55de4fc1c0ee5b888b2a582caf8e1939d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Address is not a signer.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1a3e0da5061598a1dc7bb55dadee7574c0a867994fbb136e9f5d7d4c3dc1eaed__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"You cannot remove yourself as a \")\n mstore(add(headStart, 96), \"signer.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1da5ad01160e00aeaa0280245a6c66169f2d72012fef7f0adbb38e323363f91f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Address is already an owner.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_de152c000b3e38e9253f515720a7d5ce807069bca4e42a7c44abad1002501502__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Address is not an owner.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d7cdd3c058c212eb8de288c8438e05f404fc8e2f797232aea7fd0620cd6a1a75__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"You cannot remove yourself as an\")\n mstore(add(headStart, 96), \" owner.\")\n tail := add(headStart, 128)\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063773b6d121461005b578063982088f01461007d578063b4d78ae41461009d578063b764b1a4146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004610548565b6100dd565b005b81801561008957600080fd5b5061007b610098366004610548565b6101d7565b8180156100a957600080fd5b5061007b6100b8366004610548565b610322565b8180156100c957600080fd5b5061007b6100d8366004610548565b610403565b6001600160a01b03811661010c5760405162461bcd60e51b815260040161010390610584565b60405180910390fd5b6001600160a01b038116600090815260018301602052604090205460ff16156101775760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c72656164792061207369676e65722e000000006044820152606401610103565b6001600160a01b038116600081815260018481016020908152604092839020805460ff191690921790915590519182527f72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa391015b60405180910390a15050565b6001600160a01b0381166101fd5760405162461bcd60e51b815260040161010390610584565b6001600160a01b038116600090815260018301602052604090205460ff166102675760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f742061207369676e65722e00000000000000006044820152606401610103565b336001600160a01b038216036102cf5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320612060448201526639b4b3b732b91760c91b6064820152608401610103565b6001600160a01b0381166000818152600184016020908152604091829020805460ff1916905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91016101cb565b6001600160a01b0381166103485760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff16156103b15760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c726561647920616e206f776e65722e000000006044820152606401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916600117905590519182527f6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d91016101cb565b6001600160a01b0381166104295760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff166104915760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e206f776e65722e00000000000000006044820152606401610103565b336001600160a01b038216036104f95760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661037bbb732b91760c91b6064820152608401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016101cb565b6000806040838503121561055b57600080fd5b8235915060208301356001600160a01b038116811461057957600080fd5b809150509250929050565b60208082526010908201526f24b73b30b634b21030b2323932b9b99760811b60408201526060019056fea2646970667358221220bdc1460ec011ae34a2585654bd65bedde11324faa34ee90f1e34a97f0e2fd3b764736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x56 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x773B6D12 EQ PUSH2 0x5B JUMPI DUP1 PUSH4 0x982088F0 EQ PUSH2 0x7D JUMPI DUP1 PUSH4 0xB4D78AE4 EQ PUSH2 0x9D JUMPI DUP1 PUSH4 0xB764B1A4 EQ PUSH2 0xBD JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x76 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0x89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0x98 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x1D7 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xB8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x322 JUMP JUMPDEST DUP2 DUP1 ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x7B PUSH2 0xD8 CALLDATASIZE PUSH1 0x4 PUSH2 0x548 JUMP JUMPDEST PUSH2 0x403 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x10C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x177 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C72656164792061207369676E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 DUP2 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP3 DUP4 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x72D4003E8F1AD99F4F488C703A1D183DEE364A6337CB77F8FBA50088CB0FBFA3 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x267 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F742061207369676E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x2CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C66206173206120 PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x39B4B3B732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x3525E22824A8A7DF2C9A6029941C824CF95B6447F1E13D5128FD3826D35AFE8B SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x348 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x3B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4164647265737320697320616C726561647920616E206F776E65722E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x6E4E2A7C0E1576D48AEABD633D094F622D4F046286FEC8B9045DD7F5C9FB087D SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x429 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x103 SWAP1 PUSH2 0x584 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP4 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x491 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x41646472657373206973206E6F7420616E206F776E65722E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x103 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SUB PUSH2 0x4F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x27 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E6E6F742072656D6F766520796F757273656C6620617320616E PUSH1 0x44 DUP3 ADD MSTORE PUSH7 0x1037BBB732B917 PUSH1 0xC9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x103 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP5 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE SWAP1 MLOAD SWAP2 DUP3 MSTORE PUSH32 0x58619076ADF5BB0943D100EF88D52D7C3FD691B19D3A9071B555B651FBF418DA SWAP2 ADD PUSH2 0x1CB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x579 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21030B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBD 0xC1 CHAINID 0xE 0xC0 GT 0xAE CALLVALUE LOG2 PC JUMP SLOAD 0xBD PUSH6 0xBEDDE11324FA LOG3 0x4E 0xE9 0xF 0x1E CALLVALUE 0xA9 PUSH32 0xE2FD3B764736F6C634300081400330000000000000000000000000000000000 ","sourceMap":"58:1693:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1050:290;;;;;;;;;;-1:-1:-1;1050:290:21;;;;;:::i;:::-;;:::i;:::-;;1346:403;;;;;;;;;;-1:-1:-1;1346:403:21;;;;;:::i;:::-;;:::i;364:281::-;;;;;;;;;;-1:-1:-1;364:281:21;;;;;:::i;:::-;;:::i;651:393::-;;;;;;;;;;-1:-1:-1;651:393:21;;;;;:::i;:::-;;:::i;1050:290::-;-1:-1:-1;;;;;1134:23:21;;1126:52;;;;-1:-1:-1;;;1126:52:21;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1197:23:21;;;;;;:12;;;:23;;;;;;;;1196:24;1188:65;;;;-1:-1:-1;;;1188:65:21;;943:2:25;1188:65:21;;;925:21:25;982:2;962:18;;;955:30;1021;1001:18;;;994:58;1069:18;;1188:65:21;741:352:25;1188:65:21;-1:-1:-1;;;;;1263:23:21;;;;;;1289:4;1263:12;;;:23;;;;;;;;;:30;;-1:-1:-1;;1263:30:21;;;;;;;1308:25;;1244:51:25;;;1308:25:21;;1217:18:25;1308:25:21;;;;;;;;1050:290;;:::o;1346:403::-;-1:-1:-1;;;;;1438:28:21;;1430:57;;;;-1:-1:-1;;;1430:57:21;;;;;;;:::i;:::-;-1:-1:-1;;;;;1505:28:21;;;;;;:12;;;:28;;;;;;;;1497:65;;;;-1:-1:-1;;;1497:65:21;;1508:2:25;1497:65:21;;;1490:21:25;1547:2;1527:18;;;1520:30;1586:26;1566:18;;;1559:54;1630:18;;1497:65:21;1306:348:25;1497:65:21;1598:10;-1:-1:-1;;;;;1580:28:21;;;1572:80;;;;-1:-1:-1;;;1572:80:21;;1861:2:25;1572:80:21;;;1843:21:25;1900:2;1880:18;;;1873:30;1939:34;1919:18;;;1912:62;-1:-1:-1;;;1990:18:25;;;1983:37;2037:19;;1572:80:21;1659:403:25;1572:80:21;-1:-1:-1;;;;;1662:28:21;;1693:5;1662:28;;;:12;;;:28;;;;;;;;;:36;;-1:-1:-1;;1662:36:21;;;1713:29;;1244:51:25;;;1713:29:21;;1217:18:25;1713:29:21;1098:203:25;364:281:21;-1:-1:-1;;;;;446:22:21;;438:51;;;;-1:-1:-1;;;438:51:21;;;;;;;:::i;:::-;-1:-1:-1;;;;;508:21:21;;:11;:21;;;;;;;;;;;;;507:22;499:63;;;;-1:-1:-1;;;499:63:21;;2269:2:25;499:63:21;;;2251:21:25;2308:2;2288:18;;;2281:30;2347;2327:18;;;2320:58;2395:18;;499:63:21;2067:352:25;499:63:21;-1:-1:-1;;;;;572:21:21;;:11;:21;;;;;;;;;;;;:28;;-1:-1:-1;;572:28:21;596:4;572:28;;;615:23;;1244:51:25;;;615:23:21;;1217:18:25;615:23:21;1098:203:25;651:393:21;-1:-1:-1;;;;;741:27:21;;733:56;;;;-1:-1:-1;;;733:56:21;;;;;;;:::i;:::-;-1:-1:-1;;;;;807:26:21;;:11;:26;;;;;;;;;;;;;799:63;;;;-1:-1:-1;;;799:63:21;;2626:2:25;799:63:21;;;2608:21:25;2665:2;2645:18;;;2638:30;2704:26;2684:18;;;2677:54;2748:18;;799:63:21;2424:348:25;799:63:21;897:10;-1:-1:-1;;;;;880:27:21;;;872:79;;;;-1:-1:-1;;;872:79:21;;2979:2:25;872:79:21;;;2961:21:25;3018:2;2998:18;;;2991:30;3057:34;3037:18;;;3030:62;-1:-1:-1;;;3108:18:25;;;3101:37;3155:19;;872:79:21;2777:403:25;872:79:21;-1:-1:-1;;;;;961:26:21;;990:5;961:26;;;;;;;;;;;;:34;;-1:-1:-1;;961:34:21;;;1010:27;;1244:51:25;;;1010:27:21;;1217:18:25;1010:27:21;1098:203:25;14:377;105:6;113;166:2;154:9;145:7;141:23;137:32;134:52;;;182:1;179;172:12;134:52;205:23;;;-1:-1:-1;278:2:25;263:18;;250:32;-1:-1:-1;;;;;311:31:25;;301:42;;291:70;;357:1;354;347:12;291:70;380:5;370:15;;;14:377;;;;;:::o;396:340::-;598:2;580:21;;;637:2;617:18;;;610:30;-1:-1:-1;;;671:2:25;656:18;;649:46;727:2;712:18;;396:340::o"},"methodIdentifiers":{"addOwner(LibControlMgmt.Data storage,address)":"b4d78ae4","addSigner(LibControlMgmt.Data storage,address)":"773b6d12","removeOwner(LibControlMgmt.Data storage,address)":"b764b1a4","removeSigner(LibControlMgmt.Data storage,address)":"982088f0"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"NewOwnerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newSigner\",\"type\":\"address\"}],\"name\":\"NewSignerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"SignerRemoved\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/libs/LibControlMgmt.sol\":\"LibControlMgmt\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/gamma/libs/LibControlMgmt.sol\":{\"keccak256\":\"0x9d7cba3051fd0c73feb36c4b138f3df629ef4039e88098984fbc325867dfb4ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fb9ce5b513feda45eb223e609c34d12003f9c36aa25fcd9446b526ac0c88ca0\",\"dweb:/ipfs/QmWqMjVA8pKEEUf7AeUcnRvj8NrvLvLHGMqF9j4w8nngyC\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/gamma/libs/LibPackVerifier.sol":{"LibPackVerifier":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"packNumber","type":"uint256"},{"internalType":"uint8[]","name":"packData","type":"uint8[]"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"verifyPackSigner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6105fc61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806338fb7d8b1461003a575b600080fd5b61004d61004836600461040c565b610069565b6040516001600160a01b03909116815260200160405180910390f35b6000806100cd87878760405160200161008493929190610522565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b9050600061011385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061011f9050565b98975050505050505050565b600080600061012e8585610143565b9150915061013b81610188565b509392505050565b60008082516041036101795760208301516040840151606085015160001a61016d878285856102da565b94509450505050610181565b506000905060025b9250929050565b600081600481111561019c5761019c6105b0565b036101a45750565b60018160048111156101b8576101b86105b0565b0361020a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561021e5761021e6105b0565b0361026b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610201565b600381600481111561027f5761027f6105b0565b036102d75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610201565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156103115750600090506003610395565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610365573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661038e57600060019250925050610395565b9150600090505b94509492505050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146103c557600080fd5b919050565b60008083601f8401126103dc57600080fd5b50813567ffffffffffffffff8111156103f457600080fd5b60208301915083602082850101111561018157600080fd5b60008060008060006080868803121561042457600080fd5b85356001600160a01b038116811461043b57600080fd5b94506020868101359450604087013567ffffffffffffffff8082111561046057600080fd5b818901915089601f83011261047457600080fd5b8135818111156104865761048661039e565b8060051b604051601f19603f830116810181811085821117156104ab576104ab61039e565b6040529182528381018501918581018d8411156104c757600080fd5b948601945b838610156104ea576104dd866103b4565b81529486019486016104cc565b5097505050606089013592508083111561050357600080fd5b5050610511888289016103ca565b969995985093965092949392505050565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b8381101561056c57815160ff168552938201939082019060010161054d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202403adb3d5a58586f6f0122c27cfb786994f9734933a6198d0f0a3bec9cbbdf664736f6c63430008140033","opcodes":"PUSH2 0x5FC PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x38FB7D8B EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x40C JUMP JUMPDEST PUSH2 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCD DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x84 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x522 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3C SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x113 DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP7 SWAP4 SWAP3 POP POP PUSH2 0x11F SWAP1 POP JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x12E DUP6 DUP6 PUSH2 0x143 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x13B DUP2 PUSH2 0x188 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD PUSH1 0x41 SUB PUSH2 0x179 JUMPI PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x0 BYTE PUSH2 0x16D DUP8 DUP3 DUP6 DUP6 PUSH2 0x2DA JUMP JUMPDEST SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x181 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH1 0x2 JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x19C JUMPI PUSH2 0x19C PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x1A4 JUMPI POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x1B8 JUMPI PUSH2 0x1B8 PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x20A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E61747572650000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x21E JUMPI PUSH2 0x21E PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x26B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265206C656E67746800 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x201 JUMP JUMPDEST PUSH1 0x3 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x27F JUMPI PUSH2 0x27F PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x2D7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265202773272076616C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7565 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x201 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP4 GT ISZERO PUSH2 0x311 JUMPI POP PUSH1 0x0 SWAP1 POP PUSH1 0x3 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x365 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38E JUMPI PUSH1 0x0 PUSH1 0x1 SWAP3 POP SWAP3 POP POP PUSH2 0x395 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 DUP2 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x460 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x486 JUMPI PUSH2 0x486 PUSH2 0x39E JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x4AB JUMPI PUSH2 0x4AB PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD DUP14 DUP5 GT ISZERO PUSH2 0x4C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP7 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4DD DUP7 PUSH2 0x3B4 JUMP JUMPDEST DUP2 MSTORE SWAP5 DUP7 ADD SWAP5 DUP7 ADD PUSH2 0x4CC JUMP JUMPDEST POP SWAP8 POP POP POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x511 DUP9 DUP3 DUP10 ADD PUSH2 0x3CA JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP5 PUSH1 0x60 SHL AND DUP2 MSTORE DUP3 PUSH1 0x14 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x34 DUP3 ADD DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x56C JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x54D JUMP JUMPDEST POP POP PUSH32 0x3078663164443731383935653439623135363336393339363964653530383938 DUP4 MSTORE PUSH10 0x31393763444633343831 PUSH1 0xB0 SHL SWAP1 DUP4 ADD MSTORE POP PUSH1 0x2A ADD SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SUB 0xAD 0xB3 0xD5 0xA5 DUP6 DUP7 0xF6 CREATE SLT 0x2C 0x27 0xCF 0xB7 DUP7 SWAP10 0x4F SWAP8 CALLVALUE SWAP4 GASPRICE PUSH2 0x98D0 CREATE LOG3 0xBE 0xC9 0xCB 0xBD 0xF6 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"122:531:22:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;122:531:22;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_throwError_2135":{"entryPoint":392,"id":2135,"parameterSlots":1,"returnSlots":0},"@recover_2208":{"entryPoint":287,"id":2208,"parameterSlots":2,"returnSlots":1},"@toEthSignedMessageHash_2392":{"entryPoint":null,"id":2392,"parameterSlots":1,"returnSlots":1},"@tryRecover_2181":{"entryPoint":323,"id":2181,"parameterSlots":2,"returnSlots":2},"@tryRecover_2349":{"entryPoint":730,"id":2349,"parameterSlots":4,"returnSlots":2},"@verifyPackSigner_5953":{"entryPoint":105,"id":5953,"parameterSlots":5,"returnSlots":1},"abi_decode_bytes_calldata":{"entryPoint":970,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr":{"entryPoint":1036,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_uint8":{"entryPoint":948,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_packed_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":1314,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"panic_error_0x21":{"entryPoint":1456,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":926,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:5122:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:25"},"nodeType":"YulFunctionCall","src":"66:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:25"},"nodeType":"YulFunctionCall","src":"56:31:25"},"nodeType":"YulExpressionStatement","src":"56:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:25"},"nodeType":"YulFunctionCall","src":"96:15:25"},"nodeType":"YulExpressionStatement","src":"96:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:25"},"nodeType":"YulFunctionCall","src":"120:15:25"},"nodeType":"YulExpressionStatement","src":"120:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"14:127:25"},{"body":{"nodeType":"YulBlock","src":"193:109:25","statements":[{"nodeType":"YulAssignment","src":"203:29:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"225:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"212:12:25"},"nodeType":"YulFunctionCall","src":"212:20:25"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"203:5:25"}]},{"body":{"nodeType":"YulBlock","src":"280:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"289:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"292:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"282:6:25"},"nodeType":"YulFunctionCall","src":"282:12:25"},"nodeType":"YulExpressionStatement","src":"282:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"254:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"265:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"272:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"261:3:25"},"nodeType":"YulFunctionCall","src":"261:16:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"251:2:25"},"nodeType":"YulFunctionCall","src":"251:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"244:6:25"},"nodeType":"YulFunctionCall","src":"244:35:25"},"nodeType":"YulIf","src":"241:55:25"}]},"name":"abi_decode_uint8","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"172:6:25","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"183:5:25","type":""}],"src":"146:156:25"},{"body":{"nodeType":"YulBlock","src":"379:275:25","statements":[{"body":{"nodeType":"YulBlock","src":"428:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"437:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"440:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"430:6:25"},"nodeType":"YulFunctionCall","src":"430:12:25"},"nodeType":"YulExpressionStatement","src":"430:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"407:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"415:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"403:3:25"},"nodeType":"YulFunctionCall","src":"403:17:25"},{"name":"end","nodeType":"YulIdentifier","src":"422:3:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"399:3:25"},"nodeType":"YulFunctionCall","src":"399:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"392:6:25"},"nodeType":"YulFunctionCall","src":"392:35:25"},"nodeType":"YulIf","src":"389:55:25"},{"nodeType":"YulAssignment","src":"453:30:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"476:6:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"463:12:25"},"nodeType":"YulFunctionCall","src":"463:20:25"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"453:6:25"}]},{"body":{"nodeType":"YulBlock","src":"526:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"535:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"538:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"528:6:25"},"nodeType":"YulFunctionCall","src":"528:12:25"},"nodeType":"YulExpressionStatement","src":"528:12:25"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"498:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"506:18:25","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"495:2:25"},"nodeType":"YulFunctionCall","src":"495:30:25"},"nodeType":"YulIf","src":"492:50:25"},{"nodeType":"YulAssignment","src":"551:29:25","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"567:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"575:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"563:3:25"},"nodeType":"YulFunctionCall","src":"563:17:25"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"551:8:25"}]},{"body":{"nodeType":"YulBlock","src":"632:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"641:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"644:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"634:6:25"},"nodeType":"YulFunctionCall","src":"634:12:25"},"nodeType":"YulExpressionStatement","src":"634:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"603:6:25"},{"name":"length","nodeType":"YulIdentifier","src":"611:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"599:3:25"},"nodeType":"YulFunctionCall","src":"599:19:25"},{"kind":"number","nodeType":"YulLiteral","src":"620:4:25","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"595:3:25"},"nodeType":"YulFunctionCall","src":"595:30:25"},{"name":"end","nodeType":"YulIdentifier","src":"627:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"592:2:25"},"nodeType":"YulFunctionCall","src":"592:39:25"},"nodeType":"YulIf","src":"589:59:25"}]},"name":"abi_decode_bytes_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"342:6:25","type":""},{"name":"end","nodeType":"YulTypedName","src":"350:3:25","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"358:8:25","type":""},{"name":"length","nodeType":"YulTypedName","src":"368:6:25","type":""}],"src":"307:347:25"},{"body":{"nodeType":"YulBlock","src":"822:1484:25","statements":[{"body":{"nodeType":"YulBlock","src":"869:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"878:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"881:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"871:6:25"},"nodeType":"YulFunctionCall","src":"871:12:25"},"nodeType":"YulExpressionStatement","src":"871:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"843:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"852:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"839:3:25"},"nodeType":"YulFunctionCall","src":"839:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"864:3:25","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"835:3:25"},"nodeType":"YulFunctionCall","src":"835:33:25"},"nodeType":"YulIf","src":"832:53:25"},{"nodeType":"YulVariableDeclaration","src":"894:36:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"920:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"907:12:25"},"nodeType":"YulFunctionCall","src":"907:23:25"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"898:5:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"993:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1002:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1005:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"995:6:25"},"nodeType":"YulFunctionCall","src":"995:12:25"},"nodeType":"YulExpressionStatement","src":"995:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"952:5:25"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"963:5:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"978:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"983:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"974:3:25"},"nodeType":"YulFunctionCall","src":"974:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"987:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"970:3:25"},"nodeType":"YulFunctionCall","src":"970:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"959:3:25"},"nodeType":"YulFunctionCall","src":"959:31:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"949:2:25"},"nodeType":"YulFunctionCall","src":"949:42:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"942:6:25"},"nodeType":"YulFunctionCall","src":"942:50:25"},"nodeType":"YulIf","src":"939:70:25"},{"nodeType":"YulAssignment","src":"1018:15:25","value":{"name":"value","nodeType":"YulIdentifier","src":"1028:5:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1018:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"1042:12:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1052:2:25","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"1046:2:25","type":""}]},{"nodeType":"YulAssignment","src":"1063:42:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1090:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1101:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1086:3:25"},"nodeType":"YulFunctionCall","src":"1086:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1073:12:25"},"nodeType":"YulFunctionCall","src":"1073:32:25"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1063:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"1114:46:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1145:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"1156:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1141:3:25"},"nodeType":"YulFunctionCall","src":"1141:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1128:12:25"},"nodeType":"YulFunctionCall","src":"1128:32:25"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1118:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1169:28:25","value":{"kind":"number","nodeType":"YulLiteral","src":"1179:18:25","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"1173:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1224:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1233:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1236:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1226:6:25"},"nodeType":"YulFunctionCall","src":"1226:12:25"},"nodeType":"YulExpressionStatement","src":"1226:12:25"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1212:6:25"},{"name":"_2","nodeType":"YulIdentifier","src":"1220:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1209:2:25"},"nodeType":"YulFunctionCall","src":"1209:14:25"},"nodeType":"YulIf","src":"1206:34:25"},{"nodeType":"YulVariableDeclaration","src":"1249:32:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1263:9:25"},{"name":"offset","nodeType":"YulIdentifier","src":"1274:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1259:3:25"},"nodeType":"YulFunctionCall","src":"1259:22:25"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"1253:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1329:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1338:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1341:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1331:6:25"},"nodeType":"YulFunctionCall","src":"1331:12:25"},"nodeType":"YulExpressionStatement","src":"1331:12:25"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1308:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"1312:4:25","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1304:3:25"},"nodeType":"YulFunctionCall","src":"1304:13:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1319:7:25"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1300:3:25"},"nodeType":"YulFunctionCall","src":"1300:27:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1293:6:25"},"nodeType":"YulFunctionCall","src":"1293:35:25"},"nodeType":"YulIf","src":"1290:55:25"},{"nodeType":"YulVariableDeclaration","src":"1354:26:25","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1377:2:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1364:12:25"},"nodeType":"YulFunctionCall","src":"1364:16:25"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"1358:2:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1403:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1405:16:25"},"nodeType":"YulFunctionCall","src":"1405:18:25"},"nodeType":"YulExpressionStatement","src":"1405:18:25"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1395:2:25"},{"name":"_2","nodeType":"YulIdentifier","src":"1399:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1392:2:25"},"nodeType":"YulFunctionCall","src":"1392:10:25"},"nodeType":"YulIf","src":"1389:36:25"},{"nodeType":"YulVariableDeclaration","src":"1434:20:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1448:1:25","type":"","value":"5"},{"name":"_4","nodeType":"YulIdentifier","src":"1451:2:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1444:3:25"},"nodeType":"YulFunctionCall","src":"1444:10:25"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"1438:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1463:23:25","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1483:2:25","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1477:5:25"},"nodeType":"YulFunctionCall","src":"1477:9:25"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"1467:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"1495:56:25","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1517:6:25"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"1533:2:25"},{"kind":"number","nodeType":"YulLiteral","src":"1537:2:25","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1529:3:25"},"nodeType":"YulFunctionCall","src":"1529:11:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1546:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"1542:3:25"},"nodeType":"YulFunctionCall","src":"1542:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1525:3:25"},"nodeType":"YulFunctionCall","src":"1525:25:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1513:3:25"},"nodeType":"YulFunctionCall","src":"1513:38:25"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"1499:10:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1610:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"1612:16:25"},"nodeType":"YulFunctionCall","src":"1612:18:25"},"nodeType":"YulExpressionStatement","src":"1612:18:25"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1569:10:25"},{"name":"_2","nodeType":"YulIdentifier","src":"1581:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1566:2:25"},"nodeType":"YulFunctionCall","src":"1566:18:25"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1589:10:25"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1601:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1586:2:25"},"nodeType":"YulFunctionCall","src":"1586:22:25"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1563:2:25"},"nodeType":"YulFunctionCall","src":"1563:46:25"},"nodeType":"YulIf","src":"1560:72:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1648:2:25","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1652:10:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1641:6:25"},"nodeType":"YulFunctionCall","src":"1641:22:25"},"nodeType":"YulExpressionStatement","src":"1641:22:25"},{"nodeType":"YulVariableDeclaration","src":"1672:17:25","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1683:6:25"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"1676:3:25","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1705:6:25"},{"name":"_4","nodeType":"YulIdentifier","src":"1713:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1698:6:25"},"nodeType":"YulFunctionCall","src":"1698:18:25"},"nodeType":"YulExpressionStatement","src":"1698:18:25"},{"nodeType":"YulAssignment","src":"1725:22:25","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1736:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1744:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1732:3:25"},"nodeType":"YulFunctionCall","src":"1732:15:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1725:3:25"}]},{"nodeType":"YulVariableDeclaration","src":"1756:34:25","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1778:2:25"},{"name":"_5","nodeType":"YulIdentifier","src":"1782:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1774:3:25"},"nodeType":"YulFunctionCall","src":"1774:11:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1787:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1770:3:25"},"nodeType":"YulFunctionCall","src":"1770:20:25"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"1760:6:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1822:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1831:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1834:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1824:6:25"},"nodeType":"YulFunctionCall","src":"1824:12:25"},"nodeType":"YulExpressionStatement","src":"1824:12:25"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"1805:6:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1813:7:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1802:2:25"},"nodeType":"YulFunctionCall","src":"1802:19:25"},"nodeType":"YulIf","src":"1799:39:25"},{"nodeType":"YulVariableDeclaration","src":"1847:22:25","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1862:2:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1866:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1858:3:25"},"nodeType":"YulFunctionCall","src":"1858:11:25"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"1851:3:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"1934:90:25","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1955:3:25"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1977:3:25"}],"functionName":{"name":"abi_decode_uint8","nodeType":"YulIdentifier","src":"1960:16:25"},"nodeType":"YulFunctionCall","src":"1960:21:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1948:6:25"},"nodeType":"YulFunctionCall","src":"1948:34:25"},"nodeType":"YulExpressionStatement","src":"1948:34:25"},{"nodeType":"YulAssignment","src":"1995:19:25","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"2006:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"2011:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2002:3:25"},"nodeType":"YulFunctionCall","src":"2002:12:25"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1995:3:25"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1889:3:25"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"1894:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1886:2:25"},"nodeType":"YulFunctionCall","src":"1886:15:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1902:23:25","statements":[{"nodeType":"YulAssignment","src":"1904:19:25","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1915:3:25"},{"name":"_1","nodeType":"YulIdentifier","src":"1920:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1911:3:25"},"nodeType":"YulFunctionCall","src":"1911:12:25"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1904:3:25"}]}]},"pre":{"nodeType":"YulBlock","src":"1882:3:25","statements":[]},"src":"1878:146:25"},{"nodeType":"YulAssignment","src":"2033:16:25","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"2043:6:25"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2033:6:25"}]},{"nodeType":"YulVariableDeclaration","src":"2058:48:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2091:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2102:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2087:3:25"},"nodeType":"YulFunctionCall","src":"2087:18:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2074:12:25"},"nodeType":"YulFunctionCall","src":"2074:32:25"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"2062:8:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"2135:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2144:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2147:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2137:6:25"},"nodeType":"YulFunctionCall","src":"2137:12:25"},"nodeType":"YulExpressionStatement","src":"2137:12:25"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"2121:8:25"},{"name":"_2","nodeType":"YulIdentifier","src":"2131:2:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2118:2:25"},"nodeType":"YulFunctionCall","src":"2118:16:25"},"nodeType":"YulIf","src":"2115:36:25"},{"nodeType":"YulVariableDeclaration","src":"2160:86:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2216:9:25"},{"name":"offset_1","nodeType":"YulIdentifier","src":"2227:8:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2212:3:25"},"nodeType":"YulFunctionCall","src":"2212:24:25"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2238:7:25"}],"functionName":{"name":"abi_decode_bytes_calldata","nodeType":"YulIdentifier","src":"2186:25:25"},"nodeType":"YulFunctionCall","src":"2186:60:25"},"variables":[{"name":"value3_1","nodeType":"YulTypedName","src":"2164:8:25","type":""},{"name":"value4_1","nodeType":"YulTypedName","src":"2174:8:25","type":""}]},{"nodeType":"YulAssignment","src":"2255:18:25","value":{"name":"value3_1","nodeType":"YulIdentifier","src":"2265:8:25"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2255:6:25"}]},{"nodeType":"YulAssignment","src":"2282:18:25","value":{"name":"value4_1","nodeType":"YulIdentifier","src":"2292:8:25"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"2282:6:25"}]}]},"name":"abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"756:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"767:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"779:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"787:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"795:6:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"803:6:25","type":""},{"name":"value4","nodeType":"YulTypedName","src":"811:6:25","type":""}],"src":"659:1647:25"},{"body":{"nodeType":"YulBlock","src":"2420:102:25","statements":[{"nodeType":"YulAssignment","src":"2430:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2442:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"2453:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2438:3:25"},"nodeType":"YulFunctionCall","src":"2438:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2430:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2472:9:25"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2487:6:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2503:3:25","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2508:1:25","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2499:3:25"},"nodeType":"YulFunctionCall","src":"2499:11:25"},{"kind":"number","nodeType":"YulLiteral","src":"2512:1:25","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2495:3:25"},"nodeType":"YulFunctionCall","src":"2495:19:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2483:3:25"},"nodeType":"YulFunctionCall","src":"2483:32:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2465:6:25"},"nodeType":"YulFunctionCall","src":"2465:51:25"},"nodeType":"YulExpressionStatement","src":"2465:51:25"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2389:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2400:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2411:4:25","type":""}],"src":"2311:211:25"},{"body":{"nodeType":"YulBlock","src":"2849:620:25","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2866:3:25"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2879:2:25","type":"","value":"96"},{"name":"value0","nodeType":"YulIdentifier","src":"2883:6:25"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2875:3:25"},"nodeType":"YulFunctionCall","src":"2875:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2896:26:25","type":"","value":"0xffffffffffffffffffffffff"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2892:3:25"},"nodeType":"YulFunctionCall","src":"2892:31:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2871:3:25"},"nodeType":"YulFunctionCall","src":"2871:53:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2859:6:25"},"nodeType":"YulFunctionCall","src":"2859:66:25"},"nodeType":"YulExpressionStatement","src":"2859:66:25"},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2945:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"2950:2:25","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2941:3:25"},"nodeType":"YulFunctionCall","src":"2941:12:25"},{"name":"value1","nodeType":"YulIdentifier","src":"2955:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2934:6:25"},"nodeType":"YulFunctionCall","src":"2934:28:25"},"nodeType":"YulExpressionStatement","src":"2934:28:25"},{"nodeType":"YulVariableDeclaration","src":"2971:25:25","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2988:3:25"},{"kind":"number","nodeType":"YulLiteral","src":"2993:2:25","type":"","value":"52"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2984:3:25"},"nodeType":"YulFunctionCall","src":"2984:12:25"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"2975:5:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3005:27:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3025:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3019:5:25"},"nodeType":"YulFunctionCall","src":"3019:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3009:6:25","type":""}]},{"nodeType":"YulAssignment","src":"3041:14:25","value":{"name":"pos_1","nodeType":"YulIdentifier","src":"3050:5:25"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3041:5:25"}]},{"nodeType":"YulVariableDeclaration","src":"3064:14:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3074:4:25","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3068:2:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3087:29:25","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"3105:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"3113:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3101:3:25"},"nodeType":"YulFunctionCall","src":"3101:15:25"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3091:6:25","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3125:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"3134:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3129:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"3193:137:25","statements":[{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3214:5:25"},{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3231:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3225:5:25"},"nodeType":"YulFunctionCall","src":"3225:13:25"},{"kind":"number","nodeType":"YulLiteral","src":"3240:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3221:3:25"},"nodeType":"YulFunctionCall","src":"3221:24:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3207:6:25"},"nodeType":"YulFunctionCall","src":"3207:39:25"},"nodeType":"YulExpressionStatement","src":"3207:39:25"},{"nodeType":"YulAssignment","src":"3259:23:25","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3272:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"3279:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3268:3:25"},"nodeType":"YulFunctionCall","src":"3268:14:25"},"variableNames":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3259:5:25"}]},{"nodeType":"YulAssignment","src":"3295:25:25","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3309:6:25"},{"name":"_1","nodeType":"YulIdentifier","src":"3317:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3305:3:25"},"nodeType":"YulFunctionCall","src":"3305:15:25"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3295:6:25"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3155:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"3158:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3152:2:25"},"nodeType":"YulFunctionCall","src":"3152:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3166:18:25","statements":[{"nodeType":"YulAssignment","src":"3168:14:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3177:1:25"},{"kind":"number","nodeType":"YulLiteral","src":"3180:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3173:3:25"},"nodeType":"YulFunctionCall","src":"3173:9:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3168:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"3148:3:25","statements":[]},"src":"3144:186:25"},{"expression":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3346:5:25"},{"hexValue":"3078663164443731383935653439623135363336393339363964653530383938","kind":"string","nodeType":"YulLiteral","src":"3353:34:25","type":"","value":"0xf1dD71895e49b1563693969de50898"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3339:6:25"},"nodeType":"YulFunctionCall","src":"3339:49:25"},"nodeType":"YulExpressionStatement","src":"3339:49:25"},{"expression":{"arguments":[{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3408:5:25"},{"name":"_1","nodeType":"YulIdentifier","src":"3415:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3404:3:25"},"nodeType":"YulFunctionCall","src":"3404:14:25"},{"hexValue":"31393763444633343831","kind":"string","nodeType":"YulLiteral","src":"3420:12:25","type":"","value":"197cDF3481"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3397:6:25"},"nodeType":"YulFunctionCall","src":"3397:36:25"},"nodeType":"YulExpressionStatement","src":"3397:36:25"},{"nodeType":"YulAssignment","src":"3442:21:25","value":{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3453:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"3460:2:25","type":"","value":"42"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3449:3:25"},"nodeType":"YulFunctionCall","src":"3449:14:25"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3442:3:25"}]}]},"name":"abi_encode_tuple_packed_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2809:3:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2814:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2822:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2830:6:25","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2841:3:25","type":""}],"src":"2527:942:25"},{"body":{"nodeType":"YulBlock","src":"3506:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3523:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3530:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"3535:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"3526:3:25"},"nodeType":"YulFunctionCall","src":"3526:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3516:6:25"},"nodeType":"YulFunctionCall","src":"3516:31:25"},"nodeType":"YulExpressionStatement","src":"3516:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3563:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3566:4:25","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3556:6:25"},"nodeType":"YulFunctionCall","src":"3556:15:25"},"nodeType":"YulExpressionStatement","src":"3556:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3587:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3590:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3580:6:25"},"nodeType":"YulFunctionCall","src":"3580:15:25"},"nodeType":"YulExpressionStatement","src":"3580:15:25"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"3474:127:25"},{"body":{"nodeType":"YulBlock","src":"3780:174:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3797:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3808:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3790:6:25"},"nodeType":"YulFunctionCall","src":"3790:21:25"},"nodeType":"YulExpressionStatement","src":"3790:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3831:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3842:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3827:3:25"},"nodeType":"YulFunctionCall","src":"3827:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"3847:2:25","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3820:6:25"},"nodeType":"YulFunctionCall","src":"3820:30:25"},"nodeType":"YulExpressionStatement","src":"3820:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3870:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3881:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3866:3:25"},"nodeType":"YulFunctionCall","src":"3866:18:25"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","kind":"string","nodeType":"YulLiteral","src":"3886:26:25","type":"","value":"ECDSA: invalid signature"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3859:6:25"},"nodeType":"YulFunctionCall","src":"3859:54:25"},"nodeType":"YulExpressionStatement","src":"3859:54:25"},{"nodeType":"YulAssignment","src":"3922:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3934:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"3945:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3930:3:25"},"nodeType":"YulFunctionCall","src":"3930:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3922:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3757:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3771:4:25","type":""}],"src":"3606:348:25"},{"body":{"nodeType":"YulBlock","src":"4133:181:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4150:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4161:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4143:6:25"},"nodeType":"YulFunctionCall","src":"4143:21:25"},"nodeType":"YulExpressionStatement","src":"4143:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4184:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4195:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4180:3:25"},"nodeType":"YulFunctionCall","src":"4180:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"4200:2:25","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4173:6:25"},"nodeType":"YulFunctionCall","src":"4173:30:25"},"nodeType":"YulExpressionStatement","src":"4173:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4223:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4234:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4219:3:25"},"nodeType":"YulFunctionCall","src":"4219:18:25"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","kind":"string","nodeType":"YulLiteral","src":"4239:33:25","type":"","value":"ECDSA: invalid signature length"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4212:6:25"},"nodeType":"YulFunctionCall","src":"4212:61:25"},"nodeType":"YulExpressionStatement","src":"4212:61:25"},{"nodeType":"YulAssignment","src":"4282:26:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4294:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4305:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4290:3:25"},"nodeType":"YulFunctionCall","src":"4290:18:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4282:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4110:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4124:4:25","type":""}],"src":"3959:355:25"},{"body":{"nodeType":"YulBlock","src":"4493:224:25","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4510:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4521:2:25","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4503:6:25"},"nodeType":"YulFunctionCall","src":"4503:21:25"},"nodeType":"YulExpressionStatement","src":"4503:21:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4544:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4555:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4540:3:25"},"nodeType":"YulFunctionCall","src":"4540:18:25"},{"kind":"number","nodeType":"YulLiteral","src":"4560:2:25","type":"","value":"34"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4533:6:25"},"nodeType":"YulFunctionCall","src":"4533:30:25"},"nodeType":"YulExpressionStatement","src":"4533:30:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4583:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4594:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4579:3:25"},"nodeType":"YulFunctionCall","src":"4579:18:25"},{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c","kind":"string","nodeType":"YulLiteral","src":"4599:34:25","type":"","value":"ECDSA: invalid signature 's' val"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4572:6:25"},"nodeType":"YulFunctionCall","src":"4572:62:25"},"nodeType":"YulExpressionStatement","src":"4572:62:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4654:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4665:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4650:3:25"},"nodeType":"YulFunctionCall","src":"4650:18:25"},{"hexValue":"7565","kind":"string","nodeType":"YulLiteral","src":"4670:4:25","type":"","value":"ue"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4643:6:25"},"nodeType":"YulFunctionCall","src":"4643:32:25"},"nodeType":"YulExpressionStatement","src":"4643:32:25"},{"nodeType":"YulAssignment","src":"4684:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4696:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4707:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4692:3:25"},"nodeType":"YulFunctionCall","src":"4692:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4684:4:25"}]}]},"name":"abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4470:9:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4484:4:25","type":""}],"src":"4319:398:25"},{"body":{"nodeType":"YulBlock","src":"4903:217:25","statements":[{"nodeType":"YulAssignment","src":"4913:27:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4925:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"4936:3:25","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4921:3:25"},"nodeType":"YulFunctionCall","src":"4921:19:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4913:4:25"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4956:9:25"},{"name":"value0","nodeType":"YulIdentifier","src":"4967:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4949:6:25"},"nodeType":"YulFunctionCall","src":"4949:25:25"},"nodeType":"YulExpressionStatement","src":"4949:25:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4994:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5005:2:25","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4990:3:25"},"nodeType":"YulFunctionCall","src":"4990:18:25"},{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5014:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"5022:4:25","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5010:3:25"},"nodeType":"YulFunctionCall","src":"5010:17:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4983:6:25"},"nodeType":"YulFunctionCall","src":"4983:45:25"},"nodeType":"YulExpressionStatement","src":"4983:45:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5048:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5059:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5044:3:25"},"nodeType":"YulFunctionCall","src":"5044:18:25"},{"name":"value2","nodeType":"YulIdentifier","src":"5064:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5037:6:25"},"nodeType":"YulFunctionCall","src":"5037:34:25"},"nodeType":"YulExpressionStatement","src":"5037:34:25"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5091:9:25"},{"kind":"number","nodeType":"YulLiteral","src":"5102:2:25","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5087:3:25"},"nodeType":"YulFunctionCall","src":"5087:18:25"},{"name":"value3","nodeType":"YulIdentifier","src":"5107:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5080:6:25"},"nodeType":"YulFunctionCall","src":"5080:34:25"},"nodeType":"YulExpressionStatement","src":"5080:34:25"}]},"name":"abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4848:9:25","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4859:6:25","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4867:6:25","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4875:6:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4883:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4894:4:25","type":""}],"src":"4722:398:25"}]},"contents":"{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_uint8(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n }\n function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256t_array$_t_uint8_$dyn_memory_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let _1 := 32\n value1 := calldataload(add(headStart, _1))\n let offset := calldataload(add(headStart, 64))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let _4 := calldataload(_3)\n if gt(_4, _2) { panic_error_0x41() }\n let _5 := shl(5, _4)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(_5, 63), not(31)))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n let dst := memPtr\n mstore(memPtr, _4)\n dst := add(memPtr, _1)\n let srcEnd := add(add(_3, _5), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n mstore(dst, abi_decode_uint8(src))\n dst := add(dst, _1)\n }\n value2 := memPtr\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _2) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_packed_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_stringliteral_53e8686c8e94e04d6fef991c2e47e9c44f35ca32d35fd5ce6bacfff7edd748be__to_t_address_t_uint256_t_array$_t_uint8_$dyn_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n let pos_1 := add(pos, 52)\n let length := mload(value2)\n pos_1 := pos_1\n let _1 := 0x20\n let srcPtr := add(value2, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos_1, and(mload(srcPtr), 0xff))\n pos_1 := add(pos_1, _1)\n srcPtr := add(srcPtr, _1)\n }\n mstore(pos_1, \"0xf1dD71895e49b1563693969de50898\")\n mstore(add(pos_1, _1), \"197cDF3481\")\n end := add(pos_1, 42)\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ECDSA: invalid signature\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ECDSA: invalid signature length\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 's' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806338fb7d8b1461003a575b600080fd5b61004d61004836600461040c565b610069565b6040516001600160a01b03909116815260200160405180910390f35b6000806100cd87878760405160200161008493929190610522565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b9050600061011385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061011f9050565b98975050505050505050565b600080600061012e8585610143565b9150915061013b81610188565b509392505050565b60008082516041036101795760208301516040840151606085015160001a61016d878285856102da565b94509450505050610181565b506000905060025b9250929050565b600081600481111561019c5761019c6105b0565b036101a45750565b60018160048111156101b8576101b86105b0565b0361020a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561021e5761021e6105b0565b0361026b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610201565b600381600481111561027f5761027f6105b0565b036102d75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610201565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156103115750600090506003610395565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610365573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661038e57600060019250925050610395565b9150600090505b94509492505050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146103c557600080fd5b919050565b60008083601f8401126103dc57600080fd5b50813567ffffffffffffffff8111156103f457600080fd5b60208301915083602082850101111561018157600080fd5b60008060008060006080868803121561042457600080fd5b85356001600160a01b038116811461043b57600080fd5b94506020868101359450604087013567ffffffffffffffff8082111561046057600080fd5b818901915089601f83011261047457600080fd5b8135818111156104865761048661039e565b8060051b604051601f19603f830116810181811085821117156104ab576104ab61039e565b6040529182528381018501918581018d8411156104c757600080fd5b948601945b838610156104ea576104dd866103b4565b81529486019486016104cc565b5097505050606089013592508083111561050357600080fd5b5050610511888289016103ca565b969995985093965092949392505050565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b8381101561056c57815160ff168552938201939082019060010161054d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202403adb3d5a58586f6f0122c27cfb786994f9734933a6198d0f0a3bec9cbbdf664736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x38FB7D8B EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x40C JUMP JUMPDEST PUSH2 0x69 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCD DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x84 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x522 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1C SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x3C SWAP1 KECCAK256 SWAP1 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x113 DUP6 DUP6 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP7 SWAP4 SWAP3 POP POP PUSH2 0x11F SWAP1 POP JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x12E DUP6 DUP6 PUSH2 0x143 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x13B DUP2 PUSH2 0x188 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD PUSH1 0x41 SUB PUSH2 0x179 JUMPI PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP6 ADD MLOAD PUSH1 0x0 BYTE PUSH2 0x16D DUP8 DUP3 DUP6 DUP6 PUSH2 0x2DA JUMP JUMPDEST SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x181 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 POP PUSH1 0x2 JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x19C JUMPI PUSH2 0x19C PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x1A4 JUMPI POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x1B8 JUMPI PUSH2 0x1B8 PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x20A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E61747572650000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x21E JUMPI PUSH2 0x21E PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x26B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265206C656E67746800 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x201 JUMP JUMPDEST PUSH1 0x3 DUP2 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x27F JUMPI PUSH2 0x27F PUSH2 0x5B0 JUMP JUMPDEST SUB PUSH2 0x2D7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45434453413A20696E76616C6964207369676E6174757265202773272076616C PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7565 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x201 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP4 GT ISZERO PUSH2 0x311 JUMPI POP PUSH1 0x0 SWAP1 POP PUSH1 0x3 PUSH2 0x395 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x365 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT ADD MLOAD SWAP2 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x38E JUMPI PUSH1 0x0 PUSH1 0x1 SWAP3 POP SWAP3 POP POP PUSH2 0x395 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 SWAP1 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x3DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x181 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x424 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 DUP2 ADD CALLDATALOAD SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x460 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP10 ADD SWAP2 POP DUP10 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x486 JUMPI PUSH2 0x486 PUSH2 0x39E JUMP JUMPDEST DUP1 PUSH1 0x5 SHL PUSH1 0x40 MLOAD PUSH1 0x1F NOT PUSH1 0x3F DUP4 ADD AND DUP2 ADD DUP2 DUP2 LT DUP6 DUP3 GT OR ISZERO PUSH2 0x4AB JUMPI PUSH2 0x4AB PUSH2 0x39E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 DUP3 MSTORE DUP4 DUP2 ADD DUP6 ADD SWAP2 DUP6 DUP2 ADD DUP14 DUP5 GT ISZERO PUSH2 0x4C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP7 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4DD DUP7 PUSH2 0x3B4 JUMP JUMPDEST DUP2 MSTORE SWAP5 DUP7 ADD SWAP5 DUP7 ADD PUSH2 0x4CC JUMP JUMPDEST POP SWAP8 POP POP POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP3 POP DUP1 DUP4 GT ISZERO PUSH2 0x503 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP PUSH2 0x511 DUP9 DUP3 DUP10 ADD PUSH2 0x3CA JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP SWAP3 SWAP5 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP5 PUSH1 0x60 SHL AND DUP2 MSTORE DUP3 PUSH1 0x14 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x34 DUP3 ADD DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x56C JUMPI DUP2 MLOAD PUSH1 0xFF AND DUP6 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x54D JUMP JUMPDEST POP POP PUSH32 0x3078663164443731383935653439623135363336393339363964653530383938 DUP4 MSTORE PUSH10 0x31393763444633343831 PUSH1 0xB0 SHL SWAP1 DUP4 ADD MSTORE POP PUSH1 0x2A ADD SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SUB 0xAD 0xB3 0xD5 0xA5 DUP6 DUP7 0xF6 CREATE SLT 0x2C 0x27 0xCF 0xB7 DUP7 SWAP10 0x4F SWAP8 CALLVALUE SWAP4 GASPRICE PUSH2 0x98D0 CREATE LOG3 0xBE 0xC9 0xCB 0xBD 0xF6 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"122:531:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;182:469;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2483:32:25;;;2465:51;;2453:2;2438:18;182:469:22;;;;;;;;354:7;373:19;395:150;435:6;443:10;455:8;418:92;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;395:125;;;;;;7389:34:14;7189:15;7376:48;;;7444:4;7437:18;;;;7495:4;7479:21;;;7120:396;395:150:22;373:172;;556:23;582:30;602:9;;582:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;582:11:22;;:30;-1:-1:-1;;582:19:22;:30;-1:-1:-1;582:30:22:i;:::-;556:56;182:469;-1:-1:-1;;;;;;;;182:469:22:o;3661:227:14:-;3739:7;3759:17;3778:18;3800:27;3811:4;3817:9;3800:10;:27::i;:::-;3758:69;;;;3837:18;3849:5;3837:11;:18::i;:::-;-1:-1:-1;3872:9:14;3661:227;-1:-1:-1;;;3661:227:14:o;2145:730::-;2226:7;2235:12;2263:9;:16;2283:2;2263:22;2259:610;;2599:4;2584:20;;2578:27;2648:4;2633:20;;2627:27;2705:4;2690:20;;2684:27;2301:9;2676:36;2746:25;2757:4;2676:36;2578:27;2627;2746:10;:25::i;:::-;2739:32;;;;;;;;;2259:610;-1:-1:-1;2818:1:14;;-1:-1:-1;2822:35:14;2259:610;2145:730;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:14;;3808:2:25;788:34:14;;;3790:21:25;3847:2;3827:18;;;3820:30;3886:26;3866:18;;;3859:54;3930:18;;788:34:14;;;;;;;;730:345;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:14;;4161:2:25;903:41:14;;;4143:21:25;4200:2;4180:18;;;4173:30;4239:33;4219:18;;;4212:61;4290:18;;903:41:14;3959:355:25;839:236:14;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:14;;4521:2:25;1020:44:14;;;4503:21:25;4560:2;4540:18;;;4533:30;4599:34;4579:18;;;4572:62;-1:-1:-1;;;4650:18:25;;;4643:32;4692:19;;1020:44:14;4319:398:25;961:114:14;570:511;:::o;5009:1456::-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:14;;-1:-1:-1;6123:30:14;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;4949:25:25;;;5022:4;5010:17;;4990:18;;;4983:45;;;;5044:18;;;5037:34;;;5087:18;;;5080:34;;;6276:24:14;;4921:19:25;;6276:24:14;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:14;;-1:-1:-1;;6276:24:14;;;-1:-1:-1;;;;;;;6314:20:14;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:14;;-1:-1:-1;5009:1456:14;;;;;;;;:::o;14:127:25:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:156;212:20;;272:4;261:16;;251:27;;241:55;;292:1;289;282:12;241:55;146:156;;;:::o;307:347::-;358:8;368:6;422:3;415:4;407:6;403:17;399:27;389:55;;440:1;437;430:12;389:55;-1:-1:-1;463:20:25;;506:18;495:30;;492:50;;;538:1;535;528:12;492:50;575:4;567:6;563:17;551:29;;627:3;620:4;611:6;603;599:19;595:30;592:39;589:59;;;644:1;641;634:12;659:1647;779:6;787;795;803;811;864:3;852:9;843:7;839:23;835:33;832:53;;;881:1;878;871:12;832:53;907:23;;-1:-1:-1;;;;;959:31:25;;949:42;;939:70;;1005:1;1002;995:12;939:70;1028:5;-1:-1:-1;1052:2:25;1086:18;;;1073:32;;-1:-1:-1;1156:2:25;1141:18;;1128:32;1179:18;1209:14;;;1206:34;;;1236:1;1233;1226:12;1206:34;1274:6;1263:9;1259:22;1249:32;;1319:7;1312:4;1308:2;1304:13;1300:27;1290:55;;1341:1;1338;1331:12;1290:55;1377:2;1364:16;1399:2;1395;1392:10;1389:36;;;1405:18;;:::i;:::-;1451:2;1448:1;1444:10;1483:2;1477:9;1546:2;1542:7;1537:2;1533;1529:11;1525:25;1517:6;1513:38;1601:6;1589:10;1586:22;1581:2;1569:10;1566:18;1563:46;1560:72;;;1612:18;;:::i;:::-;1648:2;1641:22;1698:18;;;1774:11;;;1770:20;;;1732:15;;;1802:19;;;1799:39;;;1834:1;1831;1824:12;1799:39;1858:11;;;;1878:146;1894:6;1889:3;1886:15;1878:146;;;1960:21;1977:3;1960:21;:::i;:::-;1948:34;;1911:12;;;;2002;;1878:146;;;-1:-1:-1;2043:6:25;-1:-1:-1;;;2102:2:25;2087:18;;2074:32;;-1:-1:-1;2118:16:25;;;2115:36;;;2147:1;2144;2137:12;2115:36;;;2186:60;2238:7;2227:8;2216:9;2212:24;2186:60;:::i;:::-;659:1647;;;;-1:-1:-1;659:1647:25;;-1:-1:-1;2265:8:25;;2160:86;659:1647;-1:-1:-1;;;659:1647:25:o;2527:942::-;2896:26;2892:31;2883:6;2879:2;2875:15;2871:53;2866:3;2859:66;2955:6;2950:2;2945:3;2941:12;2934:28;2841:3;2993:2;2988:3;2984:12;3025:6;3019:13;3074:4;3113:2;3105:6;3101:15;3134:1;3144:186;3158:6;3155:1;3152:13;3144:186;;;3225:13;;3240:4;3221:24;3207:39;;3268:14;;;;3305:15;;;;3180:1;3173:9;3144:186;;;-1:-1:-1;;3353:34:25;3339:49;;-1:-1:-1;;;3404:14:25;;;3397:36;-1:-1:-1;3460:2:25;3449:14;;2527:942;-1:-1:-1;;;;;2527:942:25:o;3474:127::-;3535:10;3530:3;3526:20;3523:1;3516:31;3566:4;3563:1;3556:15;3590:4;3587:1;3580:15"},"methodIdentifiers":{"verifyPackSigner(address,uint256,uint8[],bytes)":"38fb7d8b"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"packData\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"verifyPackSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/libs/LibPackVerifier.sol\":\"LibPackVerifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"contracts/gamma/libs/LibPackVerifier.sol\":{\"keccak256\":\"0xb9e08ff5836e8df3625ce15adfbcacfc6c3d8af51e42d16966f38da9564fcb28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea7e9de52077536b963db3d410b79d97d6e9d04e355371c34f2494b3db01aa9e\",\"dweb:/ipfs/QmY8geoANStZwGw9jhvskR5Q7FwFEaxVZ3Jg1tUJ7dr68v\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"contracts/gamma/libs/LibStringUtils.sol":{"LibStringUtils":{"abi":[{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"toString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"6102ce61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636900a3ae1461003a575b600080fd5b61004d61004836600461016c565b610063565b60405161005a9190610185565b60405180910390f35b60608160000361008a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156100b4578061009e816101e9565b91506100ad9050600a83610218565b915061008e565b60008167ffffffffffffffff8111156100cf576100cf61022c565b6040519080825280601f01601f1916602001820160405280156100f9576020820181803683370190505b5090505b84156101645761010e600183610242565b915061011b600a8661025b565b61012690603061026f565b60f81b81838151811061013b5761013b610282565b60200101906001600160f81b031916908160001a90535061015d600a86610218565b94506100fd565b949350505050565b60006020828403121561017e57600080fd5b5035919050565b600060208083528351808285015260005b818110156101b257858101830151858201604001528201610196565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016101fb576101fb6101d3565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261022757610227610202565b500490565b634e487b7160e01b600052604160045260246000fd5b81810381811115610255576102556101d3565b92915050565b60008261026a5761026a610202565b500690565b80820180821115610255576102556101d3565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220e9777e20a0452e201d3312dd3a508695794a6a7fc48e20c536fd52f14927c5a964736f6c63430008140033","opcodes":"PUSH2 0x2CE PUSH2 0x3A PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH2 0x2D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6900A3AE EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x185 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x8A JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xB4 JUMPI DUP1 PUSH2 0x9E DUP2 PUSH2 0x1E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xAD SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x218 JUMP JUMPDEST SWAP2 POP PUSH2 0x8E JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xCF JUMPI PUSH2 0xCF PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF9 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x164 JUMPI PUSH2 0x10E PUSH1 0x1 DUP4 PUSH2 0x242 JUMP JUMPDEST SWAP2 POP PUSH2 0x11B PUSH1 0xA DUP7 PUSH2 0x25B JUMP JUMPDEST PUSH2 0x126 SWAP1 PUSH1 0x30 PUSH2 0x26F JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x13B JUMPI PUSH2 0x13B PUSH2 0x282 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x15D PUSH1 0xA DUP7 PUSH2 0x218 JUMP JUMPDEST SWAP5 POP PUSH2 0xFD JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x196 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1FB JUMPI PUSH2 0x1FB PUSH2 0x1D3 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x227 JUMPI PUSH2 0x227 PUSH2 0x202 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x26A JUMPI PUSH2 0x26A PUSH2 0x202 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 PUSH24 0x7E20A0452E201D3312DD3A508695794A6A7FC48E20C536FD MSTORE CALL 0x49 0x27 0xC5 0xA9 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"58:647:23:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:647:23;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@toString_6034":{"entryPoint":99,"id":6034,"parameterSlots":1,"returnSlots":1},"abi_decode_tuple_t_uint256":{"entryPoint":364,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed":{"entryPoint":389,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":623,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":536,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":578,"id":null,"parameterSlots":2,"returnSlots":1},"increment_t_uint256":{"entryPoint":489,"id":null,"parameterSlots":1,"returnSlots":1},"mod_t_uint256":{"entryPoint":603,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":467,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x12":{"entryPoint":514,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":642,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":556,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1930:25","statements":[{"nodeType":"YulBlock","src":"6:3:25","statements":[]},{"body":{"nodeType":"YulBlock","src":"84:110:25","statements":[{"body":{"nodeType":"YulBlock","src":"130:16:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"139:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"142:1:25","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"132:6:25"},"nodeType":"YulFunctionCall","src":"132:12:25"},"nodeType":"YulExpressionStatement","src":"132:12:25"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"105:7:25"},{"name":"headStart","nodeType":"YulIdentifier","src":"114:9:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"101:3:25"},"nodeType":"YulFunctionCall","src":"101:23:25"},{"kind":"number","nodeType":"YulLiteral","src":"126:2:25","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"97:3:25"},"nodeType":"YulFunctionCall","src":"97:32:25"},"nodeType":"YulIf","src":"94:52:25"},{"nodeType":"YulAssignment","src":"155:33:25","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"178:9:25"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"165:12:25"},"nodeType":"YulFunctionCall","src":"165:23:25"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"155:6:25"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"50:9:25","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"61:7:25","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"73:6:25","type":""}],"src":"14:180:25"},{"body":{"nodeType":"YulBlock","src":"328:427:25","statements":[{"nodeType":"YulVariableDeclaration","src":"338:12:25","value":{"kind":"number","nodeType":"YulLiteral","src":"348:2:25","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"342:2:25","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"366:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"377:2:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"359:6:25"},"nodeType":"YulFunctionCall","src":"359:21:25"},"nodeType":"YulExpressionStatement","src":"359:21:25"},{"nodeType":"YulVariableDeclaration","src":"389:27:25","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"409:6:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"403:5:25"},"nodeType":"YulFunctionCall","src":"403:13:25"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"393:6:25","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"436:9:25"},{"name":"_1","nodeType":"YulIdentifier","src":"447:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"432:3:25"},"nodeType":"YulFunctionCall","src":"432:18:25"},{"name":"length","nodeType":"YulIdentifier","src":"452:6:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"425:6:25"},"nodeType":"YulFunctionCall","src":"425:34:25"},"nodeType":"YulExpressionStatement","src":"425:34:25"},{"nodeType":"YulVariableDeclaration","src":"468:10:25","value":{"kind":"number","nodeType":"YulLiteral","src":"477:1:25","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"472:1:25","type":""}]},{"body":{"nodeType":"YulBlock","src":"537:90:25","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"566:9:25"},{"name":"i","nodeType":"YulIdentifier","src":"577:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"562:3:25"},"nodeType":"YulFunctionCall","src":"562:17:25"},{"kind":"number","nodeType":"YulLiteral","src":"581:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"558:3:25"},"nodeType":"YulFunctionCall","src":"558:26:25"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"600:6:25"},{"name":"i","nodeType":"YulIdentifier","src":"608:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"596:3:25"},"nodeType":"YulFunctionCall","src":"596:14:25"},{"name":"_1","nodeType":"YulIdentifier","src":"612:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"592:3:25"},"nodeType":"YulFunctionCall","src":"592:23:25"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"586:5:25"},"nodeType":"YulFunctionCall","src":"586:30:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"551:6:25"},"nodeType":"YulFunctionCall","src":"551:66:25"},"nodeType":"YulExpressionStatement","src":"551:66:25"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"498:1:25"},{"name":"length","nodeType":"YulIdentifier","src":"501:6:25"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"495:2:25"},"nodeType":"YulFunctionCall","src":"495:13:25"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"509:19:25","statements":[{"nodeType":"YulAssignment","src":"511:15:25","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"520:1:25"},{"name":"_1","nodeType":"YulIdentifier","src":"523:2:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"516:3:25"},"nodeType":"YulFunctionCall","src":"516:10:25"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"511:1:25"}]}]},"pre":{"nodeType":"YulBlock","src":"491:3:25","statements":[]},"src":"487:140:25"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"651:9:25"},{"name":"length","nodeType":"YulIdentifier","src":"662:6:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"647:3:25"},"nodeType":"YulFunctionCall","src":"647:22:25"},{"kind":"number","nodeType":"YulLiteral","src":"671:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"643:3:25"},"nodeType":"YulFunctionCall","src":"643:31:25"},{"kind":"number","nodeType":"YulLiteral","src":"676:1:25","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"636:6:25"},"nodeType":"YulFunctionCall","src":"636:42:25"},"nodeType":"YulExpressionStatement","src":"636:42:25"},{"nodeType":"YulAssignment","src":"687:62:25","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"703:9:25"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"722:6:25"},{"kind":"number","nodeType":"YulLiteral","src":"730:2:25","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"718:3:25"},"nodeType":"YulFunctionCall","src":"718:15:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"739:2:25","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"735:3:25"},"nodeType":"YulFunctionCall","src":"735:7:25"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"714:3:25"},"nodeType":"YulFunctionCall","src":"714:29:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"699:3:25"},"nodeType":"YulFunctionCall","src":"699:45:25"},{"kind":"number","nodeType":"YulLiteral","src":"746:2:25","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"695:3:25"},"nodeType":"YulFunctionCall","src":"695:54:25"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"687:4:25"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"297:9:25","type":""},{"name":"value0","nodeType":"YulTypedName","src":"308:6:25","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"319:4:25","type":""}],"src":"199:556:25"},{"body":{"nodeType":"YulBlock","src":"792:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"809:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"816:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"821:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"812:3:25"},"nodeType":"YulFunctionCall","src":"812:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"802:6:25"},"nodeType":"YulFunctionCall","src":"802:31:25"},"nodeType":"YulExpressionStatement","src":"802:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"849:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"852:4:25","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"842:6:25"},"nodeType":"YulFunctionCall","src":"842:15:25"},"nodeType":"YulExpressionStatement","src":"842:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"873:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"876:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"866:6:25"},"nodeType":"YulFunctionCall","src":"866:15:25"},"nodeType":"YulExpressionStatement","src":"866:15:25"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"760:127:25"},{"body":{"nodeType":"YulBlock","src":"939:88:25","statements":[{"body":{"nodeType":"YulBlock","src":"970:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"972:16:25"},"nodeType":"YulFunctionCall","src":"972:18:25"},"nodeType":"YulExpressionStatement","src":"972:18:25"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"955:5:25"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"966:1:25","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"962:3:25"},"nodeType":"YulFunctionCall","src":"962:6:25"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"952:2:25"},"nodeType":"YulFunctionCall","src":"952:17:25"},"nodeType":"YulIf","src":"949:43:25"},{"nodeType":"YulAssignment","src":"1001:20:25","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1012:5:25"},{"kind":"number","nodeType":"YulLiteral","src":"1019:1:25","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1008:3:25"},"nodeType":"YulFunctionCall","src":"1008:13:25"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"1001:3:25"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"921:5:25","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"931:3:25","type":""}],"src":"892:135:25"},{"body":{"nodeType":"YulBlock","src":"1064:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1081:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1088:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1093:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1084:3:25"},"nodeType":"YulFunctionCall","src":"1084:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1074:6:25"},"nodeType":"YulFunctionCall","src":"1074:31:25"},"nodeType":"YulExpressionStatement","src":"1074:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1121:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1124:4:25","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1114:6:25"},"nodeType":"YulFunctionCall","src":"1114:15:25"},"nodeType":"YulExpressionStatement","src":"1114:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1145:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1148:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1138:6:25"},"nodeType":"YulFunctionCall","src":"1138:15:25"},"nodeType":"YulExpressionStatement","src":"1138:15:25"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"1032:127:25"},{"body":{"nodeType":"YulBlock","src":"1210:74:25","statements":[{"body":{"nodeType":"YulBlock","src":"1233:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"1235:16:25"},"nodeType":"YulFunctionCall","src":"1235:18:25"},"nodeType":"YulExpressionStatement","src":"1235:18:25"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1230:1:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1223:6:25"},"nodeType":"YulFunctionCall","src":"1223:9:25"},"nodeType":"YulIf","src":"1220:35:25"},{"nodeType":"YulAssignment","src":"1264:14:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1273:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"1276:1:25"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"1269:3:25"},"nodeType":"YulFunctionCall","src":"1269:9:25"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"1264:1:25"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1195:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"1198:1:25","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"1204:1:25","type":""}],"src":"1164:120:25"},{"body":{"nodeType":"YulBlock","src":"1321:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1338:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1345:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1350:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1341:3:25"},"nodeType":"YulFunctionCall","src":"1341:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1331:6:25"},"nodeType":"YulFunctionCall","src":"1331:31:25"},"nodeType":"YulExpressionStatement","src":"1331:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1378:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1381:4:25","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1371:6:25"},"nodeType":"YulFunctionCall","src":"1371:15:25"},"nodeType":"YulExpressionStatement","src":"1371:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1402:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1405:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1395:6:25"},"nodeType":"YulFunctionCall","src":"1395:15:25"},"nodeType":"YulExpressionStatement","src":"1395:15:25"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1289:127:25"},{"body":{"nodeType":"YulBlock","src":"1470:79:25","statements":[{"nodeType":"YulAssignment","src":"1480:17:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1492:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"1495:1:25"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1488:3:25"},"nodeType":"YulFunctionCall","src":"1488:9:25"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"1480:4:25"}]},{"body":{"nodeType":"YulBlock","src":"1521:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1523:16:25"},"nodeType":"YulFunctionCall","src":"1523:18:25"},"nodeType":"YulExpressionStatement","src":"1523:18:25"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"1512:4:25"},{"name":"x","nodeType":"YulIdentifier","src":"1518:1:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1509:2:25"},"nodeType":"YulFunctionCall","src":"1509:11:25"},"nodeType":"YulIf","src":"1506:37:25"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1452:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"1455:1:25","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"1461:4:25","type":""}],"src":"1421:128:25"},{"body":{"nodeType":"YulBlock","src":"1592:74:25","statements":[{"body":{"nodeType":"YulBlock","src":"1615:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"1617:16:25"},"nodeType":"YulFunctionCall","src":"1617:18:25"},"nodeType":"YulExpressionStatement","src":"1617:18:25"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"1612:1:25"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1605:6:25"},"nodeType":"YulFunctionCall","src":"1605:9:25"},"nodeType":"YulIf","src":"1602:35:25"},{"nodeType":"YulAssignment","src":"1646:14:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1655:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"1658:1:25"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"1651:3:25"},"nodeType":"YulFunctionCall","src":"1651:9:25"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"1646:1:25"}]}]},"name":"mod_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1577:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"1580:1:25","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"1586:1:25","type":""}],"src":"1554:112:25"},{"body":{"nodeType":"YulBlock","src":"1719:77:25","statements":[{"nodeType":"YulAssignment","src":"1729:16:25","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1740:1:25"},{"name":"y","nodeType":"YulIdentifier","src":"1743:1:25"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1736:3:25"},"nodeType":"YulFunctionCall","src":"1736:9:25"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"1729:3:25"}]},{"body":{"nodeType":"YulBlock","src":"1768:22:25","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"1770:16:25"},"nodeType":"YulFunctionCall","src":"1770:18:25"},"nodeType":"YulExpressionStatement","src":"1770:18:25"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"1760:1:25"},{"name":"sum","nodeType":"YulIdentifier","src":"1763:3:25"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1757:2:25"},"nodeType":"YulFunctionCall","src":"1757:10:25"},"nodeType":"YulIf","src":"1754:36:25"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"1702:1:25","type":""},{"name":"y","nodeType":"YulTypedName","src":"1705:1:25","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"1711:3:25","type":""}],"src":"1671:125:25"},{"body":{"nodeType":"YulBlock","src":"1833:95:25","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1850:1:25","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1857:3:25","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1862:10:25","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1853:3:25"},"nodeType":"YulFunctionCall","src":"1853:20:25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1843:6:25"},"nodeType":"YulFunctionCall","src":"1843:31:25"},"nodeType":"YulExpressionStatement","src":"1843:31:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1890:1:25","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1893:4:25","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1883:6:25"},"nodeType":"YulFunctionCall","src":"1883:15:25"},"nodeType":"YulExpressionStatement","src":"1883:15:25"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1914:1:25","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1917:4:25","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1907:6:25"},"nodeType":"YulFunctionCall","src":"1907:15:25"},"nodeType":"YulExpressionStatement","src":"1907:15:25"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"1801:127:25"}]},"contents":"{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n}","id":25,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636900a3ae1461003a575b600080fd5b61004d61004836600461016c565b610063565b60405161005a9190610185565b60405180910390f35b60608160000361008a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156100b4578061009e816101e9565b91506100ad9050600a83610218565b915061008e565b60008167ffffffffffffffff8111156100cf576100cf61022c565b6040519080825280601f01601f1916602001820160405280156100f9576020820181803683370190505b5090505b84156101645761010e600183610242565b915061011b600a8661025b565b61012690603061026f565b60f81b81838151811061013b5761013b610282565b60200101906001600160f81b031916908160001a90535061015d600a86610218565b94506100fd565b949350505050565b60006020828403121561017e57600080fd5b5035919050565b600060208083528351808285015260005b818110156101b257858101830151858201604001528201610196565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016101fb576101fb6101d3565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261022757610227610202565b500490565b634e487b7160e01b600052604160045260246000fd5b81810381811115610255576102556101d3565b92915050565b60008261026a5761026a610202565b500690565b80820180821115610255576102556101d3565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220e9777e20a0452e201d3312dd3a508695794a6a7fc48e20c536fd52f14927c5a964736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6900A3AE EQ PUSH2 0x3A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x16C JUMP JUMPDEST PUSH2 0x63 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5A SWAP2 SWAP1 PUSH2 0x185 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x8A JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xB4 JUMPI DUP1 PUSH2 0x9E DUP2 PUSH2 0x1E9 JUMP JUMPDEST SWAP2 POP PUSH2 0xAD SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x218 JUMP JUMPDEST SWAP2 POP PUSH2 0x8E JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xCF JUMPI PUSH2 0xCF PUSH2 0x22C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF9 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x164 JUMPI PUSH2 0x10E PUSH1 0x1 DUP4 PUSH2 0x242 JUMP JUMPDEST SWAP2 POP PUSH2 0x11B PUSH1 0xA DUP7 PUSH2 0x25B JUMP JUMPDEST PUSH2 0x126 SWAP1 PUSH1 0x30 PUSH2 0x26F JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x13B JUMPI PUSH2 0x13B PUSH2 0x282 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x15D PUSH1 0xA DUP7 PUSH2 0x218 JUMP JUMPDEST SWAP5 POP PUSH2 0xFD JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1B2 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x196 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1FB JUMPI PUSH2 0x1FB PUSH2 0x1D3 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x227 JUMPI PUSH2 0x227 PUSH2 0x202 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x26A JUMPI PUSH2 0x26A PUSH2 0x202 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x255 JUMPI PUSH2 0x255 PUSH2 0x1D3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE9 PUSH24 0x7E20A0452E201D3312DD3A508695794A6A7FC48E20C536FD MSTORE CALL 0x49 0x27 0xC5 0xA9 PUSH5 0x736F6C6343 STOP ADDMOD EQ STOP CALLER ","sourceMap":"58:647:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;254:448;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;308:13;334:5;343:1;334:10;330:43;;-1:-1:-1;;356:10:23;;;;;;;;;;;;-1:-1:-1;;;356:10:23;;;;;254:448::o;330:43::-;393:5;378:12;424:63;431:9;;424:63;;452:8;;;;:::i;:::-;;-1:-1:-1;470:10:23;;-1:-1:-1;478:2:23;470:10;;:::i;:::-;;;424:63;;;492:19;524:6;514:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;514:17:23;;492:39;;537:134;544:10;;537:134;;566:11;576:1;566:11;;:::i;:::-;;-1:-1:-1;630:10:23;638:2;630:5;:10;:::i;:::-;617:24;;:2;:24;:::i;:::-;604:39;;587:6;594;587:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;587:56:23;;;;;;;;-1:-1:-1;653:11:23;662:2;653:11;;:::i;:::-;;;537:134;;;690:6;254:448;-1:-1:-1;;;;254:448:23:o;14:180:25:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:25;;14:180;-1:-1:-1;14:180:25:o;199:556::-;319:4;348:2;377;366:9;359:21;409:6;403:13;452:6;447:2;436:9;432:18;425:34;477:1;487:140;501:6;498:1;495:13;487:140;;;596:14;;;592:23;;586:30;562:17;;;581:2;558:26;551:66;516:10;;487:140;;;491:3;676:1;671:2;662:6;651:9;647:22;643:31;636:42;746:2;739;735:7;730:2;722:6;718:15;714:29;703:9;699:45;695:54;687:62;;;;199:556;;;;:::o;760:127::-;821:10;816:3;812:20;809:1;802:31;852:4;849:1;842:15;876:4;873:1;866:15;892:135;931:3;952:17;;;949:43;;972:18;;:::i;:::-;-1:-1:-1;1019:1:25;1008:13;;892:135::o;1032:127::-;1093:10;1088:3;1084:20;1081:1;1074:31;1124:4;1121:1;1114:15;1148:4;1145:1;1138:15;1164:120;1204:1;1230;1220:35;;1235:18;;:::i;:::-;-1:-1:-1;1269:9:25;;1164:120::o;1289:127::-;1350:10;1345:3;1341:20;1338:1;1331:31;1381:4;1378:1;1371:15;1405:4;1402:1;1395:15;1421:128;1488:9;;;1509:11;;;1506:37;;;1523:18;;:::i;:::-;1421:128;;;;:::o;1554:112::-;1586:1;1612;1602:35;;1617:18;;:::i;:::-;-1:-1:-1;1651:9:25;;1554:112::o;1671:125::-;1736:9;;;1757:10;;;1754:36;;;1770:18;;:::i;1801:127::-;1862:10;1857:3;1853:20;1850:1;1843:31;1893:4;1890:1;1883:15;1917:4;1914:1;1907:15"},"methodIdentifiers":{"toString(uint256)":"6900a3ae"}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/gamma/libs/LibStringUtils.sol\":\"LibStringUtils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/gamma/libs/LibStringUtils.sol\":{\"keccak256\":\"0xba4eb973b00fd067774025a9be36b6200c934abcd573598e74ca6a63d42cc71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e98265d2dbaa319bb8f83296726b96b7808e9736a3f32407e216b9215b6ac965\",\"dweb:/ipfs/QmfX4MKNCy3XmMewLcY7HwYFizTSLDcGVLEJ54LLvyuvft\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}},"hardhat/console.sol":{"console":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b9abbec7f2ac4b0fb659334370fbba1005d263a7fe8a41f450feb4871b766cad64736f6c63430008140033","opcodes":"PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB9 0xAB 0xBE 0xC7 CALLCODE 0xAC 0x4B 0xF 0xB6 MSIZE CALLER NUMBER PUSH17 0xFBBA1005D263A7FE8A41F450FEB4871B76 PUSH13 0xAD64736F6C6343000814003300 ","sourceMap":"66:68934:24:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:68934:24;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b9abbec7f2ac4b0fb659334370fbba1005d263a7fe8a41f450feb4871b766cad64736f6c63430008140033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB9 0xAB 0xBE 0xC7 CALLCODE 0xAC 0x4B 0xF 0xB6 MSIZE CALLER NUMBER PUSH17 0xFBBA1005D263A7FE8A41F450FEB4871B76 PUSH13 0xAD64736F6C6343000814003300 ","sourceMap":"66:68934:24:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"hardhat/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"hardhat/console.sol\":{\"keccak256\":\"0x7434453e6d3b7d0e5d0eb7846ffdbc27f0ccf3b163591263739b628074dc103a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49355f780520494d1d5a0f01858385e51bb5280ce0ecfb960f16995065dca395\",\"dweb:/ipfs/QmSwJ6C5QLz6xKeQZS8wbwjU1KxRFTYfwbGmtzisd5sRW4\"]}},\"version\":1}","storageLayout":{"storage":[],"types":null}}}}}} \ No newline at end of file diff --git a/artifacts/contracts/alpha/Alpha.v3.sol/NofAlphaV3.dbg.json b/artifacts/contracts/alpha/Alpha.v3.sol/NofAlphaV3.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/alpha/Alpha.v3.sol/NofAlphaV3.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/alpha/Alpha.v3.sol/NofAlphaV3.json b/artifacts/contracts/alpha/Alpha.v3.sol/NofAlphaV3.json new file mode 100644 index 0000000..bd0cbf5 --- /dev/null +++ b/artifacts/contracts/alpha/Alpha.v3.sol/NofAlphaV3.json @@ -0,0 +1,930 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofAlphaV3", + "sourceName": "contracts/alpha/Alpha.v3.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "seasonName", + "type": "string" + } + ], + "name": "BuyPack", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "winner", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "season", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "position", + "type": "uint256" + } + ], + "name": "Winner", + "type": "event" + }, + { + "inputs": [], + "name": "DAI_TOKEN", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": [], + "name": "balanceReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "buyPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "cards", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "class", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collection", + "type": "uint256" + }, + { + "internalType": "string", + "name": "season", + "type": "string" + }, + { + "internalType": "uint256", + "name": "completion", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "cardsByUserBySeason", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "class", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collection", + "type": "uint256" + }, + { + "internalType": "string", + "name": "season", + "type": "string" + }, + { + "internalType": "uint256", + "name": "completion", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "internalType": "string", + "name": "_seasonName", + "type": "string" + } + ], + "name": "getCardsByUserBySeason", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "class", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collection", + "type": "uint256" + }, + { + "internalType": "string", + "name": "season", + "type": "string" + }, + { + "internalType": "uint256", + "name": "completion", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "internalType": "struct NofAlphaV3.Card[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getSeasonAlbums", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getSeasonCards", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSeasonData", + "outputs": [ + { + "internalType": "string[]", + "name": "", + "type": "string[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_seasonName", + "type": "string" + } + ], + "name": "getWinners", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "__baseUri", + "type": "string" + }, + { + "internalType": "address", + "name": "_daiTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_balanceReceiver", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "isOperator", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "folder", + "type": "string" + } + ], + "name": "newSeason", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": "uint256", + "name": "card", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "album", + "type": "uint256" + } + ], + "name": "pasteCards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "prizesBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "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": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "seasonNames", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "seasonPrices", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "seasons", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "string", + "name": "folder", + "type": "string" + } + ], + "stateMutability": "view", + "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": "_newBalanceReceiver", + "type": "address" + } + ], + "name": "setBalanceReceiver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "__baseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "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": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x61016060405260146080908152600e60a052600c60c052600a60e0526008610100526006610120526005610140526200003d90600f9060076200018f565b503480156200004b57600080fd5b50604051806040016040528060098152602001684e4f4620416c70686160b81b815250604051806040016040528060048152602001634e4f464160e01b81525081600090816200009c9190620002e5565b506001620000ab8282620002e5565b505050620000c8620000c2620000ce60201b60201c565b620000df565b620003b1565b6000620000da62000131565b905090565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60003033036200018957600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b031691506200018c9050565b50335b90565b600183019183908215620002175791602002820160005b83821115620001e657835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620001a6565b8015620002155782816101000a81549060ff0219169055600101602081600001049283019260010302620001e6565b505b506200022592915062000229565b5090565b5b808211156200022557600081556001016200022a565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200026b57607f821691505b6020821081036200028c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e057600081815260208120601f850160051c81016020861015620002bb5750805b601f850160051c820191505b81811015620002dc57828155600101620002c7565b5050505b505050565b81516001600160401b0381111562000301576200030162000240565b620003198162000312845462000256565b8462000292565b602080601f831160018114620003515760008415620003385750858301515b600019600386901b1c1916600185901b178555620002dc565b600085815260208120601f198616915b82811015620003825788860151825594840194600190910190840162000361565b5085821015620003a15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61450680620003c16000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638477919b11610125578063be20e5a9116100ad578063e5db587a1161007c578063e5db587a146104c7578063e606df87146104d0578063e985e9c5146104e3578063e9d43f7d146104f6578063f2fde38b1461051657600080fd5b8063be20e5a91461047b578063c1f3a3bb1461048e578063c87b56dd146104a1578063d1811d02146104b457600080fd5b806395d89b41116100f457806395d89b411461042f5780639abc832014610437578063a22cb4651461043f578063b773d5c114610452578063b88d4fde1461046857600080fd5b80638477919b146103d85780638da5cb5b146103eb5780638dc10768146103fc57806395a4c5251461040f57600080fd5b806355f804b3116101a857806370a082311161017757806370a082311461035b578063715018a61461037c57806371f72fa014610384578063787f0b051461039757806383c73d81146103b857600080fd5b806355f804b31461030f57806361c66c1614610322578063627b253f146103355780636352211e1461034857600080fd5b8063095ea7b3116101ef578063095ea7b31461029e57806323b872dd146102b1578063308f5987146102c457806341c2c10f146102e957806342842e0e146102fc57600080fd5b8063015db3961461022157806301ffc9a71461023657806306fdde031461025e578063081812fc14610273575b600080fd5b61023461022f36600461385c565b610529565b005b6102496102443660046138b8565b610c62565b60405190151581526020015b60405180910390f35b610266610c73565b6040516102559190613925565b610286610281366004613938565b610d05565b6040516001600160a01b039091168152602001610255565b6102346102ac36600461396d565b610d2c565b6102346102bf366004613997565b610e53565b6102d76102d23660046139d3565b610e5e565b60405161025596959493929190613a29565b6102346102f7366004613a63565b610f5b565b61023461030a366004613997565b6117ad565b61023461031d366004613a85565b6117c8565b610266610330366004613938565b6117e0565b600a54610286906001600160a01b031681565b610286610356366004613938565b61188c565b61036e610369366004613ab9565b6118ec565b604051908152602001610255565b610234611972565b610234610392366004613ad4565b611986565b6103aa6103a5366004613a85565b6119ca565b604051610255929190613b31565b6103cb6103c6366004613a85565b611a7a565b6040516102559190613b85565b6102346103e6366004613b98565b611aed565b6007546001600160a01b0316610286565b6102d761040a366004613938565b611d20565b61042261041d366004613c56565b611d50565b6040516102559190613c97565b610266611dcd565b610266611ddc565b61023461044d366004613cf2565b611de9565b61045a611dfb565b604051610255929190613d29565b610234610476366004613d9f565b611f2f565b6103cb610489366004613a85565b612172565b61023461049c366004613ab9565b6121e3565b6102666104af366004613938565b61220d565b61036e6104c2366004613938565b612218565b61036e60125481565b601354610286906001600160a01b031681565b6102496104f1366004613e0e565b612239565b610509610504366004613e41565b612299565b6040516102559190613e93565b610234610524366004613ab9565b6123f7565b600b816040516105399190613f33565b9081526040805160209281900383019020336000908152600390910190925290205460ff16156105b05760405162461bcd60e51b815260206004820152601760248201527f59612074656e657320756e207061636b2077616368696e00000000000000000060448201526064015b60405180910390fd5b6001600b826040516105c29190613f33565b908152604080516020928190038301812033600090815260039091019093529120805460ff1916921515929092179091558290600b90610603908490613f33565b90815260405190819003602001902054146106605760405162461bcd60e51b815260206004820152601960248201527f53656e6420657861637420707269636520666f72205061636b0000000000000060448201526064016105a7565b6000606461066f84604b613f65565b6106799190613f92565b9050806012600082825461068d9190613fa6565b90915550506013546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156106e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070d9190613fb9565b50601354600a546001600160a01b03918216916323b872dd913391166107338588613fd6565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab9190613fb9565b506000600b836040516107be9190613f33565b9081526040805160209281900383018120600201544293820193909352016040516020818303038152906040528051906020012060001c6107ff9190613fe9565b90506000600b846040516108139190613f33565b9081526020016040518091039020600201828154811061083557610835613ffd565b90600052602060002001549050600b846040516108529190613f33565b90815260200160405180910390206002016001600b866040516108759190613f33565b908152604051908190036020019020600201546108929190613fd6565b815481106108a2576108a2613ffd565b9060005260206000200154600b856040516108bd9190613f33565b908152602001604051809103902060020183815481106108df576108df613ffd565b9060005260206000200181905550600b846040516108fd9190613f33565b908152602001604051809103902060020180548061091d5761091d614013565b600190038181906000526020600020016000905590556109dc33600b866040516109479190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061097b85612470565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016109ac94939291906140d6565b60408051601f19818403018152919052600060016109cb600687613f92565b6109d59190613fd6565b8886612578565b505060005b6005811015610c23576000600b846040516109fc9190613f33565b9081526040805160209281900383018120600101544293820193909352016040516020818303038152906040528051906020012060001c610a3d9190613fe9565b90506000600b85604051610a519190613f33565b90815260200160405180910390206001018281548110610a7357610a73613ffd565b90600052602060002001549050600b85604051610a909190613f33565b90815260200160405180910390206001016001600b87604051610ab39190613f33565b90815260405190819003602001902060010154610ad09190613fd6565b81548110610ae057610ae0613ffd565b9060005260206000200154600b86604051610afb9190613f33565b90815260200160405180910390206001018381548110610b1d57610b1d613ffd565b9060005260206000200181905550600b85604051610b3b9190613f33565b9081526020016040518091039020600101805480610b5b57610b5b614013565b60019003818190600052602060002001600090559055610c0e33600b87604051610b859190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b815250610bb985612470565b60405180604001604052806005815260200164173539b7b760d91b815250604051602001610bea94939291906140d6565b60408051601f198184030181529190526001610c07600686613f92565b8986612578565b50508080610c1b90614123565b9150506109e1565b507f55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c3383604051610c5592919061413c565b60405180910390a1505050565b6000610c6d82612685565b92915050565b606060008054610c8290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610cae90614029565b8015610cfb5780601f10610cd057610100808354040283529160200191610cfb565b820191906000526020600020905b815481529060010190602001808311610cde57829003601f168201915b5050505050905090565b6000610d10826126aa565b506000908152600460205260409020546001600160a01b031690565b6000610d378261188c565b9050806001600160a01b0316836001600160a01b031603610da45760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016105a7565b806001600160a01b0316610db6612709565b6001600160a01b03161480610dd25750610dd2816104f1612709565b610e445760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105a7565b610e4e8383612718565b505050565b610e4e8383836117ad565b600e6020908152600084815260409020835180850183018051928152908301928501929092209152805482908110610e9557600080fd5b90600052602060002090600602016000925092505050806000015490806001015490806002015490806003018054610ecc90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef890614029565b8015610f455780601f10610f1a57610100808354040283529160200191610f45565b820191906000526020600020905b815481529060010190602001808311610f2857829003601f168201915b5050505050908060040154908060050154905086565b33610f658361188c565b6001600160a01b031614610fb35760405162461bcd60e51b8152602060048201526015602482015274151a1a5cc81a5cc81b9bdd081e5bdd5c8818d85c99605a1b60448201526064016105a7565b33610fbd8261188c565b6001600160a01b03161461100c5760405162461bcd60e51b815260206004820152601660248201527554686973206973206e6f7420796f757220616c62756d60501b60448201526064016105a7565b6000818152600c6020526040902060010154156110625760405162461bcd60e51b815260206004820152601460248201527363617264206973206e6f7420616e20616c62756d60601b60448201526064016105a7565b6000828152600c60205260408120600301805461107e90614029565b80601f01602080910402602001604051908101604052809291908181526020018280546110aa90614029565b80156110f75780601f106110cc576101008083540402835291602001916110f7565b820191906000526020600020905b8154815290600101906020018083116110da57829003601f168201915b5050505050905060005b336000908152600e602052604090819020905161111f908490613f33565b9081526040519081900360200190205460ff82161015611365576000848152600c6020908152604080832060050154338452600e90925291829020915190919061116a908590613f33565b90815260200160405180910390208260ff168154811061118c5761118c613ffd565b9060005260206000209060060201600501540361135357336000908152600e60205260409081902090516111c1908490613f33565b90815260200160405180910390206001600e6000336001600160a01b03166001600160a01b03168152602001908152602001600020846040516112049190613f33565b9081526040519081900360200190205461121e9190613fd6565b8154811061122e5761122e613ffd565b60009182526020808320338452600e9091526040928390209251600690920201919061125b908590613f33565b90815260200160405180910390208260ff168154811061127d5761127d613ffd565b9060005260206000209060060201600082015481600001556001820154816001015560028201548160020155600382018160030190816112bd91906141ae565b5060048281015490820155600591820154910155336000908152600e60205260409081902090516112ef908490613f33565b908152602001604051809103902080548061130c5761130c614013565b6000828152602081206006600019909301928302018181556001810182905560028101829055906113406003830182613763565b5060006004820181905560059091015590555b8061135d8161428a565b915050611101565b5061136f83612786565b6000828152600c6020526040812060040180549161138c83614123565b9091555050336000908152600e60209081526040808320868452600c90925291829020915190916113c2916003909101906142a9565b90815260200160405180910390206000815481106113e2576113e2613ffd565b60009182526020822060046006909202010180549161140083614123565b90915550506000828152600c6020526040902060040154600503610e4e576000828152600c60205260408120600301805461143a90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461146690614029565b80156114b35780601f10611488576101008083540402835291602001916114b3565b820191906000526020600020905b81548152906001019060200180831161149657829003601f168201915b505050505090506007600d826040516114cc9190613f33565b9081526040519081900360200190205410156116ad57600d816040516114f29190613f33565b908152604051908190036020908101822080546001818101835560009283529282200180546001600160a01b0319163317905591600a91600f91600d9061153a908790613f33565b908152604051908190036020019020546115549190613fd6565b6007811061156457611564613ffd565b602091828204019190069054906101000a900460ff1660ff16600b8460405161158d9190613f33565b908152604051908190036020019020546115a79190613f65565b6115b19190613f92565b905060125481111561161e5760405162461bcd60e51b815260206004820152603060248201527f5072697a65206d757374206265206c6f776572206f7220657175616c2074686160448201526f6e207072697a65732062616c616e636560801b60648201526084016105a7565b80601260008282546116309190613fd6565b909155505060135460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190613fb9565b50505b61175183600b836040516116c19190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061170b600c600089815260200190815260200160002060050154612470565b6040518060400160405280600681526020016523173539b7b760d11b81525060405160200161173d94939291906140d6565b60405160208183030381529060405261278f565b7f953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c963382600d846040516117849190613f33565b9081526040519081900360200181205461179f9392916142b5565b60405180910390a150505050565b610e4e83838360405180602001604052806000815250611f2f565b6117d061285a565b60096117dc82826142e9565b5050565b601081815481106117f057600080fd5b90600052602060002001600091509050805461180b90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461183790614029565b80156118845780601f1061185957610100808354040283529160200191611884565b820191906000526020600020905b81548152906001019060200180831161186757829003601f168201915b505050505081565b6000818152600260205260408120546001600160a01b031680610c6d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b60006001600160a01b0382166119565760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105a7565b506001600160a01b031660009081526003602052604090205490565b61197a61285a565b61198460006128d3565b565b61198e61285a565b600961199a84826142e9565b50601380546001600160a01b039384166001600160a01b031991821617909155600a805492909316911617905550565b8051602081830181018051600b82529282019190930120915280546004820180549192916119f790614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611a2390614029565b8015611a705780601f10611a4557610100808354040283529160200191611a70565b820191906000526020600020905b815481529060010190602001808311611a5357829003601f168201915b5050505050905082565b6060600b82604051611a8c9190613f33565b9081526040805191829003602090810183206001018054808302850183019093528284529190830182828015611ae157602002820191906000526020600020905b815481526020019060010190808311611acd575b50505050509050919050565b611af561285a565b655af3107a4000831015611b5a5760405162461bcd60e51b815260206004820152602660248201527f7061636b2076616c7565206d757374206265206174206c6561737420302e303060448201526530312044414960d01b60648201526084016105a7565b611b65600683613fe9565b15611bb25760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206d757374206265206d756c7469706c65206f6620360000000060448201526064016105a7565b82600b85604051611bc39190613f33565b908152604051908190036020018120919091558190600b90611be6908790613f33565b90815260200160405180910390206004019081611c0391906142e9565b50601080546001810182556000919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67201611c4085826142e9565b5060118054600181810183556000929092527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68018490555b828111611d1957611c8a600682613fe9565b600003611ccd57600b85604051611ca19190613f33565b908152604051602091819003820190206002018054600181018255600091825291902001819055611d07565b600b85604051611cdd9190613f33565b90815260405160209181900382019020600190810180549182018155600090815291909120018190555b80611d1181614123565b915050611c78565b5050505050565b600c60205260009081526040902080546001820154600283015460038401805493949293919291610ecc90614029565b6060600d8383604051611d649291906143a0565b9081526040805191829003602090810183208054808302850183019093528284529190830182828015611dc057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611da2575b5050505050905092915050565b606060018054610c8290614029565b6009805461180b90614029565b6117dc611df4612709565b8383612925565b6060806010601181805480602002602001604051908101604052809291908181526020016000905b82821015611ecf578382906000526020600020018054611e4290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6e90614029565b8015611ebb5780601f10611e9057610100808354040283529160200191611ebb565b820191906000526020600020905b815481529060010190602001808311611e9e57829003601f168201915b505050505081526020019060010190611e23565b50505050915080805480602002602001604051908101604052809291908181526020018280548015611f2057602002820191906000526020600020905b815481526020019060010190808311611f0c575b50505050509050915091509091565b6000828152600c602052604081206003018054611f4b90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7790614029565b8015611fc45780601f10611f9957610100808354040283529160200191611fc4565b820191906000526020600020905b815481529060010190602001808311611fa757829003601f168201915b50505050509050611fd481612172565b51156120345760405162461bcd60e51b815260206004820152602960248201527f54686572652061726520616c62756d7320617661696c61626c6520696e20746860448201526834b99039b2b0b9b7b760b91b60648201526084016105a7565b612040858585856129f3565b6000838152600c6020526040902060019081015490036120f557600b8160405161206a9190613f33565b90815260408051602092819003830190206001600160a01b0387166000908152600390910190925290205460ff166120f05760405162461bcd60e51b815260206004820152602360248201527f5265636569766572206973206e6f7420706c6179696e6720746869732073656160448201526239b7b760e91b60648201526084016105a7565b612167565b6000838152600c60205260409020600401546005146121675760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920636f6d706c6574656420616c62756d732063616e206265207472616044820152671b9cd9995c9c995960c21b60648201526084016105a7565b611d19858585612a78565b6060600b826040516121849190613f33565b9081526040805191829003602090810183206002018054808302850183019093528284529190830182828015611ae15760200282019190600052602060002090815481526020019060010190808311611acd5750505050509050919050565b6121eb61285a565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060610c6d82612e52565b6011818154811061222857600080fd5b600091825260209091200154905081565b60007358807bad0b376efc12f5ad86aac70e78ed67dead196001600160a01b0383160161226857506001610c6d565b6001600160a01b0380841660009081526005602090815260408083209386168352929052205460ff165b9392505050565b6001600160a01b0383166000908152600e6020526040908190209051606091906122c690859085906143a0565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b828210156123ea57838290600052602060002090600602016040518060c001604052908160008201548152602001600182015481526020016002820154815260200160038201805461234590614029565b80601f016020809104026020016040519081016040528092919081815260200182805461237190614029565b80156123be5780601f10612393576101008083540402835291602001916123be565b820191906000526020600020905b8154815290600101906020018083116123a157829003601f168201915b5050505050815260200160048201548152602001600582015481525050815260200190600101906122f4565b5050505090509392505050565b6123ff61285a565b6001600160a01b0381166124645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a7565b61246d816128d3565b50565b6060816000036124975750506040805180820190915260018152600360fc1b602082015290565b8160005b81156124c157806124ab81614123565b91506124ba9050600a83613f92565b915061249b565b6000816001600160401b038111156124db576124db6137b1565b6040519080825280601f01601f191660200182016040528015612505576020820181803683370190505b5090505b84156125705761251a600183613fd6565b9150612527600a86613fe9565b612532906030613fa6565b60f81b81838151811061254757612547613ffd565b60200101906001600160f81b031916908160001a905350612569600a86613f92565b9450612509565b949350505050565b6008805490600190600061258c8385613fa6565b90915550506000818152600c6020526040902081815560018101869055600281018590556003016125bd84826142e9565b506000818152600c602090815260408083206005018590556001600160a01b038a168352600e9091529081902090516125f7908590613f33565b90815260408051602092819003830190206000848152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612654908401826141ae565b50600482810154908201556005918201549101556126728782612f4d565b61267c818761278f565b50505050505050565b60006001600160e01b03198216632483248360e11b1480610c6d5750610c6d826130e6565b6000818152600260205260409020546001600160a01b031661246d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b6000612713613136565b905090565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061274d8261188c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61246d81613192565b6000828152600260205260409020546001600160a01b031661280a5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016105a7565b600082815260066020526040902061282282826142e9565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b612862612709565b6001600160a01b031661287d6007546001600160a01b031690565b6001600160a01b0316146119845760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a7565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036129865760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612a046129fe612709565b836131d2565b612a665760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a7565b612a7284848484613230565b50505050565b6000818152600c602052604081206003018054612a9490614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ac090614029565b8015612b0d5780601f10612ae257610100808354040283529160200191612b0d565b820191906000526020600020905b815481529060010190602001808311612af057829003601f168201915b5050505050905060005b6001600160a01b0385166000908152600e6020526040908190209051612b3e908490613f33565b9081526040519081900360200190205460ff82161015612db3576000838152600c60209081526040808320600501546001600160a01b0389168452600e909252918290209151909190612b92908590613f33565b90815260200160405180910390208260ff1681548110612bb457612bb4613ffd565b90600052602060002090600602016005015403612da1576001600160a01b0385166000908152600e6020526040908190209051612bf2908490613f33565b90815260200160405180910390206001600e6000886001600160a01b03166001600160a01b0316815260200190815260200160002084604051612c359190613f33565b90815260405190819003602001902054612c4f9190613fd6565b81548110612c5f57612c5f613ffd565b9060005260206000209060060201600e6000876001600160a01b03166001600160a01b0316815260200190815260200160002083604051612ca09190613f33565b90815260200160405180910390208260ff1681548110612cc257612cc2613ffd565b906000526020600020906006020160008201548160000155600182015481600101556002820154816002015560038201816003019081612d0291906141ae565b50600482810154908201556005918201549101556001600160a01b0385166000908152600e6020526040908190209051612d3d908490613f33565b9081526020016040518091039020805480612d5a57612d5a614013565b600082815260208120600660001990930192830201818155600181018290556002810182905590612d8e6003830182613763565b5060006004820181905560059091015590555b80612dab8161428a565b915050612b17565b506001600160a01b0383166000908152600e6020526040908190209051612ddb908390613f33565b90815260408051602092819003830190206000858152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612e38908401826141ae565b506004828101549082015560059182015491015550505050565b6060612e5d826126aa565b60008281526006602052604081208054612e7690614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ea290614029565b8015612eef5780601f10612ec457610100808354040283529160200191612eef565b820191906000526020600020905b815481529060010190602001808311612ed257829003601f168201915b505050505090506000612f00613263565b90508051600003612f12575092915050565b815115612f44578082604051602001612f2c9291906143b0565b60405160208183030381529060405292505050919050565b61257084613272565b6001600160a01b038216612fa35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105a7565b6000818152600260205260409020546001600160a01b0316156130085760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6130166000838360016132d8565b6000818152600260205260409020546001600160a01b03161561307b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160e01b031982166380ac58cd60e01b148061311757506001600160e01b03198216635b5e139f60e01b145b80610c6d57506301ffc9a760e01b6001600160e01b0319831614610c6d565b600030330361318c57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061318f9050565b50335b90565b61319b816132dd565b600081815260066020526040902080546131b490614029565b15905061246d57600081815260066020526040812061246d91613763565b6000806131de8361188c565b9050806001600160a01b0316846001600160a01b0316148061320557506132058185612239565b806125705750836001600160a01b031661321e84610d05565b6001600160a01b031614949350505050565b61323b848484613380565b613247848484846134f1565b612a725760405162461bcd60e51b81526004016105a7906143df565b606060098054610c8290614029565b606061327d826126aa565b6000613287613263565b905060008151116132a75760405180602001604052806000815250612292565b806132b1846135f9565b6040516020016132c29291906143b0565b6040516020818303038152906040529392505050565b612a72565b60006132e88261188c565b90506132f88160008460016132d8565b6133018261188c565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b826001600160a01b03166133938261188c565b6001600160a01b0316146133b95760405162461bcd60e51b81526004016105a790614431565b6001600160a01b03821661341b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105a7565b61342883838360016132d8565b826001600160a01b031661343b8261188c565b6001600160a01b0316146134615760405162461bcd60e51b81526004016105a790614431565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006001600160a01b0384163b156135ee57836001600160a01b031663150b7a0261351a612709565b8786866040518563ffffffff1660e01b815260040161353c9493929190614476565b6020604051808303816000875af1925050508015613577575060408051601f3d908101601f19168201909252613574918101906144b3565b60015b6135d4573d8080156135a5576040519150601f19603f3d011682016040523d82523d6000602084013e6135aa565b606091505b5080516000036135cc5760405162461bcd60e51b81526004016105a7906143df565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612570565b506001949350505050565b606060006136068361368b565b60010190506000816001600160401b03811115613625576136256137b1565b6040519080825280601f01601f19166020018201604052801561364f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461365957509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136ca5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106136f6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061371457662386f26fc10000830492506010015b6305f5e100831061372c576305f5e100830492506008015b612710831061374057612710830492506004015b60648310613752576064830492506002015b600a8310610c6d5760010192915050565b50805461376f90614029565b6000825580601f1061377f575050565b601f01602090049060005260206000209081019061246d91905b808211156137ad5760008155600101613799565b5090565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156137e1576137e16137b1565b604051601f8501601f19908116603f01168101908282118183101715613809576138096137b1565b8160405280935085815286868601111561382257600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261384d57600080fd5b612292838335602085016137c7565b6000806040838503121561386f57600080fd5b8235915060208301356001600160401b0381111561388c57600080fd5b6138988582860161383c565b9150509250929050565b6001600160e01b03198116811461246d57600080fd5b6000602082840312156138ca57600080fd5b8135612292816138a2565b60005b838110156138f05781810151838201526020016138d8565b50506000910152565b600081518084526139118160208601602086016138d5565b601f01601f19169290920160200192915050565b60208152600061229260208301846138f9565b60006020828403121561394a57600080fd5b5035919050565b80356001600160a01b038116811461396857600080fd5b919050565b6000806040838503121561398057600080fd5b61398983613951565b946020939093013593505050565b6000806000606084860312156139ac57600080fd5b6139b584613951565b92506139c360208501613951565b9150604084013590509250925092565b6000806000606084860312156139e857600080fd5b6139f184613951565b925060208401356001600160401b03811115613a0c57600080fd5b613a188682870161383c565b925050604084013590509250925092565b86815285602082015284604082015260c060608201526000613a4e60c08301866138f9565b60808301949094525060a00152949350505050565b60008060408385031215613a7657600080fd5b50508035926020909101359150565b600060208284031215613a9757600080fd5b81356001600160401b03811115613aad57600080fd5b6125708482850161383c565b600060208284031215613acb57600080fd5b61229282613951565b600080600060608486031215613ae957600080fd5b83356001600160401b03811115613aff57600080fd5b613b0b8682870161383c565b935050613b1a60208501613951565b9150613b2860408501613951565b90509250925092565b82815260406020820152600061257060408301846138f9565b600081518084526020808501945080840160005b83811015613b7a57815187529582019590820190600101613b5e565b509495945050505050565b6020815260006122926020830184613b4a565b60008060008060808587031215613bae57600080fd5b84356001600160401b0380821115613bc557600080fd5b613bd18883890161383c565b955060208701359450604087013593506060870135915080821115613bf557600080fd5b50613c028782880161383c565b91505092959194509250565b60008083601f840112613c2057600080fd5b5081356001600160401b03811115613c3757600080fd5b602083019150836020828501011115613c4f57600080fd5b9250929050565b60008060208385031215613c6957600080fd5b82356001600160401b03811115613c7f57600080fd5b613c8b85828601613c0e565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015613cd85783516001600160a01b031683529284019291840191600101613cb3565b50909695505050505050565b801515811461246d57600080fd5b60008060408385031215613d0557600080fd5b613d0e83613951565b91506020830135613d1e81613ce4565b809150509250929050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b83811015613d8057605f19888703018552613d6e8683516138f9565b95509382019390820190600101613d52565b505085840381870152505050613d968185613b4a565b95945050505050565b60008060008060808587031215613db557600080fd5b613dbe85613951565b9350613dcc60208601613951565b92506040850135915060608501356001600160401b03811115613dee57600080fd5b8501601f81018713613dff57600080fd5b613c02878235602084016137c7565b60008060408385031215613e2157600080fd5b613e2a83613951565b9150613e3860208401613951565b90509250929050565b600080600060408486031215613e5657600080fd5b613e5f84613951565b925060208401356001600160401b03811115613e7a57600080fd5b613e8686828701613c0e565b9497909650939450505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613f2557603f19898403018552815160c081518552888201518986015287820151888601526060808301518282880152613efa838801826138f9565b6080858101519089015260a09485015194909701939093525050509386019390860190600101613eba565b509098975050505050505050565b60008251613f458184602087016138d5565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c6d57610c6d613f4f565b634e487b7160e01b600052601260045260246000fd5b600082613fa157613fa1613f7c565b500490565b80820180821115610c6d57610c6d613f4f565b600060208284031215613fcb57600080fd5b815161229281613ce4565b81810381811115610c6d57610c6d613f4f565b600082613ff857613ff8613f7c565b500690565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600181811c9082168061403d57607f821691505b60208210810361405d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000815461407081614029565b60018281168015614088576001811461409d576140cc565b60ff19841687528215158302870194506140cc565b8560005260208060002060005b858110156140c35781548a8201529084019082016140aa565b50505082870194505b5050505092915050565b60006140e28287614063565b85516140f2818360208a016138d5565b85519101906141058183602089016138d5565b84519101906141188183602088016138d5565b019695505050505050565b60006001820161413557614135613f4f565b5060010190565b6001600160a01b0383168152604060208201819052600090612570908301846138f9565b601f821115610e4e57600081815260208120601f850160051c810160208610156141875750805b601f850160051c820191505b818110156141a657828155600101614193565b505050505050565b8181036141b9575050565b6141c38254614029565b6001600160401b038111156141da576141da6137b1565b6141ee816141e88454614029565b84614160565b6000601f821160018114614222576000831561420a5750848201545b600019600385901b1c1916600184901b178455611d19565b600085815260209020601f19841690600086815260209020845b8381101561425c578286015482556001958601959091019060200161423c565b508583101561427a5781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060ff821660ff81036142a0576142a0613f4f565b60010192915050565b60006122928284614063565b6001600160a01b03841681526060602082018190526000906142d9908301856138f9565b9050826040830152949350505050565b81516001600160401b03811115614302576143026137b1565b614310816141e88454614029565b602080601f831160018114614345576000841561432d5750858301515b600019600386901b1c1916600185901b1785556141a6565b600085815260208120601f198616915b8281101561437457888601518255948401946001909101908401614355565b508582101561427a57939096015160001960f8600387901b161c19169092555050600190811b01905550565b8183823760009101908152919050565b600083516143c28184602088016138d5565b8351908301906143d68183602088016138d5565b01949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906144a9908301846138f9565b9695505050505050565b6000602082840312156144c557600080fd5b8151612292816138a256fea26469706673582212207cae2c97a645048b47d0b2429ea7b106fe9044d36f976c9ca117019dab73d24e64736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061021c5760003560e01c80638477919b11610125578063be20e5a9116100ad578063e5db587a1161007c578063e5db587a146104c7578063e606df87146104d0578063e985e9c5146104e3578063e9d43f7d146104f6578063f2fde38b1461051657600080fd5b8063be20e5a91461047b578063c1f3a3bb1461048e578063c87b56dd146104a1578063d1811d02146104b457600080fd5b806395d89b41116100f457806395d89b411461042f5780639abc832014610437578063a22cb4651461043f578063b773d5c114610452578063b88d4fde1461046857600080fd5b80638477919b146103d85780638da5cb5b146103eb5780638dc10768146103fc57806395a4c5251461040f57600080fd5b806355f804b3116101a857806370a082311161017757806370a082311461035b578063715018a61461037c57806371f72fa014610384578063787f0b051461039757806383c73d81146103b857600080fd5b806355f804b31461030f57806361c66c1614610322578063627b253f146103355780636352211e1461034857600080fd5b8063095ea7b3116101ef578063095ea7b31461029e57806323b872dd146102b1578063308f5987146102c457806341c2c10f146102e957806342842e0e146102fc57600080fd5b8063015db3961461022157806301ffc9a71461023657806306fdde031461025e578063081812fc14610273575b600080fd5b61023461022f36600461385c565b610529565b005b6102496102443660046138b8565b610c62565b60405190151581526020015b60405180910390f35b610266610c73565b6040516102559190613925565b610286610281366004613938565b610d05565b6040516001600160a01b039091168152602001610255565b6102346102ac36600461396d565b610d2c565b6102346102bf366004613997565b610e53565b6102d76102d23660046139d3565b610e5e565b60405161025596959493929190613a29565b6102346102f7366004613a63565b610f5b565b61023461030a366004613997565b6117ad565b61023461031d366004613a85565b6117c8565b610266610330366004613938565b6117e0565b600a54610286906001600160a01b031681565b610286610356366004613938565b61188c565b61036e610369366004613ab9565b6118ec565b604051908152602001610255565b610234611972565b610234610392366004613ad4565b611986565b6103aa6103a5366004613a85565b6119ca565b604051610255929190613b31565b6103cb6103c6366004613a85565b611a7a565b6040516102559190613b85565b6102346103e6366004613b98565b611aed565b6007546001600160a01b0316610286565b6102d761040a366004613938565b611d20565b61042261041d366004613c56565b611d50565b6040516102559190613c97565b610266611dcd565b610266611ddc565b61023461044d366004613cf2565b611de9565b61045a611dfb565b604051610255929190613d29565b610234610476366004613d9f565b611f2f565b6103cb610489366004613a85565b612172565b61023461049c366004613ab9565b6121e3565b6102666104af366004613938565b61220d565b61036e6104c2366004613938565b612218565b61036e60125481565b601354610286906001600160a01b031681565b6102496104f1366004613e0e565b612239565b610509610504366004613e41565b612299565b6040516102559190613e93565b610234610524366004613ab9565b6123f7565b600b816040516105399190613f33565b9081526040805160209281900383019020336000908152600390910190925290205460ff16156105b05760405162461bcd60e51b815260206004820152601760248201527f59612074656e657320756e207061636b2077616368696e00000000000000000060448201526064015b60405180910390fd5b6001600b826040516105c29190613f33565b908152604080516020928190038301812033600090815260039091019093529120805460ff1916921515929092179091558290600b90610603908490613f33565b90815260405190819003602001902054146106605760405162461bcd60e51b815260206004820152601960248201527f53656e6420657861637420707269636520666f72205061636b0000000000000060448201526064016105a7565b6000606461066f84604b613f65565b6106799190613f92565b9050806012600082825461068d9190613fa6565b90915550506013546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156106e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070d9190613fb9565b50601354600a546001600160a01b03918216916323b872dd913391166107338588613fd6565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab9190613fb9565b506000600b836040516107be9190613f33565b9081526040805160209281900383018120600201544293820193909352016040516020818303038152906040528051906020012060001c6107ff9190613fe9565b90506000600b846040516108139190613f33565b9081526020016040518091039020600201828154811061083557610835613ffd565b90600052602060002001549050600b846040516108529190613f33565b90815260200160405180910390206002016001600b866040516108759190613f33565b908152604051908190036020019020600201546108929190613fd6565b815481106108a2576108a2613ffd565b9060005260206000200154600b856040516108bd9190613f33565b908152602001604051809103902060020183815481106108df576108df613ffd565b9060005260206000200181905550600b846040516108fd9190613f33565b908152602001604051809103902060020180548061091d5761091d614013565b600190038181906000526020600020016000905590556109dc33600b866040516109479190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061097b85612470565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016109ac94939291906140d6565b60408051601f19818403018152919052600060016109cb600687613f92565b6109d59190613fd6565b8886612578565b505060005b6005811015610c23576000600b846040516109fc9190613f33565b9081526040805160209281900383018120600101544293820193909352016040516020818303038152906040528051906020012060001c610a3d9190613fe9565b90506000600b85604051610a519190613f33565b90815260200160405180910390206001018281548110610a7357610a73613ffd565b90600052602060002001549050600b85604051610a909190613f33565b90815260200160405180910390206001016001600b87604051610ab39190613f33565b90815260405190819003602001902060010154610ad09190613fd6565b81548110610ae057610ae0613ffd565b9060005260206000200154600b86604051610afb9190613f33565b90815260200160405180910390206001018381548110610b1d57610b1d613ffd565b9060005260206000200181905550600b85604051610b3b9190613f33565b9081526020016040518091039020600101805480610b5b57610b5b614013565b60019003818190600052602060002001600090559055610c0e33600b87604051610b859190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b815250610bb985612470565b60405180604001604052806005815260200164173539b7b760d91b815250604051602001610bea94939291906140d6565b60408051601f198184030181529190526001610c07600686613f92565b8986612578565b50508080610c1b90614123565b9150506109e1565b507f55d44f7f091f0389b4dcb1b6ae002ed20fe8229c546e6aaf1ccac2646cdf514c3383604051610c5592919061413c565b60405180910390a1505050565b6000610c6d82612685565b92915050565b606060008054610c8290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610cae90614029565b8015610cfb5780601f10610cd057610100808354040283529160200191610cfb565b820191906000526020600020905b815481529060010190602001808311610cde57829003601f168201915b5050505050905090565b6000610d10826126aa565b506000908152600460205260409020546001600160a01b031690565b6000610d378261188c565b9050806001600160a01b0316836001600160a01b031603610da45760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016105a7565b806001600160a01b0316610db6612709565b6001600160a01b03161480610dd25750610dd2816104f1612709565b610e445760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016105a7565b610e4e8383612718565b505050565b610e4e8383836117ad565b600e6020908152600084815260409020835180850183018051928152908301928501929092209152805482908110610e9557600080fd5b90600052602060002090600602016000925092505050806000015490806001015490806002015490806003018054610ecc90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef890614029565b8015610f455780601f10610f1a57610100808354040283529160200191610f45565b820191906000526020600020905b815481529060010190602001808311610f2857829003601f168201915b5050505050908060040154908060050154905086565b33610f658361188c565b6001600160a01b031614610fb35760405162461bcd60e51b8152602060048201526015602482015274151a1a5cc81a5cc81b9bdd081e5bdd5c8818d85c99605a1b60448201526064016105a7565b33610fbd8261188c565b6001600160a01b03161461100c5760405162461bcd60e51b815260206004820152601660248201527554686973206973206e6f7420796f757220616c62756d60501b60448201526064016105a7565b6000818152600c6020526040902060010154156110625760405162461bcd60e51b815260206004820152601460248201527363617264206973206e6f7420616e20616c62756d60601b60448201526064016105a7565b6000828152600c60205260408120600301805461107e90614029565b80601f01602080910402602001604051908101604052809291908181526020018280546110aa90614029565b80156110f75780601f106110cc576101008083540402835291602001916110f7565b820191906000526020600020905b8154815290600101906020018083116110da57829003601f168201915b5050505050905060005b336000908152600e602052604090819020905161111f908490613f33565b9081526040519081900360200190205460ff82161015611365576000848152600c6020908152604080832060050154338452600e90925291829020915190919061116a908590613f33565b90815260200160405180910390208260ff168154811061118c5761118c613ffd565b9060005260206000209060060201600501540361135357336000908152600e60205260409081902090516111c1908490613f33565b90815260200160405180910390206001600e6000336001600160a01b03166001600160a01b03168152602001908152602001600020846040516112049190613f33565b9081526040519081900360200190205461121e9190613fd6565b8154811061122e5761122e613ffd565b60009182526020808320338452600e9091526040928390209251600690920201919061125b908590613f33565b90815260200160405180910390208260ff168154811061127d5761127d613ffd565b9060005260206000209060060201600082015481600001556001820154816001015560028201548160020155600382018160030190816112bd91906141ae565b5060048281015490820155600591820154910155336000908152600e60205260409081902090516112ef908490613f33565b908152602001604051809103902080548061130c5761130c614013565b6000828152602081206006600019909301928302018181556001810182905560028101829055906113406003830182613763565b5060006004820181905560059091015590555b8061135d8161428a565b915050611101565b5061136f83612786565b6000828152600c6020526040812060040180549161138c83614123565b9091555050336000908152600e60209081526040808320868452600c90925291829020915190916113c2916003909101906142a9565b90815260200160405180910390206000815481106113e2576113e2613ffd565b60009182526020822060046006909202010180549161140083614123565b90915550506000828152600c6020526040902060040154600503610e4e576000828152600c60205260408120600301805461143a90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461146690614029565b80156114b35780601f10611488576101008083540402835291602001916114b3565b820191906000526020600020905b81548152906001019060200180831161149657829003601f168201915b505050505090506007600d826040516114cc9190613f33565b9081526040519081900360200190205410156116ad57600d816040516114f29190613f33565b908152604051908190036020908101822080546001818101835560009283529282200180546001600160a01b0319163317905591600a91600f91600d9061153a908790613f33565b908152604051908190036020019020546115549190613fd6565b6007811061156457611564613ffd565b602091828204019190069054906101000a900460ff1660ff16600b8460405161158d9190613f33565b908152604051908190036020019020546115a79190613f65565b6115b19190613f92565b905060125481111561161e5760405162461bcd60e51b815260206004820152603060248201527f5072697a65206d757374206265206c6f776572206f7220657175616c2074686160448201526f6e207072697a65732062616c616e636560801b60648201526084016105a7565b80601260008282546116309190613fd6565b909155505060135460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190613fb9565b50505b61175183600b836040516116c19190613f33565b9081526020016040518091039020600401604051806040016040528060018152602001602f60f81b81525061170b600c600089815260200190815260200160002060050154612470565b6040518060400160405280600681526020016523173539b7b760d11b81525060405160200161173d94939291906140d6565b60405160208183030381529060405261278f565b7f953ec8b8176b9eb94e1561816a70bc231210aee5f1aaa59fdbad7915f9ad3c963382600d846040516117849190613f33565b9081526040519081900360200181205461179f9392916142b5565b60405180910390a150505050565b610e4e83838360405180602001604052806000815250611f2f565b6117d061285a565b60096117dc82826142e9565b5050565b601081815481106117f057600080fd5b90600052602060002001600091509050805461180b90614029565b80601f016020809104026020016040519081016040528092919081815260200182805461183790614029565b80156118845780601f1061185957610100808354040283529160200191611884565b820191906000526020600020905b81548152906001019060200180831161186757829003601f168201915b505050505081565b6000818152600260205260408120546001600160a01b031680610c6d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b60006001600160a01b0382166119565760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016105a7565b506001600160a01b031660009081526003602052604090205490565b61197a61285a565b61198460006128d3565b565b61198e61285a565b600961199a84826142e9565b50601380546001600160a01b039384166001600160a01b031991821617909155600a805492909316911617905550565b8051602081830181018051600b82529282019190930120915280546004820180549192916119f790614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611a2390614029565b8015611a705780601f10611a4557610100808354040283529160200191611a70565b820191906000526020600020905b815481529060010190602001808311611a5357829003601f168201915b5050505050905082565b6060600b82604051611a8c9190613f33565b9081526040805191829003602090810183206001018054808302850183019093528284529190830182828015611ae157602002820191906000526020600020905b815481526020019060010190808311611acd575b50505050509050919050565b611af561285a565b655af3107a4000831015611b5a5760405162461bcd60e51b815260206004820152602660248201527f7061636b2076616c7565206d757374206265206174206c6561737420302e303060448201526530312044414960d01b60648201526084016105a7565b611b65600683613fe9565b15611bb25760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206d757374206265206d756c7469706c65206f6620360000000060448201526064016105a7565b82600b85604051611bc39190613f33565b908152604051908190036020018120919091558190600b90611be6908790613f33565b90815260200160405180910390206004019081611c0391906142e9565b50601080546001810182556000919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67201611c4085826142e9565b5060118054600181810183556000929092527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68018490555b828111611d1957611c8a600682613fe9565b600003611ccd57600b85604051611ca19190613f33565b908152604051602091819003820190206002018054600181018255600091825291902001819055611d07565b600b85604051611cdd9190613f33565b90815260405160209181900382019020600190810180549182018155600090815291909120018190555b80611d1181614123565b915050611c78565b5050505050565b600c60205260009081526040902080546001820154600283015460038401805493949293919291610ecc90614029565b6060600d8383604051611d649291906143a0565b9081526040805191829003602090810183208054808302850183019093528284529190830182828015611dc057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611da2575b5050505050905092915050565b606060018054610c8290614029565b6009805461180b90614029565b6117dc611df4612709565b8383612925565b6060806010601181805480602002602001604051908101604052809291908181526020016000905b82821015611ecf578382906000526020600020018054611e4290614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6e90614029565b8015611ebb5780601f10611e9057610100808354040283529160200191611ebb565b820191906000526020600020905b815481529060010190602001808311611e9e57829003601f168201915b505050505081526020019060010190611e23565b50505050915080805480602002602001604051908101604052809291908181526020018280548015611f2057602002820191906000526020600020905b815481526020019060010190808311611f0c575b50505050509050915091509091565b6000828152600c602052604081206003018054611f4b90614029565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7790614029565b8015611fc45780601f10611f9957610100808354040283529160200191611fc4565b820191906000526020600020905b815481529060010190602001808311611fa757829003601f168201915b50505050509050611fd481612172565b51156120345760405162461bcd60e51b815260206004820152602960248201527f54686572652061726520616c62756d7320617661696c61626c6520696e20746860448201526834b99039b2b0b9b7b760b91b60648201526084016105a7565b612040858585856129f3565b6000838152600c6020526040902060019081015490036120f557600b8160405161206a9190613f33565b90815260408051602092819003830190206001600160a01b0387166000908152600390910190925290205460ff166120f05760405162461bcd60e51b815260206004820152602360248201527f5265636569766572206973206e6f7420706c6179696e6720746869732073656160448201526239b7b760e91b60648201526084016105a7565b612167565b6000838152600c60205260409020600401546005146121675760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920636f6d706c6574656420616c62756d732063616e206265207472616044820152671b9cd9995c9c995960c21b60648201526084016105a7565b611d19858585612a78565b6060600b826040516121849190613f33565b9081526040805191829003602090810183206002018054808302850183019093528284529190830182828015611ae15760200282019190600052602060002090815481526020019060010190808311611acd5750505050509050919050565b6121eb61285a565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060610c6d82612e52565b6011818154811061222857600080fd5b600091825260209091200154905081565b60007358807bad0b376efc12f5ad86aac70e78ed67dead196001600160a01b0383160161226857506001610c6d565b6001600160a01b0380841660009081526005602090815260408083209386168352929052205460ff165b9392505050565b6001600160a01b0383166000908152600e6020526040908190209051606091906122c690859085906143a0565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b828210156123ea57838290600052602060002090600602016040518060c001604052908160008201548152602001600182015481526020016002820154815260200160038201805461234590614029565b80601f016020809104026020016040519081016040528092919081815260200182805461237190614029565b80156123be5780601f10612393576101008083540402835291602001916123be565b820191906000526020600020905b8154815290600101906020018083116123a157829003601f168201915b5050505050815260200160048201548152602001600582015481525050815260200190600101906122f4565b5050505090509392505050565b6123ff61285a565b6001600160a01b0381166124645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a7565b61246d816128d3565b50565b6060816000036124975750506040805180820190915260018152600360fc1b602082015290565b8160005b81156124c157806124ab81614123565b91506124ba9050600a83613f92565b915061249b565b6000816001600160401b038111156124db576124db6137b1565b6040519080825280601f01601f191660200182016040528015612505576020820181803683370190505b5090505b84156125705761251a600183613fd6565b9150612527600a86613fe9565b612532906030613fa6565b60f81b81838151811061254757612547613ffd565b60200101906001600160f81b031916908160001a905350612569600a86613f92565b9450612509565b949350505050565b6008805490600190600061258c8385613fa6565b90915550506000818152600c6020526040902081815560018101869055600281018590556003016125bd84826142e9565b506000818152600c602090815260408083206005018590556001600160a01b038a168352600e9091529081902090516125f7908590613f33565b90815260408051602092819003830190206000848152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612654908401826141ae565b50600482810154908201556005918201549101556126728782612f4d565b61267c818761278f565b50505050505050565b60006001600160e01b03198216632483248360e11b1480610c6d5750610c6d826130e6565b6000818152600260205260409020546001600160a01b031661246d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016105a7565b6000612713613136565b905090565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061274d8261188c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61246d81613192565b6000828152600260205260409020546001600160a01b031661280a5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016105a7565b600082815260066020526040902061282282826142e9565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b612862612709565b6001600160a01b031661287d6007546001600160a01b031690565b6001600160a01b0316146119845760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a7565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036129865760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016105a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612a046129fe612709565b836131d2565b612a665760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b60648201526084016105a7565b612a7284848484613230565b50505050565b6000818152600c602052604081206003018054612a9490614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ac090614029565b8015612b0d5780601f10612ae257610100808354040283529160200191612b0d565b820191906000526020600020905b815481529060010190602001808311612af057829003601f168201915b5050505050905060005b6001600160a01b0385166000908152600e6020526040908190209051612b3e908490613f33565b9081526040519081900360200190205460ff82161015612db3576000838152600c60209081526040808320600501546001600160a01b0389168452600e909252918290209151909190612b92908590613f33565b90815260200160405180910390208260ff1681548110612bb457612bb4613ffd565b90600052602060002090600602016005015403612da1576001600160a01b0385166000908152600e6020526040908190209051612bf2908490613f33565b90815260200160405180910390206001600e6000886001600160a01b03166001600160a01b0316815260200190815260200160002084604051612c359190613f33565b90815260405190819003602001902054612c4f9190613fd6565b81548110612c5f57612c5f613ffd565b9060005260206000209060060201600e6000876001600160a01b03166001600160a01b0316815260200190815260200160002083604051612ca09190613f33565b90815260200160405180910390208260ff1681548110612cc257612cc2613ffd565b906000526020600020906006020160008201548160000155600182015481600101556002820154816002015560038201816003019081612d0291906141ae565b50600482810154908201556005918201549101556001600160a01b0385166000908152600e6020526040908190209051612d3d908490613f33565b9081526020016040518091039020805480612d5a57612d5a614013565b600082815260208120600660001990930192830201818155600181018290556002810182905590612d8e6003830182613763565b5060006004820181905560059091015590555b80612dab8161428a565b915050612b17565b506001600160a01b0383166000908152600e6020526040908190209051612ddb908390613f33565b90815260408051602092819003830190206000858152600c845291822081546001808201845592845293909220825460069094020192835580820154908301556002808201549083015590600380820190612e38908401826141ae565b506004828101549082015560059182015491015550505050565b6060612e5d826126aa565b60008281526006602052604081208054612e7690614029565b80601f0160208091040260200160405190810160405280929190818152602001828054612ea290614029565b8015612eef5780601f10612ec457610100808354040283529160200191612eef565b820191906000526020600020905b815481529060010190602001808311612ed257829003601f168201915b505050505090506000612f00613263565b90508051600003612f12575092915050565b815115612f44578082604051602001612f2c9291906143b0565b60405160208183030381529060405292505050919050565b61257084613272565b6001600160a01b038216612fa35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016105a7565b6000818152600260205260409020546001600160a01b0316156130085760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6130166000838360016132d8565b6000818152600260205260409020546001600160a01b03161561307b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016105a7565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160e01b031982166380ac58cd60e01b148061311757506001600160e01b03198216635b5e139f60e01b145b80610c6d57506301ffc9a760e01b6001600160e01b0319831614610c6d565b600030330361318c57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061318f9050565b50335b90565b61319b816132dd565b600081815260066020526040902080546131b490614029565b15905061246d57600081815260066020526040812061246d91613763565b6000806131de8361188c565b9050806001600160a01b0316846001600160a01b0316148061320557506132058185612239565b806125705750836001600160a01b031661321e84610d05565b6001600160a01b031614949350505050565b61323b848484613380565b613247848484846134f1565b612a725760405162461bcd60e51b81526004016105a7906143df565b606060098054610c8290614029565b606061327d826126aa565b6000613287613263565b905060008151116132a75760405180602001604052806000815250612292565b806132b1846135f9565b6040516020016132c29291906143b0565b6040516020818303038152906040529392505050565b612a72565b60006132e88261188c565b90506132f88160008460016132d8565b6133018261188c565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b826001600160a01b03166133938261188c565b6001600160a01b0316146133b95760405162461bcd60e51b81526004016105a790614431565b6001600160a01b03821661341b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105a7565b61342883838360016132d8565b826001600160a01b031661343b8261188c565b6001600160a01b0316146134615760405162461bcd60e51b81526004016105a790614431565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006001600160a01b0384163b156135ee57836001600160a01b031663150b7a0261351a612709565b8786866040518563ffffffff1660e01b815260040161353c9493929190614476565b6020604051808303816000875af1925050508015613577575060408051601f3d908101601f19168201909252613574918101906144b3565b60015b6135d4573d8080156135a5576040519150601f19603f3d011682016040523d82523d6000602084013e6135aa565b606091505b5080516000036135cc5760405162461bcd60e51b81526004016105a7906143df565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612570565b506001949350505050565b606060006136068361368b565b60010190506000816001600160401b03811115613625576136256137b1565b6040519080825280601f01601f19166020018201604052801561364f576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461365957509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136ca5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106136f6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061371457662386f26fc10000830492506010015b6305f5e100831061372c576305f5e100830492506008015b612710831061374057612710830492506004015b60648310613752576064830492506002015b600a8310610c6d5760010192915050565b50805461376f90614029565b6000825580601f1061377f575050565b601f01602090049060005260206000209081019061246d91905b808211156137ad5760008155600101613799565b5090565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156137e1576137e16137b1565b604051601f8501601f19908116603f01168101908282118183101715613809576138096137b1565b8160405280935085815286868601111561382257600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261384d57600080fd5b612292838335602085016137c7565b6000806040838503121561386f57600080fd5b8235915060208301356001600160401b0381111561388c57600080fd5b6138988582860161383c565b9150509250929050565b6001600160e01b03198116811461246d57600080fd5b6000602082840312156138ca57600080fd5b8135612292816138a2565b60005b838110156138f05781810151838201526020016138d8565b50506000910152565b600081518084526139118160208601602086016138d5565b601f01601f19169290920160200192915050565b60208152600061229260208301846138f9565b60006020828403121561394a57600080fd5b5035919050565b80356001600160a01b038116811461396857600080fd5b919050565b6000806040838503121561398057600080fd5b61398983613951565b946020939093013593505050565b6000806000606084860312156139ac57600080fd5b6139b584613951565b92506139c360208501613951565b9150604084013590509250925092565b6000806000606084860312156139e857600080fd5b6139f184613951565b925060208401356001600160401b03811115613a0c57600080fd5b613a188682870161383c565b925050604084013590509250925092565b86815285602082015284604082015260c060608201526000613a4e60c08301866138f9565b60808301949094525060a00152949350505050565b60008060408385031215613a7657600080fd5b50508035926020909101359150565b600060208284031215613a9757600080fd5b81356001600160401b03811115613aad57600080fd5b6125708482850161383c565b600060208284031215613acb57600080fd5b61229282613951565b600080600060608486031215613ae957600080fd5b83356001600160401b03811115613aff57600080fd5b613b0b8682870161383c565b935050613b1a60208501613951565b9150613b2860408501613951565b90509250925092565b82815260406020820152600061257060408301846138f9565b600081518084526020808501945080840160005b83811015613b7a57815187529582019590820190600101613b5e565b509495945050505050565b6020815260006122926020830184613b4a565b60008060008060808587031215613bae57600080fd5b84356001600160401b0380821115613bc557600080fd5b613bd18883890161383c565b955060208701359450604087013593506060870135915080821115613bf557600080fd5b50613c028782880161383c565b91505092959194509250565b60008083601f840112613c2057600080fd5b5081356001600160401b03811115613c3757600080fd5b602083019150836020828501011115613c4f57600080fd5b9250929050565b60008060208385031215613c6957600080fd5b82356001600160401b03811115613c7f57600080fd5b613c8b85828601613c0e565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015613cd85783516001600160a01b031683529284019291840191600101613cb3565b50909695505050505050565b801515811461246d57600080fd5b60008060408385031215613d0557600080fd5b613d0e83613951565b91506020830135613d1e81613ce4565b809150509250929050565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b83811015613d8057605f19888703018552613d6e8683516138f9565b95509382019390820190600101613d52565b505085840381870152505050613d968185613b4a565b95945050505050565b60008060008060808587031215613db557600080fd5b613dbe85613951565b9350613dcc60208601613951565b92506040850135915060608501356001600160401b03811115613dee57600080fd5b8501601f81018713613dff57600080fd5b613c02878235602084016137c7565b60008060408385031215613e2157600080fd5b613e2a83613951565b9150613e3860208401613951565b90509250929050565b600080600060408486031215613e5657600080fd5b613e5f84613951565b925060208401356001600160401b03811115613e7a57600080fd5b613e8686828701613c0e565b9497909650939450505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613f2557603f19898403018552815160c081518552888201518986015287820151888601526060808301518282880152613efa838801826138f9565b6080858101519089015260a09485015194909701939093525050509386019390860190600101613eba565b509098975050505050505050565b60008251613f458184602087016138d5565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c6d57610c6d613f4f565b634e487b7160e01b600052601260045260246000fd5b600082613fa157613fa1613f7c565b500490565b80820180821115610c6d57610c6d613f4f565b600060208284031215613fcb57600080fd5b815161229281613ce4565b81810381811115610c6d57610c6d613f4f565b600082613ff857613ff8613f7c565b500690565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600181811c9082168061403d57607f821691505b60208210810361405d57634e487b7160e01b600052602260045260246000fd5b50919050565b6000815461407081614029565b60018281168015614088576001811461409d576140cc565b60ff19841687528215158302870194506140cc565b8560005260208060002060005b858110156140c35781548a8201529084019082016140aa565b50505082870194505b5050505092915050565b60006140e28287614063565b85516140f2818360208a016138d5565b85519101906141058183602089016138d5565b84519101906141188183602088016138d5565b019695505050505050565b60006001820161413557614135613f4f565b5060010190565b6001600160a01b0383168152604060208201819052600090612570908301846138f9565b601f821115610e4e57600081815260208120601f850160051c810160208610156141875750805b601f850160051c820191505b818110156141a657828155600101614193565b505050505050565b8181036141b9575050565b6141c38254614029565b6001600160401b038111156141da576141da6137b1565b6141ee816141e88454614029565b84614160565b6000601f821160018114614222576000831561420a5750848201545b600019600385901b1c1916600184901b178455611d19565b600085815260209020601f19841690600086815260209020845b8381101561425c578286015482556001958601959091019060200161423c565b508583101561427a5781850154600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060ff821660ff81036142a0576142a0613f4f565b60010192915050565b60006122928284614063565b6001600160a01b03841681526060602082018190526000906142d9908301856138f9565b9050826040830152949350505050565b81516001600160401b03811115614302576143026137b1565b614310816141e88454614029565b602080601f831160018114614345576000841561432d5750858301515b600019600386901b1c1916600185901b1785556141a6565b600085815260208120601f198616915b8281101561437457888601518255948401946001909101908401614355565b508582101561427a57939096015160001960f8600387901b161c19169092555050600190811b01905550565b8183823760009101908152919050565b600083516143c28184602088016138d5565b8351908301906143d68183602088016138d5565b01949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906144a9908301846138f9565b9695505050505050565b6000602082840312156144c557600080fd5b8151612292816138a256fea26469706673582212207cae2c97a645048b47d0b2429ea7b106fe9044d36f976c9ca117019dab73d24e64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/alpha/ContextMixin.v2.sol/ContextMixinV2.dbg.json b/artifacts/contracts/alpha/ContextMixin.v2.sol/ContextMixinV2.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/alpha/ContextMixin.v2.sol/ContextMixinV2.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/alpha/ContextMixin.v2.sol/ContextMixinV2.json b/artifacts/contracts/alpha/ContextMixin.v2.sol/ContextMixinV2.json new file mode 100644 index 0000000..229d4e9 --- /dev/null +++ b/artifacts/contracts/alpha/ContextMixin.v2.sol/ContextMixinV2.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ContextMixinV2", + "sourceName": "contracts/alpha/ContextMixin.v2.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaOffersContract.dbg.json b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaOffersContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaOffersContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaOffersContract.json b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaOffersContract.json new file mode 100644 index 0000000..9548c37 --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaOffersContract.json @@ -0,0 +1,112 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IgammaOffersContract", + "sourceName": "contracts/gamma/GammaCards.v5.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "getOfferByUserAndCardNumber", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getOffersByUserCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "hasOffer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "removeOffersByUser", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaPacksContract.dbg.json b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaPacksContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaPacksContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaPacksContract.json b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaPacksContract.json new file mode 100644 index 0000000..ff4687b --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaPacksContract.json @@ -0,0 +1,66 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IgammaPacksContract", + "sourceName": "contracts/gamma/GammaCards.v5.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getPackOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "openPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "openPacks", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaTicketsContract.dbg.json b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaTicketsContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaTicketsContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaTicketsContract.json b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaTicketsContract.json new file mode 100644 index 0000000..9324a62 --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/IgammaTicketsContract.json @@ -0,0 +1,24 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IgammaTicketsContract", + "sourceName": "contracts/gamma/GammaCards.v5.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "generateTicket", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/NofGammaCardsV5.dbg.json b/artifacts/contracts/gamma/GammaCards.v5.sol/NofGammaCardsV5.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/NofGammaCardsV5.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaCards.v5.sol/NofGammaCardsV5.json b/artifacts/contracts/gamma/GammaCards.v5.sol/NofGammaCardsV5.json new file mode 100644 index 0000000..07a8c7d --- /dev/null +++ b/artifacts/contracts/gamma/GammaCards.v5.sol/NofGammaCardsV5.json @@ -0,0 +1,1884 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofGammaCardsV5", + "sourceName": "contracts/gamma/GammaCards.v5.sol", + "abi": [ + { + "inputs": [], + "name": "CannotRemoveUserOffers", + "type": "error" + }, + { + "inputs": [], + "name": "CardLimitExceeded", + "type": "error" + }, + { + "inputs": [], + "name": "IncorrectPrizeAmount", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientCards", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientFunds", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidCardNumber", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidSignature", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidTransfer", + "type": "error" + }, + { + "inputs": [], + "name": "MustCompleteAlbum", + "type": "error" + }, + { + "inputs": [], + "name": "NotYourPack", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyGammaPacksContract", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyOffersContract", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyOwners", + "type": "error" + }, + { + "inputs": [], + "name": "UserDoesNotHaveCardOrAlbum", + "type": "error" + }, + { + "inputs": [], + "name": "WrongPacksQuantity", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "player", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint8", + "name": "albumClass", + "type": "uint8" + } + ], + "name": "AlbumCompleted", + "type": "event" + }, + { + "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": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "player", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "cardTokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "albumTokenId", + "type": "uint256" + } + ], + "name": "CardPasted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "CardTransfered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint8[]", + "name": "cardsNumber", + "type": "uint8[]" + } + ], + "name": "CardsBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint8[]", + "name": "cardNumber", + "type": "uint8[]" + } + ], + "name": "CardsTransfered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "EmergencyWithdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newGammaOffersContract", + "type": "address" + } + ], + "name": "NewGammaOffersContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newGammaPacksContract", + "type": "address" + } + ], + "name": "NewGammaPacksContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newGammaTicketContract", + "type": "address" + } + ], + "name": "NewGammaTicketsContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newSigner", + "type": "address" + } + ], + "name": "NewSigner", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "newMainUri", + "type": "string" + }, + { + "indexed": true, + "internalType": "string", + "name": "newSecondaryUri", + "type": "string" + } + ], + "name": "NewUris", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "cardNumberFrom", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "cardNumberTo", + "type": "uint8" + } + ], + "name": "OfferCardsExchanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "player", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint8[]", + "name": "packData", + "type": "uint8[]" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "packNumber", + "type": "uint256" + } + ], + "name": "PackOpened", + "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": "DAI_TOKEN", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newSigner", + "type": "address" + } + ], + "name": "addSigner", + "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8[]", + "name": "cardNumbers", + "type": "uint8[]" + } + ], + "name": "burnCards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "_maxPacksToOpenAtOnce", + "type": "uint8" + } + ], + "name": "changeMaxPacksToOpenAtOnce", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newPackPrice", + "type": "uint256" + } + ], + "name": "changePackPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "required", + "type": "bool" + } + ], + "name": "changeRequireOfferValidationInMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "required", + "type": "bool" + } + ], + "name": "changeRequireOfferValidationInTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "required", + "type": "bool" + } + ], + "name": "changeRequireOpenPackSignerValidation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "emergencyWithdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumberFrom", + "type": "uint8" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumberTo", + "type": "uint8" + } + ], + "name": "exchangeCardsOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "finishAlbum", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "gammaOffersContract", + "outputs": [ + { + "internalType": "contract IgammaOffersContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gammaPacksContract", + "outputs": [ + { + "internalType": "contract IgammaPacksContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gammaTicketsContract", + "outputs": [ + { + "internalType": "contract IgammaTicketsContract", + "name": "", + "type": "address" + } + ], + "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": "address", + "name": "user", + "type": "address" + } + ], + "name": "getBurnedCardQttyByUser", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNum", + "type": "uint8" + } + ], + "name": "getCardQuantityByUser", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getCardsByUser", + "outputs": [ + { + "internalType": "uint8[]", + "name": "", + "type": "uint8[]" + }, + { + "internalType": "uint8[]", + "name": "", + "type": "uint8[]" + }, + { + "internalType": "bool[]", + "name": "", + "type": "bool[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getLotteryPrize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNum", + "type": "uint8" + } + ], + "name": "hasCard", + "outputs": [ + { + "internalType": "bool", + "name": "has", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "hasCardByOffer", + "outputs": [ + { + "internalType": "bool", + "name": "has", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_daiTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_gammaPacksContract", + "type": "address" + }, + { + "internalType": "address", + "name": "_gammaOffersContract", + "type": "address" + }, + { + "internalType": "address", + "name": "_gammaTicketsContract", + "type": "address" + }, + { + "internalType": "string", + "name": "_baseUri", + "type": "string" + }, + { + "internalType": "address", + "name": "_signer", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "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": "user", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isSigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "cardNum", + "type": "uint8" + } + ], + "name": "mintCard", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "packNumber", + "type": "uint256" + }, + { + "internalType": "uint8[]", + "name": "packData", + "type": "uint8[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "openPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "packsQuantity", + "type": "uint8" + }, + { + "internalType": "uint256[]", + "name": "packsNumber", + "type": "uint256[]" + }, + { + "internalType": "uint8[][]", + "name": "packsData", + "type": "uint8[][]" + }, + { + "internalType": "bytes[]", + "name": "signatures", + "type": "bytes[]" + } + ], + "name": "openPacks", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "removeCardByOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ownerToRemove", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signerToRemove", + "type": "address" + } + ], + "name": "removeSigner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "restoreCardByOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "s_baseUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "s_burnedCards", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "s_cards", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "pasted", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "class", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "completion", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "s_cardsByUser", + "outputs": [ + { + "internalType": "uint8", + "name": "amount", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "cardNumber", + "type": "uint256" + } + ], + "name": "s_cardsInventory", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_lotteryPrizePercentage", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_mainAlbumPrize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_mainUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_maxPacksToOpenAtOnce", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_packPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_prizesBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_requireOfferValidationInMint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_requireOfferValidationInTransfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_requireOpenPackSignerValidation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_secondaryAlbumPrize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_secondaryUri", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_tokenIdCounter", + "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": "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": "_gammaOffersContract", + "type": "address" + } + ], + "name": "setGammaOffersContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaPacksContract", + "type": "address" + } + ], + "name": "setGammaPacksContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaTicketsContract", + "type": "address" + } + ], + "name": "setGammaTicketsContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "amount", + "type": "uint8" + } + ], + "name": "setLotteryPrizePercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setMainAlbumPrize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setPrizesBalance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setSecondaryAlbumPrize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "newMainUri", + "type": "string" + }, + { + "internalType": "string", + "name": "newSecondaryUri", + "type": "string" + } + ], + "name": "setUris", + "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": "address", + "name": "user", + "type": "address" + } + ], + "name": "testAddCards", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "packNumber", + "type": "uint256" + }, + { + "internalType": "uint8[]", + "name": "packData", + "type": "uint8[]" + } + ], + "name": "testOpenPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "transferCard", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint8[]", + "name": "cardNumbers", + "type": "uint8[]" + } + ], + "name": "transferCards", + "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": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "packNumber", + "type": "uint256" + }, + { + "internalType": "uint8[]", + "name": "packData", + "type": "uint8[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "verifyPackSigner", + "outputs": [ + { + "internalType": "address", + "name": "signer", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6080604052600f805461ffff191661320a1790556710a741a462780000601155600060125567d02ab486cedc0000601355670de0b6b3a76400006014556018805462ffff001916620101001790553480156200005a57600080fd5b506040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b8152508160009081620000ae9190620001db565b506001620000bd8282620001db565b505050620000da620000d4620000e060201b60201c565b620000e4565b620002a7565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200016157607f821691505b6020821081036200018257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d657600081815260208120601f850160051c81016020861015620001b15750805b601f850160051c820191505b81811015620001d257828155600101620001bd565b5050505b505050565b81516001600160401b03811115620001f757620001f762000136565b6200020f816200020884546200014c565b8462000188565b602080601f8311600181146200024757600084156200022e5750858301515b600019600386901b1c1916600185901b178555620001d2565b600085815260208120601f198616915b82811015620002785788860151825594840194600190910190840162000257565b5085821015620002975787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b615a3d80620002b76000396000f3fe608060405234801561001057600080fd5b506004361061046a5760003560e01c806379e8dadc1161024c578063ad1684fa11610146578063dbfc05cf116100c3578063e8a7e31d11610087578063e8a7e31d14610a82578063e985e9c514610a8a578063eb12d61e14610ac6578063f2fde38b14610ad9578063f98fd28314610aec57600080fd5b8063dbfc05cf14610a23578063ddb975e814610a36578063e1883c6e14610a49578063e4ae0b9b14610a5c578063e606df8714610a6957600080fd5b8063c87b56dd1161010a578063c87b56dd146109d9578063cafaa473146109ec578063d322b563146109ff578063d7093f4014610a12578063d780c47714610a1b57600080fd5b8063ad1684fa14610984578063b352618514610997578063b88d4fde146109a0578063ba6c0fbc146109b3578063bf400a6a146109c657600080fd5b80638da5cb5b116101d45780639ff26efd116101985780639ff26efd14610910578063a1af8ad41461093e578063a22cb46514610951578063a419811d14610964578063ab5351601461097757600080fd5b80638da5cb5b146108c95780639038f414146108da57806395d89b41146108e25780639a5613ad146108ea5780639c7f707f146108fd57600080fd5b80637df73e271161021b5780637df73e271461084e57806382d8a1181461087a578063886eb60f1461088357806388e0ef80146108965780638bf670c8146108b657600080fd5b806379e8dadc1461080d5780637ce65f7b146108155780637cf86b72146108285780637de99bd91461083b57600080fd5b8063267b841d116103685780635e31ce48116102e55780637065cb48116102a95780637065cb48146107b957806370a08231146107cc578063715018a6146107df5780637155a3ac146107e75780637232d7d4146107fa57600080fd5b80635e31ce48146107655780636352211e14610778578063656bd0ad1461078b57806368cc5bc1146107945780636d0af178146107a757600080fd5b80634039327e1161032c5780634039327e146106b257806342842e0e146106ba57806342966c68146106cd5780634c03cd0b146106e05780635312ea8e1461075257600080fd5b8063267b841d1461063a5780632ca699e71461064d5780632f54bf6e146106605780632f9e026a1461068c57806330f5cc581461069f57600080fd5b8063147baac7116103f6578063203335f6116103ba578063203335f6146105e557806320965a5f146105f857806321a7c6b01461060b57806323b872dd14610614578063241a08fe1461062757600080fd5b8063147baac71461057557806314cca36a14610587578063155e2f921461059a5780631585cc4e146105ad578063173825d9146105d257600080fd5b8063081812fc1161043d578063081812fc146104fc578063095ea7b3146105275780630e316ab71461053c578063128916dc1461054f5780631306952c1461056257600080fd5b806301ffc9a71461046f5780630435dcaf1461049757806306fdde03146104b957806307b2e246146104ce575b600080fd5b61048261047d366004614a27565b610aff565b60405190151581526020015b60405180910390f35b6104aa6104a5366004614a59565b610b10565b60405161048e93929190614ab4565b6104c1610ec0565b60405161048e9190614b6f565b6104ee6104dc366004614a59565b601b6020526000908152604090205481565b60405190815260200161048e565b61050f61050a366004614b82565b610f52565b6040516001600160a01b03909116815260200161048e565b61053a610535366004614b9b565b610f79565b005b61053a61054a366004614a59565b611093565b61053a61055d366004614a59565b611139565b61050f610570366004614cb8565b6111dc565b60185461048290610100900460ff1681565b600a5461050f906001600160a01b031681565b61053a6105a8366004614d52565b61126a565b6105c06105bb366004614d52565b6112e7565b60405160ff909116815260200161048e565b61053a6105e0366004614a59565b611341565b61053a6105f3366004614e51565b6113b8565b61053a610606366004614f47565b611477565b6104ee60135481565b61053a610622366004614f88565b611a93565b61053a610635366004614fc9565b611ac5565b61053a610648366004614cb8565b611b0b565b61053a61065b366004614d52565b611b1e565b61048261066e366004614a59565b6001600160a01b03166000908152600b602052604090205460ff1690565b60085461050f906001600160a01b031681565b61053a6106ad366004614fe4565b611d71565b6104c1611ff9565b61053a6106c8366004614f88565b612087565b61053a6106db366004614b82565b6120a2565b6107226106ee366004614b82565b60196020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a00161048e565b61053a610760366004614b82565b6120d3565b61053a610773366004614b82565b6121ee565b61050f610786366004614b82565b612233565b6104ee60115481565b61053a6107a236600461504a565b612293565b600f546105c090610100900460ff1681565b61053a6107c7366004614a59565b6122df565b6104ee6107da366004614a59565b612356565b61053a6123dc565b61053a6107f5366004614d52565b6123f0565b61053a610808366004614b82565b612450565b6104c16124a6565b61053a610823366004614fc9565b6124b3565b6104ee610836366004614a59565b612524565b61053a6108493660046150e7565b612570565b61048261085c366004614a59565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104ee60105481565b610482610891366004614d52565b61274b565b6104ee6108a4366004614b82565b601a6020526000908152604090205481565b6104826108c4366004614d52565b6127a7565b6007546001600160a01b031661050f565b610482612806565b6104c1612ba6565b6018546104829062010000900460ff1681565b61053a61090b366004615181565b612bb5565b6105c061091e366004614d52565b601c60209081526000928352604080842090915290825290205460ff1681565b61053a61094c3660046151e4565b612c57565b61053a61095f366004615238565b612fd1565b61053a610972366004614a59565b612fe0565b600f546105c09060ff1681565b61053a610992366004615271565b61307f565b6104ee60145481565b61053a6109ae3660046152c9565b613312565b61053a6109c1366004614b82565b613344565b61053a6109d4366004614fc9565b61339a565b6104c16109e7366004614b82565b6135e6565b61053a6109fa366004614a59565b6135f1565b60095461050f906001600160a01b031681565b6104ee60125481565b6104ee613694565b61053a610a3136600461504a565b6136c1565b61053a610a44366004614a59565b613704565b61053a610a57366004614b82565b6137a7565b6018546104829060ff1681565b600f5461050f906201000090046001600160a01b031681565b6104c16137d7565b610482610a98366004615348565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61053a610ad4366004614a59565b6137e4565b61053a610ae7366004614a59565b61385b565b61053a610afa36600461504a565b6138d1565b6000610b0a8261391b565b92915050565b60408051607a808252610f608201909252606091829182916000919060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f40803683370190505090506000805b60798160ff1611610cf6576001600160a01b0389166000908152601c6020908152604080832060ff80861685529252909120541615610ce45780858360ff1681518110610bdc57610bdc615376565b60ff9283166020918202929092018101919091526001600160a01b038b166000908152601c82526040808220858516835290925220548551908216918691908516908110610c2c57610c2c615376565b60ff9283166020918202929092010152600954604051632edb5fcf60e01b81526001600160a01b038c811660048301529284166024820152911690632edb5fcf90604401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061538c565b838360ff1681518110610cc657610cc6615376565b9115156020928302919091019091015281610ce0816153bf565b9250505b80610cee816153bf565b915050610b8d565b5060008160ff166001600160401b03811115610d1457610d14614bc7565b604051908082528060200260200182016040528015610d3d578160200160208202803683370190505b50905060008260ff166001600160401b03811115610d5d57610d5d614bc7565b604051908082528060200260200182016040528015610d86578160200160208202803683370190505b50905060008360ff166001600160401b03811115610da657610da6614bc7565b604051908082528060200260200182016040528015610dcf578160200160208202803683370190505b50905060005b8460ff16811015610eae57878181518110610df257610df2615376565b6020026020010151848281518110610e0c57610e0c615376565b602002602001019060ff16908160ff1681525050868181518110610e3257610e32615376565b6020026020010151838281518110610e4c57610e4c615376565b602002602001019060ff16908160ff1681525050858181518110610e7257610e72615376565b6020026020010151828281518110610e8c57610e8c615376565b9115156020928302919091019091015280610ea6816153de565b915050610dd5565b50919a90995090975095505050505050565b606060008054610ecf906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610efb906153f7565b8015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050505050905090565b6000610f5d82613940565b506000908152600460205260409020546001600160a01b031690565b6000610f8482612233565b9050806001600160a01b0316836001600160a01b031603610ff65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101257506110128133610a98565b6110845760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fed565b61108e838361399f565b505050565b336000908152600b602052604090205460ff166110c357604051634289c49360e01b815260040160405180910390fd5b604051630982088f60e41b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063982088f0906044015b60006040518083038186803b15801561111e57600080fd5b505af4158015611132573d6000803e3d6000fd5b5050505050565b336000908152600b602052604090205460ff1661116957604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166111915760405163e6c4247b60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0384169081179091556040517f538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead090600090a25050565b6040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b9061121e903390899089908990899060040161542b565b602060405180830381865af415801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906154b2565b90505b949350505050565b6009546001600160a01b0316331461129557604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca836153bf565b91906101000a81548160ff021916908360ff160217905550505050565b6000826001600160a01b0381166113115760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff94851684529091529020541690565b336000908152600b602052604090205460ff1661137157604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a490604401611106565b60ff851615806113d05750600f5460ff908116908616115b156113ee57604051630b154b3b60e41b815260040160405180910390fd5b60005b8560ff1681101561146f5761145d3386838151811061141257611412615376565b602002602001015186848151811061142c5761142c615376565b602002602001015186868681811061144657611446615376565b905060200281019061145891906154cf565b613a0d565b80611467816153de565b9150506113f1565b505050505050565b336000908152601c602090815260408083206079845290915281205460ff1690036114b55760405163210f01d160e21b815260040160405180910390fd5b336000908152601b60205260408120546114d0908390615515565b90506000603c821061158857600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f9190615528565b90506014548110806115645750601454601254105b156115825760405163356680b760e01b815260040160405180910390fd5b60019150505b600954604051630cdb311760e01b815233600482015260009182916001600160a01b0390911690630cdb311790602401602060405180830381865afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190615528565b1190508360005b8181101561182057336000908152601c602052604081209088888481811061162a5761162a615376565b905060200201602081019061163f9190614fc9565b60ff9081168252602082019290925260400160009081205490911690036116795760405163210f01d160e21b815260040160405180910390fd5b821561179c576009546001600160a01b0316632edb5fcf338989858181106116a3576116a3615376565b90506020020160208101906116b89190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611728919061538c565b1561179c57336000908152601c6020526040812060029189898581811061175157611751615376565b90506020020160208101906117669190614fc9565b60ff908116825260208201929092526040016000205416101561179c5760405163483e9b8d60e11b815260040160405180910390fd5b336000908152601c60205260408120908888848181106117be576117be615376565b90506020020160208101906117d39190614fc9565b60ff908116825260208201929092526040016000908120805490921691906117fa83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050611600565b50336000908152601b602052604081208054839290611840908490615515565b9091555050604051611855908790879061555e565b6040519081900381209033907fdbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b190600090a3821561146f57336000908152601c60209081526040808320607984529091528120805460ff16916118b783615541565b91906101000a81548160ff021916908360ff1602179055505061196833601680546118e1906153f7565b80601f016020809104026020016040519081016040528092919081815260200182805461190d906153f7565b801561195a5780601f1061192f5761010080835404028352916020019161195a565b820191906000526020600020905b81548152906001019060200180831161193d57829003601f168201915b505050505060796002613e24565b6014546012600082825461197c9190615598565b9091555050600f5460145460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff919061538c565b50600a5460405163fa8213d360e01b81523360048201526001600160a01b039091169063fa8213d390602401600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b5050604051600292503391507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a3505050505050565b611a9e335b82613e87565b611aba5760405162461bcd60e51b8152600401610fed906155ab565b61108e838383613f05565b336000908152600b602052604090205460ff16611af557604051634289c49360e01b815260040160405180910390fd5b600f805460ff191660ff92909216919091179055565b611b183385858585613a0d565b50505050565b816001600160a01b038116611b465760405163e6c4247b60e01b815260040160405180910390fd5b336000908152601c6020908152604080832060ff80871685529252822054169003611b845760405163210f01d160e21b815260040160405180910390fd5b336001600160a01b03841603611bad57604051632f35253160e01b815260040160405180910390fd5b60185462010000900460ff1615611c8457600954604051632edb5fcf60e01b815233600482015260ff841660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa158015611c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c34919061538c565b336000908152601c6020908152604080832060ff80891685529252909120549192506001911611811580611c655750805b611c815760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff808716855292528220805490911691611cb083615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0385166000908152601c602090815260408083208785168452909152812080549092169250611cff836153bf565b91906101000a81548160ff021916908360ff16021790555050826001600160a01b0316336001600160a01b03167f1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da84604051611d64919060ff91909116815260200190565b60405180910390a3505050565b336000908152600b602052604090205460ff16611da157604051634289c49360e01b815260040160405180910390fd5b6008546040516380f2540b60e01b8152600481018490526001600160a01b038581166024830152909116906380f2540b90604401600060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506006601154611e16919061562f565b601154611e239190615598565b60126000828254611e349190615515565b90915550600090505b8151811015611b1857818181518110611e5857611e58615376565b602002602001015160ff16607814611ea357611389601a6000848481518110611e8357611e83615376565b602002602001015160ff1681526020019081526020016000205410611ed4565b6078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb9115b611f205760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610fed565b601a6000838381518110611f3657611f36615376565b602002602001015160ff1681526020019081526020016000206000815480929190611f60906153de565b90915550506001600160a01b0384166000908152601c602052604081208351909190849084908110611f9457611f94615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611fcd906153bf565b91906101000a81548160ff021916908360ff160217905550508080611ff1906153de565b915050611e3d565b60168054612006906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054612032906153f7565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b505050505081565b61108e83838360405180602001604052806000815250613312565b6120ab33611a98565b6120c75760405162461bcd60e51b8152600401610fed906155ab565b6120d081614069565b50565b336000908152600b602052604090205460ff1661210357604051634289c49360e01b815260040160405180910390fd5b8061210d30612356565b101561212c5760405163356680b760e01b815260040160405180910390fd5b806012600082825461213e9190615598565b9091555050600f5460405163a9059cbb60e01b815233600482015260248101839052620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061538c565b50604051819033907f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2090600090a350565b6008546001600160a01b03163314612219576040516307473cc760e41b815260040160405180910390fd5b806012600082825461222b9190615515565b909155505050565b6000818152600260205260408120546001600160a01b031680610b0a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b336000908152600b602052604090205460ff166122c357604051634289c49360e01b815260040160405180910390fd5b60188054911515620100000262ff000019909216919091179055565b336000908152600b602052604090205460ff1661230f57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae490604401611106565b60006001600160a01b0382166123c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fed565b506001600160a01b031660009081526003602052604090205490565b6123e4614072565b6123ee60006140cc565b565b6009546001600160a01b0316331461241b57604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca83615541565b336000908152600b602052604090205460ff1661248057604051634289c49360e01b815260040160405180910390fd5b806000036124a157604051634b1c6ca160e01b815260040160405180910390fd5b601355565b60158054612006906153f7565b336000908152600b602052604090205460ff166124e357604051634289c49360e01b815260040160405180910390fd5b60648160ff16111561250857604051634b1c6ca160e01b815260040160405180910390fd5b600f805460ff9092166101000261ff0019909216919091179055565b6000816001600160a01b03811661254e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152601b602052604090205491505b50919050565b612578614072565b336000908152600b60205260409020805460ff19166001179055600f80546001600160a01b03888116620100000262010000600160b01b031990921691909117909155600880548783166001600160a01b031991821617909155600a8054868416908316179055600980549287169290911691909117905560176125fc8382615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516126599460179493909101615756565b604051602081830303815290604052601590816126769190615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b8184015293516126d39460179493909101615756565b604051602081830303815290604052601690816126f09190615697565b506001600160a01b0381166000908152600e60205260408120805460ff191660011790555b607a811015612742576000818152601a60205260409020600190558061273a816153de565b915050612715565b50505050505050565b6000826001600160a01b0381166127755760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b6009546000906001600160a01b031633146127d557604051638eea824160e01b815260040160405180910390fd5b506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b336000908152601c602090815260408083206078845290915281205460ff1681036128445760405163210f01d160e21b815260040160405180910390fd5b601354601254101561286957604051634b1c6ca160e01b815260040160405180910390fd5b600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156128b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128dc9190615528565b90506013548110156129015760405163356680b760e01b815260040160405180910390fd5b6000805b60788160ff161161299057336000908152601c6020908152604080832060ff8086168552925282205416900361293e5760019150612990565b336000908152601c6020908152604080832060ff80861685529252822080549091169161296a83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050612905565b5080156129af57604051623de82960e51b815260040160405180910390fd5b612a4733601580546129c0906153f7565b80601f01602080910402602001604051908101604052809291908181526020018280546129ec906153f7565b8015612a395780601f10612a0e57610100808354040283529160200191612a39565b820191906000526020600020905b815481529060010190602001808311612a1c57829003601f168201915b505050505060786002613e24565b600f5460135460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac5919061538c565b5060135460126000828254612ada9190615598565b9091555050600954604051633f27a03f60e21b81523360048201526000916001600160a01b03169063fc9e80fc906024016020604051808303816000875af1158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e919061538c565b905080612b6e5760405163e07c7c8d60e01b815260040160405180910390fd5b60405160019033907f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a36001935050505090565b606060018054610ecf906153f7565b336000908152600b602052604090205460ff16612be557604051634289c49360e01b815260040160405180910390fd5b6015612bf18382615697565b506016612bfe8282615697565b5080604051612c0d9190615805565b604051809103902082604051612c239190615805565b604051908190038120907fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec690600090a35050565b826001600160a01b038116612c7f5760405163e6c4247b60e01b815260040160405180910390fd5b336001600160a01b03851603612ca857604051632f35253160e01b815260040160405180910390fd5b60005b82811015612f7d57336000908152601c6020526040812090858584818110612cd557612cd5615376565b9050602002016020810190612cea9190614fc9565b60ff908116825260208201929092526040016000908120549091169003612d245760405163210f01d160e21b815260040160405180910390fd5b336000908152601c6020526040812090858584818110612d4657612d46615376565b9050602002016020810190612d5b9190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612d8283615541565b91906101000a81548160ff021916908360ff16021790555050601c6000866001600160a01b03166001600160a01b031681526020019081526020016000206000858584818110612dd457612dd4615376565b9050602002016020810190612de99190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612e10836153bf565b91906101000a81548160ff021916908360ff16021790555050601860029054906101000a900460ff1615612f6b576009546000906001600160a01b0316632edb5fcf33878786818110612e6557612e65615376565b9050602002016020810190612e7a9190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eea919061538c565b336000908152601c602052604081209192509060019082888887818110612f1357612f13615376565b9050602002016020810190612f289190614fc9565b60ff908116825260208201929092526040016000205416119050811580612f4c5750805b612f685760405162461bcd60e51b8152600401610fed906155f8565b50505b80612f75816153de565b915050612cab565b508282604051612f8e92919061555e565b604051908190038120906001600160a01b0386169033907f368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b90600090a450505050565b612fdc33838361411e565b5050565b336000908152600b602052604090205460ff1661301057604051634289c49360e01b815260040160405180910390fd5b60005b60798160ff1611612fdc576001600160a01b0382166000908152601c6020908152604080832060ff808616855292528220805490911691613053836153bf565b91906101000a81548160ff021916908360ff160217905550508080613077906153bf565b915050613013565b6009546001600160a01b031633146130aa57604051638eea824160e01b815260040160405180910390fd5b836001600160a01b0381166130d25760405163e6c4247b60e01b815260040160405180910390fd5b826001600160a01b0381166130fa5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a16855292529091205416158061315557506001600160a01b0384166000908152601c6020908152604080832060ff808816855292529091205416155b156131735760405163210f01d160e21b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a168552925282208054909116916131a883615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c602090815260408083208a851684529091528120805490921692506131f7836153bf565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c60209081526040808320888516845290915281208054909216925061324683615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0388166000908152601c602090815260408083208885168452909152812080549092169250613295836153bf565b91906101000a81548160ff021916908360ff16021790555050836001600160a01b0316866001600160a01b03167f52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524878660405161330292919060ff92831681529116602082015260400190565b60405180910390a3505050505050565b61331c3383613e87565b6133385760405162461bcd60e51b8152600401610fed906155ab565b611b18848484846141e4565b336000908152600b602052604090205460ff1661337457604051634289c49360e01b815260040160405180910390fd5b8060000361339557604051634b1c6ca160e01b815260040160405180910390fd5b601455565b336000908152601c6020908152604080832060ff808616855292528220541690036133d85760405163210f01d160e21b815260040160405180910390fd5b601854610100900460ff16156134ae57600954604051632edb5fcf60e01b815233600482015260ff831660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa15801561343a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345e919061538c565b336000908152601c6020908152604080832060ff8088168552925290912054919250600191161181158061348f5750805b6134ab5760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff8086168552925282208054909116916134da83615541565b91906101000a81548160ff021916908360ff1602179055505060006017604051806040016040528060018152602001602f60f81b8152508360ff1673__$7e24fea74dbc7efffb723a34f6ecd87681$__636900a3ae90916040518263ffffffff1660e01b815260040161354f91815260200190565b600060405180830381865af415801561356c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135949190810190615821565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016135c59493929190615756565b6040516020818303038152906040529050612fdc33828460ff166001613e24565b6060610b0a82614217565b336000908152600b602052604090205460ff1661362157604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166136495760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f90600090a25050565b601254600f546000916064916136b29190610100900460ff16615897565b6136bc919061562f565b905090565b336000908152600b602052604090205460ff166136f157604051634289c49360e01b815260040160405180910390fd5b6018805460ff1916911515919091179055565b336000908152600b602052604090205460ff1661373457604051634289c49360e01b815260040160405180910390fd5b806001600160a01b03811661375c5760405163e6c4247b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0384169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a25050565b6008546001600160a01b031633146137d2576040516307473cc760e41b815260040160405180910390fd5b601155565b60178054612006906153f7565b336000908152600b602052604090205460ff1661381457604051634289c49360e01b815260040160405180910390fd5b604051633b9db68960e11b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063773b6d1290604401611106565b613863614072565b6001600160a01b0381166138c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fed565b6120d0816140cc565b336000908152600b602052604090205460ff1661390157604051634289c49360e01b815260040160405180910390fd5b601880549115156101000261ff0019909216919091179055565b60006001600160e01b03198216632483248360e11b1480610b0a5750610b0a8261431f565b6000818152600260205260409020546001600160a01b03166120d05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139d482612233565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60085460405163d3e6a7ad60e01b8152600481018690526001600160a01b0387811692169063d3e6a7ad90602401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906154b2565b6001600160a01b031614613aa357604051637f6ecdf560e01b815260040160405180910390fd5b600f835110613ac557604051639dcca73360e01b815260040160405180910390fd5b60185460ff1615613b91576040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b90613b12903390899089908990899060040161542b565b602060405180830381865af4158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5391906154b2565b6001600160a01b0381166000908152600e602052604090205490915060ff16613b8f57604051638baa579f60e01b815260040160405180910390fd5b505b6008546040516380f2540b60e01b8152600481018690526001600160a01b038781166024830152909116906380f2540b90604401600060405180830381600087803b158015613bdf57600080fd5b505af1158015613bf3573d6000803e3d6000fd5b505050506006601154613c06919061562f565b601154613c139190615598565b60126000828254613c249190615515565b90915550600090505b8351811015613dd257838181518110613c4857613c48615376565b602002602001015160ff16607803613cad576078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb81015613ca857604051630d1ecf1760e11b815260040160405180910390fd5b613cff565b611388601a6000868481518110613cc657613cc6615376565b602002602001015160ff168152602001908152602001600020541115613cff57604051630d1ecf1760e11b815260040160405180910390fd5b601a6000858381518110613d1557613d15615376565b602002602001015160ff1681526020019081526020016000206000815480929190613d3f906153de565b90915550506001600160a01b0386166000908152601c602052604081208551909190869084908110613d7357613d73615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190613dac906153bf565b91906101000a81548160ff021916908360ff160217905550508080600101915050613c2d565b508383604051613de291906158ae565b604051908190038120906001600160a01b038816907fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e390600090a45050505050565b601054600081815260196020526040902081815560018101849055600201805461ff00191661010060ff851602179055613e5e858261436f565b613e688185614389565b600160106000828254613e7b9190615515565b90915550505050505050565b600080613e9383612233565b9050806001600160a01b0316846001600160a01b03161480613eda57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806112625750836001600160a01b0316613ef384610f52565b6001600160a01b031614949350505050565b826001600160a01b0316613f1882612233565b6001600160a01b031614613f3e5760405162461bcd60e51b8152600401610fed906158e7565b6001600160a01b038216613fa05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fed565b826001600160a01b0316613fb382612233565b6001600160a01b031614613fd95760405162461bcd60e51b8152600401610fed906158e7565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6120d081614454565b6007546001600160a01b031633146123ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fed565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361417f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fed565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d64565b6141ef848484613f05565b6141fb84848484614494565b611b185760405162461bcd60e51b8152600401610fed9061592c565b606061422282613940565b6000828152600660205260408120805461423b906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054614267906153f7565b80156142b45780601f10614289576101008083540402835291602001916142b4565b820191906000526020600020905b81548152906001019060200180831161429757829003601f168201915b5050505050905060006142d260408051602081019091526000815290565b905080516000036142e4575092915050565b8151156143165780826040516020016142fe92919061597e565b60405160208183030381529060405292505050919050565b61126284614592565b60006001600160e01b031982166380ac58cd60e01b148061435057506001600160e01b03198216635b5e139f60e01b145b80610b0a57506301ffc9a760e01b6001600160e01b0319831614610b0a565b612fdc828260405180602001604052806000815250614606565b6000828152600260205260409020546001600160a01b03166144045760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610fed565b600082815260066020526040902061441c8282615697565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b61445d81614639565b60008181526006602052604090208054614476906153f7565b1590506120d05760008181526006602052604081206120d0916149c3565b60006001600160a01b0384163b1561458a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144d89033908990889088906004016159ad565b6020604051808303816000875af1925050508015614513575060408051601f3d908101601f19168201909252614510918101906159ea565b60015b614570573d808015614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b5080516000036145685760405162461bcd60e51b8152600401610fed9061592c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001611262565b606061459d82613940565b60006145b460408051602081019091526000815290565b905060008151116145d457604051806020016040528060008152506145ff565b806145de846146ce565b6040516020016145ef92919061597e565b6040516020818303038152906040525b9392505050565b6146108383614760565b61461d6000848484614494565b61108e5760405162461bcd60e51b8152600401610fed9061592c565b600061464482612233565b905061464f82612233565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006146db836148eb565b60010190506000816001600160401b038111156146fa576146fa614bc7565b6040519080825280601f01601f191660200182016040528015614724576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461472e57509392505050565b6001600160a01b0382166147b65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fed565b6000818152600260205260409020546001600160a01b03161561481b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6000818152600260205260409020546001600160a01b0316156148805760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061492a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614956576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061497457662386f26fc10000830492506010015b6305f5e100831061498c576305f5e100830492506008015b61271083106149a057612710830492506004015b606483106149b2576064830492506002015b600a8310610b0a5760010192915050565b5080546149cf906153f7565b6000825580601f106149df575050565b601f0160209004906000526020600020908101906120d091905b80821115614a0d57600081556001016149f9565b5090565b6001600160e01b0319811681146120d057600080fd5b600060208284031215614a3957600080fd5b81356145ff81614a11565b6001600160a01b03811681146120d057600080fd5b600060208284031215614a6b57600080fd5b81356145ff81614a44565b600081518084526020808501945080840160005b83811015614aa957815160ff1687529582019590820190600101614a8a565b509495945050505050565b606081526000614ac76060830186614a76565b602083820381850152614ada8287614a76565b8481036040860152855180825282870193509082019060005b81811015614b11578451151583529383019391830191600101614af3565b509098975050505050505050565b60005b83811015614b3a578181015183820152602001614b22565b50506000910152565b60008151808452614b5b816020860160208601614b1f565b601f01601f19169290920160200192915050565b6020815260006145ff6020830184614b43565b600060208284031215614b9457600080fd5b5035919050565b60008060408385031215614bae57600080fd5b8235614bb981614a44565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614c0557614c05614bc7565b604052919050565b60006001600160401b03821115614c2657614c26614bc7565b5060051b60200190565b803560ff81168114614c4157600080fd5b919050565b600082601f830112614c5757600080fd5b81356020614c6c614c6783614c0d565b614bdd565b82815260059290921b84018101918181019086841115614c8b57600080fd5b8286015b84811015614cad57614ca081614c30565b8352918301918301614c8f565b509695505050505050565b60008060008060608587031215614cce57600080fd5b8435935060208501356001600160401b0380821115614cec57600080fd5b614cf888838901614c46565b94506040870135915080821115614d0e57600080fd5b818701915087601f830112614d2257600080fd5b813581811115614d3157600080fd5b886020828501011115614d4357600080fd5b95989497505060200194505050565b60008060408385031215614d6557600080fd5b8235614d7081614a44565b9150614d7e60208401614c30565b90509250929050565b600082601f830112614d9857600080fd5b81356020614da8614c6783614c0d565b82815260059290921b84018101918181019086841115614dc757600080fd5b8286015b84811015614cad5780356001600160401b03811115614dea5760008081fd5b614df88986838b0101614c46565b845250918301918301614dcb565b60008083601f840112614e1857600080fd5b5081356001600160401b03811115614e2f57600080fd5b6020830191508360208260051b8501011115614e4a57600080fd5b9250929050565b600080600080600060808688031215614e6957600080fd5b614e7286614c30565b94506020808701356001600160401b0380821115614e8f57600080fd5b818901915089601f830112614ea357600080fd5b8135614eb1614c6782614c0d565b81815260059190911b8301840190848101908c831115614ed057600080fd5b938501935b82851015614eee57843582529385019390850190614ed5565b985050506040890135925080831115614f0657600080fd5b614f128a848b01614d87565b95506060890135925080831115614f2857600080fd5b5050614f3688828901614e06565b969995985093965092949392505050565b60008060208385031215614f5a57600080fd5b82356001600160401b03811115614f7057600080fd5b614f7c85828601614e06565b90969095509350505050565b600080600060608486031215614f9d57600080fd5b8335614fa881614a44565b92506020840135614fb881614a44565b929592945050506040919091013590565b600060208284031215614fdb57600080fd5b6145ff82614c30565b600080600060608486031215614ff957600080fd5b833561500481614a44565b92506020840135915060408401356001600160401b0381111561502657600080fd5b61503286828701614c46565b9150509250925092565b80151581146120d057600080fd5b60006020828403121561505c57600080fd5b81356145ff8161503c565b60006001600160401b0382111561508057615080614bc7565b50601f01601f191660200190565b600061509c614c6784615067565b90508281528383830111156150b057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150d857600080fd5b6145ff8383356020850161508e565b60008060008060008060c0878903121561510057600080fd5b863561510b81614a44565b9550602087013561511b81614a44565b9450604087013561512b81614a44565b9350606087013561513b81614a44565b925060808701356001600160401b0381111561515657600080fd5b61516289828a016150c7565b92505060a087013561517381614a44565b809150509295509295509295565b6000806040838503121561519457600080fd5b82356001600160401b03808211156151ab57600080fd5b6151b7868387016150c7565b935060208501359150808211156151cd57600080fd5b506151da858286016150c7565b9150509250929050565b6000806000604084860312156151f957600080fd5b833561520481614a44565b925060208401356001600160401b0381111561521f57600080fd5b61522b86828701614e06565b9497909650939450505050565b6000806040838503121561524b57600080fd5b823561525681614a44565b915060208301356152668161503c565b809150509250929050565b6000806000806080858703121561528757600080fd5b843561529281614a44565b93506152a060208601614c30565b925060408501356152b081614a44565b91506152be60608601614c30565b905092959194509250565b600080600080608085870312156152df57600080fd5b84356152ea81614a44565b935060208501356152fa81614a44565b92506040850135915060608501356001600160401b0381111561531c57600080fd5b8501601f8101871361532d57600080fd5b61533c8782356020840161508e565b91505092959194509250565b6000806040838503121561535b57600080fd5b823561536681614a44565b9150602083013561526681614a44565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561539e57600080fd5b81516145ff8161503c565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036153d5576153d56153a9565b60010192915050565b6000600182016153f0576153f06153a9565b5060010190565b600181811c9082168061540b57607f821691505b60208210810361256a57634e487b7160e01b600052602260045260246000fd5b6001600160a01b0386168152602080820186905260806040830181905285519083018190526000918681019160a0850190845b8181101561547d57845160ff168352938301939183019160010161545e565b505084810360608601528581528587838301376000818701830152601f909501601f1916909401909301979650505050505050565b6000602082840312156154c457600080fd5b81516145ff81614a44565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b602001915036819003821315614e4a57600080fd5b80820180821115610b0a57610b0a6153a9565b60006020828403121561553a57600080fd5b5051919050565b600060ff821680615554576155546153a9565b6000190192915050565b60008184825b8581101561558d5760ff61557783614c30565b1683526020928301929190910190600101615564565b509095945050505050565b81810381811115610b0a57610b0a6153a9565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526017908201527f5468697320636172642068617320616e206f666665722e000000000000000000604082015260600190565b60008261564c57634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561108e57600081815260208120601f850160051c810160208610156156785750805b601f850160051c820191505b8181101561146f57828155600101615684565b81516001600160401b038111156156b0576156b0614bc7565b6156c4816156be84546153f7565b84615651565b602080601f8311600181146156f957600084156156e15750858301515b600019600386901b1c1916600185901b17855561146f565b600085815260208120601f198616915b8281101561572857888601518255948401946001909101908401615709565b50858210156157465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654615764816153f7565b6001828116801561577c5760018114615791576157c0565b60ff19841687528215158302870194506157c0565b8a60005260208060002060005b858110156157b75781548a82015290840190820161579e565b50505082870194505b5050505085516157d4818360208a01614b1f565b85519101906157e7818360208901614b1f565b84519101906157fa818360208801614b1f565b019695505050505050565b60008251615817818460208701614b1f565b9190910192915050565b60006020828403121561583357600080fd5b81516001600160401b0381111561584957600080fd5b8201601f8101841361585a57600080fd5b8051615868614c6782615067565b81815285602083850101111561587d57600080fd5b61588e826020830160208601614b1f565b95945050505050565b8082028115828204841417610b0a57610b0a6153a9565b815160009082906020808601845b838110156158db57815160ff16855293820193908201906001016158bc565b50929695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351615990818460208801614b1f565b8351908301906159a4818360208801614b1f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159e090830184614b43565b9695505050505050565b6000602082840312156159fc57600080fd5b81516145ff81614a1156fea264697066735822122037e4870fe1827025a5878dbedd00e617ea8ebf7de08517dc09f16363951ab41464736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061046a5760003560e01c806379e8dadc1161024c578063ad1684fa11610146578063dbfc05cf116100c3578063e8a7e31d11610087578063e8a7e31d14610a82578063e985e9c514610a8a578063eb12d61e14610ac6578063f2fde38b14610ad9578063f98fd28314610aec57600080fd5b8063dbfc05cf14610a23578063ddb975e814610a36578063e1883c6e14610a49578063e4ae0b9b14610a5c578063e606df8714610a6957600080fd5b8063c87b56dd1161010a578063c87b56dd146109d9578063cafaa473146109ec578063d322b563146109ff578063d7093f4014610a12578063d780c47714610a1b57600080fd5b8063ad1684fa14610984578063b352618514610997578063b88d4fde146109a0578063ba6c0fbc146109b3578063bf400a6a146109c657600080fd5b80638da5cb5b116101d45780639ff26efd116101985780639ff26efd14610910578063a1af8ad41461093e578063a22cb46514610951578063a419811d14610964578063ab5351601461097757600080fd5b80638da5cb5b146108c95780639038f414146108da57806395d89b41146108e25780639a5613ad146108ea5780639c7f707f146108fd57600080fd5b80637df73e271161021b5780637df73e271461084e57806382d8a1181461087a578063886eb60f1461088357806388e0ef80146108965780638bf670c8146108b657600080fd5b806379e8dadc1461080d5780637ce65f7b146108155780637cf86b72146108285780637de99bd91461083b57600080fd5b8063267b841d116103685780635e31ce48116102e55780637065cb48116102a95780637065cb48146107b957806370a08231146107cc578063715018a6146107df5780637155a3ac146107e75780637232d7d4146107fa57600080fd5b80635e31ce48146107655780636352211e14610778578063656bd0ad1461078b57806368cc5bc1146107945780636d0af178146107a757600080fd5b80634039327e1161032c5780634039327e146106b257806342842e0e146106ba57806342966c68146106cd5780634c03cd0b146106e05780635312ea8e1461075257600080fd5b8063267b841d1461063a5780632ca699e71461064d5780632f54bf6e146106605780632f9e026a1461068c57806330f5cc581461069f57600080fd5b8063147baac7116103f6578063203335f6116103ba578063203335f6146105e557806320965a5f146105f857806321a7c6b01461060b57806323b872dd14610614578063241a08fe1461062757600080fd5b8063147baac71461057557806314cca36a14610587578063155e2f921461059a5780631585cc4e146105ad578063173825d9146105d257600080fd5b8063081812fc1161043d578063081812fc146104fc578063095ea7b3146105275780630e316ab71461053c578063128916dc1461054f5780631306952c1461056257600080fd5b806301ffc9a71461046f5780630435dcaf1461049757806306fdde03146104b957806307b2e246146104ce575b600080fd5b61048261047d366004614a27565b610aff565b60405190151581526020015b60405180910390f35b6104aa6104a5366004614a59565b610b10565b60405161048e93929190614ab4565b6104c1610ec0565b60405161048e9190614b6f565b6104ee6104dc366004614a59565b601b6020526000908152604090205481565b60405190815260200161048e565b61050f61050a366004614b82565b610f52565b6040516001600160a01b03909116815260200161048e565b61053a610535366004614b9b565b610f79565b005b61053a61054a366004614a59565b611093565b61053a61055d366004614a59565b611139565b61050f610570366004614cb8565b6111dc565b60185461048290610100900460ff1681565b600a5461050f906001600160a01b031681565b61053a6105a8366004614d52565b61126a565b6105c06105bb366004614d52565b6112e7565b60405160ff909116815260200161048e565b61053a6105e0366004614a59565b611341565b61053a6105f3366004614e51565b6113b8565b61053a610606366004614f47565b611477565b6104ee60135481565b61053a610622366004614f88565b611a93565b61053a610635366004614fc9565b611ac5565b61053a610648366004614cb8565b611b0b565b61053a61065b366004614d52565b611b1e565b61048261066e366004614a59565b6001600160a01b03166000908152600b602052604090205460ff1690565b60085461050f906001600160a01b031681565b61053a6106ad366004614fe4565b611d71565b6104c1611ff9565b61053a6106c8366004614f88565b612087565b61053a6106db366004614b82565b6120a2565b6107226106ee366004614b82565b60196020526000908152604090208054600182015460028301546003909301549192909160ff808316926101009004169085565b6040805195865260208601949094529115159284019290925260ff9091166060830152608082015260a00161048e565b61053a610760366004614b82565b6120d3565b61053a610773366004614b82565b6121ee565b61050f610786366004614b82565b612233565b6104ee60115481565b61053a6107a236600461504a565b612293565b600f546105c090610100900460ff1681565b61053a6107c7366004614a59565b6122df565b6104ee6107da366004614a59565b612356565b61053a6123dc565b61053a6107f5366004614d52565b6123f0565b61053a610808366004614b82565b612450565b6104c16124a6565b61053a610823366004614fc9565b6124b3565b6104ee610836366004614a59565b612524565b61053a6108493660046150e7565b612570565b61048261085c366004614a59565b6001600160a01b03166000908152600e602052604090205460ff1690565b6104ee60105481565b610482610891366004614d52565b61274b565b6104ee6108a4366004614b82565b601a6020526000908152604090205481565b6104826108c4366004614d52565b6127a7565b6007546001600160a01b031661050f565b610482612806565b6104c1612ba6565b6018546104829062010000900460ff1681565b61053a61090b366004615181565b612bb5565b6105c061091e366004614d52565b601c60209081526000928352604080842090915290825290205460ff1681565b61053a61094c3660046151e4565b612c57565b61053a61095f366004615238565b612fd1565b61053a610972366004614a59565b612fe0565b600f546105c09060ff1681565b61053a610992366004615271565b61307f565b6104ee60145481565b61053a6109ae3660046152c9565b613312565b61053a6109c1366004614b82565b613344565b61053a6109d4366004614fc9565b61339a565b6104c16109e7366004614b82565b6135e6565b61053a6109fa366004614a59565b6135f1565b60095461050f906001600160a01b031681565b6104ee60125481565b6104ee613694565b61053a610a3136600461504a565b6136c1565b61053a610a44366004614a59565b613704565b61053a610a57366004614b82565b6137a7565b6018546104829060ff1681565b600f5461050f906201000090046001600160a01b031681565b6104c16137d7565b610482610a98366004615348565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61053a610ad4366004614a59565b6137e4565b61053a610ae7366004614a59565b61385b565b61053a610afa36600461504a565b6138d1565b6000610b0a8261391b565b92915050565b60408051607a808252610f608201909252606091829182916000919060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f4080368337505060408051607a808252610f608201909252929350600092915060208201610f40803683370190505090506000805b60798160ff1611610cf6576001600160a01b0389166000908152601c6020908152604080832060ff80861685529252909120541615610ce45780858360ff1681518110610bdc57610bdc615376565b60ff9283166020918202929092018101919091526001600160a01b038b166000908152601c82526040808220858516835290925220548551908216918691908516908110610c2c57610c2c615376565b60ff9283166020918202929092010152600954604051632edb5fcf60e01b81526001600160a01b038c811660048301529284166024820152911690632edb5fcf90604401602060405180830381865afa158015610c8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb1919061538c565b838360ff1681518110610cc657610cc6615376565b9115156020928302919091019091015281610ce0816153bf565b9250505b80610cee816153bf565b915050610b8d565b5060008160ff166001600160401b03811115610d1457610d14614bc7565b604051908082528060200260200182016040528015610d3d578160200160208202803683370190505b50905060008260ff166001600160401b03811115610d5d57610d5d614bc7565b604051908082528060200260200182016040528015610d86578160200160208202803683370190505b50905060008360ff166001600160401b03811115610da657610da6614bc7565b604051908082528060200260200182016040528015610dcf578160200160208202803683370190505b50905060005b8460ff16811015610eae57878181518110610df257610df2615376565b6020026020010151848281518110610e0c57610e0c615376565b602002602001019060ff16908160ff1681525050868181518110610e3257610e32615376565b6020026020010151838281518110610e4c57610e4c615376565b602002602001019060ff16908160ff1681525050858181518110610e7257610e72615376565b6020026020010151828281518110610e8c57610e8c615376565b9115156020928302919091019091015280610ea6816153de565b915050610dd5565b50919a90995090975095505050505050565b606060008054610ecf906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610efb906153f7565b8015610f485780601f10610f1d57610100808354040283529160200191610f48565b820191906000526020600020905b815481529060010190602001808311610f2b57829003601f168201915b5050505050905090565b6000610f5d82613940565b506000908152600460205260409020546001600160a01b031690565b6000610f8482612233565b9050806001600160a01b0316836001600160a01b031603610ff65760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101257506110128133610a98565b6110845760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610fed565b61108e838361399f565b505050565b336000908152600b602052604090205460ff166110c357604051634289c49360e01b815260040160405180910390fd5b604051630982088f60e41b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063982088f0906044015b60006040518083038186803b15801561111e57600080fd5b505af4158015611132573d6000803e3d6000fd5b5050505050565b336000908152600b602052604090205460ff1661116957604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166111915760405163e6c4247b60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0384169081179091556040517f538b3425a321783393ad250db10356b8b3523ef29a40de015c5218213de0ead090600090a25050565b6040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b9061121e903390899089908990899060040161542b565b602060405180830381865af415801561123b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125f91906154b2565b90505b949350505050565b6009546001600160a01b0316331461129557604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca836153bf565b91906101000a81548160ff021916908360ff160217905550505050565b6000826001600160a01b0381166113115760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff94851684529091529020541690565b336000908152600b602052604090205460ff1661137157604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a490604401611106565b60ff851615806113d05750600f5460ff908116908616115b156113ee57604051630b154b3b60e41b815260040160405180910390fd5b60005b8560ff1681101561146f5761145d3386838151811061141257611412615376565b602002602001015186848151811061142c5761142c615376565b602002602001015186868681811061144657611446615376565b905060200281019061145891906154cf565b613a0d565b80611467816153de565b9150506113f1565b505050505050565b336000908152601c602090815260408083206079845290915281205460ff1690036114b55760405163210f01d160e21b815260040160405180910390fd5b336000908152601b60205260408120546114d0908390615515565b90506000603c821061158857600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa15801561152b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154f9190615528565b90506014548110806115645750601454601254105b156115825760405163356680b760e01b815260040160405180910390fd5b60019150505b600954604051630cdb311760e01b815233600482015260009182916001600160a01b0390911690630cdb311790602401602060405180830381865afa1580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f99190615528565b1190508360005b8181101561182057336000908152601c602052604081209088888481811061162a5761162a615376565b905060200201602081019061163f9190614fc9565b60ff9081168252602082019290925260400160009081205490911690036116795760405163210f01d160e21b815260040160405180910390fd5b821561179c576009546001600160a01b0316632edb5fcf338989858181106116a3576116a3615376565b90506020020160208101906116b89190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015611704573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611728919061538c565b1561179c57336000908152601c6020526040812060029189898581811061175157611751615376565b90506020020160208101906117669190614fc9565b60ff908116825260208201929092526040016000205416101561179c5760405163483e9b8d60e11b815260040160405180910390fd5b336000908152601c60205260408120908888848181106117be576117be615376565b90506020020160208101906117d39190614fc9565b60ff908116825260208201929092526040016000908120805490921691906117fa83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050611600565b50336000908152601b602052604081208054839290611840908490615515565b9091555050604051611855908790879061555e565b6040519081900381209033907fdbcda3b6d52a6f69c85189ca3f35e5be8a2e3d052fea47f656ff00384b0c47b190600090a3821561146f57336000908152601c60209081526040808320607984529091528120805460ff16916118b783615541565b91906101000a81548160ff021916908360ff1602179055505061196833601680546118e1906153f7565b80601f016020809104026020016040519081016040528092919081815260200182805461190d906153f7565b801561195a5780601f1061192f5761010080835404028352916020019161195a565b820191906000526020600020905b81548152906001019060200180831161193d57829003601f168201915b505050505060796002613e24565b6014546012600082825461197c9190615598565b9091555050600f5460145460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156119db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ff919061538c565b50600a5460405163fa8213d360e01b81523360048201526001600160a01b039091169063fa8213d390602401600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b5050604051600292503391507f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a3505050505050565b611a9e335b82613e87565b611aba5760405162461bcd60e51b8152600401610fed906155ab565b61108e838383613f05565b336000908152600b602052604090205460ff16611af557604051634289c49360e01b815260040160405180910390fd5b600f805460ff191660ff92909216919091179055565b611b183385858585613a0d565b50505050565b816001600160a01b038116611b465760405163e6c4247b60e01b815260040160405180910390fd5b336000908152601c6020908152604080832060ff80871685529252822054169003611b845760405163210f01d160e21b815260040160405180910390fd5b336001600160a01b03841603611bad57604051632f35253160e01b815260040160405180910390fd5b60185462010000900460ff1615611c8457600954604051632edb5fcf60e01b815233600482015260ff841660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa158015611c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c34919061538c565b336000908152601c6020908152604080832060ff80891685529252909120549192506001911611811580611c655750805b611c815760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff808716855292528220805490911691611cb083615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0385166000908152601c602090815260408083208785168452909152812080549092169250611cff836153bf565b91906101000a81548160ff021916908360ff16021790555050826001600160a01b0316336001600160a01b03167f1b6e5f928a38f442936bbdf4696f128a543b8e43730594344a66c028d0b9c3da84604051611d64919060ff91909116815260200190565b60405180910390a3505050565b336000908152600b602052604090205460ff16611da157604051634289c49360e01b815260040160405180910390fd5b6008546040516380f2540b60e01b8152600481018490526001600160a01b038581166024830152909116906380f2540b90604401600060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506006601154611e16919061562f565b601154611e239190615598565b60126000828254611e349190615515565b90915550600090505b8151811015611b1857818181518110611e5857611e58615376565b602002602001015160ff16607814611ea357611389601a6000848481518110611e8357611e83615376565b602002602001015160ff1681526020019081526020016000205410611ed4565b6078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb9115b611f205760405162461bcd60e51b815260206004820152601e60248201527f696e76616c69642063617264496e76656e746f727920706f736974696f6e00006044820152606401610fed565b601a6000838381518110611f3657611f36615376565b602002602001015160ff1681526020019081526020016000206000815480929190611f60906153de565b90915550506001600160a01b0384166000908152601c602052604081208351909190849084908110611f9457611f94615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190611fcd906153bf565b91906101000a81548160ff021916908360ff160217905550508080611ff1906153de565b915050611e3d565b60168054612006906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054612032906153f7565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b505050505081565b61108e83838360405180602001604052806000815250613312565b6120ab33611a98565b6120c75760405162461bcd60e51b8152600401610fed906155ab565b6120d081614069565b50565b336000908152600b602052604090205460ff1661210357604051634289c49360e01b815260040160405180910390fd5b8061210d30612356565b101561212c5760405163356680b760e01b815260040160405180910390fd5b806012600082825461213e9190615598565b9091555050600f5460405163a9059cbb60e01b815233600482015260248101839052620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bd919061538c565b50604051819033907f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2090600090a350565b6008546001600160a01b03163314612219576040516307473cc760e41b815260040160405180910390fd5b806012600082825461222b9190615515565b909155505050565b6000818152600260205260408120546001600160a01b031680610b0a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b336000908152600b602052604090205460ff166122c357604051634289c49360e01b815260040160405180910390fd5b60188054911515620100000262ff000019909216919091179055565b336000908152600b602052604090205460ff1661230f57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600b60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae490604401611106565b60006001600160a01b0382166123c05760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610fed565b506001600160a01b031660009081526003602052604090205490565b6123e4614072565b6123ee60006140cc565b565b6009546001600160a01b0316331461241b57604051638eea824160e01b815260040160405180910390fd5b6001600160a01b0382166000908152601c6020908152604080832060ff8086168552925282208054909116916112ca83615541565b336000908152600b602052604090205460ff1661248057604051634289c49360e01b815260040160405180910390fd5b806000036124a157604051634b1c6ca160e01b815260040160405180910390fd5b601355565b60158054612006906153f7565b336000908152600b602052604090205460ff166124e357604051634289c49360e01b815260040160405180910390fd5b60648160ff16111561250857604051634b1c6ca160e01b815260040160405180910390fd5b600f805460ff9092166101000261ff0019909216919091179055565b6000816001600160a01b03811661254e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152601b602052604090205491505b50919050565b612578614072565b336000908152600b60205260409020805460ff19166001179055600f80546001600160a01b03888116620100000262010000600160b01b031990921691909117909155600880548783166001600160a01b031991821617909155600a8054868416908316179055600980549287169290911691909117905560176125fc8382615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526203132360ec1b8183015283518085018552600681526523173539b7b760d11b8184015293516126599460179493909101615756565b604051602081830303815290604052601590816126769190615697565b5060408051808201825260018152602f60f81b60208083019190915282518084018452600381526231323160e81b8183015283518085018552600681526523173539b7b760d11b8184015293516126d39460179493909101615756565b604051602081830303815290604052601690816126f09190615697565b506001600160a01b0381166000908152600e60205260408120805460ff191660011790555b607a811015612742576000818152601a60205260409020600190558061273a816153de565b915050612715565b50505050505050565b6000826001600160a01b0381166127755760405163e6c4247b60e01b815260040160405180910390fd5b50506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b6009546000906001600160a01b031633146127d557604051638eea824160e01b815260040160405180910390fd5b506001600160a01b03919091166000908152601c6020908152604080832060ff948516845290915290205416151590565b336000908152601c602090815260408083206078845290915281205460ff1681036128445760405163210f01d160e21b815260040160405180910390fd5b601354601254101561286957604051634b1c6ca160e01b815260040160405180910390fd5b600f546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa1580156128b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128dc9190615528565b90506013548110156129015760405163356680b760e01b815260040160405180910390fd5b6000805b60788160ff161161299057336000908152601c6020908152604080832060ff8086168552925282205416900361293e5760019150612990565b336000908152601c6020908152604080832060ff80861685529252822080549091169161296a83615541565b91906101000a81548160ff021916908360ff160217905550508080600101915050612905565b5080156129af57604051623de82960e51b815260040160405180910390fd5b612a4733601580546129c0906153f7565b80601f01602080910402602001604051908101604052809291908181526020018280546129ec906153f7565b8015612a395780601f10612a0e57610100808354040283529160200191612a39565b820191906000526020600020905b815481529060010190602001808311612a1c57829003601f168201915b505050505060786002613e24565b600f5460135460405163a9059cbb60e01b81523360048201526024810191909152620100009091046001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac5919061538c565b5060135460126000828254612ada9190615598565b9091555050600954604051633f27a03f60e21b81523360048201526000916001600160a01b03169063fc9e80fc906024016020604051808303816000875af1158015612b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4e919061538c565b905080612b6e5760405163e07c7c8d60e01b815260040160405180910390fd5b60405160019033907f6d0344e2059f835240cb954cce07d4b26f0d0844eecc234f7ee0e292ba80a1aa90600090a36001935050505090565b606060018054610ecf906153f7565b336000908152600b602052604090205460ff16612be557604051634289c49360e01b815260040160405180910390fd5b6015612bf18382615697565b506016612bfe8282615697565b5080604051612c0d9190615805565b604051809103902082604051612c239190615805565b604051908190038120907fabfd337ac5625b7dc2ddd3d3bd465fb1dec15322eeeed81032268b337880bec690600090a35050565b826001600160a01b038116612c7f5760405163e6c4247b60e01b815260040160405180910390fd5b336001600160a01b03851603612ca857604051632f35253160e01b815260040160405180910390fd5b60005b82811015612f7d57336000908152601c6020526040812090858584818110612cd557612cd5615376565b9050602002016020810190612cea9190614fc9565b60ff908116825260208201929092526040016000908120549091169003612d245760405163210f01d160e21b815260040160405180910390fd5b336000908152601c6020526040812090858584818110612d4657612d46615376565b9050602002016020810190612d5b9190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612d8283615541565b91906101000a81548160ff021916908360ff16021790555050601c6000866001600160a01b03166001600160a01b031681526020019081526020016000206000858584818110612dd457612dd4615376565b9050602002016020810190612de99190614fc9565b60ff90811682526020820192909252604001600090812080549092169190612e10836153bf565b91906101000a81548160ff021916908360ff16021790555050601860029054906101000a900460ff1615612f6b576009546000906001600160a01b0316632edb5fcf33878786818110612e6557612e65615376565b9050602002016020810190612e7a9190614fc9565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260ff166024820152604401602060405180830381865afa158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612eea919061538c565b336000908152601c602052604081209192509060019082888887818110612f1357612f13615376565b9050602002016020810190612f289190614fc9565b60ff908116825260208201929092526040016000205416119050811580612f4c5750805b612f685760405162461bcd60e51b8152600401610fed906155f8565b50505b80612f75816153de565b915050612cab565b508282604051612f8e92919061555e565b604051908190038120906001600160a01b0386169033907f368eb521419fe880268b0d75c05eaa2da7ae9ccf468be86a848f7054366d2b9b90600090a450505050565b612fdc33838361411e565b5050565b336000908152600b602052604090205460ff1661301057604051634289c49360e01b815260040160405180910390fd5b60005b60798160ff1611612fdc576001600160a01b0382166000908152601c6020908152604080832060ff808616855292528220805490911691613053836153bf565b91906101000a81548160ff021916908360ff160217905550508080613077906153bf565b915050613013565b6009546001600160a01b031633146130aa57604051638eea824160e01b815260040160405180910390fd5b836001600160a01b0381166130d25760405163e6c4247b60e01b815260040160405180910390fd5b826001600160a01b0381166130fa5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a16855292529091205416158061315557506001600160a01b0384166000908152601c6020908152604080832060ff808816855292529091205416155b156131735760405163210f01d160e21b815260040160405180910390fd5b6001600160a01b0386166000908152601c6020908152604080832060ff808a168552925282208054909116916131a883615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c602090815260408083208a851684529091528120805490921692506131f7836153bf565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0386166000908152601c60209081526040808320888516845290915281208054909216925061324683615541565b82546101009290920a60ff8181021990931691831602179091556001600160a01b0388166000908152601c602090815260408083208885168452909152812080549092169250613295836153bf565b91906101000a81548160ff021916908360ff16021790555050836001600160a01b0316866001600160a01b03167f52819375a02768cb5083d7b729260c6db2309fcb5c9161201ada89d30d00d524878660405161330292919060ff92831681529116602082015260400190565b60405180910390a3505050505050565b61331c3383613e87565b6133385760405162461bcd60e51b8152600401610fed906155ab565b611b18848484846141e4565b336000908152600b602052604090205460ff1661337457604051634289c49360e01b815260040160405180910390fd5b8060000361339557604051634b1c6ca160e01b815260040160405180910390fd5b601455565b336000908152601c6020908152604080832060ff808616855292528220541690036133d85760405163210f01d160e21b815260040160405180910390fd5b601854610100900460ff16156134ae57600954604051632edb5fcf60e01b815233600482015260ff831660248201526000916001600160a01b031690632edb5fcf90604401602060405180830381865afa15801561343a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345e919061538c565b336000908152601c6020908152604080832060ff8088168552925290912054919250600191161181158061348f5750805b6134ab5760405162461bcd60e51b8152600401610fed906155f8565b50505b336000908152601c6020908152604080832060ff8086168552925282208054909116916134da83615541565b91906101000a81548160ff021916908360ff1602179055505060006017604051806040016040528060018152602001602f60f81b8152508360ff1673__$7e24fea74dbc7efffb723a34f6ecd87681$__636900a3ae90916040518263ffffffff1660e01b815260040161354f91815260200190565b600060405180830381865af415801561356c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135949190810190615821565b60405180604001604052806005815260200164173539b7b760d91b8152506040516020016135c59493929190615756565b6040516020818303038152906040529050612fdc33828460ff166001613e24565b6060610b0a82614217565b336000908152600b602052604090205460ff1661362157604051634289c49360e01b815260040160405180910390fd5b806001600160a01b0381166136495760405163e6c4247b60e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0384169081179091556040517f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f90600090a25050565b601254600f546000916064916136b29190610100900460ff16615897565b6136bc919061562f565b905090565b336000908152600b602052604090205460ff166136f157604051634289c49360e01b815260040160405180910390fd5b6018805460ff1916911515919091179055565b336000908152600b602052604090205460ff1661373457604051634289c49360e01b815260040160405180910390fd5b806001600160a01b03811661375c5760405163e6c4247b60e01b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0384169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a25050565b6008546001600160a01b031633146137d2576040516307473cc760e41b815260040160405180910390fd5b601155565b60178054612006906153f7565b336000908152600b602052604090205460ff1661381457604051634289c49360e01b815260040160405180910390fd5b604051633b9db68960e11b8152600d60048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063773b6d1290604401611106565b613863614072565b6001600160a01b0381166138c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610fed565b6120d0816140cc565b336000908152600b602052604090205460ff1661390157604051634289c49360e01b815260040160405180910390fd5b601880549115156101000261ff0019909216919091179055565b60006001600160e01b03198216632483248360e11b1480610b0a5750610b0a8261431f565b6000818152600260205260409020546001600160a01b03166120d05760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610fed565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139d482612233565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60085460405163d3e6a7ad60e01b8152600481018690526001600160a01b0387811692169063d3e6a7ad90602401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906154b2565b6001600160a01b031614613aa357604051637f6ecdf560e01b815260040160405180910390fd5b600f835110613ac557604051639dcca73360e01b815260040160405180910390fd5b60185460ff1615613b91576040516338fb7d8b60e01b815260009073__$11abd53fa8ca7bb7b53675cf998674c516$__906338fb7d8b90613b12903390899089908990899060040161542b565b602060405180830381865af4158015613b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5391906154b2565b6001600160a01b0381166000908152600e602052604090205490915060ff16613b8f57604051638baa579f60e01b815260040160405180910390fd5b505b6008546040516380f2540b60e01b8152600481018690526001600160a01b038781166024830152909116906380f2540b90604401600060405180830381600087803b158015613bdf57600080fd5b505af1158015613bf3573d6000803e3d6000fd5b505050506006601154613c06919061562f565b601154613c139190615598565b60126000828254613c249190615515565b90915550600090505b8351811015613dd257838181518110613c4857613c48615376565b602002602001015160ff16607803613cad576078600052601a6020527f0382f0ce335a2f6d9ff5c37189f20a85f5e9319580268a4587d7c49525cd970d54610bb81015613ca857604051630d1ecf1760e11b815260040160405180910390fd5b613cff565b611388601a6000868481518110613cc657613cc6615376565b602002602001015160ff168152602001908152602001600020541115613cff57604051630d1ecf1760e11b815260040160405180910390fd5b601a6000858381518110613d1557613d15615376565b602002602001015160ff1681526020019081526020016000206000815480929190613d3f906153de565b90915550506001600160a01b0386166000908152601c602052604081208551909190869084908110613d7357613d73615376565b602002602001015160ff1660ff168152602001908152602001600020600081819054906101000a900460ff1680929190613dac906153bf565b91906101000a81548160ff021916908360ff160217905550508080600101915050613c2d565b508383604051613de291906158ae565b604051908190038120906001600160a01b038816907fbabe8f5e83e93ab103ddf917b4292a19335a5128b3530bedd896a681cdd945e390600090a45050505050565b601054600081815260196020526040902081815560018101849055600201805461ff00191661010060ff851602179055613e5e858261436f565b613e688185614389565b600160106000828254613e7b9190615515565b90915550505050505050565b600080613e9383612233565b9050806001600160a01b0316846001600160a01b03161480613eda57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806112625750836001600160a01b0316613ef384610f52565b6001600160a01b031614949350505050565b826001600160a01b0316613f1882612233565b6001600160a01b031614613f3e5760405162461bcd60e51b8152600401610fed906158e7565b6001600160a01b038216613fa05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610fed565b826001600160a01b0316613fb382612233565b6001600160a01b031614613fd95760405162461bcd60e51b8152600401610fed906158e7565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6120d081614454565b6007546001600160a01b031633146123ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610fed565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361417f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610fed565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d64565b6141ef848484613f05565b6141fb84848484614494565b611b185760405162461bcd60e51b8152600401610fed9061592c565b606061422282613940565b6000828152600660205260408120805461423b906153f7565b80601f0160208091040260200160405190810160405280929190818152602001828054614267906153f7565b80156142b45780601f10614289576101008083540402835291602001916142b4565b820191906000526020600020905b81548152906001019060200180831161429757829003601f168201915b5050505050905060006142d260408051602081019091526000815290565b905080516000036142e4575092915050565b8151156143165780826040516020016142fe92919061597e565b60405160208183030381529060405292505050919050565b61126284614592565b60006001600160e01b031982166380ac58cd60e01b148061435057506001600160e01b03198216635b5e139f60e01b145b80610b0a57506301ffc9a760e01b6001600160e01b0319831614610b0a565b612fdc828260405180602001604052806000815250614606565b6000828152600260205260409020546001600160a01b03166144045760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610fed565b600082815260066020526040902061441c8282615697565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b61445d81614639565b60008181526006602052604090208054614476906153f7565b1590506120d05760008181526006602052604081206120d0916149c3565b60006001600160a01b0384163b1561458a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906144d89033908990889088906004016159ad565b6020604051808303816000875af1925050508015614513575060408051601f3d908101601f19168201909252614510918101906159ea565b60015b614570573d808015614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b5080516000036145685760405162461bcd60e51b8152600401610fed9061592c565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611262565b506001611262565b606061459d82613940565b60006145b460408051602081019091526000815290565b905060008151116145d457604051806020016040528060008152506145ff565b806145de846146ce565b6040516020016145ef92919061597e565b6040516020818303038152906040525b9392505050565b6146108383614760565b61461d6000848484614494565b61108e5760405162461bcd60e51b8152600401610fed9061592c565b600061464482612233565b905061464f82612233565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006146db836148eb565b60010190506000816001600160401b038111156146fa576146fa614bc7565b6040519080825280601f01601f191660200182016040528015614724576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461472e57509392505050565b6001600160a01b0382166147b65760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610fed565b6000818152600260205260409020546001600160a01b03161561481b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6000818152600260205260409020546001600160a01b0316156148805760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610fed565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061492a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614956576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061497457662386f26fc10000830492506010015b6305f5e100831061498c576305f5e100830492506008015b61271083106149a057612710830492506004015b606483106149b2576064830492506002015b600a8310610b0a5760010192915050565b5080546149cf906153f7565b6000825580601f106149df575050565b601f0160209004906000526020600020908101906120d091905b80821115614a0d57600081556001016149f9565b5090565b6001600160e01b0319811681146120d057600080fd5b600060208284031215614a3957600080fd5b81356145ff81614a11565b6001600160a01b03811681146120d057600080fd5b600060208284031215614a6b57600080fd5b81356145ff81614a44565b600081518084526020808501945080840160005b83811015614aa957815160ff1687529582019590820190600101614a8a565b509495945050505050565b606081526000614ac76060830186614a76565b602083820381850152614ada8287614a76565b8481036040860152855180825282870193509082019060005b81811015614b11578451151583529383019391830191600101614af3565b509098975050505050505050565b60005b83811015614b3a578181015183820152602001614b22565b50506000910152565b60008151808452614b5b816020860160208601614b1f565b601f01601f19169290920160200192915050565b6020815260006145ff6020830184614b43565b600060208284031215614b9457600080fd5b5035919050565b60008060408385031215614bae57600080fd5b8235614bb981614a44565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614c0557614c05614bc7565b604052919050565b60006001600160401b03821115614c2657614c26614bc7565b5060051b60200190565b803560ff81168114614c4157600080fd5b919050565b600082601f830112614c5757600080fd5b81356020614c6c614c6783614c0d565b614bdd565b82815260059290921b84018101918181019086841115614c8b57600080fd5b8286015b84811015614cad57614ca081614c30565b8352918301918301614c8f565b509695505050505050565b60008060008060608587031215614cce57600080fd5b8435935060208501356001600160401b0380821115614cec57600080fd5b614cf888838901614c46565b94506040870135915080821115614d0e57600080fd5b818701915087601f830112614d2257600080fd5b813581811115614d3157600080fd5b886020828501011115614d4357600080fd5b95989497505060200194505050565b60008060408385031215614d6557600080fd5b8235614d7081614a44565b9150614d7e60208401614c30565b90509250929050565b600082601f830112614d9857600080fd5b81356020614da8614c6783614c0d565b82815260059290921b84018101918181019086841115614dc757600080fd5b8286015b84811015614cad5780356001600160401b03811115614dea5760008081fd5b614df88986838b0101614c46565b845250918301918301614dcb565b60008083601f840112614e1857600080fd5b5081356001600160401b03811115614e2f57600080fd5b6020830191508360208260051b8501011115614e4a57600080fd5b9250929050565b600080600080600060808688031215614e6957600080fd5b614e7286614c30565b94506020808701356001600160401b0380821115614e8f57600080fd5b818901915089601f830112614ea357600080fd5b8135614eb1614c6782614c0d565b81815260059190911b8301840190848101908c831115614ed057600080fd5b938501935b82851015614eee57843582529385019390850190614ed5565b985050506040890135925080831115614f0657600080fd5b614f128a848b01614d87565b95506060890135925080831115614f2857600080fd5b5050614f3688828901614e06565b969995985093965092949392505050565b60008060208385031215614f5a57600080fd5b82356001600160401b03811115614f7057600080fd5b614f7c85828601614e06565b90969095509350505050565b600080600060608486031215614f9d57600080fd5b8335614fa881614a44565b92506020840135614fb881614a44565b929592945050506040919091013590565b600060208284031215614fdb57600080fd5b6145ff82614c30565b600080600060608486031215614ff957600080fd5b833561500481614a44565b92506020840135915060408401356001600160401b0381111561502657600080fd5b61503286828701614c46565b9150509250925092565b80151581146120d057600080fd5b60006020828403121561505c57600080fd5b81356145ff8161503c565b60006001600160401b0382111561508057615080614bc7565b50601f01601f191660200190565b600061509c614c6784615067565b90508281528383830111156150b057600080fd5b828260208301376000602084830101529392505050565b600082601f8301126150d857600080fd5b6145ff8383356020850161508e565b60008060008060008060c0878903121561510057600080fd5b863561510b81614a44565b9550602087013561511b81614a44565b9450604087013561512b81614a44565b9350606087013561513b81614a44565b925060808701356001600160401b0381111561515657600080fd5b61516289828a016150c7565b92505060a087013561517381614a44565b809150509295509295509295565b6000806040838503121561519457600080fd5b82356001600160401b03808211156151ab57600080fd5b6151b7868387016150c7565b935060208501359150808211156151cd57600080fd5b506151da858286016150c7565b9150509250929050565b6000806000604084860312156151f957600080fd5b833561520481614a44565b925060208401356001600160401b0381111561521f57600080fd5b61522b86828701614e06565b9497909650939450505050565b6000806040838503121561524b57600080fd5b823561525681614a44565b915060208301356152668161503c565b809150509250929050565b6000806000806080858703121561528757600080fd5b843561529281614a44565b93506152a060208601614c30565b925060408501356152b081614a44565b91506152be60608601614c30565b905092959194509250565b600080600080608085870312156152df57600080fd5b84356152ea81614a44565b935060208501356152fa81614a44565b92506040850135915060608501356001600160401b0381111561531c57600080fd5b8501601f8101871361532d57600080fd5b61533c8782356020840161508e565b91505092959194509250565b6000806040838503121561535b57600080fd5b823561536681614a44565b9150602083013561526681614a44565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561539e57600080fd5b81516145ff8161503c565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff81036153d5576153d56153a9565b60010192915050565b6000600182016153f0576153f06153a9565b5060010190565b600181811c9082168061540b57607f821691505b60208210810361256a57634e487b7160e01b600052602260045260246000fd5b6001600160a01b0386168152602080820186905260806040830181905285519083018190526000918681019160a0850190845b8181101561547d57845160ff168352938301939183019160010161545e565b505084810360608601528581528587838301376000818701830152601f909501601f1916909401909301979650505050505050565b6000602082840312156154c457600080fd5b81516145ff81614a44565b6000808335601e198436030181126154e657600080fd5b8301803591506001600160401b0382111561550057600080fd5b602001915036819003821315614e4a57600080fd5b80820180821115610b0a57610b0a6153a9565b60006020828403121561553a57600080fd5b5051919050565b600060ff821680615554576155546153a9565b6000190192915050565b60008184825b8581101561558d5760ff61557783614c30565b1683526020928301929190910190600101615564565b509095945050505050565b81810381811115610b0a57610b0a6153a9565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526017908201527f5468697320636172642068617320616e206f666665722e000000000000000000604082015260600190565b60008261564c57634e487b7160e01b600052601260045260246000fd5b500490565b601f82111561108e57600081815260208120601f850160051c810160208610156156785750805b601f850160051c820191505b8181101561146f57828155600101615684565b81516001600160401b038111156156b0576156b0614bc7565b6156c4816156be84546153f7565b84615651565b602080601f8311600181146156f957600084156156e15750858301515b600019600386901b1c1916600185901b17855561146f565b600085815260208120601f198616915b8281101561572857888601518255948401946001909101908401615709565b50858210156157465787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808654615764816153f7565b6001828116801561577c5760018114615791576157c0565b60ff19841687528215158302870194506157c0565b8a60005260208060002060005b858110156157b75781548a82015290840190820161579e565b50505082870194505b5050505085516157d4818360208a01614b1f565b85519101906157e7818360208901614b1f565b84519101906157fa818360208801614b1f565b019695505050505050565b60008251615817818460208701614b1f565b9190910192915050565b60006020828403121561583357600080fd5b81516001600160401b0381111561584957600080fd5b8201601f8101841361585a57600080fd5b8051615868614c6782615067565b81815285602083850101111561587d57600080fd5b61588e826020830160208601614b1f565b95945050505050565b8082028115828204841417610b0a57610b0a6153a9565b815160009082906020808601845b838110156158db57815160ff16855293820193908201906001016158bc565b50929695505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351615990818460208801614b1f565b8351908301906159a4818360208801614b1f565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906159e090830184614b43565b9695505050505050565b6000602082840312156159fc57600080fd5b81516145ff81614a1156fea264697066735822122037e4870fe1827025a5878dbedd00e617ea8ebf7de08517dc09f16363951ab41464736f6c63430008140033", + "linkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 5023 + }, + { + "length": 20, + "start": 5709 + }, + { + "length": 20, + "start": 9707 + }, + { + "length": 20, + "start": 15088 + } + ] + }, + "contracts/gamma/libs/LibPackVerifier.sol": { + "LibPackVerifier": [ + { + "length": 20, + "start": 5285 + }, + { + "length": 20, + "start": 15769 + } + ] + }, + "contracts/gamma/libs/LibStringUtils.sol": { + "LibStringUtils": [ + { + "length": 20, + "start": 14286 + } + ] + } + }, + "deployedLinkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 4328 + }, + { + "length": 20, + "start": 5014 + }, + { + "length": 20, + "start": 9012 + }, + { + "length": 20, + "start": 14393 + } + ] + }, + "contracts/gamma/libs/LibPackVerifier.sol": { + "LibPackVerifier": [ + { + "length": 20, + "start": 4590 + }, + { + "length": 20, + "start": 15074 + } + ] + }, + "contracts/gamma/libs/LibStringUtils.sol": { + "LibStringUtils": [ + { + "length": 20, + "start": 13591 + } + ] + } + } +} diff --git a/artifacts/contracts/gamma/GammaCardsNFT.v1.sol/NofGammaCardsNFTV1.dbg.json b/artifacts/contracts/gamma/GammaCardsNFT.v1.sol/NofGammaCardsNFTV1.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaCardsNFT.v1.sol/NofGammaCardsNFTV1.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaCardsNFT.v1.sol/NofGammaCardsNFTV1.json b/artifacts/contracts/gamma/GammaCardsNFT.v1.sol/NofGammaCardsNFTV1.json new file mode 100644 index 0000000..215d092 --- /dev/null +++ b/artifacts/contracts/gamma/GammaCardsNFT.v1.sol/NofGammaCardsNFTV1.json @@ -0,0 +1,391 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofGammaCardsNFTV1", + "sourceName": "contracts/gamma/GammaCardsNFT.v1.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "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": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "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": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "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": "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": "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": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "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" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600a81526020016947616d6d61436172647360b01b815250604051806040016040528060068152602001654e4f465f474360d01b815250816000908162000065919062000122565b50600162000074828262000122565b505050620001ee565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a857607f821691505b602082108103620000c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011d57600081815260208120601f850160051c81016020861015620000f85750805b601f850160051c820191505b81811015620001195782815560010162000104565b5050505b505050565b81516001600160401b038111156200013e576200013e6200007d565b62000156816200014f845462000093565b84620000cf565b602080601f8311600181146200018e5760008415620001755750858301515b600019600386901b1c1916600185901b17855562000119565b600085815260208120601f198616915b82811015620001bf578886015182559484019460019091019084016200019e565b5085821015620001de5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6113c380620001fe6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101e1578063b88d4fde146101f4578063c87b56dd14610207578063e985e9c51461021a57600080fd5b80636352211e146101a557806370a08231146101b857806395d89b41146101d957600080fd5b8063095ea7b3116100c8578063095ea7b31461015757806323b872dd1461016c57806342842e0e1461017f57806342966c681461019257600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610f4f565b610256565b60405190151581526020015b60405180910390f35b61011f610267565b60405161010e9190610fbc565b61013f61013a366004610fcf565b6102f9565b6040516001600160a01b03909116815260200161010e565b61016a610165366004611004565b610320565b005b61016a61017a36600461102e565b61043a565b61016a61018d36600461102e565b61046c565b61016a6101a0366004610fcf565b610487565b61013f6101b3366004610fcf565b6104b8565b6101cb6101c636600461106a565b610518565b60405190815260200161010e565b61011f61059e565b61016a6101ef366004611085565b6105ad565b61016a6102023660046110d7565b6105bc565b61011f610215366004610fcf565b6105f4565b6101026102283660046111b3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610261826105ff565b92915050565b606060008054610276906111e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906111e6565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050905090565b600061030482610624565b506000908152600460205260409020546001600160a01b031690565b600061032b826104b8565b9050806001600160a01b0316836001600160a01b03160361039d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103b957506103b98133610228565b61042b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610394565b6104358383610683565b505050565b610445335b826106f1565b6104615760405162461bcd60e51b815260040161039490611220565b610435838383610770565b610435838383604051806020016040528060008152506105bc565b6104903361043f565b6104ac5760405162461bcd60e51b815260040161039490611220565b6104b5816108d4565b50565b6000818152600260205260408120546001600160a01b0316806102615760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b60006001600160a01b0382166105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610394565b506001600160a01b031660009081526003602052604090205490565b606060018054610276906111e6565b6105b83383836108dd565b5050565b6105c633836106f1565b6105e25760405162461bcd60e51b815260040161039490611220565b6105ee848484846109ab565b50505050565b6060610261826109de565b60006001600160e01b03198216632483248360e11b1480610261575061026182610ae6565b6000818152600260205260409020546001600160a01b03166104b55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106b8826104b8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806106fd836104b8565b9050806001600160a01b0316846001600160a01b0316148061074457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107685750836001600160a01b031661075d846102f9565b6001600160a01b0316145b949350505050565b826001600160a01b0316610783826104b8565b6001600160a01b0316146107a95760405162461bcd60e51b81526004016103949061126d565b6001600160a01b03821661080b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610394565b826001600160a01b031661081e826104b8565b6001600160a01b0316146108445760405162461bcd60e51b81526004016103949061126d565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104b581610b36565b816001600160a01b0316836001600160a01b03160361093e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610394565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109b6848484610770565b6109c284848484610b76565b6105ee5760405162461bcd60e51b8152600401610394906112b2565b60606109e982610624565b60008281526006602052604081208054610a02906111e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e906111e6565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b505050505090506000610a9960408051602081019091526000815290565b90508051600003610aab575092915050565b815115610add578082604051602001610ac5929190611304565b60405160208183030381529060405292505050919050565b61076884610c77565b60006001600160e01b031982166380ac58cd60e01b1480610b1757506001600160e01b03198216635b5e139f60e01b145b8061026157506301ffc9a760e01b6001600160e01b0319831614610261565b610b3f81610ceb565b60008181526006602052604090208054610b58906111e6565b1590506104b55760008181526006602052604081206104b591610eeb565b60006001600160a01b0384163b15610c6c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610bba903390899088908890600401611333565b6020604051808303816000875af1925050508015610bf5575060408051601f3d908101601f19168201909252610bf291810190611370565b60015b610c52573d808015610c23576040519150601f19603f3d011682016040523d82523d6000602084013e610c28565b606091505b508051600003610c4a5760405162461bcd60e51b8152600401610394906112b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610768565b506001949350505050565b6060610c8282610624565b6000610c9960408051602081019091526000815290565b90506000815111610cb95760405180602001604052806000815250610ce4565b80610cc384610d80565b604051602001610cd4929190611304565b6040516020818303038152906040525b9392505050565b6000610cf6826104b8565b9050610d01826104b8565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60606000610d8d83610e13565b600101905060008167ffffffffffffffff811115610dad57610dad6110c1565b6040519080825280601f01601f191660200182016040528015610dd7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610de157509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e525772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e7e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e9c57662386f26fc10000830492506010015b6305f5e1008310610eb4576305f5e100830492506008015b6127108310610ec857612710830492506004015b60648310610eda576064830492506002015b600a83106102615760010192915050565b508054610ef7906111e6565b6000825580601f10610f07575050565b601f0160209004906000526020600020908101906104b591905b80821115610f355760008155600101610f21565b5090565b6001600160e01b0319811681146104b557600080fd5b600060208284031215610f6157600080fd5b8135610ce481610f39565b60005b83811015610f87578181015183820152602001610f6f565b50506000910152565b60008151808452610fa8816020860160208601610f6c565b601f01601f19169290920160200192915050565b602081526000610ce46020830184610f90565b600060208284031215610fe157600080fd5b5035919050565b80356001600160a01b0381168114610fff57600080fd5b919050565b6000806040838503121561101757600080fd5b61102083610fe8565b946020939093013593505050565b60008060006060848603121561104357600080fd5b61104c84610fe8565b925061105a60208501610fe8565b9150604084013590509250925092565b60006020828403121561107c57600080fd5b610ce482610fe8565b6000806040838503121561109857600080fd5b6110a183610fe8565b9150602083013580151581146110b657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156110ed57600080fd5b6110f685610fe8565b935061110460208601610fe8565b925060408501359150606085013567ffffffffffffffff8082111561112857600080fd5b818701915087601f83011261113c57600080fd5b81358181111561114e5761114e6110c1565b604051601f8201601f19908116603f01168101908382118183101715611176576111766110c1565b816040528281528a602084870101111561118f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156111c657600080fd5b6111cf83610fe8565b91506111dd60208401610fe8565b90509250929050565b600181811c908216806111fa57607f821691505b60208210810361121a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611316818460208801610f6c565b83519083019061132a818360208801610f6c565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061136690830184610f90565b9695505050505050565b60006020828403121561138257600080fd5b8151610ce481610f3956fea2646970667358221220f2ee410a99715667683fa224eb5be2c0b6c98edb2b01b26a54d1a13e0e3f5ce164736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101e1578063b88d4fde146101f4578063c87b56dd14610207578063e985e9c51461021a57600080fd5b80636352211e146101a557806370a08231146101b857806395d89b41146101d957600080fd5b8063095ea7b3116100c8578063095ea7b31461015757806323b872dd1461016c57806342842e0e1461017f57806342966c681461019257600080fd5b806301ffc9a7146100ef57806306fdde0314610117578063081812fc1461012c575b600080fd5b6101026100fd366004610f4f565b610256565b60405190151581526020015b60405180910390f35b61011f610267565b60405161010e9190610fbc565b61013f61013a366004610fcf565b6102f9565b6040516001600160a01b03909116815260200161010e565b61016a610165366004611004565b610320565b005b61016a61017a36600461102e565b61043a565b61016a61018d36600461102e565b61046c565b61016a6101a0366004610fcf565b610487565b61013f6101b3366004610fcf565b6104b8565b6101cb6101c636600461106a565b610518565b60405190815260200161010e565b61011f61059e565b61016a6101ef366004611085565b6105ad565b61016a6102023660046110d7565b6105bc565b61011f610215366004610fcf565b6105f4565b6101026102283660046111b3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610261826105ff565b92915050565b606060008054610276906111e6565b80601f01602080910402602001604051908101604052809291908181526020018280546102a2906111e6565b80156102ef5780601f106102c4576101008083540402835291602001916102ef565b820191906000526020600020905b8154815290600101906020018083116102d257829003601f168201915b5050505050905090565b600061030482610624565b506000908152600460205260409020546001600160a01b031690565b600061032b826104b8565b9050806001600160a01b0316836001600160a01b03160361039d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103b957506103b98133610228565b61042b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610394565b6104358383610683565b505050565b610445335b826106f1565b6104615760405162461bcd60e51b815260040161039490611220565b610435838383610770565b610435838383604051806020016040528060008152506105bc565b6104903361043f565b6104ac5760405162461bcd60e51b815260040161039490611220565b6104b5816108d4565b50565b6000818152600260205260408120546001600160a01b0316806102615760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b60006001600160a01b0382166105825760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610394565b506001600160a01b031660009081526003602052604090205490565b606060018054610276906111e6565b6105b83383836108dd565b5050565b6105c633836106f1565b6105e25760405162461bcd60e51b815260040161039490611220565b6105ee848484846109ab565b50505050565b6060610261826109de565b60006001600160e01b03198216632483248360e11b1480610261575061026182610ae6565b6000818152600260205260409020546001600160a01b03166104b55760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610394565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106b8826104b8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806106fd836104b8565b9050806001600160a01b0316846001600160a01b0316148061074457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107685750836001600160a01b031661075d846102f9565b6001600160a01b0316145b949350505050565b826001600160a01b0316610783826104b8565b6001600160a01b0316146107a95760405162461bcd60e51b81526004016103949061126d565b6001600160a01b03821661080b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610394565b826001600160a01b031661081e826104b8565b6001600160a01b0316146108445760405162461bcd60e51b81526004016103949061126d565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6104b581610b36565b816001600160a01b0316836001600160a01b03160361093e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610394565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109b6848484610770565b6109c284848484610b76565b6105ee5760405162461bcd60e51b8152600401610394906112b2565b60606109e982610624565b60008281526006602052604081208054610a02906111e6565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e906111e6565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b505050505090506000610a9960408051602081019091526000815290565b90508051600003610aab575092915050565b815115610add578082604051602001610ac5929190611304565b60405160208183030381529060405292505050919050565b61076884610c77565b60006001600160e01b031982166380ac58cd60e01b1480610b1757506001600160e01b03198216635b5e139f60e01b145b8061026157506301ffc9a760e01b6001600160e01b0319831614610261565b610b3f81610ceb565b60008181526006602052604090208054610b58906111e6565b1590506104b55760008181526006602052604081206104b591610eeb565b60006001600160a01b0384163b15610c6c57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610bba903390899088908890600401611333565b6020604051808303816000875af1925050508015610bf5575060408051601f3d908101601f19168201909252610bf291810190611370565b60015b610c52573d808015610c23576040519150601f19603f3d011682016040523d82523d6000602084013e610c28565b606091505b508051600003610c4a5760405162461bcd60e51b8152600401610394906112b2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610768565b506001949350505050565b6060610c8282610624565b6000610c9960408051602081019091526000815290565b90506000815111610cb95760405180602001604052806000815250610ce4565b80610cc384610d80565b604051602001610cd4929190611304565b6040516020818303038152906040525b9392505050565b6000610cf6826104b8565b9050610d01826104b8565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60606000610d8d83610e13565b600101905060008167ffffffffffffffff811115610dad57610dad6110c1565b6040519080825280601f01601f191660200182016040528015610dd7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610de157509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e525772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610e7e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610e9c57662386f26fc10000830492506010015b6305f5e1008310610eb4576305f5e100830492506008015b6127108310610ec857612710830492506004015b60648310610eda576064830492506002015b600a83106102615760010192915050565b508054610ef7906111e6565b6000825580601f10610f07575050565b601f0160209004906000526020600020908101906104b591905b80821115610f355760008155600101610f21565b5090565b6001600160e01b0319811681146104b557600080fd5b600060208284031215610f6157600080fd5b8135610ce481610f39565b60005b83811015610f87578181015183820152602001610f6f565b50506000910152565b60008151808452610fa8816020860160208601610f6c565b601f01601f19169290920160200192915050565b602081526000610ce46020830184610f90565b600060208284031215610fe157600080fd5b5035919050565b80356001600160a01b0381168114610fff57600080fd5b919050565b6000806040838503121561101757600080fd5b61102083610fe8565b946020939093013593505050565b60008060006060848603121561104357600080fd5b61104c84610fe8565b925061105a60208501610fe8565b9150604084013590509250925092565b60006020828403121561107c57600080fd5b610ce482610fe8565b6000806040838503121561109857600080fd5b6110a183610fe8565b9150602083013580151581146110b657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156110ed57600080fd5b6110f685610fe8565b935061110460208601610fe8565b925060408501359150606085013567ffffffffffffffff8082111561112857600080fd5b818701915087601f83011261113c57600080fd5b81358181111561114e5761114e6110c1565b604051601f8201601f19908116603f01168101908382118183101715611176576111766110c1565b816040528281528a602084870101111561118f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156111c657600080fd5b6111cf83610fe8565b91506111dd60208401610fe8565b90509250929050565b600181811c908216806111fa57607f821691505b60208210810361121a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351611316818460208801610f6c565b83519083019061132a818360208801610f6c565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061136690830184610f90565b9695505050505050565b60006020828403121561138257600080fd5b8151610ce481610f3956fea2646970667358221220f2ee410a99715667683fa224eb5be2c0b6c98edb2b01b26a54d1a13e0e3f5ce164736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaOffers.v4.sol/IGammaCardsContract.dbg.json b/artifacts/contracts/gamma/GammaOffers.v4.sol/IGammaCardsContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaOffers.v4.sol/IGammaCardsContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaOffers.v4.sol/IGammaCardsContract.json b/artifacts/contracts/gamma/GammaOffers.v4.sol/IGammaCardsContract.json new file mode 100644 index 0000000..f63542d --- /dev/null +++ b/artifacts/contracts/gamma/GammaOffers.v4.sol/IGammaCardsContract.json @@ -0,0 +1,99 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGammaCardsContract", + "sourceName": "contracts/gamma/GammaOffers.v4.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumberFrom", + "type": "uint8" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumberTo", + "type": "uint8" + } + ], + "name": "exchangeCardsOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "hasCardByOffer", + "outputs": [ + { + "internalType": "bool", + "name": "has", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "removeCardByOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "restoreCardByOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaOffers.v4.sol/NofGammaOffersV4.dbg.json b/artifacts/contracts/gamma/GammaOffers.v4.sol/NofGammaOffersV4.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaOffers.v4.sol/NofGammaOffersV4.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaOffers.v4.sol/NofGammaOffersV4.json b/artifacts/contracts/gamma/GammaOffers.v4.sol/NofGammaOffersV4.json new file mode 100644 index 0000000..e38152c --- /dev/null +++ b/artifacts/contracts/gamma/GammaOffers.v4.sol/NofGammaOffersV4.json @@ -0,0 +1,1022 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofGammaOffersV4", + "sourceName": "contracts/gamma/GammaOffers.v4.sol", + "abi": [ + { + "inputs": [], + "name": "ExchangeError", + "type": "error" + }, + { + "inputs": [], + "name": "GammaCardsContractNotSet", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidCard", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidCardNumber", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidOfferId", + "type": "error" + }, + { + "inputs": [], + "name": "OfferAlreadyExists", + "type": "error" + }, + { + "inputs": [], + "name": "OfferDoesNotExists", + "type": "error" + }, + { + "inputs": [], + "name": "OfferNotDeleted", + "type": "error" + }, + { + "inputs": [], + "name": "OffersMaximumAllowed", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyCardsContract", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyOwners", + "type": "error" + }, + { + "inputs": [], + "name": "RemoveOfferFromCardNumberMapping_DoNotMatch", + "type": "error" + }, + { + "inputs": [], + "name": "RemoveOfferFromUserMapping_DoNotMatch", + "type": "error" + }, + { + "inputs": [], + "name": "UserAlreadyHasCard", + "type": "error" + }, + { + "inputs": [], + "name": "UserDoesNotHaveCard", + "type": "error" + }, + { + "anonymous": false, + "inputs": [], + "name": "AllOffersRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newGammaCardsContract", + "type": "address" + } + ], + "name": "NewGammaCardsContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + } + ], + "name": "OfferCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "OfferRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "UserOffersRemoved", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "canAnyUserPublishOffer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "canUserPublishOffer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_value", + "type": "bool" + } + ], + "name": "changeRemoveCardinInventoryWhenOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumberWanted", + "type": "uint8" + }, + { + "internalType": "address", + "name": "offerWallet", + "type": "address" + }, + { + "internalType": "uint8", + "name": "offerCardNumber", + "type": "uint8" + } + ], + "name": "confirmOfferExchange", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + } + ], + "name": "createOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + } + ], + "name": "createOfferWithoUser", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "deleteAllOffers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "gammaCardsContract", + "outputs": [ + { + "internalType": "contract IGammaCardsContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxOffersAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxOffersByUserAllowed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getOfferByIndex", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct NofGammaOffersV4.Offer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + } + ], + "name": "getOfferByOfferId", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct NofGammaOffersV4.Offer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "getOfferByUserAndCardNumber", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct NofGammaOffersV4.Offer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOffers", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct NofGammaOffersV4.Offer[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "getOffersByCardNumber", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct NofGammaOffersV4.Offer[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "getOffersByCardNumberCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getOffersByUser", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "uint8[]", + "name": "wantedCardNumbers", + "type": "uint8[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "internalType": "struct NofGammaOffersV4.Offer[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getOffersByUserCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getOffersCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "hasOffer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_cardsContract", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "offers", + "outputs": [ + { + "internalType": "string", + "name": "offerId", + "type": "string" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "name": "offersByCardNumberCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "offersByUserCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "offersTotalCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "removeOfferByCardNumber", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cardNumber", + "type": "uint8" + } + ], + "name": "removeOfferByUserAndCardNumber", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "removeOffersByUser", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ownerToRemove", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaCardsContract", + "type": "address" + } + ], + "name": "setGammaCardsContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxCardNumbersAllowed", + "type": "uint256" + } + ], + "name": "setMaxCardNumbersAllowed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxOffersAllowed", + "type": "uint256" + } + ], + "name": "setMaxOffersAllowed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxOffersByUserAllowed", + "type": "uint256" + } + ], + "name": "setMaxOffersByUserAllowed", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526113886004556005805560786006556007805460ff191690553480156200002a57600080fd5b5062000036336200003c565b6200008c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613712806200009c6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c80637594a6ed11610130578063ce7483d5116100b8578063e2b365961161007c578063e2b3659614610515578063e359a0a114610528578063e5e5f7321461053b578063f2fde38b1461054e578063fc9e80fc1461056157600080fd5b8063ce7483d5146104a4578063cf86f8e5146104c7578063d250f03a146104cf578063d827a8f4146104e2578063e02f97231461050257600080fd5b806390222aa1116100ff57806390222aa11461044e5780639618b333146104565780639f91506914610469578063ba79b77b14610489578063c08029e71461049157600080fd5b80637594a6ed146103d35780638400a189146103f35780638a72ea6a146104065780638da5cb5b1461042957600080fd5b80633a027073116101be5780635a919aeb116101825780635a919aeb146103905780635bbfbfd614610399578063619980dc146103ac5780637065cb48146103b8578063715018a6146103cb57600080fd5b80633a0270731461032f5780633e293e16146103425780633ee992ee146103555780634c7a7ad31461036a57806358e57ebb1461037d57600080fd5b806329d3f60b1161020557806329d3f60b146102985780632edb5fcf146102d55780632f54bf6e146102e8578063322fba27146103145780633808dfe71461031c57600080fd5b80630cdb311714610237578063173825d91461025d57806317a1fed91461027257806319ab453c14610285575b600080fd5b61024a610245366004612e02565b610574565b6040519081526020015b60405180910390f35b61027061026b366004612e02565b6105b9565b005b610270610280366004612f73565b61065f565b610270610293366004612e02565b6106a1565b6102c56102a6366004612e02565b6001600160a01b03166000908152600b60205260409020546005541190565b6040519015158152602001610254565b6102c56102e3366004612ff8565b61070c565b6102c56102f6366004612e02565b6001600160a01b031660009081526002602052604090205460ff1690565b6102706107cc565b61027061032a36600461302b565b61097b565b6102c561033d366004613044565b6109b0565b61027061035036600461305f565b6109f8565b61035d610a09565b60405161025491906131c5565b610270610378366004612e02565b610b9d565b61027061038b366004613235565b610c48565b61024a600d5481565b6102c56103a7366004612ff8565b610c8b565b600d54600454116102c5565b6102706103c6366004612e02565b610d0c565b610270610d83565b61024a6103e1366004612e02565b600b6020526000908152604090205481565b61035d610401366004613044565b610d97565b61041961041436600461302b565b610f3b565b6040516102549493929190613252565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610254565b60045461024a565b61035d610464366004612e02565b611013565b61047c610477366004612ff8565b6111d6565b604051610254919061328d565b60055461024a565b61027061049f3660046132a0565b6113e6565b61024a6104b2366004613044565b60ff166000908152600c602052604090205490565b600d5461024a565b600154610436906001600160a01b031681565b61024a6104f0366004613044565b600c6020526000908152604090205481565b61027061051036600461302b565b61170a565b61047c6105233660046132f4565b61173f565b61047c61053636600461302b565b611948565b61027061054936600461302b565b611ad4565b61027061055c366004612e02565b611b09565b6102c561056f366004612e02565b611b87565b60006001600160a01b03821661059d5760405163e6c4247b60e01b815260040160405180910390fd5b506001600160a01b03166000908152600b602052604090205490565b3360009081526002602052604090205460ff166105e957604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561064457600080fd5b505af4158015610658573d6000803e3d6000fd5b5050505050565b3360009081526002602052604090205460ff1661068f57604051634289c49360e01b815260040160405180910390fd5b61069b84848484611dd2565b50505050565b6106a9612305565b6001600160a01b0381166106d05760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091178155336000908152600260205260409020805460ff19169091179055565b60006001600160a01b0383166107355760405163e6c4247b60e01b815260040160405180910390fd5b60005b6001600160a01b0384166000908152600b60205260409020548110156107c0576001600160a01b0384166000908152600960205260409020805460ff851691908390811061078857610788613329565b600091825260209091206001600590920201015460ff16036107ae5760019150506107c6565b806107b881613355565b915050610738565b50600090505b92915050565b3360009081526002602052604090205460ff166107fc57604051634289c49360e01b815260040160405180910390fd5b60005b60085481101561093c57600960006008838154811061082057610820613329565b60009182526020808320600360059093020191909101546001600160a01b03168352820192909252604001812061085691612bd7565b6000600b60006008848154811061086f5761086f613329565b60009182526020808320600360059093020191909101546001600160a01b0316835282019290925260400181209190915560088054600a929190849081106108b9576108b9613329565b600091825260208083206001600590930201919091015460ff16835282019290925260400181206108e991612bd7565b6000600c60006008848154811061090257610902613329565b600091825260208083206001600590930201919091015460ff1683528201929092526040019020558061093481613355565b9150506107ff565b506000600d81905561095090600890612bd7565b6040517f47e81efc038e27bb296dec5d44262943d2c2bbec28f461787a9cc53885694cb090600090a1565b3360009081526002602052604090205460ff166109ab57604051634289c49360e01b815260040160405180910390fd5b600555565b6000806109bd33846111d6565b60608101519091506001600160a01b031633146109dd5750600092915050565b60006109f033858460000151600061235f565b949350505050565b610a0483338484611dd2565b505050565b60606008805480602002602001604051908101604052809291908181526020016000905b82821015610b9457838290600052602060002090600502016040518060a0016040529081600082018054610a609061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8c9061336e565b8015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610b5957602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610b2a5790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610a2d565b50505050905090565b3360009081526002602052604090205460ff16610bcd57604051634289c49360e01b815260040160405180910390fd5b6001600160a01b038116610bf45760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa9060200160405180910390a150565b3360009081526002602052604090205460ff16610c7857604051634289c49360e01b815260040160405180910390fd5b6007805460ff1916911515919091179055565b3360009081526002602052604081205460ff16610cbb57604051634289c49360e01b815260040160405180910390fd5b6000610cc784846111d6565b9050836001600160a01b031681606001516001600160a01b031614610cf05760009150506107c6565b6000610d0385858460000151600061235f565b95945050505050565b3360009081526002602052604090205460ff16610d3c57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161062c565b610d8b612305565b610d9560006124d6565b565b60ff81166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610f3057838290600052602060002090600502016040518060a0016040529081600082018054610dfc9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610e289061336e565b8015610e755780601f10610e4a57610100808354040283529160200191610e75565b820191906000526020600020905b815481529060010190602001808311610e5857829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610ef557602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610ec65790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610dc9565b505050509050919050565b60088181548110610f4b57600080fd5b9060005260206000209060050201600091509050806000018054610f6e9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9a9061336e565b8015610fe75780601f10610fbc57610100808354040283529160200191610fe7565b820191906000526020600020905b815481529060010190602001808311610fca57829003601f168201915b5050505060018301546003840154600490940154929360ff909116926001600160a01b03909116915084565b60606001600160a01b03821661103c5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260096020908152604080832080548251818502810185019093528083529193909284015b82821015610f3057838290600052602060002090600502016040518060a00160405290816000820180546110a29061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546110ce9061336e565b801561111b5780601f106110f05761010080835404028352916020019161111b565b820191906000526020600020905b8154815290600101906020018083116110fe57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561119b57602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161116c5790505b505050918352505060038201546001600160a01b0316602080830191909152600490920154604090910152908252600192909201910161106f565b6111de612bf8565b6001600160a01b0383166112055760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152600960209081526040808320600b90925282205490915b818110156113dd578460ff1683828154811061124957611249613329565b600091825260209091206001600590920201015460ff16036113cb5782818154811061127757611277613329565b90600052602060002090600502016040518060a00160405290816000820180546112a09061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc9061336e565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561139957602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161136a5790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015293506107c692505050565b806113d581613355565b91505061122b565b50610d03612526565b60006113f283836111d6565b9050826001600160a01b031681606001516001600160a01b03161461142a57604051631ded229360e11b815260040160405180910390fd5b604081015180516000036114d05760015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061146a90879089906004016133a8565b6020604051808303816000875af1158015611489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ad91906133c4565b156114cb57604051631177b29560e11b815260040160405180910390fd5b611545565b6000805b82518160ff161015611524578660ff16838260ff16815181106114f9576114f9613329565b602002602001015160ff16036115125760019150611524565b8061151c816133e1565b9150506114d4565b508061154357604051630eefa23760e11b815260040160405180910390fd5b505b600061155885858560000151600161235f565b90508061157857604051631b44035160e01b815260040160405180910390fd5b60015460405163568b427d60e11b81526001600160a01b03898116600483015260ff808a1660248401528882166044840152871660648301529091169063ad1684fa90608401600060405180830381600087803b1580156115d857600080fd5b505af11580156115ec573d6000803e3d6000fd5b505060015460405163117ece1960e31b81526001600160a01b039091169250638bf670c89150611622908a9088906004016133a8565b6020604051808303816000875af1158015611641573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166591906133c4565b15806116e3575060015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061169e9088908a906004016133a8565b6020604051808303816000875af11580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e191906133c4565b155b156117015760405163fc9716b960e01b815260040160405180910390fd5b50505050505050565b3360009081526002602052604090205460ff1661173a57604051634289c49360e01b815260040160405180910390fd5b600655565b611747612bf8565b60005b60085481101561193f57826040516020016117659190613400565b604051602081830303815290604052805190602001206008828154811061178e5761178e613329565b90600052602060002090600502016000016040516020016117af919061341c565b604051602081830303815290604052805190602001200361192d57600881815481106117dd576117dd613329565b90600052602060002090600502016040518060a00160405290816000820180546118069061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546118329061336e565b801561187f5780601f106118545761010080835404028352916020019161187f565b820191906000526020600020905b81548152906001019060200180831161186257829003601f168201915b5050509183525050600182015460ff1660208083019190915260028301805460408051828502810185018252828152940193928301828280156118ff57602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116118d05790505b505050918352505060038201546001600160a01b031660208201526004909101546040909101529392505050565b8061193781613355565b91505061174a565b506107c6612526565b611950612bf8565b600854821061197257604051635129cab160e11b815260040160405180910390fd5b6008828154811061198557611985613329565b90600052602060002090600502016040518060a00160405290816000820180546119ae9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546119da9061336e565b8015611a275780601f106119fc57610100808354040283529160200191611a27565b820191906000526020600020905b815481529060010190602001808311611a0a57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015611aa757602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411611a785790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015292915050565b3360009081526002602052604090205460ff16611b0457604051634289c49360e01b815260040160405180910390fd5b600455565b611b11612305565b6001600160a01b038116611b7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b611b84816124d6565b50565b6001546000906001600160a01b03163314611bb55760405163a71ed6c760e01b815260040160405180910390fd5b6001600160a01b038216611bdc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0382166000908152600960209081526040808320600b90925282205490915b81811015611d55576000838281548110611c1e57611c1e613329565b90600052602060002090600502016000018054611c3a9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054611c669061336e565b8015611cb35780601f10611c8857610100808354040283529160200191611cb3565b820191906000526020600020905b815481529060010190602001808311611c9657829003601f168201915b505050505090506000848381548110611cce57611cce613329565b600091825260209091206001600590920201015460ff169050611cf287828461256f565b611cfb82612823565b5060ff81166000908152600c60205260408120805460019290611d1f908490613492565b925050819055506001600d6000828254611d399190613492565b9250508190555050508080611d4d90613355565b915050611c02565b506001600160a01b0384166000908152600960205260408120611d7791612bd7565b6001600160a01b0384166000818152600b602090815260408083209290925590519182527f65419c67e554142d50c59abd004485123ca498611a223f842e75dd96225ba4c8910160405180910390a16001925050505b919050565b6001546001600160a01b0316611dfb5760405163cfdf350560e01b815260040160405180910390fd5b6005546001600160a01b0384166000908152600b602052604090205410611e355760405163182a7d7760e01b815260040160405180910390fd5b600454600d5410611e595760405163182a7d7760e01b815260040160405180910390fd5b60015460405163117ece1960e31b81526000916001600160a01b031690638bf670c890611e8c90879087906004016133a8565b6020604051808303816000875af1158015611eab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecf91906133c4565b905080611eef5760405163142d47a160e11b815260040160405180910390fd5b60005b82518160ff161015611f52578360ff16838260ff1681518110611f1757611f17613329565b602002602001015160ff1603611f4057604051630d1ecf1760e11b815260040160405180910390fd5b80611f4a816133e1565b915050611ef2565b506000611f5f85856111d6565b60608101519091506001600160a01b031615611f8e5760405163eeee5c8b60e01b815260040160405180910390fd5b6001600160a01b0385166000908152600b60205260408120805460019290611fb79084906134a5565b909155505060ff84166000908152600c60205260408120805460019290611fdf9084906134a5565b925050819055506001600d6000828254611ff991906134a5565b90915550506040805160a08101825287815260ff861660208201529081018490526001600160a01b038616606082015242608082015260088054600181018255600091909152815160059091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3019081906120759082613506565b5060208281015160018301805460ff191660ff909216919091179055604083015180516120a89260028501920190612c33565b5060608201516003820180546001600160a01b0319166001600160a01b0392831617905560809092015160049091015585166000908152600960205260409020600880546120f890600190613492565b8154811061210857612108613329565b600091825260208083208454600181018655948452922060059182029092019202018061213583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546121649284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560ff84166000908152600a60205260409020600880546121b690600190613492565b815481106121c6576121c6613329565b60009182526020808320845460018101865594845292206005918202909201920201806121f383826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546122229284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560075460ff16156122c257600154604051631c5568eb60e21b81526001600160a01b0390911690637155a3ac9061228f90889088906004016133a8565b600060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050505b7fed750964f1f81f105e56dfd1121427e0898e7bc23d6c10e92d851a2d35e0cfc58585856040516122f593929190613699565b60405180910390a1505050505050565b6000546001600160a01b03163314610d955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611b72565b60006001600160a01b0385166123885760405163e6c4247b60e01b815260040160405180910390fd5b612393858585612aa0565b61239e85858561256f565b6123a783612823565b506001600160a01b0385166000908152600b602052604081208054600192906123d1908490613492565b909155505060ff84166000908152600c602052604081208054600192906123f9908490613492565b925050819055506001600d60008282546124139190613492565b909155505060075460ff168015612428575081155b1561249257600154604051630aaf17c960e11b81526001600160a01b039091169063155e2f929061245f90889088906004016133a8565b600060405180830381600087803b15801561247957600080fd5b505af115801561248d573d6000803e3d6000fd5b505050505b7f7911e34642eae38762395a3dd0fa3308d0f8908b92fe36c41543d635ab7cb8f585856040516124c39291906133a8565b60405180910390a1506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61252e612bf8565b506040805160c081018252600060a0820181815282526020808301829052835182815290810184529282019290925260608101829052608081019190915290565b60ff82166000908152600a60205260408120905b8154811015610658576126418282815481106125a1576125a1613329565b906000526020600020906005020160000180546125bd9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546125e99061336e565b80156126365780601f1061260b57610100808354040283529160200191612636565b820191906000526020600020905b81548152906001019060200180831161261957829003601f168201915b505050505084612b7e565b1561281157846001600160a01b031682828154811061266257612662613329565b60009182526020909120600360059092020101546001600160a01b03161415806126b757508360ff1682828154811061269d5761269d613329565b600091825260209091206001600590920201015460ff1614155b156126d5576040516357aeb86360e11b815260040160405180910390fd5b81546126e390600190613492565b8110156127a557815482906126fa90600190613492565b8154811061270a5761270a613329565b906000526020600020906005020182828154811061272a5761272a613329565b600091825260209091206005909102018061274583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546127749284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101555b818054806127b5576127b56136c6565b600082815260208120600019909201916005830201906127d58282612d27565b60018201805460ff191690556127ef600283016000612d61565b506003810180546001600160a01b031916905560006004909101559055610658565b8061281b81613355565b915050612583565b600080805b600854811015612a9957600854811080156128f457506128f46008828154811061285457612854613329565b906000526020600020906005020160000180546128709061336e565b80601f016020809104026020016040519081016040528092919081815260200182805461289c9061336e565b80156128e95780601f106128be576101008083540402835291602001916128e9565b820191906000526020600020905b8154815290600101906020018083116128cc57829003601f168201915b505050505085612b7e565b15612a87576008818154811061290c5761290c613329565b600091825260208220600590910201906129268282612d27565b60018201805460ff19169055612940600283016000612d61565b506003810180546001600160a01b031916905560006004909101556008805461296b90600190613492565b8154811061297b5761297b613329565b90600052602060002090600502016008828154811061299c5761299c613329565b60009182526020909120600590910201806129b783826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546129e69284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101556008805480612a2757612a276136c6565b60008281526020812060001990920191600583020190612a478282612d27565b60018201805460ff19169055612a61600283016000612d61565b506003810180546001600160a01b03191690556000600490910155905560019150612a99565b80612a9181613355565b915050612828565b5092915050565b6001600160a01b0383166000908152600960205260408120905b815481101561065857612ad88282815481106125a1576125a1613329565b15612b6c57846001600160a01b0316828281548110612af957612af9613329565b60009182526020909120600360059092020101546001600160a01b0316141580612b4e57508360ff16828281548110612b3457612b34613329565b600091825260209091206001600590920201015460ff1614155b156126d55760405163b7f2d83360e01b815260040160405180910390fd5b80612b7681613355565b915050612aba565b600081604051602001612b919190613400565b6040516020818303038152906040528051906020012083604051602001612bb89190613400565b6040516020818303038152906040528051906020012014905092915050565b5080546000825560050290600052602060002090810190611b849190612d86565b6040518060a0016040528060608152602001600060ff1681526020016060815260200160006001600160a01b03168152602001600081525090565b82805482825590600052602060002090601f01602090048101928215612cc95791602002820160005b83821115612c9a57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612c5c565b8015612cc75782816101000a81549060ff0219169055600101602081600001049283019260010302612c9a565b505b50612cd5929150612dd6565b5090565b82805482825590600052602060002090601f01602090048101928215612cc957600052602060002091601f016020900482015b82811115612cc9578254825591600101919060010190612d0c565b508054612d339061336e565b6000825580601f10612d43575050565b601f016020900490600052602060002090810190611b849190612dd6565b50805460008255601f016020900490600052602060002090810190611b849190612dd6565b80821115612cd5576000612d9a8282612d27565b60018201805460ff19169055612db4600283016000612d61565b506003810180546001600160a01b031916905560006004820155600501612d86565b5b80821115612cd55760008155600101612dd7565b80356001600160a01b0381168114611dcd57600080fd5b600060208284031215612e1457600080fd5b612e1d82612deb565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612e6357612e63612e24565b604052919050565b600082601f830112612e7c57600080fd5b813567ffffffffffffffff811115612e9657612e96612e24565b612ea9601f8201601f1916602001612e3a565b818152846020838601011115612ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b803560ff81168114611dcd57600080fd5b600082601f830112612efd57600080fd5b8135602067ffffffffffffffff821115612f1957612f19612e24565b8160051b612f28828201612e3a565b9283528481018201928281019087851115612f4257600080fd5b83870192505b84831015612f6857612f5983612edb565b82529183019190830190612f48565b979650505050505050565b60008060008060808587031215612f8957600080fd5b843567ffffffffffffffff80821115612fa157600080fd5b612fad88838901612e6b565b9550612fbb60208801612deb565b9450612fc960408801612edb565b93506060870135915080821115612fdf57600080fd5b50612fec87828801612eec565b91505092959194509250565b6000806040838503121561300b57600080fd5b61301483612deb565b915061302260208401612edb565b90509250929050565b60006020828403121561303d57600080fd5b5035919050565b60006020828403121561305657600080fd5b612e1d82612edb565b60008060006060848603121561307457600080fd5b833567ffffffffffffffff8082111561308c57600080fd5b61309887838801612e6b565b94506130a660208701612edb565b935060408601359150808211156130bc57600080fd5b506130c986828701612eec565b9150509250925092565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b8381101561315657815160ff1687529582019590820190600101613137565b509495945050505050565b6000815160a0845261317660a08501826130f7565b905060ff60208401511660208501526040830151848203604086015261319c8282613123565b6060858101516001600160a01b0316908701526080948501519490950193909352509192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561321a57603f19888603018452613208858351613161565b945092850192908501906001016131ec565b5092979650505050505050565b8015158114611b8457600080fd5b60006020828403121561324757600080fd5b8135612e1d81613227565b60808152600061326560808301876130f7565b60ff959095166020830152506001600160a01b03929092166040830152606090910152919050565b602081526000612e1d6020830184613161565b600080600080608085870312156132b657600080fd5b6132bf85612deb565b93506132cd60208601612edb565b92506132db60408601612deb565b91506132e960608601612edb565b905092959194509250565b60006020828403121561330657600080fd5b813567ffffffffffffffff81111561331d57600080fd5b6109f084828501612e6b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016133675761336761333f565b5060010190565b600181811c9082168061338257607f821691505b6020821081036133a257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0392909216825260ff16602082015260400190565b6000602082840312156133d657600080fd5b8151612e1d81613227565b600060ff821660ff81036133f7576133f761333f565b60010192915050565b600082516134128184602087016130d3565b9190910192915050565b600080835461342a8161336e565b60018281168015613442576001811461345757613486565b60ff1984168752821515830287019450613486565b8760005260208060002060005b8581101561347d5781548a820152908401908201613464565b50505082870194505b50929695505050505050565b818103818111156107c6576107c661333f565b808201808211156107c6576107c661333f565b601f821115610a0457600081815260208120601f850160051c810160208610156134df5750805b601f850160051c820191505b818110156134fe578281556001016134eb565b505050505050565b815167ffffffffffffffff81111561352057613520612e24565b6135348161352e845461336e565b846134b8565b602080601f83116001811461356957600084156135515750858301515b600019600386901b1c1916600185901b1785556134fe565b600085815260208120601f198616915b8281101561359857888601518255948401946001909101908401613579565b50858210156135b65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181036135d1575050565b6135db825461336e565b67ffffffffffffffff8111156135f3576135f3612e24565b6136018161352e845461336e565b6000601f821160018114613635576000831561361d5750848201545b600019600385901b1c1916600184901b178455610658565b600085815260209020601f19841690600086815260209020845b8381101561366f578286015482556001958601959091019060200161364f565b50858310156135b65793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160a01b038416815260ff83166020820152606060408201819052600090610d0390830184613123565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220c9307e3504111af512d0584b2cbf5f5a632cbc4d88ead7fd05bc3a6458988ba764736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102325760003560e01c80637594a6ed11610130578063ce7483d5116100b8578063e2b365961161007c578063e2b3659614610515578063e359a0a114610528578063e5e5f7321461053b578063f2fde38b1461054e578063fc9e80fc1461056157600080fd5b8063ce7483d5146104a4578063cf86f8e5146104c7578063d250f03a146104cf578063d827a8f4146104e2578063e02f97231461050257600080fd5b806390222aa1116100ff57806390222aa11461044e5780639618b333146104565780639f91506914610469578063ba79b77b14610489578063c08029e71461049157600080fd5b80637594a6ed146103d35780638400a189146103f35780638a72ea6a146104065780638da5cb5b1461042957600080fd5b80633a027073116101be5780635a919aeb116101825780635a919aeb146103905780635bbfbfd614610399578063619980dc146103ac5780637065cb48146103b8578063715018a6146103cb57600080fd5b80633a0270731461032f5780633e293e16146103425780633ee992ee146103555780634c7a7ad31461036a57806358e57ebb1461037d57600080fd5b806329d3f60b1161020557806329d3f60b146102985780632edb5fcf146102d55780632f54bf6e146102e8578063322fba27146103145780633808dfe71461031c57600080fd5b80630cdb311714610237578063173825d91461025d57806317a1fed91461027257806319ab453c14610285575b600080fd5b61024a610245366004612e02565b610574565b6040519081526020015b60405180910390f35b61027061026b366004612e02565b6105b9565b005b610270610280366004612f73565b61065f565b610270610293366004612e02565b6106a1565b6102c56102a6366004612e02565b6001600160a01b03166000908152600b60205260409020546005541190565b6040519015158152602001610254565b6102c56102e3366004612ff8565b61070c565b6102c56102f6366004612e02565b6001600160a01b031660009081526002602052604090205460ff1690565b6102706107cc565b61027061032a36600461302b565b61097b565b6102c561033d366004613044565b6109b0565b61027061035036600461305f565b6109f8565b61035d610a09565b60405161025491906131c5565b610270610378366004612e02565b610b9d565b61027061038b366004613235565b610c48565b61024a600d5481565b6102c56103a7366004612ff8565b610c8b565b600d54600454116102c5565b6102706103c6366004612e02565b610d0c565b610270610d83565b61024a6103e1366004612e02565b600b6020526000908152604090205481565b61035d610401366004613044565b610d97565b61041961041436600461302b565b610f3b565b6040516102549493929190613252565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610254565b60045461024a565b61035d610464366004612e02565b611013565b61047c610477366004612ff8565b6111d6565b604051610254919061328d565b60055461024a565b61027061049f3660046132a0565b6113e6565b61024a6104b2366004613044565b60ff166000908152600c602052604090205490565b600d5461024a565b600154610436906001600160a01b031681565b61024a6104f0366004613044565b600c6020526000908152604090205481565b61027061051036600461302b565b61170a565b61047c6105233660046132f4565b61173f565b61047c61053636600461302b565b611948565b61027061054936600461302b565b611ad4565b61027061055c366004612e02565b611b09565b6102c561056f366004612e02565b611b87565b60006001600160a01b03821661059d5760405163e6c4247b60e01b815260040160405180910390fd5b506001600160a01b03166000908152600b602052604090205490565b3360009081526002602052604090205460ff166105e957604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561064457600080fd5b505af4158015610658573d6000803e3d6000fd5b5050505050565b3360009081526002602052604090205460ff1661068f57604051634289c49360e01b815260040160405180910390fd5b61069b84848484611dd2565b50505050565b6106a9612305565b6001600160a01b0381166106d05760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091178155336000908152600260205260409020805460ff19169091179055565b60006001600160a01b0383166107355760405163e6c4247b60e01b815260040160405180910390fd5b60005b6001600160a01b0384166000908152600b60205260409020548110156107c0576001600160a01b0384166000908152600960205260409020805460ff851691908390811061078857610788613329565b600091825260209091206001600590920201015460ff16036107ae5760019150506107c6565b806107b881613355565b915050610738565b50600090505b92915050565b3360009081526002602052604090205460ff166107fc57604051634289c49360e01b815260040160405180910390fd5b60005b60085481101561093c57600960006008838154811061082057610820613329565b60009182526020808320600360059093020191909101546001600160a01b03168352820192909252604001812061085691612bd7565b6000600b60006008848154811061086f5761086f613329565b60009182526020808320600360059093020191909101546001600160a01b0316835282019290925260400181209190915560088054600a929190849081106108b9576108b9613329565b600091825260208083206001600590930201919091015460ff16835282019290925260400181206108e991612bd7565b6000600c60006008848154811061090257610902613329565b600091825260208083206001600590930201919091015460ff1683528201929092526040019020558061093481613355565b9150506107ff565b506000600d81905561095090600890612bd7565b6040517f47e81efc038e27bb296dec5d44262943d2c2bbec28f461787a9cc53885694cb090600090a1565b3360009081526002602052604090205460ff166109ab57604051634289c49360e01b815260040160405180910390fd5b600555565b6000806109bd33846111d6565b60608101519091506001600160a01b031633146109dd5750600092915050565b60006109f033858460000151600061235f565b949350505050565b610a0483338484611dd2565b505050565b60606008805480602002602001604051908101604052809291908181526020016000905b82821015610b9457838290600052602060002090600502016040518060a0016040529081600082018054610a609061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8c9061336e565b8015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610b5957602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610b2a5790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610a2d565b50505050905090565b3360009081526002602052604090205460ff16610bcd57604051634289c49360e01b815260040160405180910390fd5b6001600160a01b038116610bf45760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa9060200160405180910390a150565b3360009081526002602052604090205460ff16610c7857604051634289c49360e01b815260040160405180910390fd5b6007805460ff1916911515919091179055565b3360009081526002602052604081205460ff16610cbb57604051634289c49360e01b815260040160405180910390fd5b6000610cc784846111d6565b9050836001600160a01b031681606001516001600160a01b031614610cf05760009150506107c6565b6000610d0385858460000151600061235f565b95945050505050565b3360009081526002602052604090205460ff16610d3c57604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600260048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161062c565b610d8b612305565b610d9560006124d6565b565b60ff81166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610f3057838290600052602060002090600502016040518060a0016040529081600082018054610dfc9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610e289061336e565b8015610e755780601f10610e4a57610100808354040283529160200191610e75565b820191906000526020600020905b815481529060010190602001808311610e5857829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015610ef557602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610ec65790505b505050918352505060038201546001600160a01b03166020808301919091526004909201546040909101529082526001929092019101610dc9565b505050509050919050565b60088181548110610f4b57600080fd5b9060005260206000209060050201600091509050806000018054610f6e9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9a9061336e565b8015610fe75780601f10610fbc57610100808354040283529160200191610fe7565b820191906000526020600020905b815481529060010190602001808311610fca57829003601f168201915b5050505060018301546003840154600490940154929360ff909116926001600160a01b03909116915084565b60606001600160a01b03821661103c5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260096020908152604080832080548251818502810185019093528083529193909284015b82821015610f3057838290600052602060002090600502016040518060a00160405290816000820180546110a29061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546110ce9061336e565b801561111b5780601f106110f05761010080835404028352916020019161111b565b820191906000526020600020905b8154815290600101906020018083116110fe57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561119b57602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161116c5790505b505050918352505060038201546001600160a01b0316602080830191909152600490920154604090910152908252600192909201910161106f565b6111de612bf8565b6001600160a01b0383166112055760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0383166000908152600960209081526040808320600b90925282205490915b818110156113dd578460ff1683828154811061124957611249613329565b600091825260209091206001600590920201015460ff16036113cb5782818154811061127757611277613329565b90600052602060002090600502016040518060a00160405290816000820180546112a09061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc9061336e565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b5050509183525050600182015460ff16602080830191909152600283018054604080518285028101850182528281529401939283018282801561139957602002820191906000526020600020906000905b825461010083900a900460ff1681526020600192830181810494850194909303909202910180841161136a5790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015293506107c692505050565b806113d581613355565b91505061122b565b50610d03612526565b60006113f283836111d6565b9050826001600160a01b031681606001516001600160a01b03161461142a57604051631ded229360e11b815260040160405180910390fd5b604081015180516000036114d05760015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061146a90879089906004016133a8565b6020604051808303816000875af1158015611489573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ad91906133c4565b156114cb57604051631177b29560e11b815260040160405180910390fd5b611545565b6000805b82518160ff161015611524578660ff16838260ff16815181106114f9576114f9613329565b602002602001015160ff16036115125760019150611524565b8061151c816133e1565b9150506114d4565b508061154357604051630eefa23760e11b815260040160405180910390fd5b505b600061155885858560000151600161235f565b90508061157857604051631b44035160e01b815260040160405180910390fd5b60015460405163568b427d60e11b81526001600160a01b03898116600483015260ff808a1660248401528882166044840152871660648301529091169063ad1684fa90608401600060405180830381600087803b1580156115d857600080fd5b505af11580156115ec573d6000803e3d6000fd5b505060015460405163117ece1960e31b81526001600160a01b039091169250638bf670c89150611622908a9088906004016133a8565b6020604051808303816000875af1158015611641573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166591906133c4565b15806116e3575060015460405163117ece1960e31b81526001600160a01b0390911690638bf670c89061169e9088908a906004016133a8565b6020604051808303816000875af11580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e191906133c4565b155b156117015760405163fc9716b960e01b815260040160405180910390fd5b50505050505050565b3360009081526002602052604090205460ff1661173a57604051634289c49360e01b815260040160405180910390fd5b600655565b611747612bf8565b60005b60085481101561193f57826040516020016117659190613400565b604051602081830303815290604052805190602001206008828154811061178e5761178e613329565b90600052602060002090600502016000016040516020016117af919061341c565b604051602081830303815290604052805190602001200361192d57600881815481106117dd576117dd613329565b90600052602060002090600502016040518060a00160405290816000820180546118069061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546118329061336e565b801561187f5780601f106118545761010080835404028352916020019161187f565b820191906000526020600020905b81548152906001019060200180831161186257829003601f168201915b5050509183525050600182015460ff1660208083019190915260028301805460408051828502810185018252828152940193928301828280156118ff57602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116118d05790505b505050918352505060038201546001600160a01b031660208201526004909101546040909101529392505050565b8061193781613355565b91505061174a565b506107c6612526565b611950612bf8565b600854821061197257604051635129cab160e11b815260040160405180910390fd5b6008828154811061198557611985613329565b90600052602060002090600502016040518060a00160405290816000820180546119ae9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546119da9061336e565b8015611a275780601f106119fc57610100808354040283529160200191611a27565b820191906000526020600020905b815481529060010190602001808311611a0a57829003601f168201915b5050509183525050600182015460ff166020808301919091526002830180546040805182850281018501825282815294019392830182828015611aa757602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411611a785790505b505050918352505060038201546001600160a01b0316602082015260049091015460409091015292915050565b3360009081526002602052604090205460ff16611b0457604051634289c49360e01b815260040160405180910390fd5b600455565b611b11612305565b6001600160a01b038116611b7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b611b84816124d6565b50565b6001546000906001600160a01b03163314611bb55760405163a71ed6c760e01b815260040160405180910390fd5b6001600160a01b038216611bdc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0382166000908152600960209081526040808320600b90925282205490915b81811015611d55576000838281548110611c1e57611c1e613329565b90600052602060002090600502016000018054611c3a9061336e565b80601f0160208091040260200160405190810160405280929190818152602001828054611c669061336e565b8015611cb35780601f10611c8857610100808354040283529160200191611cb3565b820191906000526020600020905b815481529060010190602001808311611c9657829003601f168201915b505050505090506000848381548110611cce57611cce613329565b600091825260209091206001600590920201015460ff169050611cf287828461256f565b611cfb82612823565b5060ff81166000908152600c60205260408120805460019290611d1f908490613492565b925050819055506001600d6000828254611d399190613492565b9250508190555050508080611d4d90613355565b915050611c02565b506001600160a01b0384166000908152600960205260408120611d7791612bd7565b6001600160a01b0384166000818152600b602090815260408083209290925590519182527f65419c67e554142d50c59abd004485123ca498611a223f842e75dd96225ba4c8910160405180910390a16001925050505b919050565b6001546001600160a01b0316611dfb5760405163cfdf350560e01b815260040160405180910390fd5b6005546001600160a01b0384166000908152600b602052604090205410611e355760405163182a7d7760e01b815260040160405180910390fd5b600454600d5410611e595760405163182a7d7760e01b815260040160405180910390fd5b60015460405163117ece1960e31b81526000916001600160a01b031690638bf670c890611e8c90879087906004016133a8565b6020604051808303816000875af1158015611eab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecf91906133c4565b905080611eef5760405163142d47a160e11b815260040160405180910390fd5b60005b82518160ff161015611f52578360ff16838260ff1681518110611f1757611f17613329565b602002602001015160ff1603611f4057604051630d1ecf1760e11b815260040160405180910390fd5b80611f4a816133e1565b915050611ef2565b506000611f5f85856111d6565b60608101519091506001600160a01b031615611f8e5760405163eeee5c8b60e01b815260040160405180910390fd5b6001600160a01b0385166000908152600b60205260408120805460019290611fb79084906134a5565b909155505060ff84166000908152600c60205260408120805460019290611fdf9084906134a5565b925050819055506001600d6000828254611ff991906134a5565b90915550506040805160a08101825287815260ff861660208201529081018490526001600160a01b038616606082015242608082015260088054600181018255600091909152815160059091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3019081906120759082613506565b5060208281015160018301805460ff191660ff909216919091179055604083015180516120a89260028501920190612c33565b5060608201516003820180546001600160a01b0319166001600160a01b0392831617905560809092015160049091015585166000908152600960205260409020600880546120f890600190613492565b8154811061210857612108613329565b600091825260208083208454600181018655948452922060059182029092019202018061213583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546121649284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560ff84166000908152600a60205260409020600880546121b690600190613492565b815481106121c6576121c6613329565b60009182526020808320845460018101865594845292206005918202909201920201806121f383826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546122229284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b0390921691909117905560049182015491015560075460ff16156122c257600154604051631c5568eb60e21b81526001600160a01b0390911690637155a3ac9061228f90889088906004016133a8565b600060405180830381600087803b1580156122a957600080fd5b505af11580156122bd573d6000803e3d6000fd5b505050505b7fed750964f1f81f105e56dfd1121427e0898e7bc23d6c10e92d851a2d35e0cfc58585856040516122f593929190613699565b60405180910390a1505050505050565b6000546001600160a01b03163314610d955760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611b72565b60006001600160a01b0385166123885760405163e6c4247b60e01b815260040160405180910390fd5b612393858585612aa0565b61239e85858561256f565b6123a783612823565b506001600160a01b0385166000908152600b602052604081208054600192906123d1908490613492565b909155505060ff84166000908152600c602052604081208054600192906123f9908490613492565b925050819055506001600d60008282546124139190613492565b909155505060075460ff168015612428575081155b1561249257600154604051630aaf17c960e11b81526001600160a01b039091169063155e2f929061245f90889088906004016133a8565b600060405180830381600087803b15801561247957600080fd5b505af115801561248d573d6000803e3d6000fd5b505050505b7f7911e34642eae38762395a3dd0fa3308d0f8908b92fe36c41543d635ab7cb8f585856040516124c39291906133a8565b60405180910390a1506001949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61252e612bf8565b506040805160c081018252600060a0820181815282526020808301829052835182815290810184529282019290925260608101829052608081019190915290565b60ff82166000908152600a60205260408120905b8154811015610658576126418282815481106125a1576125a1613329565b906000526020600020906005020160000180546125bd9061336e565b80601f01602080910402602001604051908101604052809291908181526020018280546125e99061336e565b80156126365780601f1061260b57610100808354040283529160200191612636565b820191906000526020600020905b81548152906001019060200180831161261957829003601f168201915b505050505084612b7e565b1561281157846001600160a01b031682828154811061266257612662613329565b60009182526020909120600360059092020101546001600160a01b03161415806126b757508360ff1682828154811061269d5761269d613329565b600091825260209091206001600590920201015460ff1614155b156126d5576040516357aeb86360e11b815260040160405180910390fd5b81546126e390600190613492565b8110156127a557815482906126fa90600190613492565b8154811061270a5761270a613329565b906000526020600020906005020182828154811061272a5761272a613329565b600091825260209091206005909102018061274583826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546127749284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101555b818054806127b5576127b56136c6565b600082815260208120600019909201916005830201906127d58282612d27565b60018201805460ff191690556127ef600283016000612d61565b506003810180546001600160a01b031916905560006004909101559055610658565b8061281b81613355565b915050612583565b600080805b600854811015612a9957600854811080156128f457506128f46008828154811061285457612854613329565b906000526020600020906005020160000180546128709061336e565b80601f016020809104026020016040519081016040528092919081815260200182805461289c9061336e565b80156128e95780601f106128be576101008083540402835291602001916128e9565b820191906000526020600020905b8154815290600101906020018083116128cc57829003601f168201915b505050505085612b7e565b15612a87576008818154811061290c5761290c613329565b600091825260208220600590910201906129268282612d27565b60018201805460ff19169055612940600283016000612d61565b506003810180546001600160a01b031916905560006004909101556008805461296b90600190613492565b8154811061297b5761297b613329565b90600052602060002090600502016008828154811061299c5761299c613329565b60009182526020909120600590910201806129b783826135c6565b50600182810154908201805460ff191660ff909216919091179055600280830180546129e69284019190612cd9565b5060038281015490820180546001600160a01b0319166001600160a01b039092169190911790556004918201549101556008805480612a2757612a276136c6565b60008281526020812060001990920191600583020190612a478282612d27565b60018201805460ff19169055612a61600283016000612d61565b506003810180546001600160a01b03191690556000600490910155905560019150612a99565b80612a9181613355565b915050612828565b5092915050565b6001600160a01b0383166000908152600960205260408120905b815481101561065857612ad88282815481106125a1576125a1613329565b15612b6c57846001600160a01b0316828281548110612af957612af9613329565b60009182526020909120600360059092020101546001600160a01b0316141580612b4e57508360ff16828281548110612b3457612b34613329565b600091825260209091206001600590920201015460ff1614155b156126d55760405163b7f2d83360e01b815260040160405180910390fd5b80612b7681613355565b915050612aba565b600081604051602001612b919190613400565b6040516020818303038152906040528051906020012083604051602001612bb89190613400565b6040516020818303038152906040528051906020012014905092915050565b5080546000825560050290600052602060002090810190611b849190612d86565b6040518060a0016040528060608152602001600060ff1681526020016060815260200160006001600160a01b03168152602001600081525090565b82805482825590600052602060002090601f01602090048101928215612cc95791602002820160005b83821115612c9a57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612c5c565b8015612cc75782816101000a81549060ff0219169055600101602081600001049283019260010302612c9a565b505b50612cd5929150612dd6565b5090565b82805482825590600052602060002090601f01602090048101928215612cc957600052602060002091601f016020900482015b82811115612cc9578254825591600101919060010190612d0c565b508054612d339061336e565b6000825580601f10612d43575050565b601f016020900490600052602060002090810190611b849190612dd6565b50805460008255601f016020900490600052602060002090810190611b849190612dd6565b80821115612cd5576000612d9a8282612d27565b60018201805460ff19169055612db4600283016000612d61565b506003810180546001600160a01b031916905560006004820155600501612d86565b5b80821115612cd55760008155600101612dd7565b80356001600160a01b0381168114611dcd57600080fd5b600060208284031215612e1457600080fd5b612e1d82612deb565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612e6357612e63612e24565b604052919050565b600082601f830112612e7c57600080fd5b813567ffffffffffffffff811115612e9657612e96612e24565b612ea9601f8201601f1916602001612e3a565b818152846020838601011115612ebe57600080fd5b816020850160208301376000918101602001919091529392505050565b803560ff81168114611dcd57600080fd5b600082601f830112612efd57600080fd5b8135602067ffffffffffffffff821115612f1957612f19612e24565b8160051b612f28828201612e3a565b9283528481018201928281019087851115612f4257600080fd5b83870192505b84831015612f6857612f5983612edb565b82529183019190830190612f48565b979650505050505050565b60008060008060808587031215612f8957600080fd5b843567ffffffffffffffff80821115612fa157600080fd5b612fad88838901612e6b565b9550612fbb60208801612deb565b9450612fc960408801612edb565b93506060870135915080821115612fdf57600080fd5b50612fec87828801612eec565b91505092959194509250565b6000806040838503121561300b57600080fd5b61301483612deb565b915061302260208401612edb565b90509250929050565b60006020828403121561303d57600080fd5b5035919050565b60006020828403121561305657600080fd5b612e1d82612edb565b60008060006060848603121561307457600080fd5b833567ffffffffffffffff8082111561308c57600080fd5b61309887838801612e6b565b94506130a660208701612edb565b935060408601359150808211156130bc57600080fd5b506130c986828701612eec565b9150509250925092565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b600081518084526020808501945080840160005b8381101561315657815160ff1687529582019590820190600101613137565b509495945050505050565b6000815160a0845261317660a08501826130f7565b905060ff60208401511660208501526040830151848203604086015261319c8282613123565b6060858101516001600160a01b0316908701526080948501519490950193909352509192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561321a57603f19888603018452613208858351613161565b945092850192908501906001016131ec565b5092979650505050505050565b8015158114611b8457600080fd5b60006020828403121561324757600080fd5b8135612e1d81613227565b60808152600061326560808301876130f7565b60ff959095166020830152506001600160a01b03929092166040830152606090910152919050565b602081526000612e1d6020830184613161565b600080600080608085870312156132b657600080fd5b6132bf85612deb565b93506132cd60208601612edb565b92506132db60408601612deb565b91506132e960608601612edb565b905092959194509250565b60006020828403121561330657600080fd5b813567ffffffffffffffff81111561331d57600080fd5b6109f084828501612e6b565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016133675761336761333f565b5060010190565b600181811c9082168061338257607f821691505b6020821081036133a257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0392909216825260ff16602082015260400190565b6000602082840312156133d657600080fd5b8151612e1d81613227565b600060ff821660ff81036133f7576133f761333f565b60010192915050565b600082516134128184602087016130d3565b9190910192915050565b600080835461342a8161336e565b60018281168015613442576001811461345757613486565b60ff1984168752821515830287019450613486565b8760005260208060002060005b8581101561347d5781548a820152908401908201613464565b50505082870194505b50929695505050505050565b818103818111156107c6576107c661333f565b808201808211156107c6576107c661333f565b601f821115610a0457600081815260208120601f850160051c810160208610156134df5750805b601f850160051c820191505b818110156134fe578281556001016134eb565b505050505050565b815167ffffffffffffffff81111561352057613520612e24565b6135348161352e845461336e565b846134b8565b602080601f83116001811461356957600084156135515750858301515b600019600386901b1c1916600185901b1785556134fe565b600085815260208120601f198616915b8281101561359857888601518255948401946001909101908401613579565b50858210156135b65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181036135d1575050565b6135db825461336e565b67ffffffffffffffff8111156135f3576135f3612e24565b6136018161352e845461336e565b6000601f821160018114613635576000831561361d5750848201545b600019600385901b1c1916600184901b178455610658565b600085815260209020601f19841690600086815260209020845b8381101561366f578286015482556001958601959091019060200161364f565b50858310156135b65793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160a01b038416815260ff83166020820152606060408201819052600090610d0390830184613123565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220c9307e3504111af512d0584b2cbf5f5a632cbc4d88ead7fd05bc3a6458988ba764736f6c63430008140033", + "linkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 1706 + }, + { + "length": 20, + "start": 3581 + } + ] + } + }, + "deployedLinkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 1550 + }, + { + "length": 20, + "start": 3425 + } + ] + } + } +} diff --git a/artifacts/contracts/gamma/GammaPacks.v3.sol/IGammaCardsContract.dbg.json b/artifacts/contracts/gamma/GammaPacks.v3.sol/IGammaCardsContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaPacks.v3.sol/IGammaCardsContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaPacks.v3.sol/IGammaCardsContract.json b/artifacts/contracts/gamma/GammaPacks.v3.sol/IGammaCardsContract.json new file mode 100644 index 0000000..c34566c --- /dev/null +++ b/artifacts/contracts/gamma/GammaPacks.v3.sol/IGammaCardsContract.json @@ -0,0 +1,37 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGammaCardsContract", + "sourceName": "contracts/gamma/GammaPacks.v3.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "changePackPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "setPrizesBalance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaPacks.v3.sol/IgammaTicketsContract.dbg.json b/artifacts/contracts/gamma/GammaPacks.v3.sol/IgammaTicketsContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaPacks.v3.sol/IgammaTicketsContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaPacks.v3.sol/IgammaTicketsContract.json b/artifacts/contracts/gamma/GammaPacks.v3.sol/IgammaTicketsContract.json new file mode 100644 index 0000000..14cc29e --- /dev/null +++ b/artifacts/contracts/gamma/GammaPacks.v3.sol/IgammaTicketsContract.json @@ -0,0 +1,46 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IgammaTicketsContract", + "sourceName": "contracts/gamma/GammaPacks.v3.sol", + "abi": [ + { + "inputs": [], + "name": "deleteAllTickets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getLotteryWinner", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaPacks.v3.sol/NofGammaPacksV3.dbg.json b/artifacts/contracts/gamma/GammaPacks.v3.sol/NofGammaPacksV3.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaPacks.v3.sol/NofGammaPacksV3.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaPacks.v3.sol/NofGammaPacksV3.json b/artifacts/contracts/gamma/GammaPacks.v3.sol/NofGammaPacksV3.json new file mode 100644 index 0000000..369c561 --- /dev/null +++ b/artifacts/contracts/gamma/GammaPacks.v3.sol/NofGammaPacksV3.json @@ -0,0 +1,855 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofGammaPacksV3", + "sourceName": "contracts/gamma/GammaPacks.v3.sol", + "abi": [ + { + "inputs": [], + "name": "InsufficientAllowance", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [], + "name": "InsufficientPacksAvailable", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidNumberOfPacks", + "type": "error" + }, + { + "inputs": [], + "name": "NotGammaCardsContract", + "type": "error" + }, + { + "inputs": [], + "name": "NotYourPack", + "type": "error" + }, + { + "inputs": [], + "name": "OwnlyOwners", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "TransferPrizeError", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "balanceReceiver", + "type": "address" + } + ], + "name": "NewBalanceReceiver", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newCardsContract", + "type": "address" + } + ], + "name": "NewGammaCardsContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newGammaTicketContract", + "type": "address" + } + ], + "name": "NewGammaTicketsContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newPrice", + "type": "uint256" + } + ], + "name": "NewPrice", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "PackOpened", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "PackPurchased", + "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": "PackTransfered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "buyer", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "PacksPurchased", + "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": "PacksTransfered", + "type": "event" + }, + { + "inputs": [], + "name": "DAI_TOKEN", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "TOTALSUPPLY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "buyPack", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "buyPackByUser", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "numberOfPacks", + "type": "uint256" + } + ], + "name": "buyPacks", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "numberOfPacks", + "type": "uint256" + } + ], + "name": "buyPacksByUser", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newBalanceReceiver", + "type": "address" + } + ], + "name": "changeBalanceReceiver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newPrice", + "type": "uint256" + } + ], + "name": "changePrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_transferDai", + "type": "bool" + } + ], + "name": "changeTransferDaiFlag", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "gammaCardsContract", + "outputs": [ + { + "internalType": "contract IGammaCardsContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gammaTicketsContract", + "outputs": [ + { + "internalType": "contract IgammaTicketsContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "numberOfPacks", + "type": "uint256" + } + ], + "name": "getAmountRequiredToBuyPacks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getPackOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "getPacksByUser", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "numberOfPacks", + "type": "uint256" + } + ], + "name": "getPrizeAmountToBuyPacks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "numberOfPacks", + "type": "uint256" + } + ], + "name": "getPrizeNoFAccountAmountToBuyPacks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_daiTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_balanceReceiver", + "type": "address" + }, + { + "internalType": "address", + "name": "_gammaCardsContract", + "type": "address" + }, + { + "internalType": "address", + "name": "_gammaTicketsContract", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "numberOfPacks", + "type": "uint256" + } + ], + "name": "meetQuantityConditionsToBuy", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "openPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "openPacks", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ownerToRemove", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "s_balanceReceiver", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "s_packPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "s_packs", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "s_packsByUser", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenIds", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaCardsContract", + "type": "address" + } + ], + "name": "setGammaCardsContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaTicketsContract", + "type": "address" + } + ], + "name": "setGammaTicketsContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "testOpenPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "testOpenPacks", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferPack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "transferPacks", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526710a741a46278000060075560006008556009805460ff1916600117905534801561002e57600080fd5b506100383361003d565b61008d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611bde8061009c6000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806394a08c6911610125578063d250f03a116100ad578063d9e8221e1161007c578063d9e8221e146104d1578063ddb975e8146104e4578063e0f78307146104f7578063e606df871461050a578063f2fde38b1461051d57600080fd5b8063d250f03a1461046f578063d3e6a7ad14610482578063d611713e146104ab578063d6a4c3e4146104be57600080fd5b8063a2b40d19116100f4578063a2b40d191461041b578063ab4bdbc81461042e578063b48ce65314610441578063c34e8af414610454578063c37b9bcd1461046757600080fd5b806394a08c69146103d9578063967ed63d146103e257806397f8b3d3146103f557806399e5f8961461040857600080fd5b80634c7a7ad3116101a85780637065cb48116101775780637065cb4814610387578063715018a61461039a57806380f2540b146103a25780638da5cb5b146103b55780638fd5baf7146103c657600080fd5b80634c7a7ad31461033857806362e218781461034b578063656bd0ad1461036b5780636adbaf751461037457600080fd5b8063173825d9116101ef578063173825d91461029a5780632f54bf6e146102ad57806339e8d3ec146102e95780633cd626fd146102fc5780633f6ecd481461032557600080fd5b806301321c4d1461022157806306552ff3146102475780630c3e5c001461025c57806314cca36a1461026f575b600080fd5b61023461022f3660046117da565b610530565b6040519081526020015b60405180910390f35b61025a61025536600461180a565b61055e565b005b61025a61026a36600461190f565b61061c565b600254610282906001600160a01b031681565b6040516001600160a01b03909116815260200161023e565b61025a6102a836600461195d565b610698565b6102d96102bb36600461195d565b6001600160a01b031660009081526003602052604090205460ff1690565b604051901515815260200161023e565b61025a6102f7366004611978565b61073e565b61028261030a3660046117da565b600a602052600090815260409020546001600160a01b031681565b6102346103333660046117da565b61077c565b61025a61034636600461195d565b6107ab565b61035e61035936600461199b565b61084c565b60405161023e91906119c5565b61023460075481565b61035e6103823660046117da565b610889565b61025a61039536600461195d565b610895565b61025a61090c565b61025a6103b0366004611978565b610920565b6000546001600160a01b0316610282565b61035e6103d436600461195d565b61094b565b61023461c35081565b6102346103f036600461195d565b6109b7565b61025a61040336600461190f565b6109f5565b61025a610416366004611a17565b610a67565b61025a6104293660046117da565b610aaa565b61025a61043c366004611a34565b610b6b565b61023461044f3660046117da565b610c02565b600654610282906001600160a01b031681565b610234610c2f565b600154610282906001600160a01b031681565b6102826104903660046117da565b6000908152600a60205260409020546001600160a01b031690565b61025a6104b936600461199b565b610c3f565b6102d96104cc3660046117da565b610c49565b6102346104df36600461199b565b610c84565b61025a6104f236600461195d565b610cb5565b61025a61050536600461195d565b610d56565b600554610282906001600160a01b031681565b61025a61052b36600461195d565b610df7565b60008061053c8361077c565b9050808360075461054d9190611a98565b6105579190611aaf565b9392505050565b610566610e75565b6001600160a01b038316158061058357506001600160a01b038216155b8061059557506001600160a01b038116155b156105b35760405163e6c4247b60e01b815260040160405180910390fd5b600580546001600160a01b03199081166001600160a01b039687161790915560068054821694861694909417909355600180548416928516929092178255600280549093169316929092179055336000908152600360205260409020805460ff19169091179055565b3360009081526003602052604090205460ff1661064c57604051631833a1e960e31b815260040160405180910390fd5b60005b825181101561069357600083828151811061066c5761066c611ac2565b602002602001015190506106808184610ecf565b508061068b81611ad8565b91505061064f565b505050565b3360009081526003602052604090205460ff166106c857604051631833a1e960e31b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561072357600080fd5b505af4158015610737573d6000803e3d6000fd5b5050505050565b3360009081526003602052604090205460ff1661076e57604051631833a1e960e31b815260040160405180910390fd5b6107788282610ecf565b5050565b600081600660075461078e9190611af1565b60075461079b9190611aaf565b6107a59190611a98565b92915050565b3360009081526003602052604090205460ff166107db57604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b0381166108025760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa90600090a250565b3360009081526003602052604090205460609060ff1661087f57604051631833a1e960e31b815260040160405180910390fd5b6105578383610f2c565b60606107a53383610f2c565b3360009081526003602052604090205460ff166108c557604051631833a1e960e31b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161070b565b610914610e75565b61091e6000611192565b565b6001546001600160a01b0316331461076e57604051630f8d39bd60e41b815260040160405180910390fd5b6001600160a01b0381166000908152600b60209081526040918290208054835181840281018401909452808452606093928301828280156109ab57602002820191906000526020600020905b815481526020019060010190808311610997575b50505050509050919050565b3360009081526003602052604081205460ff166109e757604051631833a1e960e31b815260040160405180910390fd5b6107a5826111e2565b919050565b6001546001600160a01b03163314610a2057604051630f8d39bd60e41b815260040160405180910390fd5b60005b8251811015610693576000838281518110610a4057610a40611ac2565b60200260200101519050610a548184610ecf565b5080610a5f81611ad8565b915050610a23565b3360009081526003602052604090205460ff16610a9757604051631833a1e960e31b815260040160405180910390fd5b6009805460ff1916911515919091179055565b3360009081526003602052604090205460ff16610ada57604051631833a1e960e31b815260040160405180910390fd5b60078190556001546040516370c41e3760e11b8152600481018390526001600160a01b039091169063e1883c6e90602401600060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b50506040518392507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b79150600090a250565b60005b8151811015610bb2576000828281518110610b8b57610b8b611ac2565b60200260200101519050610b9f8482611215565b5080610baa81611ad8565b915050610b6e565b5080604051610bc19190611b13565b604051908190038120906001600160a01b0384169033907f1affae2fd35738ec8f6a4212f337c673b41aa2231f1bd5cfeb94463a93ace1f190600090a45050565b600080610c0e8361077c565b90506000610c1b84610530565b9050610c278183611b49565b949350505050565b6000610c3a336111e2565b905090565b6107788282611215565b600081600003610c6c57604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610c7d9190611b49565b1092915050565b600b6020528160005260406000208181548110610ca057600080fd5b90600052602060002001600091509150505481565b3360009081526003602052604090205460ff16610ce557604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610d0c5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a250565b3360009081526003602052604090205460ff16610d8657604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610dad5760405163e6c4247b60e01b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f7161c7a7090d78e8031fca87e845a86b39e0eb9c15436933d2d4ce7f4520c4a590600090a250565b610dff610e75565b6001600160a01b038116610e695760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610e7281611192565b50565b6000546001600160a01b0316331461091e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e60565b610ed98282611301565b6000828152600a602052604080822080546001600160a01b03191690555183916001600160a01b038416917f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c9190a35050565b60606001600160a01b038316610f555760405163e6c4247b60e01b815260040160405180910390fd5b811580610f625750606482115b15610f8057604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610f919190611b49565b10610faf57604051637c5a3c3960e01b815260040160405180910390fd5b60008267ffffffffffffffff811115610fca57610fca61185e565b604051908082528060200260200182016040528015610ff3578160200160208202803683370190505b5060085490915060005b848110156110a35761c350821061102757604051637c5a3c3960e01b815260040160405180910390fd5b6000828152600a6020908152604080832080546001600160a01b0319166001600160a01b038b169081179091558352600b8252822080546001810182559083529120018290558251829084908390811061108357611083611ac2565b60209081029190910101528161109881611ad8565b925050600101610ffd565b50600881905560006110b58686611440565b9050806110e057604051630bd7e48f60e21b81526001600160a01b0387166004820152602401610e60565b8460010361113e57826000815181106110fb576110fb611ac2565b6020026020010151866001600160a01b03167fc79cad949a408373456da7a9e88e8114102aa00e03a69733c70e3a0d95944ca760405160405180910390a3611188565b8260405161114c9190611b13565b604051908190038120906001600160a01b038816907f8ae8b18ed6d499ec84f68235bf3512b3db155f7911789805d36093467e5971c990600090a35b5090949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806111f0836001610f2c565b90508060008151811061120557611205611ac2565b6020026020010151915050919050565b6001600160a01b03821661123c5760405163e6c4247b60e01b815260040160405180910390fd5b6000818152600a60205260409020546001600160a01b0316331461127357604051637f6ecdf560e01b815260040160405180910390fd5b6000818152600a6020526040902080546001600160a01b0319166001600160a01b0384161790556112a48133611301565b6001600160a01b0382166000818152600b6020908152604080832080546001810182559084529183209091018490555183929133917f16e5698e3d85c69c8d8cdb9a21893b33518e24d8cb69d9944d4bfd233464c3a29190a45050565b6001600160a01b0381166000908152600b6020526040812054905b8181101561143a576001600160a01b0383166000908152600b6020526040902080548591908390811061135157611351611ac2565b906000526020600020015403611428576001600160a01b0383166000908152600b60205260409020805461138790600190611aaf565b8154811061139757611397611ac2565b9060005260206000200154600b6000856001600160a01b03166001600160a01b0316815260200190815260200160002082815481106113d8576113d8611ac2565b60009182526020808320909101929092556001600160a01b0385168152600b9091526040902080548061140d5761140d611b5c565b6001900381819060005260206000200160009055905561143a565b8061143281611ad8565b91505061131c565b50505050565b60008061144c8361077c565b9050600061145984610530565b600154604051630bc639c960e31b8152600481018590529192506001600160a01b031690635e31ce4890602401600060405180830381600087803b1580156114a057600080fd5b505af11580156114b4573d6000803e3d6000fd5b505060095460ff161591506117cf9050576005546001600160a01b03166114db8284611b49565b604051636eb1769f60e11b81526001600160a01b03888116600483015230602483015283169063dd62ed3e90604401602060405180830381865afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154b9190611b72565b101561156a576040516313be252b60e01b815260040160405180910390fd5b6040516370a0823160e01b81526001600160a01b0387811660048301528491908316906370a0823190602401602060405180830381865afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190611b72565b108061164d57506040516370a0823160e01b81526001600160a01b0387811660048301528391908316906370a0823190602401602060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190611b72565b105b1561166b57604051631e9acf1760e31b815260040160405180910390fd5b6001546040516323b872dd60e01b81526001600160a01b0388811660048301529182166024820152604481018590526000918316906323b872dd906064016020604051808303816000875af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ec9190611b8b565b90508061171b57600154604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b6006546040516323b872dd60e01b81526001600160a01b0389811660048301529182166024820152604481018590526000918416906323b872dd906064016020604051808303816000875af1158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c9190611b8b565b9050806117cb57600654604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b5050505b506001949350505050565b6000602082840312156117ec57600080fd5b5035919050565b80356001600160a01b03811681146109f057600080fd5b6000806000806080858703121561182057600080fd5b611829856117f3565b9350611837602086016117f3565b9250611845604086016117f3565b9150611853606086016117f3565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261188557600080fd5b8135602067ffffffffffffffff808311156118a2576118a261185e565b8260051b604051601f19603f830116810181811084821117156118c7576118c761185e565b6040529384528581018301938381019250878511156118e557600080fd5b83870191505b84821015611904578135835291830191908301906118eb565b979650505050505050565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b61194585828601611874565b925050611954602084016117f3565b90509250929050565b60006020828403121561196f57600080fd5b610557826117f3565b6000806040838503121561198b57600080fd5b82359150611954602084016117f3565b600080604083850312156119ae57600080fd5b6119b7836117f3565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156119fd578351835292840192918401916001016119e1565b50909695505050505050565b8015158114610e7257600080fd5b600060208284031215611a2957600080fd5b813561055781611a09565b60008060408385031215611a4757600080fd5b611a50836117f3565b9150602083013567ffffffffffffffff811115611a6c57600080fd5b611a7885828601611874565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107a5576107a5611a82565b818103818111156107a5576107a5611a82565b634e487b7160e01b600052603260045260246000fd5b600060018201611aea57611aea611a82565b5060010190565b600082611b0e57634e487b7160e01b600052601260045260246000fd5b500490565b815160009082906020808601845b83811015611b3d57815185529382019390820190600101611b21565b50929695505050505050565b808201808211156107a5576107a5611a82565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611b8457600080fd5b5051919050565b600060208284031215611b9d57600080fd5b815161055781611a0956fea2646970667358221220fd54fd5d99679dd24123986c2b3fe3d53c16d5b0be561d77ba62c9b5e4a6b5b064736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061021c5760003560e01c806394a08c6911610125578063d250f03a116100ad578063d9e8221e1161007c578063d9e8221e146104d1578063ddb975e8146104e4578063e0f78307146104f7578063e606df871461050a578063f2fde38b1461051d57600080fd5b8063d250f03a1461046f578063d3e6a7ad14610482578063d611713e146104ab578063d6a4c3e4146104be57600080fd5b8063a2b40d19116100f4578063a2b40d191461041b578063ab4bdbc81461042e578063b48ce65314610441578063c34e8af414610454578063c37b9bcd1461046757600080fd5b806394a08c69146103d9578063967ed63d146103e257806397f8b3d3146103f557806399e5f8961461040857600080fd5b80634c7a7ad3116101a85780637065cb48116101775780637065cb4814610387578063715018a61461039a57806380f2540b146103a25780638da5cb5b146103b55780638fd5baf7146103c657600080fd5b80634c7a7ad31461033857806362e218781461034b578063656bd0ad1461036b5780636adbaf751461037457600080fd5b8063173825d9116101ef578063173825d91461029a5780632f54bf6e146102ad57806339e8d3ec146102e95780633cd626fd146102fc5780633f6ecd481461032557600080fd5b806301321c4d1461022157806306552ff3146102475780630c3e5c001461025c57806314cca36a1461026f575b600080fd5b61023461022f3660046117da565b610530565b6040519081526020015b60405180910390f35b61025a61025536600461180a565b61055e565b005b61025a61026a36600461190f565b61061c565b600254610282906001600160a01b031681565b6040516001600160a01b03909116815260200161023e565b61025a6102a836600461195d565b610698565b6102d96102bb36600461195d565b6001600160a01b031660009081526003602052604090205460ff1690565b604051901515815260200161023e565b61025a6102f7366004611978565b61073e565b61028261030a3660046117da565b600a602052600090815260409020546001600160a01b031681565b6102346103333660046117da565b61077c565b61025a61034636600461195d565b6107ab565b61035e61035936600461199b565b61084c565b60405161023e91906119c5565b61023460075481565b61035e6103823660046117da565b610889565b61025a61039536600461195d565b610895565b61025a61090c565b61025a6103b0366004611978565b610920565b6000546001600160a01b0316610282565b61035e6103d436600461195d565b61094b565b61023461c35081565b6102346103f036600461195d565b6109b7565b61025a61040336600461190f565b6109f5565b61025a610416366004611a17565b610a67565b61025a6104293660046117da565b610aaa565b61025a61043c366004611a34565b610b6b565b61023461044f3660046117da565b610c02565b600654610282906001600160a01b031681565b610234610c2f565b600154610282906001600160a01b031681565b6102826104903660046117da565b6000908152600a60205260409020546001600160a01b031690565b61025a6104b936600461199b565b610c3f565b6102d96104cc3660046117da565b610c49565b6102346104df36600461199b565b610c84565b61025a6104f236600461195d565b610cb5565b61025a61050536600461195d565b610d56565b600554610282906001600160a01b031681565b61025a61052b36600461195d565b610df7565b60008061053c8361077c565b9050808360075461054d9190611a98565b6105579190611aaf565b9392505050565b610566610e75565b6001600160a01b038316158061058357506001600160a01b038216155b8061059557506001600160a01b038116155b156105b35760405163e6c4247b60e01b815260040160405180910390fd5b600580546001600160a01b03199081166001600160a01b039687161790915560068054821694861694909417909355600180548416928516929092178255600280549093169316929092179055336000908152600360205260409020805460ff19169091179055565b3360009081526003602052604090205460ff1661064c57604051631833a1e960e31b815260040160405180910390fd5b60005b825181101561069357600083828151811061066c5761066c611ac2565b602002602001015190506106808184610ecf565b508061068b81611ad8565b91505061064f565b505050565b3360009081526003602052604090205460ff166106c857604051631833a1e960e31b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b15801561072357600080fd5b505af4158015610737573d6000803e3d6000fd5b5050505050565b3360009081526003602052604090205460ff1661076e57604051631833a1e960e31b815260040160405180910390fd5b6107788282610ecf565b5050565b600081600660075461078e9190611af1565b60075461079b9190611aaf565b6107a59190611a98565b92915050565b3360009081526003602052604090205460ff166107db57604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b0381166108025760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa90600090a250565b3360009081526003602052604090205460609060ff1661087f57604051631833a1e960e31b815260040160405180910390fd5b6105578383610f2c565b60606107a53383610f2c565b3360009081526003602052604090205460ff166108c557604051631833a1e960e31b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae49060440161070b565b610914610e75565b61091e6000611192565b565b6001546001600160a01b0316331461076e57604051630f8d39bd60e41b815260040160405180910390fd5b6001600160a01b0381166000908152600b60209081526040918290208054835181840281018401909452808452606093928301828280156109ab57602002820191906000526020600020905b815481526020019060010190808311610997575b50505050509050919050565b3360009081526003602052604081205460ff166109e757604051631833a1e960e31b815260040160405180910390fd5b6107a5826111e2565b919050565b6001546001600160a01b03163314610a2057604051630f8d39bd60e41b815260040160405180910390fd5b60005b8251811015610693576000838281518110610a4057610a40611ac2565b60200260200101519050610a548184610ecf565b5080610a5f81611ad8565b915050610a23565b3360009081526003602052604090205460ff16610a9757604051631833a1e960e31b815260040160405180910390fd5b6009805460ff1916911515919091179055565b3360009081526003602052604090205460ff16610ada57604051631833a1e960e31b815260040160405180910390fd5b60078190556001546040516370c41e3760e11b8152600481018390526001600160a01b039091169063e1883c6e90602401600060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b50506040518392507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b79150600090a250565b60005b8151811015610bb2576000828281518110610b8b57610b8b611ac2565b60200260200101519050610b9f8482611215565b5080610baa81611ad8565b915050610b6e565b5080604051610bc19190611b13565b604051908190038120906001600160a01b0384169033907f1affae2fd35738ec8f6a4212f337c673b41aa2231f1bd5cfeb94463a93ace1f190600090a45050565b600080610c0e8361077c565b90506000610c1b84610530565b9050610c278183611b49565b949350505050565b6000610c3a336111e2565b905090565b6107788282611215565b600081600003610c6c57604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610c7d9190611b49565b1092915050565b600b6020528160005260406000208181548110610ca057600080fd5b90600052602060002001600091509150505481565b3360009081526003602052604090205460ff16610ce557604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610d0c5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f563f24d71e856f79bec30e1aa96082a296cd13f0a71cec730a72b719fa0fa20290600090a250565b3360009081526003602052604090205460ff16610d8657604051631833a1e960e31b815260040160405180910390fd5b6001600160a01b038116610dad5760405163e6c4247b60e01b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0383169081179091556040517f7161c7a7090d78e8031fca87e845a86b39e0eb9c15436933d2d4ce7f4520c4a590600090a250565b610dff610e75565b6001600160a01b038116610e695760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610e7281611192565b50565b6000546001600160a01b0316331461091e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e60565b610ed98282611301565b6000828152600a602052604080822080546001600160a01b03191690555183916001600160a01b038416917f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c9190a35050565b60606001600160a01b038316610f555760405163e6c4247b60e01b815260040160405180910390fd5b811580610f625750606482115b15610f8057604051632ec760a560e01b815260040160405180910390fd5b61c35082600854610f919190611b49565b10610faf57604051637c5a3c3960e01b815260040160405180910390fd5b60008267ffffffffffffffff811115610fca57610fca61185e565b604051908082528060200260200182016040528015610ff3578160200160208202803683370190505b5060085490915060005b848110156110a35761c350821061102757604051637c5a3c3960e01b815260040160405180910390fd5b6000828152600a6020908152604080832080546001600160a01b0319166001600160a01b038b169081179091558352600b8252822080546001810182559083529120018290558251829084908390811061108357611083611ac2565b60209081029190910101528161109881611ad8565b925050600101610ffd565b50600881905560006110b58686611440565b9050806110e057604051630bd7e48f60e21b81526001600160a01b0387166004820152602401610e60565b8460010361113e57826000815181106110fb576110fb611ac2565b6020026020010151866001600160a01b03167fc79cad949a408373456da7a9e88e8114102aa00e03a69733c70e3a0d95944ca760405160405180910390a3611188565b8260405161114c9190611b13565b604051908190038120906001600160a01b038816907f8ae8b18ed6d499ec84f68235bf3512b3db155f7911789805d36093467e5971c990600090a35b5090949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806111f0836001610f2c565b90508060008151811061120557611205611ac2565b6020026020010151915050919050565b6001600160a01b03821661123c5760405163e6c4247b60e01b815260040160405180910390fd5b6000818152600a60205260409020546001600160a01b0316331461127357604051637f6ecdf560e01b815260040160405180910390fd5b6000818152600a6020526040902080546001600160a01b0319166001600160a01b0384161790556112a48133611301565b6001600160a01b0382166000818152600b6020908152604080832080546001810182559084529183209091018490555183929133917f16e5698e3d85c69c8d8cdb9a21893b33518e24d8cb69d9944d4bfd233464c3a29190a45050565b6001600160a01b0381166000908152600b6020526040812054905b8181101561143a576001600160a01b0383166000908152600b6020526040902080548591908390811061135157611351611ac2565b906000526020600020015403611428576001600160a01b0383166000908152600b60205260409020805461138790600190611aaf565b8154811061139757611397611ac2565b9060005260206000200154600b6000856001600160a01b03166001600160a01b0316815260200190815260200160002082815481106113d8576113d8611ac2565b60009182526020808320909101929092556001600160a01b0385168152600b9091526040902080548061140d5761140d611b5c565b6001900381819060005260206000200160009055905561143a565b8061143281611ad8565b91505061131c565b50505050565b60008061144c8361077c565b9050600061145984610530565b600154604051630bc639c960e31b8152600481018590529192506001600160a01b031690635e31ce4890602401600060405180830381600087803b1580156114a057600080fd5b505af11580156114b4573d6000803e3d6000fd5b505060095460ff161591506117cf9050576005546001600160a01b03166114db8284611b49565b604051636eb1769f60e11b81526001600160a01b03888116600483015230602483015283169063dd62ed3e90604401602060405180830381865afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154b9190611b72565b101561156a576040516313be252b60e01b815260040160405180910390fd5b6040516370a0823160e01b81526001600160a01b0387811660048301528491908316906370a0823190602401602060405180830381865afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d79190611b72565b108061164d57506040516370a0823160e01b81526001600160a01b0387811660048301528391908316906370a0823190602401602060405180830381865afa158015611627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164b9190611b72565b105b1561166b57604051631e9acf1760e31b815260040160405180910390fd5b6001546040516323b872dd60e01b81526001600160a01b0388811660048301529182166024820152604481018590526000918316906323b872dd906064016020604051808303816000875af11580156116c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ec9190611b8b565b90508061171b57600154604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b6006546040516323b872dd60e01b81526001600160a01b0389811660048301529182166024820152604481018590526000918416906323b872dd906064016020604051808303816000875af1158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179c9190611b8b565b9050806117cb57600654604051630bd7e48f60e21b81526001600160a01b039091166004820152602401610e60565b5050505b506001949350505050565b6000602082840312156117ec57600080fd5b5035919050565b80356001600160a01b03811681146109f057600080fd5b6000806000806080858703121561182057600080fd5b611829856117f3565b9350611837602086016117f3565b9250611845604086016117f3565b9150611853606086016117f3565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261188557600080fd5b8135602067ffffffffffffffff808311156118a2576118a261185e565b8260051b604051601f19603f830116810181811084821117156118c7576118c761185e565b6040529384528581018301938381019250878511156118e557600080fd5b83870191505b84821015611904578135835291830191908301906118eb565b979650505050505050565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b61194585828601611874565b925050611954602084016117f3565b90509250929050565b60006020828403121561196f57600080fd5b610557826117f3565b6000806040838503121561198b57600080fd5b82359150611954602084016117f3565b600080604083850312156119ae57600080fd5b6119b7836117f3565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b818110156119fd578351835292840192918401916001016119e1565b50909695505050505050565b8015158114610e7257600080fd5b600060208284031215611a2957600080fd5b813561055781611a09565b60008060408385031215611a4757600080fd5b611a50836117f3565b9150602083013567ffffffffffffffff811115611a6c57600080fd5b611a7885828601611874565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176107a5576107a5611a82565b818103818111156107a5576107a5611a82565b634e487b7160e01b600052603260045260246000fd5b600060018201611aea57611aea611a82565b5060010190565b600082611b0e57634e487b7160e01b600052601260045260246000fd5b500490565b815160009082906020808601845b83811015611b3d57815185529382019390820190600101611b21565b50929695505050505050565b808201808211156107a5576107a5611a82565b634e487b7160e01b600052603160045260246000fd5b600060208284031215611b8457600080fd5b5051919050565b600060208284031215611b9d57600080fd5b815161055781611a0956fea2646970667358221220fd54fd5d99679dd24123986c2b3fe3d53c16d5b0be561d77ba62c9b5e4a6b5b064736f6c63430008140033", + "linkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 1929 + }, + { + "length": 20, + "start": 2438 + } + ] + } + }, + "deployedLinkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 1773 + }, + { + "length": 20, + "start": 2282 + } + ] + } + } +} diff --git a/artifacts/contracts/gamma/GammaTickets.v1.sol/IGammaCardsContract.dbg.json b/artifacts/contracts/gamma/GammaTickets.v1.sol/IGammaCardsContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaTickets.v1.sol/IGammaCardsContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaTickets.v1.sol/IGammaCardsContract.json b/artifacts/contracts/gamma/GammaTickets.v1.sol/IGammaCardsContract.json new file mode 100644 index 0000000..eaad18b --- /dev/null +++ b/artifacts/contracts/gamma/GammaTickets.v1.sol/IGammaCardsContract.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGammaCardsContract", + "sourceName": "contracts/gamma/GammaTickets.v1.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaTickets.v1.sol/IgammaPacksContract.dbg.json b/artifacts/contracts/gamma/GammaTickets.v1.sol/IgammaPacksContract.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaTickets.v1.sol/IgammaPacksContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaTickets.v1.sol/IgammaPacksContract.json b/artifacts/contracts/gamma/GammaTickets.v1.sol/IgammaPacksContract.json new file mode 100644 index 0000000..00d42b8 --- /dev/null +++ b/artifacts/contracts/gamma/GammaTickets.v1.sol/IgammaPacksContract.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IgammaPacksContract", + "sourceName": "contracts/gamma/GammaTickets.v1.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/GammaTickets.v1.sol/NofGammaTicketsV1.dbg.json b/artifacts/contracts/gamma/GammaTickets.v1.sol/NofGammaTicketsV1.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/gamma/GammaTickets.v1.sol/NofGammaTicketsV1.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/GammaTickets.v1.sol/NofGammaTicketsV1.json b/artifacts/contracts/gamma/GammaTickets.v1.sol/NofGammaTicketsV1.json new file mode 100644 index 0000000..982b9a7 --- /dev/null +++ b/artifacts/contracts/gamma/GammaTickets.v1.sol/NofGammaTicketsV1.json @@ -0,0 +1,584 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofGammaTicketsV1", + "sourceName": "contracts/gamma/GammaTickets.v1.sol", + "abi": [ + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, + { + "inputs": [], + "name": "NoTicketsAvailable", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyGammaContractsCanCall", + "type": "error" + }, + { + "inputs": [], + "name": "OnlyOwners", + "type": "error" + }, + { + "anonymous": false, + "inputs": [], + "name": "AllTicketsRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newGammaCardsContract", + "type": "address" + } + ], + "name": "NewGammaCardsContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newGammaPacksContract", + "type": "address" + } + ], + "name": "NewGammaPacksContract", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "TicketGenerated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "WinnerObtained", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "deleteAllTickets", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "gammaCardsContract", + "outputs": [ + { + "internalType": "contract IGammaCardsContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "gammaPacksContract", + "outputs": [ + { + "internalType": "contract IgammaPacksContract", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "generateTicket", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getLotteryWinner", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getTickets", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "internalType": "struct NofGammaTicketsV1.Ticket[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getTicketsByUser", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "internalType": "struct NofGammaTicketsV1.Ticket[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getWinner", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaPacksContract", + "type": "address" + }, + { + "internalType": "address", + "name": "_gammaCardsContract", + "type": "address" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ownerToRemove", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaCardsContract", + "type": "address" + } + ], + "name": "setGammaCardsContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gammaPacksContract", + "type": "address" + } + ], + "name": "setGammaPacksContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "tickets", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ticketsByUser", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ticketsTotalCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "winner", + "outputs": [ + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "ticketId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "ticketCounter", + "type": "uint256" + }, + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040526000600b5534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610fc6806100836000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063dfbf53ae1161007c578063dfbf53ae1461029e578063e5b0b100146102bd578063e6afe6bc146102d0578063f09a4016146102e7578063f2fde38b146102fa578063fa8213d31461030d57600080fd5b80638da5cb5b146102575780638e7ea5b214610268578063b2d55c1c14610270578063cafaa47314610278578063d250f03a1461028b57600080fd5b80634c7a7ad3116100ff5780634c7a7ad3146102015780634ed026221461021457806350b44712146102295780637065cb481461023c578063715018a61461024f57600080fd5b806304ac05cf1461013c578063173825d91461017d5780632f54bf6e146101925780632f9e026a146101ce578063306e4118146101f9575b600080fd5b61014f61014a366004610e2c565b610320565b604080519485526020850193909352918301526001600160a01b031660608201526080015b60405180910390f35b61019061018b366004610e56565b61036f565b005b6101be6101a0366004610e56565b6001600160a01b031660009081526003602052604090205460ff1690565b6040519015158152602001610174565b6002546101e1906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b610190610415565b61019061020f366004610e56565b6104e9565b61021c610595565b6040516101749190610e78565b61014f610237366004610ee5565b61061f565b61019061024a366004610e56565b610662565b6101906106d9565b6000546001600160a01b03166101e1565b61014f6106ed565b61014f610709565b610190610286366004610e56565b6108b2565b6001546101e1906001600160a01b031681565b60065460075460085460095461014f939291906001600160a01b031684565b61021c6102cb366004610e56565b610957565b6102d9600b5481565b604051908152602001610174565b6101906102f5366004610efe565b6109f7565b610190610308366004610e56565b610a82565b61019061031b366004610e56565b610b00565b600a602052816000526040600020818154811061033c57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491945092506001600160a01b031684565b3360009081526003602052604090205460ff1661039f57604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b1580156103fa57600080fd5b505af415801561040e573d6000803e3d6000fd5b5050505050565b6002546001600160a01b0316331461044057604051633d10446b60e21b815260040160405180910390fd5b61044c60056000610dbc565b6000600b8190555b6005548110156104bd57600a60006005838154811061047557610475610f31565b60009182526020808320600360049093020191909101546001600160a01b0316835282019290925260400181206104ab91610dbc565b806104b581610f47565b915050610454565b506040517fc3ed638c0e10b967891ee71bc361fabc770df50e93331cdf41fddc37deb28b5b90600090a1565b3360009081526003602052604090205460ff1661051957604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166105405760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa906020015b60405180910390a150565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561061657600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b0316606083015290835290920191016105b9565b50505050905090565b6005818154811061062f57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491935091906001600160a01b031684565b3360009081526003602052604090205460ff1661069257604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae4906044016103e2565b6106e1610d12565b6106eb6000610d6c565b565b6006546007546008546009546001600160a01b03165b90919293565b6002546000908190819081906001600160a01b0316331461073d57604051633d10446b60e21b815260040160405180910390fd5b60055460000361076057604051632e12ccb760e11b815260040160405180910390fd5b6006541561078b575050600654600754600854600954929450909250906001600160a01b0316610703565b60055460408051426020820152449181019190915260608101829052600091906080016040516020818303038152906040528051906020012060001c6107d19190610f6e565b9050600581815481106107e6576107e6610f31565b60009182526020909120600490910201805460068190556001820154600781905560028301546008819055600390930154600980546001600160a01b0319166001600160a01b0390921691821790556040517f314d0f2749f4f47e45bd658d5f379146bedd6ac53f8e6f0f63c5fe4ab14bc2aa946108869493929091938452602084019290925260408301526001600160a01b0316606082015260800190565b60405180910390a15050600654600754600854600954929691955093506001600160a01b039091169150565b3360009081526003602052604090205460ff166108e257604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166109095760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f9060200161058a565b6001600160a01b0381166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b828210156109ec57600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b03166060830152908352909201910161098f565b505050509050919050565b6109ff610d12565b6001600160a01b0382161580610a1c57506001600160a01b038116155b15610a3a5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b039384166001600160a01b03199182161790915560018054929093169116178155336000908152600360205260409020805460ff19169091179055565b610a8a610d12565b6001600160a01b038116610af45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610afd81610d6c565b50565b6001546001600160a01b03163314610b2b57604051633d10446b60e21b815260040160405180910390fd5b600b54604080514260208201819052918101839052606084811b6bffffffffffffffffffffffff19169082015260009060740160408051601f1981840301815282825280516020918201206080840183528584528382018181528484018881526001600160a01b03808b1660608801818152600580546001818101835560009283528b5160049283027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081019190915588517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db182015587517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db282015584517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db390910180549188166001600160a01b0319928316179055948352600a8a529982208054808c0182559083529882208b519990910201978855945197870197909755915160028601559451600394909401805494909516931692909217909255600b805492945090610cba83610f47565b909155505060408051848152602081018490529081018590526001600160a01b038616907f0493d9379fb7ffa47303ca5a377a34a8034f42db6d986fe1f57b0b800fd210919060600160405180910390a25050505050565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610aeb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080546000825560040290600052602060002090810190610afd91905b80821115610e0c5760008082556001820181905560028201556003810180546001600160a01b0319169055600401610dd9565b5090565b80356001600160a01b0381168114610e2757600080fd5b919050565b60008060408385031215610e3f57600080fd5b610e4883610e10565b946020939093013593505050565b600060208284031215610e6857600080fd5b610e7182610e10565b9392505050565b602080825282518282018190526000919060409081850190868401855b82811015610ed857815180518552868101518786015285810151868601526060908101516001600160a01b03169085015260809093019290850190600101610e95565b5091979650505050505050565b600060208284031215610ef757600080fd5b5035919050565b60008060408385031215610f1157600080fd5b610f1a83610e10565b9150610f2860208401610e10565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b600060018201610f6757634e487b7160e01b600052601160045260246000fd5b5060010190565b600082610f8b57634e487b7160e01b600052601260045260246000fd5b50069056fea26469706673582212200b27afe2f53eb51a780c414a34d035477c7e269e22008960598c6789cc86e79164736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063dfbf53ae1161007c578063dfbf53ae1461029e578063e5b0b100146102bd578063e6afe6bc146102d0578063f09a4016146102e7578063f2fde38b146102fa578063fa8213d31461030d57600080fd5b80638da5cb5b146102575780638e7ea5b214610268578063b2d55c1c14610270578063cafaa47314610278578063d250f03a1461028b57600080fd5b80634c7a7ad3116100ff5780634c7a7ad3146102015780634ed026221461021457806350b44712146102295780637065cb481461023c578063715018a61461024f57600080fd5b806304ac05cf1461013c578063173825d91461017d5780632f54bf6e146101925780632f9e026a146101ce578063306e4118146101f9575b600080fd5b61014f61014a366004610e2c565b610320565b604080519485526020850193909352918301526001600160a01b031660608201526080015b60405180910390f35b61019061018b366004610e56565b61036f565b005b6101be6101a0366004610e56565b6001600160a01b031660009081526003602052604090205460ff1690565b6040519015158152602001610174565b6002546101e1906001600160a01b031681565b6040516001600160a01b039091168152602001610174565b610190610415565b61019061020f366004610e56565b6104e9565b61021c610595565b6040516101749190610e78565b61014f610237366004610ee5565b61061f565b61019061024a366004610e56565b610662565b6101906106d9565b6000546001600160a01b03166101e1565b61014f6106ed565b61014f610709565b610190610286366004610e56565b6108b2565b6001546101e1906001600160a01b031681565b60065460075460085460095461014f939291906001600160a01b031684565b61021c6102cb366004610e56565b610957565b6102d9600b5481565b604051908152602001610174565b6101906102f5366004610efe565b6109f7565b610190610308366004610e56565b610a82565b61019061031b366004610e56565b610b00565b600a602052816000526040600020818154811061033c57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491945092506001600160a01b031684565b3360009081526003602052604090205460ff1661039f57604051634289c49360e01b815260040160405180910390fd5b604051632dd92c6960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b764b1a4906044015b60006040518083038186803b1580156103fa57600080fd5b505af415801561040e573d6000803e3d6000fd5b5050505050565b6002546001600160a01b0316331461044057604051633d10446b60e21b815260040160405180910390fd5b61044c60056000610dbc565b6000600b8190555b6005548110156104bd57600a60006005838154811061047557610475610f31565b60009182526020808320600360049093020191909101546001600160a01b0316835282019290925260400181206104ab91610dbc565b806104b581610f47565b915050610454565b506040517fc3ed638c0e10b967891ee71bc361fabc770df50e93331cdf41fddc37deb28b5b90600090a1565b3360009081526003602052604090205460ff1661051957604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166105405760405163e6c4247b60e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f45c9eba39b5ae3e7a6650b0a57bcb8e5d135936d56d111983dbc5860ae6760fa906020015b60405180910390a150565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561061657600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b0316606083015290835290920191016105b9565b50505050905090565b6005818154811061062f57600080fd5b6000918252602090912060049091020180546001820154600283015460039093015491935091906001600160a01b031684565b3360009081526003602052604090205460ff1661069257604051634289c49360e01b815260040160405180910390fd5b604051632d35e2b960e21b8152600360048201526001600160a01b038216602482015273__$2004922c2908b386ae4415e9a8cdeda8c7$__9063b4d78ae4906044016103e2565b6106e1610d12565b6106eb6000610d6c565b565b6006546007546008546009546001600160a01b03165b90919293565b6002546000908190819081906001600160a01b0316331461073d57604051633d10446b60e21b815260040160405180910390fd5b60055460000361076057604051632e12ccb760e11b815260040160405180910390fd5b6006541561078b575050600654600754600854600954929450909250906001600160a01b0316610703565b60055460408051426020820152449181019190915260608101829052600091906080016040516020818303038152906040528051906020012060001c6107d19190610f6e565b9050600581815481106107e6576107e6610f31565b60009182526020909120600490910201805460068190556001820154600781905560028301546008819055600390930154600980546001600160a01b0319166001600160a01b0390921691821790556040517f314d0f2749f4f47e45bd658d5f379146bedd6ac53f8e6f0f63c5fe4ab14bc2aa946108869493929091938452602084019290925260408301526001600160a01b0316606082015260800190565b60405180910390a15050600654600754600854600954929691955093506001600160a01b039091169150565b3360009081526003602052604090205460ff166108e257604051634289c49360e01b815260040160405180910390fd5b6001600160a01b0381166109095760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f5a78287a942b8ea0da8734a4eb919df11e564cc48301ffcb582dc8612d98208f9060200161058a565b6001600160a01b0381166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b828210156109ec57600084815260209081902060408051608081018252600486029092018054835260018082015484860152600282015492840192909252600301546001600160a01b03166060830152908352909201910161098f565b505050509050919050565b6109ff610d12565b6001600160a01b0382161580610a1c57506001600160a01b038116155b15610a3a5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b039384166001600160a01b03199182161790915560018054929093169116178155336000908152600360205260409020805460ff19169091179055565b610a8a610d12565b6001600160a01b038116610af45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610afd81610d6c565b50565b6001546001600160a01b03163314610b2b57604051633d10446b60e21b815260040160405180910390fd5b600b54604080514260208201819052918101839052606084811b6bffffffffffffffffffffffff19169082015260009060740160408051601f1981840301815282825280516020918201206080840183528584528382018181528484018881526001600160a01b03808b1660608801818152600580546001818101835560009283528b5160049283027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081019190915588517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db182015587517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db282015584517f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db390910180549188166001600160a01b0319928316179055948352600a8a529982208054808c0182559083529882208b519990910201978855945197870197909755915160028601559451600394909401805494909516931692909217909255600b805492945090610cba83610f47565b909155505060408051848152602081018490529081018590526001600160a01b038616907f0493d9379fb7ffa47303ca5a377a34a8034f42db6d986fe1f57b0b800fd210919060600160405180910390a25050505050565b6000546001600160a01b031633146106eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610aeb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080546000825560040290600052602060002090810190610afd91905b80821115610e0c5760008082556001820181905560028201556003810180546001600160a01b0319169055600401610dd9565b5090565b80356001600160a01b0381168114610e2757600080fd5b919050565b60008060408385031215610e3f57600080fd5b610e4883610e10565b946020939093013593505050565b600060208284031215610e6857600080fd5b610e7182610e10565b9392505050565b602080825282518282018190526000919060409081850190868401855b82811015610ed857815180518552868101518786015285810151868601526060908101516001600160a01b03169085015260809093019290850190600101610e95565b5091979650505050505050565b600060208284031215610ef757600080fd5b5035919050565b60008060408385031215610f1157600080fd5b610f1a83610e10565b9150610f2860208401610e10565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b600060018201610f6757634e487b7160e01b600052601160045260246000fd5b5060010190565b600082610f8b57634e487b7160e01b600052601260045260246000fd5b50069056fea26469706673582212200b27afe2f53eb51a780c414a34d035477c7e269e22008960598c6789cc86e79164736f6c63430008140033", + "linkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 1095 + }, + { + "length": 20, + "start": 1850 + } + ] + } + }, + "deployedLinkReferences": { + "contracts/gamma/libs/LibControlMgmt.sol": { + "LibControlMgmt": [ + { + "length": 20, + "start": 964 + }, + { + "length": 20, + "start": 1719 + } + ] + } + } +} diff --git a/artifacts/contracts/gamma/libs/LibControlMgmt.sol/LibControlMgmt.dbg.json b/artifacts/contracts/gamma/libs/LibControlMgmt.sol/LibControlMgmt.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/contracts/gamma/libs/LibControlMgmt.sol/LibControlMgmt.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/libs/LibControlMgmt.sol/LibControlMgmt.json b/artifacts/contracts/gamma/libs/LibControlMgmt.sol/LibControlMgmt.json new file mode 100644 index 0000000..bb6d2a7 --- /dev/null +++ b/artifacts/contracts/gamma/libs/LibControlMgmt.sol/LibControlMgmt.json @@ -0,0 +1,63 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LibControlMgmt", + "sourceName": "contracts/gamma/libs/LibControlMgmt.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "NewOwnerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newSigner", + "type": "address" + } + ], + "name": "NewSignerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "signer", + "type": "address" + } + ], + "name": "SignerRemoved", + "type": "event" + } + ], + "bytecode": "0x6105e461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063773b6d121461005b578063982088f01461007d578063b4d78ae41461009d578063b764b1a4146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004610548565b6100dd565b005b81801561008957600080fd5b5061007b610098366004610548565b6101d7565b8180156100a957600080fd5b5061007b6100b8366004610548565b610322565b8180156100c957600080fd5b5061007b6100d8366004610548565b610403565b6001600160a01b03811661010c5760405162461bcd60e51b815260040161010390610584565b60405180910390fd5b6001600160a01b038116600090815260018301602052604090205460ff16156101775760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c72656164792061207369676e65722e000000006044820152606401610103565b6001600160a01b038116600081815260018481016020908152604092839020805460ff191690921790915590519182527f72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa391015b60405180910390a15050565b6001600160a01b0381166101fd5760405162461bcd60e51b815260040161010390610584565b6001600160a01b038116600090815260018301602052604090205460ff166102675760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f742061207369676e65722e00000000000000006044820152606401610103565b336001600160a01b038216036102cf5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320612060448201526639b4b3b732b91760c91b6064820152608401610103565b6001600160a01b0381166000818152600184016020908152604091829020805460ff1916905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91016101cb565b6001600160a01b0381166103485760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff16156103b15760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c726561647920616e206f776e65722e000000006044820152606401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916600117905590519182527f6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d91016101cb565b6001600160a01b0381166104295760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff166104915760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e206f776e65722e00000000000000006044820152606401610103565b336001600160a01b038216036104f95760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661037bbb732b91760c91b6064820152608401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016101cb565b6000806040838503121561055b57600080fd5b8235915060208301356001600160a01b038116811461057957600080fd5b809150509250929050565b60208082526010908201526f24b73b30b634b21030b2323932b9b99760811b60408201526060019056fea2646970667358221220bdc1460ec011ae34a2585654bd65bedde11324faa34ee90f1e34a97f0e2fd3b764736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063773b6d121461005b578063982088f01461007d578063b4d78ae41461009d578063b764b1a4146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004610548565b6100dd565b005b81801561008957600080fd5b5061007b610098366004610548565b6101d7565b8180156100a957600080fd5b5061007b6100b8366004610548565b610322565b8180156100c957600080fd5b5061007b6100d8366004610548565b610403565b6001600160a01b03811661010c5760405162461bcd60e51b815260040161010390610584565b60405180910390fd5b6001600160a01b038116600090815260018301602052604090205460ff16156101775760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c72656164792061207369676e65722e000000006044820152606401610103565b6001600160a01b038116600081815260018481016020908152604092839020805460ff191690921790915590519182527f72d4003e8f1ad99f4f488c703a1d183dee364a6337cb77f8fba50088cb0fbfa391015b60405180910390a15050565b6001600160a01b0381166101fd5760405162461bcd60e51b815260040161010390610584565b6001600160a01b038116600090815260018301602052604090205460ff166102675760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f742061207369676e65722e00000000000000006044820152606401610103565b336001600160a01b038216036102cf5760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320612060448201526639b4b3b732b91760c91b6064820152608401610103565b6001600160a01b0381166000818152600184016020908152604091829020805460ff1916905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91016101cb565b6001600160a01b0381166103485760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff16156103b15760405162461bcd60e51b815260206004820152601c60248201527f4164647265737320697320616c726561647920616e206f776e65722e000000006044820152606401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916600117905590519182527f6e4e2a7c0e1576d48aeabd633d094f622d4f046286fec8b9045dd7f5c9fb087d91016101cb565b6001600160a01b0381166104295760405162461bcd60e51b815260040161010390610584565b6001600160a01b03811660009081526020839052604090205460ff166104915760405162461bcd60e51b815260206004820152601860248201527f41646472657373206973206e6f7420616e206f776e65722e00000000000000006044820152606401610103565b336001600160a01b038216036104f95760405162461bcd60e51b815260206004820152602760248201527f596f752063616e6e6f742072656d6f766520796f757273656c6620617320616e6044820152661037bbb732b91760c91b6064820152608401610103565b6001600160a01b03811660008181526020848152604091829020805460ff1916905590519182527f58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da91016101cb565b6000806040838503121561055b57600080fd5b8235915060208301356001600160a01b038116811461057957600080fd5b809150509250929050565b60208082526010908201526f24b73b30b634b21030b2323932b9b99760811b60408201526060019056fea2646970667358221220bdc1460ec011ae34a2585654bd65bedde11324faa34ee90f1e34a97f0e2fd3b764736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/libs/LibPackVerifier.sol/LibPackVerifier.dbg.json b/artifacts/contracts/gamma/libs/LibPackVerifier.sol/LibPackVerifier.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/contracts/gamma/libs/LibPackVerifier.sol/LibPackVerifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/libs/LibPackVerifier.sol/LibPackVerifier.json b/artifacts/contracts/gamma/libs/LibPackVerifier.sol/LibPackVerifier.json new file mode 100644 index 0000000..aaad900 --- /dev/null +++ b/artifacts/contracts/gamma/libs/LibPackVerifier.sol/LibPackVerifier.json @@ -0,0 +1,45 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LibPackVerifier", + "sourceName": "contracts/gamma/libs/LibPackVerifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "packNumber", + "type": "uint256" + }, + { + "internalType": "uint8[]", + "name": "packData", + "type": "uint8[]" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "name": "verifyPackSigner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x6105fc61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806338fb7d8b1461003a575b600080fd5b61004d61004836600461040c565b610069565b6040516001600160a01b03909116815260200160405180910390f35b6000806100cd87878760405160200161008493929190610522565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b9050600061011385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061011f9050565b98975050505050505050565b600080600061012e8585610143565b9150915061013b81610188565b509392505050565b60008082516041036101795760208301516040840151606085015160001a61016d878285856102da565b94509450505050610181565b506000905060025b9250929050565b600081600481111561019c5761019c6105b0565b036101a45750565b60018160048111156101b8576101b86105b0565b0361020a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561021e5761021e6105b0565b0361026b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610201565b600381600481111561027f5761027f6105b0565b036102d75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610201565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156103115750600090506003610395565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610365573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661038e57600060019250925050610395565b9150600090505b94509492505050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146103c557600080fd5b919050565b60008083601f8401126103dc57600080fd5b50813567ffffffffffffffff8111156103f457600080fd5b60208301915083602082850101111561018157600080fd5b60008060008060006080868803121561042457600080fd5b85356001600160a01b038116811461043b57600080fd5b94506020868101359450604087013567ffffffffffffffff8082111561046057600080fd5b818901915089601f83011261047457600080fd5b8135818111156104865761048661039e565b8060051b604051601f19603f830116810181811085821117156104ab576104ab61039e565b6040529182528381018501918581018d8411156104c757600080fd5b948601945b838610156104ea576104dd866103b4565b81529486019486016104cc565b5097505050606089013592508083111561050357600080fd5b5050610511888289016103ca565b969995985093965092949392505050565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b8381101561056c57815160ff168552938201939082019060010161054d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202403adb3d5a58586f6f0122c27cfb786994f9734933a6198d0f0a3bec9cbbdf664736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806338fb7d8b1461003a575b600080fd5b61004d61004836600461040c565b610069565b6040516001600160a01b03909116815260200160405180910390f35b6000806100cd87878760405160200161008493929190610522565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b9050600061011385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061011f9050565b98975050505050505050565b600080600061012e8585610143565b9150915061013b81610188565b509392505050565b60008082516041036101795760208301516040840151606085015160001a61016d878285856102da565b94509450505050610181565b506000905060025b9250929050565b600081600481111561019c5761019c6105b0565b036101a45750565b60018160048111156101b8576101b86105b0565b0361020a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064015b60405180910390fd5b600281600481111561021e5761021e6105b0565b0361026b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610201565b600381600481111561027f5761027f6105b0565b036102d75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610201565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156103115750600090506003610395565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610365573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661038e57600060019250925050610395565b9150600090505b94509492505050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146103c557600080fd5b919050565b60008083601f8401126103dc57600080fd5b50813567ffffffffffffffff8111156103f457600080fd5b60208301915083602082850101111561018157600080fd5b60008060008060006080868803121561042457600080fd5b85356001600160a01b038116811461043b57600080fd5b94506020868101359450604087013567ffffffffffffffff8082111561046057600080fd5b818901915089601f83011261047457600080fd5b8135818111156104865761048661039e565b8060051b604051601f19603f830116810181811085821117156104ab576104ab61039e565b6040529182528381018501918581018d8411156104c757600080fd5b948601945b838610156104ea576104dd866103b4565b81529486019486016104cc565b5097505050606089013592508083111561050357600080fd5b5050610511888289016103ca565b969995985093965092949392505050565b6bffffffffffffffffffffffff198460601b1681528260148201526000603482018351602080860160005b8381101561056c57815160ff168552938201939082019060010161054d565b50507f30786631644437313839356534396231353633363933393639646535303839388352693139376344463334383160b01b9083015250602a0195945050505050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202403adb3d5a58586f6f0122c27cfb786994f9734933a6198d0f0a3bec9cbbdf664736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/gamma/libs/LibStringUtils.sol/LibStringUtils.dbg.json b/artifacts/contracts/gamma/libs/LibStringUtils.sol/LibStringUtils.dbg.json new file mode 100644 index 0000000..2c261b7 --- /dev/null +++ b/artifacts/contracts/gamma/libs/LibStringUtils.sol/LibStringUtils.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/gamma/libs/LibStringUtils.sol/LibStringUtils.json b/artifacts/contracts/gamma/libs/LibStringUtils.sol/LibStringUtils.json new file mode 100644 index 0000000..89ec9e6 --- /dev/null +++ b/artifacts/contracts/gamma/libs/LibStringUtils.sol/LibStringUtils.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LibStringUtils", + "sourceName": "contracts/gamma/libs/LibStringUtils.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "toString", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x6102ce61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636900a3ae1461003a575b600080fd5b61004d61004836600461016c565b610063565b60405161005a9190610185565b60405180910390f35b60608160000361008a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156100b4578061009e816101e9565b91506100ad9050600a83610218565b915061008e565b60008167ffffffffffffffff8111156100cf576100cf61022c565b6040519080825280601f01601f1916602001820160405280156100f9576020820181803683370190505b5090505b84156101645761010e600183610242565b915061011b600a8661025b565b61012690603061026f565b60f81b81838151811061013b5761013b610282565b60200101906001600160f81b031916908160001a90535061015d600a86610218565b94506100fd565b949350505050565b60006020828403121561017e57600080fd5b5035919050565b600060208083528351808285015260005b818110156101b257858101830151858201604001528201610196565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016101fb576101fb6101d3565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261022757610227610202565b500490565b634e487b7160e01b600052604160045260246000fd5b81810381811115610255576102556101d3565b92915050565b60008261026a5761026a610202565b500690565b80820180821115610255576102556101d3565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220e9777e20a0452e201d3312dd3a508695794a6a7fc48e20c536fd52f14927c5a964736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c80636900a3ae1461003a575b600080fd5b61004d61004836600461016c565b610063565b60405161005a9190610185565b60405180910390f35b60608160000361008a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156100b4578061009e816101e9565b91506100ad9050600a83610218565b915061008e565b60008167ffffffffffffffff8111156100cf576100cf61022c565b6040519080825280601f01601f1916602001820160405280156100f9576020820181803683370190505b5090505b84156101645761010e600183610242565b915061011b600a8661025b565b61012690603061026f565b60f81b81838151811061013b5761013b610282565b60200101906001600160f81b031916908160001a90535061015d600a86610218565b94506100fd565b949350505050565b60006020828403121561017e57600080fd5b5035919050565b600060208083528351808285015260005b818110156101b257858101830151858201604001528201610196565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016101fb576101fb6101d3565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261022757610227610202565b500490565b634e487b7160e01b600052604160045260246000fd5b81810381811115610255576102556101d3565b92915050565b60008261026a5761026a610202565b500690565b80820180821115610255576102556101d3565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220e9777e20a0452e201d3312dd3a508695794a6a7fc48e20c536fd52f14927c5a964736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControl.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControl.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControl.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControl.json b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControl.json new file mode 100644 index 0000000..42d9adf --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControl.json @@ -0,0 +1,239 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AccessControl", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "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": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRoleMember", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleMemberCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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": "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControlMixin.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControlMixin.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControlMixin.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControlMixin.json b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControlMixin.json new file mode 100644 index 0000000..d91b3fb --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/AccessControlMixin.json @@ -0,0 +1,239 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AccessControlMixin", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "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": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRoleMember", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleMemberCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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": "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" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610736806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806391d148541161005b57806391d1485414610116578063a217fddf14610139578063ca15c87314610141578063d547741f1461015457600080fd5b8063248a9ca31461008d5780632f2ff15d146100c357806336568abe146100d85780639010d07c146100eb575b600080fd5b6100b061009b366004610621565b60009081526020819052604090206002015490565b6040519081526020015b60405180910390f35b6100d66100d136600461063a565b610167565b005b6100d66100e636600461063a565b6101fa565b6100fe6100f9366004610676565b610274565b6040516001600160a01b0390911681526020016100ba565b61012961012436600461063a565b610295565b60405190151581526020016100ba565b6100b0600081565b6100b061014f366004610621565b6102ad565b6100d661016236600461063a565b6102c4565b6000828152602081905260409020600201546101839033610295565b6101ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084015b60405180910390fd5b6101f68282610345565b5050565b6001600160a01b038116331461026a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016101e3565b6101f6828261039e565b600082815260208190526040812061028c90836103f7565b90505b92915050565b600082815260208190526040812061028c9083610403565b600081815260208190526040812061028f90610425565b6000828152602081905260409020600201546102e09033610295565b61026a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016101e3565b600082815260208190526040902061035d908261042f565b156101f65760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008281526020819052604090206103b69082610444565b156101f65760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b600061028c8383610459565b6001600160a01b0381166000908152600183016020526040812054151561028c565b600061028f825490565b600061028c836001600160a01b0384166104df565b600061028c836001600160a01b03841661052e565b815460009082106104b75760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016101e3565b8260000182815481106104cc576104cc610698565b9060005260206000200154905092915050565b60008181526001830160205260408120546105265750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561028f565b50600061028f565b600081815260018301602052604081205480156106175760006105526001836106c4565b8554909150600090610566906001906106c4565b9050600086600001828154811061057f5761057f610698565b90600052602060002001549050808760000184815481106105a2576105a2610698565b6000918252602090912001556105b98360016106d7565b600082815260018901602052604090205586548790806105db576105db6106ea565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061028f565b600091505061028f565b60006020828403121561063357600080fd5b5035919050565b6000806040838503121561064d57600080fd5b8235915060208301356001600160a01b038116811461066b57600080fd5b809150509250929050565b6000806040838503121561068957600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f6106ae565b8082018082111561028f5761028f6106ae565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a15be5456a96593c6edd3802a275e3dd7756d3a52b4a74c13dea4acd9b77592864736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806391d148541161005b57806391d1485414610116578063a217fddf14610139578063ca15c87314610141578063d547741f1461015457600080fd5b8063248a9ca31461008d5780632f2ff15d146100c357806336568abe146100d85780639010d07c146100eb575b600080fd5b6100b061009b366004610621565b60009081526020819052604090206002015490565b6040519081526020015b60405180910390f35b6100d66100d136600461063a565b610167565b005b6100d66100e636600461063a565b6101fa565b6100fe6100f9366004610676565b610274565b6040516001600160a01b0390911681526020016100ba565b61012961012436600461063a565b610295565b60405190151581526020016100ba565b6100b0600081565b6100b061014f366004610621565b6102ad565b6100d661016236600461063a565b6102c4565b6000828152602081905260409020600201546101839033610295565b6101ec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084015b60405180910390fd5b6101f68282610345565b5050565b6001600160a01b038116331461026a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016101e3565b6101f6828261039e565b600082815260208190526040812061028c90836103f7565b90505b92915050565b600082815260208190526040812061028c9083610403565b600081815260208190526040812061028f90610425565b6000828152602081905260409020600201546102e09033610295565b61026a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016101e3565b600082815260208190526040902061035d908261042f565b156101f65760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008281526020819052604090206103b69082610444565b156101f65760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b600061028c8383610459565b6001600160a01b0381166000908152600183016020526040812054151561028c565b600061028f825490565b600061028c836001600160a01b0384166104df565b600061028c836001600160a01b03841661052e565b815460009082106104b75760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016101e3565b8260000182815481106104cc576104cc610698565b9060005260206000200154905092915050565b60008181526001830160205260408120546105265750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561028f565b50600061028f565b600081815260018301602052604081205480156106175760006105526001836106c4565b8554909150600090610566906001906106c4565b9050600086600001828154811061057f5761057f610698565b90600052602060002001549050808760000184815481106105a2576105a2610698565b6000918252602090912001556105b98360016106d7565b600082815260018901602052604090205586548790806105db576105db6106ea565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061028f565b600091505061028f565b60006020828403121561063357600080fd5b5035919050565b6000806040838503121561064d57600080fd5b8235915060208301356001600160a01b038116811461066b57600080fd5b809150509250929050565b6000806040838503121561068957600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f6106ae565b8082018082111561028f5761028f6106ae565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220a15be5456a96593c6edd3802a275e3dd7756d3a52b4a74c13dea4acd9b77592864736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/Address.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/Address.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/Address.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/Address.json b/artifacts/contracts/testDai/TestDAI.v3.sol/Address.json new file mode 100644 index 0000000..ff1c885 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/Address.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Address", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba44ff2089cbdffae47eceb71e52deb302b976abfe56e47fe5e9436ad0b91d5664736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba44ff2089cbdffae47eceb71e52deb302b976abfe56e47fe5e9436ad0b91d5664736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/ChainConstants.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/ChainConstants.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/ChainConstants.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/ChainConstants.json b/artifacts/contracts/testDai/TestDAI.v3.sol/ChainConstants.json new file mode 100644 index 0000000..a415a52 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/ChainConstants.json @@ -0,0 +1,76 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ChainConstants", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "inputs": [], + "name": "CHILD_CHAIN_ID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CHILD_CHAIN_ID_BYTES", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ERC712_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_CHAIN_ID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_CHAIN_ID_BYTES", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610186806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630b54817c1461005c5780630dd7531a146100925780630f7e5970146100b2578063626381a0146100d25780638acfcaf7146100e8575b600080fd5b61007c604051806040016040528060018152602001608960f81b81525081565b6040516100899190610136565b60405180910390f35b61007c604051806040016040528060018152602001600160f81b81525081565b61007c604051806040016040528060018152602001603160f81b81525081565b6100da608981565b604051908152602001610089565b6100da600181565b6000815180845260005b81811015610116576020818501810151868301820152016100fa565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061014960208301846100f0565b939250505056fea264697066735822122013d8edecaf1a0124f99febd40e957609ded7aec8d6345c33bfc4711b57e0822f64736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630b54817c1461005c5780630dd7531a146100925780630f7e5970146100b2578063626381a0146100d25780638acfcaf7146100e8575b600080fd5b61007c604051806040016040528060018152602001608960f81b81525081565b6040516100899190610136565b60405180910390f35b61007c604051806040016040528060018152602001600160f81b81525081565b61007c604051806040016040528060018152602001603160f81b81525081565b6100da608981565b604051908152602001610089565b6100da600181565b6000815180845260005b81811015610116576020818501810151868301820152016100fa565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061014960208301846100f0565b939250505056fea264697066735822122013d8edecaf1a0124f99febd40e957609ded7aec8d6345c33bfc4711b57e0822f64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/Context.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/Context.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/Context.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/Context.json b/artifacts/contracts/testDai/TestDAI.v3.sol/Context.json new file mode 100644 index 0000000..d4e2baa --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/Context.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Context", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/ContextMixin.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/ContextMixin.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/ContextMixin.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/ContextMixin.json b/artifacts/contracts/testDai/TestDAI.v3.sol/ContextMixin.json new file mode 100644 index 0000000..49c5946 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/ContextMixin.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ContextMixin", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/EIP712Base.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/EIP712Base.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/EIP712Base.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/EIP712Base.json b/artifacts/contracts/testDai/TestDAI.v3.sol/EIP712Base.json new file mode 100644 index 0000000..c56b5e3 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/EIP712Base.json @@ -0,0 +1,37 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "EIP712Base", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDomainSeperator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040526000805460ff19169055348015601957600080fd5b506088806100286000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806320379ee51460375780633408e47014604d575b600080fd5b6001545b60405190815260200160405180910390f35b46603b56fea264697066735822122093acaaafccca74552ebb6eccdc6d2772e6fe4dd002d3f162cf673ed5842407e164736f6c63430008140033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806320379ee51460375780633408e47014604d575b600080fd5b6001545b60405190815260200160405180910390f35b46603b56fea264697066735822122093acaaafccca74552ebb6eccdc6d2772e6fe4dd002d3f162cf673ed5842407e164736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/ERC20.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/ERC20.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/ERC20.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/ERC20.json b/artifacts/contracts/testDai/TestDAI.v3.sol/ERC20.json new file mode 100644 index 0000000..08ff0c0 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/ERC20.json @@ -0,0 +1,315 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ERC20", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "__name", + "type": "string" + }, + { + "internalType": "string", + "name": "__symbol", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162000d0838038062000d0883398101604081905262000034916200012c565b600362000042838262000225565b50600462000051828262000225565b50506005805460ff1916601217905550620002f1565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008f57600080fd5b81516001600160401b0380821115620000ac57620000ac62000067565b604051601f8301601f19908116603f01168101908282118183101715620000d757620000d762000067565b81604052838152602092508683858801011115620000f457600080fd5b600091505b83821015620001185785820183015181830184015290820190620000f9565b600093810190920192909252949350505050565b600080604083850312156200014057600080fd5b82516001600160401b03808211156200015857600080fd5b62000166868387016200007d565b935060208501519150808211156200017d57600080fd5b506200018c858286016200007d565b9150509250929050565b600181811c90821680620001ab57607f821691505b602082108103620001cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022057600081815260208120601f850160051c81016020861015620001fb5750805b601f850160051c820191505b818110156200021c5782815560010162000207565b5050505b505050565b81516001600160401b0381111562000241576200024162000067565b620002598162000252845462000196565b84620001d2565b602080601f831160018114620002915760008415620002785750858301515b600019600386901b1c1916600185901b1785556200021c565b600085815260208120601f198616915b82811015620002c257888601518255948401946001909101908401620002a1565b5085821015620002e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610a0780620003016000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80634e6ec247116100715780634e6ec2471461014757806370a082311461015c57806395d89b4114610185578063a457c2d71461018d578063a9059cbb146101a0578063dd62ed3e146101b357600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f5780633950935114610134575b600080fd5b6100c16101ec565b6040516100ce91906107ca565b60405180910390f35b6100ea6100e5366004610834565b61027e565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a36600461085e565b610295565b60055460405160ff90911681526020016100ce565b6100ea610142366004610834565b6102fe565b61015a610155366004610834565b610334565b005b6100fe61016a36600461089a565b6001600160a01b031660009081526020819052604090205490565b6100c1610417565b6100ea61019b366004610834565b610426565b6100ea6101ae366004610834565b610475565b6100fe6101c13660046108b5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101fb906108e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610227906108e8565b80156102745780601f1061024957610100808354040283529160200191610274565b820191906000526020600020905b81548152906001019060200180831161025757829003601f168201915b5050505050905090565b600061028b338484610482565b5060015b92915050565b60006102a28484846105a7565b6102f484336102ef85604051806060016040528060288152602001610985602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061072a565b610482565b5060019392505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161028b9185906102ef9086610764565b6001600160a01b03821661038f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b60025461039c9082610764565b6002556001600160a01b0382166000908152602081905260409020546103c29082610764565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6060600480546101fb906108e8565b600061028b33846102ef856040518060600160405280602581526020016109ad602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061072a565b600061028b3384846105a7565b6001600160a01b0383166104e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610386565b6001600160a01b0382166105455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610386565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661060b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610386565b6001600160a01b03821661066d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610386565b6106aa8160405180606001604052806026815260200161095f602691396001600160a01b038616600090815260208190526040902054919061072a565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106d99082610764565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161059a565b6000818484111561074e5760405162461bcd60e51b815260040161038691906107ca565b50600061075b8486610938565b95945050505050565b600080610771838561094b565b9050838110156107c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610386565b9392505050565b600060208083528351808285015260005b818110156107f7578581018301518582016040015282016107db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082f57600080fd5b919050565b6000806040838503121561084757600080fd5b61085083610818565b946020939093013593505050565b60008060006060848603121561087357600080fd5b61087c84610818565b925061088a60208501610818565b9150604084013590509250925092565b6000602082840312156108ac57600080fd5b6107c382610818565b600080604083850312156108c857600080fd5b6108d183610818565b91506108df60208401610818565b90509250929050565b600181811c908216806108fc57607f821691505b60208210810361091c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f610922565b8082018082111561028f5761028f61092256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208098355556e06117134b1244f355d02195dd43058369f2ab5f33ef72720cd90064736f6c63430008140033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80634e6ec247116100715780634e6ec2471461014757806370a082311461015c57806395d89b4114610185578063a457c2d71461018d578063a9059cbb146101a0578063dd62ed3e146101b357600080fd5b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100fa57806323b872dd1461010c578063313ce5671461011f5780633950935114610134575b600080fd5b6100c16101ec565b6040516100ce91906107ca565b60405180910390f35b6100ea6100e5366004610834565b61027e565b60405190151581526020016100ce565b6002545b6040519081526020016100ce565b6100ea61011a36600461085e565b610295565b60055460405160ff90911681526020016100ce565b6100ea610142366004610834565b6102fe565b61015a610155366004610834565b610334565b005b6100fe61016a36600461089a565b6001600160a01b031660009081526020819052604090205490565b6100c1610417565b6100ea61019b366004610834565b610426565b6100ea6101ae366004610834565b610475565b6100fe6101c13660046108b5565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101fb906108e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610227906108e8565b80156102745780601f1061024957610100808354040283529160200191610274565b820191906000526020600020905b81548152906001019060200180831161025757829003601f168201915b5050505050905090565b600061028b338484610482565b5060015b92915050565b60006102a28484846105a7565b6102f484336102ef85604051806060016040528060288152602001610985602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061072a565b610482565b5060019392505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161028b9185906102ef9086610764565b6001600160a01b03821661038f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b60025461039c9082610764565b6002556001600160a01b0382166000908152602081905260409020546103c29082610764565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6060600480546101fb906108e8565b600061028b33846102ef856040518060600160405280602581526020016109ad602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061072a565b600061028b3384846105a7565b6001600160a01b0383166104e45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610386565b6001600160a01b0382166105455760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610386565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661060b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610386565b6001600160a01b03821661066d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610386565b6106aa8160405180606001604052806026815260200161095f602691396001600160a01b038616600090815260208190526040902054919061072a565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546106d99082610764565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161059a565b6000818484111561074e5760405162461bcd60e51b815260040161038691906107ca565b50600061075b8486610938565b95945050505050565b600080610771838561094b565b9050838110156107c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610386565b9392505050565b600060208083528351808285015260005b818110156107f7578581018301518582016040015282016107db565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082f57600080fd5b919050565b6000806040838503121561084757600080fd5b61085083610818565b946020939093013593505050565b60008060006060848603121561087357600080fd5b61087c84610818565b925061088a60208501610818565b9150604084013590509250925092565b6000602082840312156108ac57600080fd5b6107c382610818565b600080604083850312156108c857600080fd5b6108d183610818565b91506108df60208401610818565b90509250929050565b600181811c908216806108fc57607f821691505b60208210810361091c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561028f5761028f610922565b8082018082111561028f5761028f61092256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208098355556e06117134b1244f355d02195dd43058369f2ab5f33ef72720cd90064736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/EnumerableSet.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/EnumerableSet.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/EnumerableSet.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/EnumerableSet.json b/artifacts/contracts/testDai/TestDAI.v3.sol/EnumerableSet.json new file mode 100644 index 0000000..0429cef --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/EnumerableSet.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "EnumerableSet", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122083d93bc05e783660ef6780c03c0499434d413b270ae596394de469a21ddb681a64736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122083d93bc05e783660ef6780c03c0499434d413b270ae596394de469a21ddb681a64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/IChildToken.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/IChildToken.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/IChildToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/IChildToken.json b/artifacts/contracts/testDai/TestDAI.v3.sol/IChildToken.json new file mode 100644 index 0000000..9282811 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/IChildToken.json @@ -0,0 +1,29 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IChildToken", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes", + "name": "depositData", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/IERC20.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/IERC20.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/IERC20.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/IERC20.json b/artifacts/contracts/testDai/TestDAI.v3.sol/IERC20.json new file mode 100644 index 0000000..5c04d59 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/IERC20.json @@ -0,0 +1,194 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/Initializable.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/Initializable.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/Initializable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/Initializable.json b/artifacts/contracts/testDai/TestDAI.v3.sol/Initializable.json new file mode 100644 index 0000000..2882851 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/Initializable.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Initializable", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [], + "bytecode": "0x60806040526000805460ff19169055348015601957600080fd5b50603f8060276000396000f3fe6080604052600080fdfea2646970667358221220029c0ee9872f011e39d3674c6d194add1b2123446bb854f67245e42794e0d91964736f6c63430008140033", + "deployedBytecode": "0x6080604052600080fdfea2646970667358221220029c0ee9872f011e39d3674c6d194add1b2123446bb854f67245e42794e0d91964736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/NativeMetaTransaction.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/NativeMetaTransaction.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/NativeMetaTransaction.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/NativeMetaTransaction.json b/artifacts/contracts/testDai/TestDAI.v3.sol/NativeMetaTransaction.json new file mode 100644 index 0000000..d26e226 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/NativeMetaTransaction.json @@ -0,0 +1,120 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NativeMetaTransaction", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address payable", + "name": "relayerAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + } + ], + "name": "MetaTransactionExecuted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + } + ], + "name": "executeMetaTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDomainSeperator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040526000805460ff1916905534801561001a57600080fd5b506107998061002a6000396000f3fe60806040526004361061003f5760003560e01c80630c53c51c1461004457806320379ee51461006d5780632d0335ab1461008c5780633408e470146100c2575b600080fd5b61005761005236600461050c565b6100d5565b6040516100649190610642565b60405180910390f35b34801561007957600080fd5b506001545b604051908152602001610064565b34801561009857600080fd5b5061007e6100a736600461065c565b6001600160a01b031660009081526002602052604090205490565b3480156100ce57600080fd5b504661007e565b60408051606081810183526001600160a01b0388166000818152600260209081529085902054845283015291810186905261011387828787876102c4565b61016e5760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600260205260409020546101929060016103b4565b6001600160a01b0388166000908152600260205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b906101e290899033908a90610677565b60405180910390a1600080306001600160a01b0316888a60405160200161020a9291906106ac565b60408051601f1981840301815290829052610224916106e3565b6000604051808303816000865af19150503d8060008114610261576040519150601f19603f3d011682016040523d82523d6000602084013e610266565b606091505b5091509150816102b85760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610165565b98975050505050505050565b60006001600160a01b03861661032a5760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610165565b600161033d6103388761041c565b610499565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa15801561038b573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806103c183856106ff565b9050838110156104135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610165565b90505b92915050565b6000604051806080016040528060438152602001610721604391398051602091820120835184830151604080870151805190860120905161047c950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006104a460015490565b60405161190160f01b602082015260228101919091526042810183905260620161047c565b80356001600160a01b03811681146104e057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146104e057600080fd5b600080600080600060a0868803121561052457600080fd5b61052d866104c9565b9450602086013567ffffffffffffffff8082111561054a57600080fd5b818801915088601f83011261055e57600080fd5b813581811115610570576105706104e5565b604051601f8201601f19908116603f01168101908382118183101715610598576105986104e5565b816040528281528b60208487010111156105b157600080fd5b82602086016020830137600060208483010152809850505050505060408601359250606086013591506105e6608087016104fb565b90509295509295909350565b60005b8381101561060d5781810151838201526020016105f5565b50506000910152565b6000815180845261062e8160208601602086016105f2565b601f01601f19169290920160200192915050565b6020815260006106556020830184610616565b9392505050565b60006020828403121561066e57600080fd5b610655826104c9565b6001600160a01b038481168252831660208201526060604082018190526000906106a390830184610616565b95945050505050565b600083516106be8184602088016105f2565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516106f58184602087016105f2565b9190910192915050565b8082018082111561041657634e487b7160e01b600052601160045260246000fdfe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a2646970667358221220c0ef7d9248999f2285eff1b86e454abed25b72d6cc6591610a4bbbe450aa744364736f6c63430008140033", + "deployedBytecode": "0x60806040526004361061003f5760003560e01c80630c53c51c1461004457806320379ee51461006d5780632d0335ab1461008c5780633408e470146100c2575b600080fd5b61005761005236600461050c565b6100d5565b6040516100649190610642565b60405180910390f35b34801561007957600080fd5b506001545b604051908152602001610064565b34801561009857600080fd5b5061007e6100a736600461065c565b6001600160a01b031660009081526002602052604090205490565b3480156100ce57600080fd5b504661007e565b60408051606081810183526001600160a01b0388166000818152600260209081529085902054845283015291810186905261011387828787876102c4565b61016e5760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600260205260409020546101929060016103b4565b6001600160a01b0388166000908152600260205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b906101e290899033908a90610677565b60405180910390a1600080306001600160a01b0316888a60405160200161020a9291906106ac565b60408051601f1981840301815290829052610224916106e3565b6000604051808303816000865af19150503d8060008114610261576040519150601f19603f3d011682016040523d82523d6000602084013e610266565b606091505b5091509150816102b85760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610165565b98975050505050505050565b60006001600160a01b03861661032a5760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610165565b600161033d6103388761041c565b610499565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa15801561038b573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806103c183856106ff565b9050838110156104135760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610165565b90505b92915050565b6000604051806080016040528060438152602001610721604391398051602091820120835184830151604080870151805190860120905161047c950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006104a460015490565b60405161190160f01b602082015260228101919091526042810183905260620161047c565b80356001600160a01b03811681146104e057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b803560ff811681146104e057600080fd5b600080600080600060a0868803121561052457600080fd5b61052d866104c9565b9450602086013567ffffffffffffffff8082111561054a57600080fd5b818801915088601f83011261055e57600080fd5b813581811115610570576105706104e5565b604051601f8201601f19908116603f01168101908382118183101715610598576105986104e5565b816040528281528b60208487010111156105b157600080fd5b82602086016020830137600060208483010152809850505050505060408601359250606086013591506105e6608087016104fb565b90509295509295909350565b60005b8381101561060d5781810151838201526020016105f5565b50506000910152565b6000815180845261062e8160208601602086016105f2565b601f01601f19169290920160200192915050565b6020815260006106556020830184610616565b9392505050565b60006020828403121561066e57600080fd5b610655826104c9565b6001600160a01b038481168252831660208201526060604082018190526000906106a390830184610616565b95945050505050565b600083516106be8184602088016105f2565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516106f58184602087016105f2565b9190910192915050565b8082018082111561041657634e487b7160e01b600052601160045260246000fdfe4d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a2646970667358221220c0ef7d9248999f2285eff1b86e454abed25b72d6cc6591610a4bbbe450aa744364736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/NofTestDAIV3.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/NofTestDAIV3.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/NofTestDAIV3.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/NofTestDAIV3.json b/artifacts/contracts/testDai/TestDAI.v3.sol/NofTestDAIV3.json new file mode 100644 index 0000000..7b89078 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/NofTestDAIV3.json @@ -0,0 +1,906 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NofTestDAIV3", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address payable", + "name": "relayerAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + } + ], + "name": "MetaTransactionExecuted", + "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" + }, + { + "inputs": [], + "name": "CHILD_CHAIN_ID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CHILD_CHAIN_ID_BYTES", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEPOSITOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ERC712_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PERMIT_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_CHAIN_ID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_CHAIN_ID_BYTES", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + } + ], + "name": "changeName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes", + "name": "depositData", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + } + ], + "name": "executeMetaTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDomainSeperator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "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": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRoleMember", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleMemberCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address", + "name": "childChainManager", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "move", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "holder", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "allowed", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "usr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "pull", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "usr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "push", + "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": [], + "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": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526008805460ff191690553480156200001b57600080fd5b5060408051808201825260038082526244414960e81b6020808401829052845180860190955282855284015290919062000056838262000120565b50600462000065828262000120565b50506005805460ff1916601217905550620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6127d580620001fc6000396000f3fe6080604052600436106102305760003560e01c80635353a2d81161012e578063a457c2d7116100ab578063cf2c52cb1161006f578063cf2c52cb146106e5578063d547741f14610705578063dd62ed3e14610725578063de7ea79d1461076b578063f2d5d56b1461078b57600080fd5b8063a457c2d714610645578063a9059cbb14610665578063b753a98c14610685578063bb35783b146106a5578063ca15c873146106c557600080fd5b80639010d07c116100f25780639010d07c1461058f57806391d14854146105c757806395d89b41146105e7578063a217fddf146105fc578063a3b0b5a31461061157600080fd5b80635353a2d8146104ef578063626381a01461050f57806370a08231146105245780638acfcaf71461055a5780638fcbaf0c1461056f57600080fd5b8063248a9ca3116101bc578063313ce56711610180578063313ce5671461045a5780633408e4701461047c57806336568abe1461048f57806339509351146104af5780634e6ec247146104cf57600080fd5b8063248a9ca31461037e5780632d0335ab146103ae5780632e1a7d4d146103e45780632f2ff15d1461040657806330adf81f1461042657600080fd5b80630dd7531a116102035780630dd7531a146102d05780630f7e5970146102fd57806318160ddd1461032a57806320379ee51461034957806323b872dd1461035e57600080fd5b806306fdde0314610235578063095ea7b3146102605780630b54817c146102905780630c53c51c146102bd575b600080fd5b34801561024157600080fd5b5061024a6107ab565b6040516102579190611f05565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611f34565b61083d565b6040519015158152602001610257565b34801561029c57600080fd5b5061024a604051806040016040528060018152602001608960f81b81525081565b61024a6102cb366004611f85565b61085b565b3480156102dc57600080fd5b5061024a604051806040016040528060018152602001600160f81b81525081565b34801561030957600080fd5b5061024a604051806040016040528060018152602001603160f81b81525081565b34801561033657600080fd5b506002545b604051908152602001610257565b34801561035557600080fd5b5060095461033b565b34801561036a57600080fd5b5061028061037936600461206b565b610a4a565b34801561038a57600080fd5b5061033b6103993660046120a7565b60009081526006602052604090206002015490565b3480156103ba57600080fd5b5061033b6103c93660046120c0565b6001600160a01b03166000908152600a602052604090205490565b3480156103f057600080fd5b506104046103ff3660046120a7565b610ad1565b005b34801561041257600080fd5b506104046104213660046120db565b610ae5565b34801561043257600080fd5b5061033b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b34801561046657600080fd5b5060055460405160ff9091168152602001610257565b34801561048857600080fd5b504661033b565b34801561049b57600080fd5b506104046104aa3660046120db565b610b75565b3480156104bb57600080fd5b506102806104ca366004611f34565b610bff565b3480156104db57600080fd5b506104046104ea366004611f34565b610c4d565b3480156104fb57600080fd5b5061040461050a366004612150565b610d2c565b34801561051b57600080fd5b5061033b608981565b34801561053057600080fd5b5061033b61053f3660046120c0565b6001600160a01b031660009081526020819052604090205490565b34801561056657600080fd5b5061033b600181565b34801561057b57600080fd5b5061040461058a366004612192565b610df7565b34801561059b57600080fd5b506105af6105aa366004612214565b611068565b6040516001600160a01b039091168152602001610257565b3480156105d357600080fd5b506102806105e23660046120db565b611087565b3480156105f357600080fd5b5061024a61109f565b34801561060857600080fd5b5061033b600081565b34801561061d57600080fd5b5061033b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b34801561065157600080fd5b50610280610660366004611f34565b6110ae565b34801561067157600080fd5b50610280610680366004611f34565b611116565b34801561069157600080fd5b506104046106a0366004611f34565b61112a565b3480156106b157600080fd5b506104046106c036600461206b565b611135565b3480156106d157600080fd5b5061033b6106e03660046120a7565b611146565b3480156106f157600080fd5b50610404610700366004612236565b61115d565b34801561071157600080fd5b506104046107203660046120db565b6111cc565b34801561073157600080fd5b5061033b610740366004612289565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561077757600080fd5b506104046107863660046122b3565b61124f565b34801561079757600080fd5b506104046107a6366004611f34565b6113f3565b6060600380546107ba90612343565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690612343565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050905090565b600061085161084a6113fe565b848461140d565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526108998782878787611532565b6108f45760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a6020526040902054610918906001611622565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061096890899033908a9061237d565b60405180910390a1600080306001600160a01b0316888a6040516020016109909291906123a9565b60408051601f19818403018152908290526109aa916123e0565b6000604051808303816000865af19150503d80600081146109e7576040519150601f19603f3d011682016040523d82523d6000602084013e6109ec565b606091505b509150915081610a3e5760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000060448201526064016108eb565b98975050505050505050565b6000610a57848484611681565b610ac784610a636113fe565b610ac285604051806060016040528060288152602001612753602891396001600160a01b038a16600090815260016020526040812090610aa16113fe565b6001600160a01b031681526020810191909152604001600020549190611804565b61140d565b5060019392505050565b610ae2610adc6113fe565b8261183e565b50565b600082815260066020526040902060020154610b03906105e26113fe565b610b675760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084016108eb565b610b718282611942565b5050565b610b7d6113fe565b6001600160a01b0316816001600160a01b031614610bf55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108eb565b610b7182826119ab565b6000610851610c0c6113fe565b84610ac28560016000610c1d6113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611622565b6001600160a01b038216610ca35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108eb565b600254610cb09082611622565b6002556001600160a01b038216600090815260208190526040902054610cd69082611622565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610d3a816105e26113fe565b600790610d5a5760405162461bcd60e51b81526004016108eb91906123fc565b50610d9a83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b610df283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611a209050565b505050565b6000610e0260095490565b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810188905286151560c082015260e00160405160208183030381529060405280519060200120604051602001610e9c92919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa158015610f04573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610f6e5760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a20494e56414c49442d5045524d49540000000000000060448201526064016108eb565b851580610f7b5750854211155b610fc75760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a205045524d49542d455850495245440000000000000060448201526064016108eb565b6001600160a01b0389166000908152600a60205260408120805491610feb8361249d565b91905055871461103d5760405162461bcd60e51b815260206004820152601860248201527f554368696c644441493a20494e56414c49442d4e4f4e4345000000000000000060448201526064016108eb565b60008561104b57600061104f565b6000195b905061105c8a8a8361140d565b50505050505050505050565b60008281526006602052604081206110809083611aa7565b9392505050565b60008281526006602052604081206110809083611ab3565b6060600480546107ba90612343565b60006108516110bb6113fe565b84610ac28560405180606001604052806025815260200161277b60259139600160006110e56113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611804565b60006108516111236113fe565b8484611681565b610df2338383610a4a565b611140838383610a4a565b50505050565b600081815260066020526040812061085590611ad5565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a961118a816105e26113fe565b6007906111aa5760405162461bcd60e51b81526004016108eb91906123fc565b5060006111b9838501856120a7565b90506111c58582610c4d565b5050505050565b6000828152600660205260409020600201546111ea906105e26113fe565b610bf55760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016108eb565b60085460ff16156112935760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b6112d286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b61131184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611adf92505050565b6005805460ff191660ff841617905561134a84846040516020016113369291906124b6565b604051602081830303815290604052611aeb565b61135c60006113576113fe565b610b67565b6113867f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610b67565b6113de86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611b199050565b50506008805460ff1916600117905550505050565b610df2823383610a4a565b6000611408611b78565b905090565b6001600160a01b03831661146f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108eb565b6001600160a01b0382166114d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166115985760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b60648201526084016108eb565b60016115ab6115a687611bd4565b611c51565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156115f9573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b60008061162f83856124d7565b9050838110156110805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108eb565b6001600160a01b0383166116e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108eb565b6001600160a01b0382166117475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108eb565b6117848160405180606001604052806026815260200161272d602691396001600160a01b0386166000908152602081905260409020549190611804565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546117b39082611622565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611525565b600081848411156118285760405162461bcd60e51b81526004016108eb9190611f05565b50600061183584866124ea565b95945050505050565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108eb565b6118db81604051806060016040528060228152602001612679602291396001600160a01b0385166000908152602081905260409020549190611804565b6001600160a01b0383166000908152602081905260409020556002546119019082611c81565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610d20565b600082815260066020526040902061195a9082611cc3565b15610b71576119676113fe565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206119c39082611cd8565b15610b71576119d06113fe565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610b71828261254b565b6040518060800160405280604f81526020016126de604f9139805190602001208280519060200120828051906020012030611a584690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b60006110808383611ced565b6001600160a01b03811660009081526001830160205260408120541515611080565b6000610855825490565b6004610b71828261254b565b80604051602001611afc919061260b565b60405160208183030381529060405260079081610b71919061254b565b60085460ff1615611b5d5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b611b678282611a20565b50506008805460ff19166001179055565b6000303303611bce57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150611bd19050565b50335b90565b600060405180608001604052806043815260200161269b6043913980516020918201208351848301516040808701518051908601209051611c34950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000611c5c60095490565b60405161190160f01b6020820152602281019190915260428101839052606201611c34565b600061108083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611804565b6000611080836001600160a01b038416611d73565b6000611080836001600160a01b038416611dc2565b81546000908210611d4b5760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016108eb565b826000018281548110611d6057611d6061264c565b9060005260206000200154905092915050565b6000818152600183016020526040812054611dba57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610855565b506000610855565b60008181526001830160205260408120548015611eab576000611de66001836124ea565b8554909150600090611dfa906001906124ea565b90506000866000018281548110611e1357611e1361264c565b9060005260206000200154905080876000018481548110611e3657611e3661264c565b600091825260209091200155611e4d8360016124d7565b60008281526001890160205260409020558654879080611e6f57611e6f612662565b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610855565b6000915050610855565b60005b83811015611ed0578181015183820152602001611eb8565b50506000910152565b60008151808452611ef1816020860160208601611eb5565b601f01601f19169290920160200192915050565b6020815260006110806020830184611ed9565b80356001600160a01b0381168114611f2f57600080fd5b919050565b60008060408385031215611f4757600080fd5b611f5083611f18565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611f2f57600080fd5b600080600080600060a08688031215611f9d57600080fd5b611fa686611f18565b9450602086013567ffffffffffffffff80821115611fc357600080fd5b818801915088601f830112611fd757600080fd5b813581811115611fe957611fe9611f5e565b604051601f8201601f19908116603f0116810190838211818310171561201157612011611f5e565b816040528281528b602084870101111561202a57600080fd5b826020860160208301376000602084830101528098505050505050604086013592506060860135915061205f60808701611f74565b90509295509295909350565b60008060006060848603121561208057600080fd5b61208984611f18565b925061209760208501611f18565b9150604084013590509250925092565b6000602082840312156120b957600080fd5b5035919050565b6000602082840312156120d257600080fd5b61108082611f18565b600080604083850312156120ee57600080fd5b823591506120fe60208401611f18565b90509250929050565b60008083601f84011261211957600080fd5b50813567ffffffffffffffff81111561213157600080fd5b60208301915083602082850101111561214957600080fd5b9250929050565b6000806020838503121561216357600080fd5b823567ffffffffffffffff81111561217a57600080fd5b61218685828601612107565b90969095509350505050565b600080600080600080600080610100898b0312156121af57600080fd5b6121b889611f18565b97506121c660208a01611f18565b96506040890135955060608901359450608089013580151581146121e957600080fd5b93506121f760a08a01611f74565b925060c0890135915060e089013590509295985092959890939650565b6000806040838503121561222757600080fd5b50508035926020909101359150565b60008060006040848603121561224b57600080fd5b61225484611f18565b9250602084013567ffffffffffffffff81111561227057600080fd5b61227c86828701612107565b9497909650939450505050565b6000806040838503121561229c57600080fd5b6122a583611f18565b91506120fe60208401611f18565b600080600080600080608087890312156122cc57600080fd5b863567ffffffffffffffff808211156122e457600080fd5b6122f08a838b01612107565b9098509650602089013591508082111561230957600080fd5b5061231689828a01612107565b9095509350612329905060408801611f74565b915061233760608801611f18565b90509295509295509295565b600181811c9082168061235757607f821691505b60208210810361237757634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0384811682528316602082015260606040820181905260009061183590830184611ed9565b600083516123bb818460208801611eb5565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516123f2818460208701611eb5565b9190910192915050565b600060208083526000845461241081612343565b80848701526040600180841660008114612431576001811461244b57612479565b60ff1985168984015283151560051b890183019550612479565b896000528660002060005b858110156124715781548b8201860152908301908801612456565b8a0184019650505b509398975050505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016124af576124af612487565b5060010190565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b8082018082111561085557610855612487565b8181038181111561085557610855612487565b601f821115610df257600081815260208120601f850160051c810160208610156125245750805b601f850160051c820191505b8181101561254357828155600101612530565b505050505050565b815167ffffffffffffffff81111561256557612565611f5e565b612579816125738454612343565b846124fd565b602080601f8311600181146125ae57600084156125965750858301515b600019600386901b1c1916600185901b178555612543565b600085815260208120601f198616915b828110156125dd578886015182559484019460019091019084016125be565b50858210156125fb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161261d818460208701611eb5565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200b28813c898b058db947de197948e4a016de2d4eb44c0a299d2131490f4dba2564736f6c63430008140033", + "deployedBytecode": "0x6080604052600436106102305760003560e01c80635353a2d81161012e578063a457c2d7116100ab578063cf2c52cb1161006f578063cf2c52cb146106e5578063d547741f14610705578063dd62ed3e14610725578063de7ea79d1461076b578063f2d5d56b1461078b57600080fd5b8063a457c2d714610645578063a9059cbb14610665578063b753a98c14610685578063bb35783b146106a5578063ca15c873146106c557600080fd5b80639010d07c116100f25780639010d07c1461058f57806391d14854146105c757806395d89b41146105e7578063a217fddf146105fc578063a3b0b5a31461061157600080fd5b80635353a2d8146104ef578063626381a01461050f57806370a08231146105245780638acfcaf71461055a5780638fcbaf0c1461056f57600080fd5b8063248a9ca3116101bc578063313ce56711610180578063313ce5671461045a5780633408e4701461047c57806336568abe1461048f57806339509351146104af5780634e6ec247146104cf57600080fd5b8063248a9ca31461037e5780632d0335ab146103ae5780632e1a7d4d146103e45780632f2ff15d1461040657806330adf81f1461042657600080fd5b80630dd7531a116102035780630dd7531a146102d05780630f7e5970146102fd57806318160ddd1461032a57806320379ee51461034957806323b872dd1461035e57600080fd5b806306fdde0314610235578063095ea7b3146102605780630b54817c146102905780630c53c51c146102bd575b600080fd5b34801561024157600080fd5b5061024a6107ab565b6040516102579190611f05565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004611f34565b61083d565b6040519015158152602001610257565b34801561029c57600080fd5b5061024a604051806040016040528060018152602001608960f81b81525081565b61024a6102cb366004611f85565b61085b565b3480156102dc57600080fd5b5061024a604051806040016040528060018152602001600160f81b81525081565b34801561030957600080fd5b5061024a604051806040016040528060018152602001603160f81b81525081565b34801561033657600080fd5b506002545b604051908152602001610257565b34801561035557600080fd5b5060095461033b565b34801561036a57600080fd5b5061028061037936600461206b565b610a4a565b34801561038a57600080fd5b5061033b6103993660046120a7565b60009081526006602052604090206002015490565b3480156103ba57600080fd5b5061033b6103c93660046120c0565b6001600160a01b03166000908152600a602052604090205490565b3480156103f057600080fd5b506104046103ff3660046120a7565b610ad1565b005b34801561041257600080fd5b506104046104213660046120db565b610ae5565b34801561043257600080fd5b5061033b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb81565b34801561046657600080fd5b5060055460405160ff9091168152602001610257565b34801561048857600080fd5b504661033b565b34801561049b57600080fd5b506104046104aa3660046120db565b610b75565b3480156104bb57600080fd5b506102806104ca366004611f34565b610bff565b3480156104db57600080fd5b506104046104ea366004611f34565b610c4d565b3480156104fb57600080fd5b5061040461050a366004612150565b610d2c565b34801561051b57600080fd5b5061033b608981565b34801561053057600080fd5b5061033b61053f3660046120c0565b6001600160a01b031660009081526020819052604090205490565b34801561056657600080fd5b5061033b600181565b34801561057b57600080fd5b5061040461058a366004612192565b610df7565b34801561059b57600080fd5b506105af6105aa366004612214565b611068565b6040516001600160a01b039091168152602001610257565b3480156105d357600080fd5b506102806105e23660046120db565b611087565b3480156105f357600080fd5b5061024a61109f565b34801561060857600080fd5b5061033b600081565b34801561061d57600080fd5b5061033b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b34801561065157600080fd5b50610280610660366004611f34565b6110ae565b34801561067157600080fd5b50610280610680366004611f34565b611116565b34801561069157600080fd5b506104046106a0366004611f34565b61112a565b3480156106b157600080fd5b506104046106c036600461206b565b611135565b3480156106d157600080fd5b5061033b6106e03660046120a7565b611146565b3480156106f157600080fd5b50610404610700366004612236565b61115d565b34801561071157600080fd5b506104046107203660046120db565b6111cc565b34801561073157600080fd5b5061033b610740366004612289565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561077757600080fd5b506104046107863660046122b3565b61124f565b34801561079757600080fd5b506104046107a6366004611f34565b6113f3565b6060600380546107ba90612343565b80601f01602080910402602001604051908101604052809291908181526020018280546107e690612343565b80156108335780601f1061080857610100808354040283529160200191610833565b820191906000526020600020905b81548152906001019060200180831161081657829003601f168201915b5050505050905090565b600061085161084a6113fe565b848461140d565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526108998782878787611532565b6108f45760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a6020526040902054610918906001611622565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061096890899033908a9061237d565b60405180910390a1600080306001600160a01b0316888a6040516020016109909291906123a9565b60408051601f19818403018152908290526109aa916123e0565b6000604051808303816000865af19150503d80600081146109e7576040519150601f19603f3d011682016040523d82523d6000602084013e6109ec565b606091505b509150915081610a3e5760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c0000000060448201526064016108eb565b98975050505050505050565b6000610a57848484611681565b610ac784610a636113fe565b610ac285604051806060016040528060288152602001612753602891396001600160a01b038a16600090815260016020526040812090610aa16113fe565b6001600160a01b031681526020810191909152604001600020549190611804565b61140d565b5060019392505050565b610ae2610adc6113fe565b8261183e565b50565b600082815260066020526040902060020154610b03906105e26113fe565b610b675760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b60648201526084016108eb565b610b718282611942565b5050565b610b7d6113fe565b6001600160a01b0316816001600160a01b031614610bf55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108eb565b610b7182826119ab565b6000610851610c0c6113fe565b84610ac28560016000610c1d6113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611622565b6001600160a01b038216610ca35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016108eb565b600254610cb09082611622565b6002556001600160a01b038216600090815260208190526040902054610cd69082611622565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610d3a816105e26113fe565b600790610d5a5760405162461bcd60e51b81526004016108eb91906123fc565b50610d9a83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b610df283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611a209050565b505050565b6000610e0260095490565b604080517fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60208201526001600160a01b03808d1692820192909252908a1660608201526080810189905260a0810188905286151560c082015260e00160405160208183030381529060405280519060200120604051602001610e9c92919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa158015610f04573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614610f6e5760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a20494e56414c49442d5045524d49540000000000000060448201526064016108eb565b851580610f7b5750854211155b610fc75760405162461bcd60e51b815260206004820152601960248201527f554368696c644441493a205045524d49542d455850495245440000000000000060448201526064016108eb565b6001600160a01b0389166000908152600a60205260408120805491610feb8361249d565b91905055871461103d5760405162461bcd60e51b815260206004820152601860248201527f554368696c644441493a20494e56414c49442d4e4f4e4345000000000000000060448201526064016108eb565b60008561104b57600061104f565b6000195b905061105c8a8a8361140d565b50505050505050505050565b60008281526006602052604081206110809083611aa7565b9392505050565b60008281526006602052604081206110809083611ab3565b6060600480546107ba90612343565b60006108516110bb6113fe565b84610ac28560405180606001604052806025815260200161277b60259139600160006110e56113fe565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611804565b60006108516111236113fe565b8484611681565b610df2338383610a4a565b611140838383610a4a565b50505050565b600081815260066020526040812061085590611ad5565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a961118a816105e26113fe565b6007906111aa5760405162461bcd60e51b81526004016108eb91906123fc565b5060006111b9838501856120a7565b90506111c58582610c4d565b5050505050565b6000828152600660205260409020600201546111ea906105e26113fe565b610bf55760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b60648201526084016108eb565b60085460ff16156112935760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b6112d286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1492505050565b61131184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611adf92505050565b6005805460ff191660ff841617905561134a84846040516020016113369291906124b6565b604051602081830303815290604052611aeb565b61135c60006113576113fe565b610b67565b6113867f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610b67565b6113de86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b60208201529150611b199050565b50506008805460ff1916600117905550505050565b610df2823383610a4a565b6000611408611b78565b905090565b6001600160a01b03831661146f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108eb565b6001600160a01b0382166114d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166115985760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b60648201526084016108eb565b60016115ab6115a687611bd4565b611c51565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156115f9573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b60008061162f83856124d7565b9050838110156110805760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108eb565b6001600160a01b0383166116e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108eb565b6001600160a01b0382166117475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108eb565b6117848160405180606001604052806026815260200161272d602691396001600160a01b0386166000908152602081905260409020549190611804565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546117b39082611622565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611525565b600081848411156118285760405162461bcd60e51b81526004016108eb9190611f05565b50600061183584866124ea565b95945050505050565b6001600160a01b03821661189e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016108eb565b6118db81604051806060016040528060228152602001612679602291396001600160a01b0385166000908152602081905260409020549190611804565b6001600160a01b0383166000908152602081905260409020556002546119019082611c81565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610d20565b600082815260066020526040902061195a9082611cc3565b15610b71576119676113fe565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206119c39082611cd8565b15610b71576119d06113fe565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610b71828261254b565b6040518060800160405280604f81526020016126de604f9139805190602001208280519060200120828051906020012030611a584690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b60006110808383611ced565b6001600160a01b03811660009081526001830160205260408120541515611080565b6000610855825490565b6004610b71828261254b565b80604051602001611afc919061260b565b60405160208183030381529060405260079081610b71919061254b565b60085460ff1615611b5d5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b60448201526064016108eb565b611b678282611a20565b50506008805460ff19166001179055565b6000303303611bce57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b03169150611bd19050565b50335b90565b600060405180608001604052806043815260200161269b6043913980516020918201208351848301516040808701518051908601209051611c34950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000611c5c60095490565b60405161190160f01b6020820152602281019190915260428101839052606201611c34565b600061108083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611804565b6000611080836001600160a01b038416611d73565b6000611080836001600160a01b038416611dc2565b81546000908210611d4b5760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b60648201526084016108eb565b826000018281548110611d6057611d6061264c565b9060005260206000200154905092915050565b6000818152600183016020526040812054611dba57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610855565b506000610855565b60008181526001830160205260408120548015611eab576000611de66001836124ea565b8554909150600090611dfa906001906124ea565b90506000866000018281548110611e1357611e1361264c565b9060005260206000200154905080876000018481548110611e3657611e3661264c565b600091825260209091200155611e4d8360016124d7565b60008281526001890160205260409020558654879080611e6f57611e6f612662565b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610855565b6000915050610855565b60005b83811015611ed0578181015183820152602001611eb8565b50506000910152565b60008151808452611ef1816020860160208601611eb5565b601f01601f19169290920160200192915050565b6020815260006110806020830184611ed9565b80356001600160a01b0381168114611f2f57600080fd5b919050565b60008060408385031215611f4757600080fd5b611f5083611f18565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611f2f57600080fd5b600080600080600060a08688031215611f9d57600080fd5b611fa686611f18565b9450602086013567ffffffffffffffff80821115611fc357600080fd5b818801915088601f830112611fd757600080fd5b813581811115611fe957611fe9611f5e565b604051601f8201601f19908116603f0116810190838211818310171561201157612011611f5e565b816040528281528b602084870101111561202a57600080fd5b826020860160208301376000602084830101528098505050505050604086013592506060860135915061205f60808701611f74565b90509295509295909350565b60008060006060848603121561208057600080fd5b61208984611f18565b925061209760208501611f18565b9150604084013590509250925092565b6000602082840312156120b957600080fd5b5035919050565b6000602082840312156120d257600080fd5b61108082611f18565b600080604083850312156120ee57600080fd5b823591506120fe60208401611f18565b90509250929050565b60008083601f84011261211957600080fd5b50813567ffffffffffffffff81111561213157600080fd5b60208301915083602082850101111561214957600080fd5b9250929050565b6000806020838503121561216357600080fd5b823567ffffffffffffffff81111561217a57600080fd5b61218685828601612107565b90969095509350505050565b600080600080600080600080610100898b0312156121af57600080fd5b6121b889611f18565b97506121c660208a01611f18565b96506040890135955060608901359450608089013580151581146121e957600080fd5b93506121f760a08a01611f74565b925060c0890135915060e089013590509295985092959890939650565b6000806040838503121561222757600080fd5b50508035926020909101359150565b60008060006040848603121561224b57600080fd5b61225484611f18565b9250602084013567ffffffffffffffff81111561227057600080fd5b61227c86828701612107565b9497909650939450505050565b6000806040838503121561229c57600080fd5b6122a583611f18565b91506120fe60208401611f18565b600080600080600080608087890312156122cc57600080fd5b863567ffffffffffffffff808211156122e457600080fd5b6122f08a838b01612107565b9098509650602089013591508082111561230957600080fd5b5061231689828a01612107565b9095509350612329905060408801611f74565b915061233760608801611f18565b90509295509295509295565b600181811c9082168061235757607f821691505b60208210810361237757634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0384811682528316602082015260606040820181905260009061183590830184611ed9565b600083516123bb818460208801611eb5565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516123f2818460208701611eb5565b9190910192915050565b600060208083526000845461241081612343565b80848701526040600180841660008114612431576001811461244b57612479565b60ff1985168984015283151560051b890183019550612479565b896000528660002060005b858110156124715781548b8201860152908301908801612456565b8a0184019650505b509398975050505050505050565b634e487b7160e01b600052601160045260246000fd5b6000600182016124af576124af612487565b5060010190565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b8082018082111561085557610855612487565b8181038181111561085557610855612487565b601f821115610df257600081815260208120601f850160051c810160208610156125245750805b601f850160051c820191505b8181101561254357828155600101612530565b505050505050565b815167ffffffffffffffff81111561256557612565611f5e565b612579816125738454612343565b846124fd565b602080601f8311600181146125ae57600084156125965750858301515b600019600386901b1c1916600185901b178555612543565b600085815260208120601f198616915b828110156125dd578886015182559484019460019091019084016125be565b50858210156125fb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161261d818460208701611eb5565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200b28813c898b058db947de197948e4a016de2d4eb44c0a299d2131490f4dba2564736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/SafeMath.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/SafeMath.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/SafeMath.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/SafeMath.json b/artifacts/contracts/testDai/TestDAI.v3.sol/SafeMath.json new file mode 100644 index 0000000..83ce32e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/SafeMath.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SafeMath", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220117a27774884c878dae9af47b8dfa8b593b9a0a7334ef6f519438b71bcab79e164736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220117a27774884c878dae9af47b8dfa8b593b9a0a7334ef6f519438b71bcab79e164736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/UChildERC20.dbg.json b/artifacts/contracts/testDai/TestDAI.v3.sol/UChildERC20.dbg.json new file mode 100644 index 0000000..f07388e --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/UChildERC20.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/contracts/testDai/TestDAI.v3.sol/UChildERC20.json b/artifacts/contracts/testDai/TestDAI.v3.sol/UChildERC20.json new file mode 100644 index 0000000..6865430 --- /dev/null +++ b/artifacts/contracts/testDai/TestDAI.v3.sol/UChildERC20.json @@ -0,0 +1,791 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "UChildERC20", + "sourceName": "contracts/testDai/TestDAI.v3.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address payable", + "name": "relayerAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + } + ], + "name": "MetaTransactionExecuted", + "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" + }, + { + "inputs": [], + "name": "CHILD_CHAIN_ID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "CHILD_CHAIN_ID_BYTES", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEPOSITOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ERC712_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_CHAIN_ID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ROOT_CHAIN_ID_BYTES", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "_mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + } + ], + "name": "changeName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "bytes", + "name": "depositData", + "type": "bytes" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "bytes", + "name": "functionSignature", + "type": "bytes" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + } + ], + "name": "executeMetaTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "getChainId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDomainSeperator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + } + ], + "name": "getNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "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": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "getRoleMember", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleMemberCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint8", + "name": "decimals_", + "type": "uint8" + }, + { + "internalType": "address", + "name": "childChainManager", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "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": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040526008805460ff191690553480156200001b57600080fd5b5060408051808201825260038082526244414960e81b6020808401829052845180860190955282855284015290919062000056838262000120565b50600462000065828262000120565b50506005805460ff1916601217905550620001ec565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000a657607f821691505b602082108103620000c757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200011b57600081815260208120601f850160051c81016020861015620000f65750805b601f850160051c820191505b81811015620001175782815560010162000102565b5050505b505050565b81516001600160401b038111156200013c576200013c6200007b565b62000154816200014d845462000091565b84620000cd565b602080601f8311600181146200018c5760008415620001735750858301515b600019600386901b1c1916600185901b17855562000117565b600085815260208120601f198616915b82811015620001bd578886015182559484019460019091019084016200019c565b5085821015620001dc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6123b780620001fc6000396000f3fe6080604052600436106101f95760003560e01c80634e6ec2471161010d578063a217fddf116100a0578063ca15c8731161006f578063ca15c873146105fa578063cf2c52cb1461061a578063d547741f1461063a578063dd62ed3e1461065a578063de7ea79d146106a057600080fd5b8063a217fddf14610571578063a3b0b5a314610586578063a457c2d7146105ba578063a9059cbb146105da57600080fd5b80638acfcaf7116100dc5780638acfcaf7146104ef5780639010d07c1461050457806391d148541461053c57806395d89b411461055c57600080fd5b80634e6ec247146104645780635353a2d814610484578063626381a0146104a457806370a08231146104b957600080fd5b806323b872dd116101905780632f2ff15d1161015f5780632f2ff15d146103cf578063313ce567146103ef5780633408e4701461041157806336568abe14610424578063395093511461044457600080fd5b806323b872dd14610327578063248a9ca3146103475780632d0335ab146103775780632e1a7d4d146103ad57600080fd5b80630dd7531a116101cc5780630dd7531a146102995780630f7e5970146102c657806318160ddd146102f357806320379ee51461031257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630b54817c146102595780630c53c51c14610286575b600080fd5b34801561020a57600080fd5b506102136106c0565b6040516102209190611b82565b60405180910390f35b34801561023557600080fd5b50610249610244366004611bb1565b610752565b6040519015158152602001610220565b34801561026557600080fd5b50610213604051806040016040528060018152602001608960f81b81525081565b610213610294366004611c02565b610770565b3480156102a557600080fd5b50610213604051806040016040528060018152602001600160f81b81525081565b3480156102d257600080fd5b50610213604051806040016040528060018152602001603160f81b81525081565b3480156102ff57600080fd5b506002545b604051908152602001610220565b34801561031e57600080fd5b50600954610304565b34801561033357600080fd5b50610249610342366004611ce8565b61095f565b34801561035357600080fd5b50610304610362366004611d24565b60009081526006602052604090206002015490565b34801561038357600080fd5b50610304610392366004611d3d565b6001600160a01b03166000908152600a602052604090205490565b3480156103b957600080fd5b506103cd6103c8366004611d24565b6109e6565b005b3480156103db57600080fd5b506103cd6103ea366004611d58565b6109fa565b3480156103fb57600080fd5b5060055460405160ff9091168152602001610220565b34801561041d57600080fd5b5046610304565b34801561043057600080fd5b506103cd61043f366004611d58565b610a8a565b34801561045057600080fd5b5061024961045f366004611bb1565b610b14565b34801561047057600080fd5b506103cd61047f366004611bb1565b610b62565b34801561049057600080fd5b506103cd61049f366004611dcd565b610c41565b3480156104b057600080fd5b50610304608981565b3480156104c557600080fd5b506103046104d4366004611d3d565b6001600160a01b031660009081526020819052604090205490565b3480156104fb57600080fd5b50610304600181565b34801561051057600080fd5b5061052461051f366004611e0f565b610d0c565b6040516001600160a01b039091168152602001610220565b34801561054857600080fd5b50610249610557366004611d58565b610d2b565b34801561056857600080fd5b50610213610d43565b34801561057d57600080fd5b50610304600081565b34801561059257600080fd5b506103047f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b3480156105c657600080fd5b506102496105d5366004611bb1565b610d52565b3480156105e657600080fd5b506102496105f5366004611bb1565b610dba565b34801561060657600080fd5b50610304610615366004611d24565b610dce565b34801561062657600080fd5b506103cd610635366004611e31565b610de5565b34801561064657600080fd5b506103cd610655366004611d58565b610e54565b34801561066657600080fd5b50610304610675366004611e84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106ac57600080fd5b506103cd6106bb366004611eae565b610ed7565b6060600380546106cf90611f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546106fb90611f3e565b80156107485780601f1061071d57610100808354040283529160200191610748565b820191906000526020600020905b81548152906001019060200180831161072b57829003601f168201915b5050505050905090565b600061076661075f61107b565b848461108a565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526107ae87828787876111af565b6108095760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a602052604090205461082d90600161129f565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061087d90899033908a90611f78565b60405180910390a1600080306001600160a01b0316888a6040516020016108a5929190611fa4565b60408051601f19818403018152908290526108bf91611fdb565b6000604051808303816000865af19150503d80600081146108fc576040519150601f19603f3d011682016040523d82523d6000602084013e610901565b606091505b5091509150816109535760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610800565b98975050505050505050565b600061096c8484846112fe565b6109dc8461097861107b565b6109d785604051806060016040528060288152602001612335602891396001600160a01b038a166000908152600160205260408120906109b661107b565b6001600160a01b031681526020810191909152604001600020549190611481565b61108a565b5060019392505050565b6109f76109f161107b565b826114bb565b50565b600082815260066020526040902060020154610a189061055761107b565b610a7c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b6064820152608401610800565b610a8682826115bf565b5050565b610a9261107b565b6001600160a01b0316816001600160a01b031614610b0a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610800565b610a868282611628565b6000610766610b2161107b565b846109d78560016000610b3261107b565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061129f565b6001600160a01b038216610bb85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610800565b600254610bc5908261129f565b6002556001600160a01b038216600090815260208190526040902054610beb908261129f565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610c4f8161055761107b565b600790610c6f5760405162461bcd60e51b81526004016108009190611ff7565b50610caf83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610d0783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b6020820152915061169d9050565b505050565b6000828152600660205260408120610d249083611724565b9392505050565b6000828152600660205260408120610d249083611730565b6060600480546106cf90611f3e565b6000610766610d5f61107b565b846109d78560405180606001604052806025815260200161235d6025913960016000610d8961107b565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611481565b6000610766610dc761107b565b84846112fe565b600081815260066020526040812061076a90611752565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9610e128161055761107b565b600790610e325760405162461bcd60e51b81526004016108009190611ff7565b506000610e4183850185611d24565b9050610e4d8582610b62565b5050505050565b600082815260066020526040902060020154610e729061055761107b565b610b0a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b6064820152608401610800565b60085460ff1615610f1b5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b610f5a86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610f9984848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061175c92505050565b6005805460ff191660ff8416179055610fd28484604051602001610fbe929190612082565b604051602081830303815290604052611768565b610fe46000610fdf61107b565b610a7c565b61100e7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610a7c565b61106686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b602082015291506117969050565b50506008805460ff1916600117905550505050565b60006110856117f5565b905090565b6001600160a01b0383166110ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610800565b6001600160a01b03821661114d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610800565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166112155760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610800565b600161122861122387611851565b6118ce565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa158015611276573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806112ac83856120b9565b905083811015610d245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610800565b6001600160a01b0383166113625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610800565b6001600160a01b0382166113c45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610800565b6114018160405180606001604052806026815260200161230f602691396001600160a01b0386166000908152602081905260409020549190611481565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611430908261129f565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016111a2565b600081848411156114a55760405162461bcd60e51b81526004016108009190611b82565b5060006114b284866120cc565b95945050505050565b6001600160a01b03821661151b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610800565b6115588160405180606001604052806022815260200161225b602291396001600160a01b0385166000908152602081905260409020549190611481565b6001600160a01b03831660009081526020819052604090205560025461157e90826118fe565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610c35565b60008281526006602052604090206115d79082611940565b15610a86576115e461107b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206116409082611955565b15610a865761164d61107b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610a86828261212d565b6040518060800160405280604f81526020016122c0604f91398051906020012082805190602001208280519060200120306116d54690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b6000610d24838361196a565b6001600160a01b03811660009081526001830160205260408120541515610d24565b600061076a825490565b6004610a86828261212d565b8060405160200161177991906121ed565b60405160208183030381529060405260079081610a86919061212d565b60085460ff16156117da5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b6117e4828261169d565b50506008805460ff19166001179055565b600030330361184b57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061184e9050565b50335b90565b600060405180608001604052806043815260200161227d60439139805160209182012083518483015160408087015180519086012090516118b1950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006118d960095490565b60405161190160f01b60208201526022810191909152604281018390526062016118b1565b6000610d2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611481565b6000610d24836001600160a01b0384166119f0565b6000610d24836001600160a01b038416611a3f565b815460009082106119c85760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610800565b8260000182815481106119dd576119dd61222e565b9060005260206000200154905092915050565b6000818152600183016020526040812054611a375750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561076a565b50600061076a565b60008181526001830160205260408120548015611b28576000611a636001836120cc565b8554909150600090611a77906001906120cc565b90506000866000018281548110611a9057611a9061222e565b9060005260206000200154905080876000018481548110611ab357611ab361222e565b600091825260209091200155611aca8360016120b9565b60008281526001890160205260409020558654879080611aec57611aec612244565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061076a565b600091505061076a565b60005b83811015611b4d578181015183820152602001611b35565b50506000910152565b60008151808452611b6e816020860160208601611b32565b601f01601f19169290920160200192915050565b602081526000610d246020830184611b56565b80356001600160a01b0381168114611bac57600080fd5b919050565b60008060408385031215611bc457600080fd5b611bcd83611b95565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611bac57600080fd5b600080600080600060a08688031215611c1a57600080fd5b611c2386611b95565b9450602086013567ffffffffffffffff80821115611c4057600080fd5b818801915088601f830112611c5457600080fd5b813581811115611c6657611c66611bdb565b604051601f8201601f19908116603f01168101908382118183101715611c8e57611c8e611bdb565b816040528281528b6020848701011115611ca757600080fd5b8260208601602083013760006020848301015280985050505050506040860135925060608601359150611cdc60808701611bf1565b90509295509295909350565b600080600060608486031215611cfd57600080fd5b611d0684611b95565b9250611d1460208501611b95565b9150604084013590509250925092565b600060208284031215611d3657600080fd5b5035919050565b600060208284031215611d4f57600080fd5b610d2482611b95565b60008060408385031215611d6b57600080fd5b82359150611d7b60208401611b95565b90509250929050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b60008060208385031215611de057600080fd5b823567ffffffffffffffff811115611df757600080fd5b611e0385828601611d84565b90969095509350505050565b60008060408385031215611e2257600080fd5b50508035926020909101359150565b600080600060408486031215611e4657600080fd5b611e4f84611b95565b9250602084013567ffffffffffffffff811115611e6b57600080fd5b611e7786828701611d84565b9497909650939450505050565b60008060408385031215611e9757600080fd5b611ea083611b95565b9150611d7b60208401611b95565b60008060008060008060808789031215611ec757600080fd5b863567ffffffffffffffff80821115611edf57600080fd5b611eeb8a838b01611d84565b90985096506020890135915080821115611f0457600080fd5b50611f1189828a01611d84565b9095509350611f24905060408801611bf1565b9150611f3260608801611b95565b90509295509295509295565b600181811c90821680611f5257607f821691505b602082108103611f7257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038481168252831660208201526060604082018190526000906114b290830184611b56565b60008351611fb6818460208801611b32565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b60008251611fed818460208701611b32565b9190910192915050565b600060208083526000845461200b81611f3e565b8084870152604060018084166000811461202c576001811461204657612074565b60ff1985168984015283151560051b890183019550612074565b896000528660002060005b8581101561206c5781548b8201860152908301908801612051565b8a0184019650505b509398975050505050505050565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076a5761076a6120a3565b8181038181111561076a5761076a6120a3565b601f821115610d0757600081815260208120601f850160051c810160208610156121065750805b601f850160051c820191505b8181101561212557828155600101612112565b505050505050565b815167ffffffffffffffff81111561214757612147611bdb565b61215b816121558454611f3e565b846120df565b602080601f83116001811461219057600084156121785750858301515b600019600386901b1c1916600185901b178555612125565b600085815260208120601f198616915b828110156121bf578886015182559484019460019091019084016121a0565b50858210156121dd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516121ff818460208701611b32565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d0e474e7c0e5222b46307228c2ac6d269f0bbebdf353fd3f0134020073f9577f64736f6c63430008140033", + "deployedBytecode": "0x6080604052600436106101f95760003560e01c80634e6ec2471161010d578063a217fddf116100a0578063ca15c8731161006f578063ca15c873146105fa578063cf2c52cb1461061a578063d547741f1461063a578063dd62ed3e1461065a578063de7ea79d146106a057600080fd5b8063a217fddf14610571578063a3b0b5a314610586578063a457c2d7146105ba578063a9059cbb146105da57600080fd5b80638acfcaf7116100dc5780638acfcaf7146104ef5780639010d07c1461050457806391d148541461053c57806395d89b411461055c57600080fd5b80634e6ec247146104645780635353a2d814610484578063626381a0146104a457806370a08231146104b957600080fd5b806323b872dd116101905780632f2ff15d1161015f5780632f2ff15d146103cf578063313ce567146103ef5780633408e4701461041157806336568abe14610424578063395093511461044457600080fd5b806323b872dd14610327578063248a9ca3146103475780632d0335ab146103775780632e1a7d4d146103ad57600080fd5b80630dd7531a116101cc5780630dd7531a146102995780630f7e5970146102c657806318160ddd146102f357806320379ee51461031257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630b54817c146102595780630c53c51c14610286575b600080fd5b34801561020a57600080fd5b506102136106c0565b6040516102209190611b82565b60405180910390f35b34801561023557600080fd5b50610249610244366004611bb1565b610752565b6040519015158152602001610220565b34801561026557600080fd5b50610213604051806040016040528060018152602001608960f81b81525081565b610213610294366004611c02565b610770565b3480156102a557600080fd5b50610213604051806040016040528060018152602001600160f81b81525081565b3480156102d257600080fd5b50610213604051806040016040528060018152602001603160f81b81525081565b3480156102ff57600080fd5b506002545b604051908152602001610220565b34801561031e57600080fd5b50600954610304565b34801561033357600080fd5b50610249610342366004611ce8565b61095f565b34801561035357600080fd5b50610304610362366004611d24565b60009081526006602052604090206002015490565b34801561038357600080fd5b50610304610392366004611d3d565b6001600160a01b03166000908152600a602052604090205490565b3480156103b957600080fd5b506103cd6103c8366004611d24565b6109e6565b005b3480156103db57600080fd5b506103cd6103ea366004611d58565b6109fa565b3480156103fb57600080fd5b5060055460405160ff9091168152602001610220565b34801561041d57600080fd5b5046610304565b34801561043057600080fd5b506103cd61043f366004611d58565b610a8a565b34801561045057600080fd5b5061024961045f366004611bb1565b610b14565b34801561047057600080fd5b506103cd61047f366004611bb1565b610b62565b34801561049057600080fd5b506103cd61049f366004611dcd565b610c41565b3480156104b057600080fd5b50610304608981565b3480156104c557600080fd5b506103046104d4366004611d3d565b6001600160a01b031660009081526020819052604090205490565b3480156104fb57600080fd5b50610304600181565b34801561051057600080fd5b5061052461051f366004611e0f565b610d0c565b6040516001600160a01b039091168152602001610220565b34801561054857600080fd5b50610249610557366004611d58565b610d2b565b34801561056857600080fd5b50610213610d43565b34801561057d57600080fd5b50610304600081565b34801561059257600080fd5b506103047f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b3480156105c657600080fd5b506102496105d5366004611bb1565b610d52565b3480156105e657600080fd5b506102496105f5366004611bb1565b610dba565b34801561060657600080fd5b50610304610615366004611d24565b610dce565b34801561062657600080fd5b506103cd610635366004611e31565b610de5565b34801561064657600080fd5b506103cd610655366004611d58565b610e54565b34801561066657600080fd5b50610304610675366004611e84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106ac57600080fd5b506103cd6106bb366004611eae565b610ed7565b6060600380546106cf90611f3e565b80601f01602080910402602001604051908101604052809291908181526020018280546106fb90611f3e565b80156107485780601f1061071d57610100808354040283529160200191610748565b820191906000526020600020905b81548152906001019060200180831161072b57829003601f168201915b5050505050905090565b600061076661075f61107b565b848461108a565b5060015b92915050565b60408051606081810183526001600160a01b0388166000818152600a6020908152908590205484528301529181018690526107ae87828787876111af565b6108095760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b60648201526084015b60405180910390fd5b6001600160a01b0387166000908152600a602052604090205461082d90600161129f565b6001600160a01b0388166000908152600a60205260409081902091909155517f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b9061087d90899033908a90611f78565b60405180910390a1600080306001600160a01b0316888a6040516020016108a5929190611fa4565b60408051601f19818403018152908290526108bf91611fdb565b6000604051808303816000865af19150503d80600081146108fc576040519150601f19603f3d011682016040523d82523d6000602084013e610901565b606091505b5091509150816109535760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c000000006044820152606401610800565b98975050505050505050565b600061096c8484846112fe565b6109dc8461097861107b565b6109d785604051806060016040528060288152602001612335602891396001600160a01b038a166000908152600160205260408120906109b661107b565b6001600160a01b031681526020810191909152604001600020549190611481565b61108a565b5060019392505050565b6109f76109f161107b565b826114bb565b50565b600082815260066020526040902060020154610a189061055761107b565b610a7c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526e0818591b5a5b881d1bc819dc985b9d608a1b6064820152608401610800565b610a8682826115bf565b5050565b610a9261107b565b6001600160a01b0316816001600160a01b031614610b0a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610800565b610a868282611628565b6000610766610b2161107b565b846109d78560016000610b3261107b565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061129f565b6001600160a01b038216610bb85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610800565b600254610bc5908261129f565b6002556001600160a01b038216600090815260208190526040902054610beb908261129f565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6000610c4f8161055761107b565b600790610c6f5760405162461bcd60e51b81526004016108009190611ff7565b50610caf83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610d0783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b6020820152915061169d9050565b505050565b6000828152600660205260408120610d249083611724565b9392505050565b6000828152600660205260408120610d249083611730565b6060600480546106cf90611f3e565b6000610766610d5f61107b565b846109d78560405180606001604052806025815260200161235d6025913960016000610d8961107b565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611481565b6000610766610dc761107b565b84846112fe565b600081815260066020526040812061076a90611752565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9610e128161055761107b565b600790610e325760405162461bcd60e51b81526004016108009190611ff7565b506000610e4183850185611d24565b9050610e4d8582610b62565b5050505050565b600082815260066020526040902060020154610e729061055761107b565b610b0a5760405162461bcd60e51b815260206004820152603060248201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60448201526f2061646d696e20746f207265766f6b6560801b6064820152608401610800565b60085460ff1615610f1b5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b610f5a86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169192505050565b610f9984848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061175c92505050565b6005805460ff191660ff8416179055610fd28484604051602001610fbe929190612082565b604051602081830303815290604052611768565b610fe46000610fdf61107b565b610a7c565b61100e7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a982610a7c565b61106686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260018152603160f81b602082015291506117969050565b50506008805460ff1916600117905550505050565b60006110856117f5565b905090565b6001600160a01b0383166110ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610800565b6001600160a01b03821661114d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610800565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006001600160a01b0386166112155760405162461bcd60e51b815260206004820152602560248201527f4e61746976654d6574615472616e73616374696f6e3a20494e56414c49445f5360448201526424a3a722a960d91b6064820152608401610800565b600161122861122387611851565b6118ce565b6040805160008152602081018083529290925260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa158015611276573d6000803e3d6000fd5b505050602060405103516001600160a01b0316866001600160a01b031614905095945050505050565b6000806112ac83856120b9565b905083811015610d245760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610800565b6001600160a01b0383166113625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610800565b6001600160a01b0382166113c45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610800565b6114018160405180606001604052806026815260200161230f602691396001600160a01b0386166000908152602081905260409020549190611481565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611430908261129f565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016111a2565b600081848411156114a55760405162461bcd60e51b81526004016108009190611b82565b5060006114b284866120cc565b95945050505050565b6001600160a01b03821661151b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610800565b6115588160405180606001604052806022815260200161225b602291396001600160a01b0385166000908152602081905260409020549190611481565b6001600160a01b03831660009081526020819052604090205560025461157e90826118fe565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610c35565b60008281526006602052604090206115d79082611940565b15610a86576115e461107b565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526006602052604090206116409082611955565b15610a865761164d61107b565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6003610a86828261212d565b6040518060800160405280604f81526020016122c0604f91398051906020012082805190602001208280519060200120306116d54690565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c00160408051601f1981840301815291905280516020909101206009555050565b6000610d24838361196a565b6001600160a01b03811660009081526001830160205260408120541515610d24565b600061076a825490565b6004610a86828261212d565b8060405160200161177991906121ed565b60405160208183030381529060405260079081610a86919061212d565b60085460ff16156117da5760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b6044820152606401610800565b6117e4828261169d565b50506008805460ff19166001179055565b600030330361184b57600080368080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050503601516001600160a01b0316915061184e9050565b50335b90565b600060405180608001604052806043815260200161227d60439139805160209182012083518483015160408087015180519086012090516118b1950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60006118d960095490565b60405161190160f01b60208201526022810191909152604281018390526062016118b1565b6000610d2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611481565b6000610d24836001600160a01b0384166119f0565b6000610d24836001600160a01b038416611a3f565b815460009082106119c85760405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608401610800565b8260000182815481106119dd576119dd61222e565b9060005260206000200154905092915050565b6000818152600183016020526040812054611a375750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561076a565b50600061076a565b60008181526001830160205260408120548015611b28576000611a636001836120cc565b8554909150600090611a77906001906120cc565b90506000866000018281548110611a9057611a9061222e565b9060005260206000200154905080876000018481548110611ab357611ab361222e565b600091825260209091200155611aca8360016120b9565b60008281526001890160205260409020558654879080611aec57611aec612244565b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061076a565b600091505061076a565b60005b83811015611b4d578181015183820152602001611b35565b50506000910152565b60008151808452611b6e816020860160208601611b32565b601f01601f19169290920160200192915050565b602081526000610d246020830184611b56565b80356001600160a01b0381168114611bac57600080fd5b919050565b60008060408385031215611bc457600080fd5b611bcd83611b95565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b803560ff81168114611bac57600080fd5b600080600080600060a08688031215611c1a57600080fd5b611c2386611b95565b9450602086013567ffffffffffffffff80821115611c4057600080fd5b818801915088601f830112611c5457600080fd5b813581811115611c6657611c66611bdb565b604051601f8201601f19908116603f01168101908382118183101715611c8e57611c8e611bdb565b816040528281528b6020848701011115611ca757600080fd5b8260208601602083013760006020848301015280985050505050506040860135925060608601359150611cdc60808701611bf1565b90509295509295909350565b600080600060608486031215611cfd57600080fd5b611d0684611b95565b9250611d1460208501611b95565b9150604084013590509250925092565b600060208284031215611d3657600080fd5b5035919050565b600060208284031215611d4f57600080fd5b610d2482611b95565b60008060408385031215611d6b57600080fd5b82359150611d7b60208401611b95565b90509250929050565b60008083601f840112611d9657600080fd5b50813567ffffffffffffffff811115611dae57600080fd5b602083019150836020828501011115611dc657600080fd5b9250929050565b60008060208385031215611de057600080fd5b823567ffffffffffffffff811115611df757600080fd5b611e0385828601611d84565b90969095509350505050565b60008060408385031215611e2257600080fd5b50508035926020909101359150565b600080600060408486031215611e4657600080fd5b611e4f84611b95565b9250602084013567ffffffffffffffff811115611e6b57600080fd5b611e7786828701611d84565b9497909650939450505050565b60008060408385031215611e9757600080fd5b611ea083611b95565b9150611d7b60208401611b95565b60008060008060008060808789031215611ec757600080fd5b863567ffffffffffffffff80821115611edf57600080fd5b611eeb8a838b01611d84565b90985096506020890135915080821115611f0457600080fd5b50611f1189828a01611d84565b9095509350611f24905060408801611bf1565b9150611f3260608801611b95565b90509295509295509295565b600181811c90821680611f5257607f821691505b602082108103611f7257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038481168252831660208201526060604082018190526000906114b290830184611b56565b60008351611fb6818460208801611b32565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b60008251611fed818460208701611b32565b9190910192915050565b600060208083526000845461200b81611f3e565b8084870152604060018084166000811461202c576001811461204657612074565b60ff1985168984015283151560051b890183019550612074565b896000528660002060005b8581101561206c5781548b8201860152908301908801612051565b8a0184019650505b509398975050505050505050565b6410da1a5b1960da1b81528183600583013760009101600501908152919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561076a5761076a6120a3565b8181038181111561076a5761076a6120a3565b601f821115610d0757600081815260208120601f850160051c810160208610156121065750805b601f850160051c820191505b8181101561212557828155600101612112565b505050505050565b815167ffffffffffffffff81111561214757612147611bdb565b61215b816121558454611f3e565b846120df565b602080601f83116001811461219057600084156121785750858301515b600019600386901b1c1916600185901b178555612125565b600085815260208120601f198616915b828110156121bf578886015182559484019460019091019084016121a0565b50858210156121dd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516121ff818460208701611b32565b7f3a20494e53554646494349454e545f5045524d495353494f4e53000000000000920191825250601a01919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c742945524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d0e474e7c0e5222b46307228c2ac6d269f0bbebdf353fd3f0134020073f9577f64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/hardhat/console.sol/console.dbg.json b/artifacts/hardhat/console.sol/console.dbg.json new file mode 100644 index 0000000..c1f4b52 --- /dev/null +++ b/artifacts/hardhat/console.sol/console.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/d0763492bde0a53d48379c8cb06e25eb.json" +} diff --git a/artifacts/hardhat/console.sol/console.json b/artifacts/hardhat/console.sol/console.json new file mode 100644 index 0000000..48515ec --- /dev/null +++ b/artifacts/hardhat/console.sol/console.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "console", + "sourceName": "hardhat/console.sol", + "abi": [], + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b9abbec7f2ac4b0fb659334370fbba1005d263a7fe8a41f450feb4871b766cad64736f6c63430008140033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b9abbec7f2ac4b0fb659334370fbba1005d263a7fe8a41f450feb4871b766cad64736f6c63430008140033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/contracts/gamma/GammaCards.v5.sol b/contracts/gamma/GammaCards.v5.sol index 441a4e7..6921d26 100644 --- a/contracts/gamma/GammaCards.v5.sol +++ b/contracts/gamma/GammaCards.v5.sol @@ -1,501 +1,572 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; -import "@openzeppelin/contracts/access/Ownable.sol"; -import "./libs/LibStringUtils.sol"; -import "./libs/LibPackVerifier.sol"; -import "./libs/LibControlMgmt.sol"; -import "./GammaCardsNFT.v1.sol"; -import "hardhat/console.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {LibStringUtils} from "./libs/LibStringUtils.sol"; +import {LibPackVerifier} from "./libs/LibPackVerifier.sol"; +import {LibControlMgmt} from "./libs/LibControlMgmt.sol"; +import {console} from "hardhat/console.sol"; +import {NofGammaCardsNFTV1} from "./GammaCardsNFT.v1.sol"; + +error OnlyGammaPacksContract(); +error OnlyOffersContract(); +error OnlyOwners(); +error InvalidAddress(); +error InvalidCardNumber(); +error InvalidTransfer(); +error InvalidSignature(); +error IncorrectPrizeAmount(); +error WrongPacksQuantity(); +error NotYourPack(); +error CardLimitExceeded(); +error UserDoesNotHaveCardOrAlbum(); +error InsufficientFunds(); +error InsufficientCards(); +error MustCompleteAlbum(); +error CannotRemoveUserOffers(); interface IgammaPacksContract { - function getPackOwner(uint256 tokenId) external view returns (address); - function openPack(uint256 tokenId, address owner) external; - function openPacks(uint256[] memory tokenIds, address owner) external; -} + function getPackOwner(uint256 tokenId) external view returns (address); -interface IgammaOffersContract { - function hasOffer(address user, uint8 cardNumber) external view returns (bool); - function removeOffersByUser(address user) external returns (bool); - function getOffersByUserCounter(address user) external view returns (uint256); - function getOfferByUserAndCardNumber(address user, uint8 cardNumber) external view - returns (uint256, uint8, uint8[] memory , address); -} + function openPack(uint256 tokenId, address owner) external; -interface IgammaTicketsContract { - function generateTicket(address user) external; + function openPacks(uint256[] memory tokenIds, address owner) external; } -contract NofGammaCardsV5 is NofGammaCardsNFTV1, Ownable { - using LibStringUtils for uint8; - using LibControlMgmt for LibControlMgmt.Data; - - IgammaPacksContract public gammaPacksContract; - IgammaOffersContract public gammaOffersContract; - IgammaTicketsContract public gammaTicketsContract; - - LibControlMgmt.Data private ownersData; - LibControlMgmt.Data private signersData; - - uint8 public maxPacksToOpenAtOnce = 10; - uint256 public _tokenIdCounter; - address public DAI_TOKEN; - uint256 public packPrice = 12e17; // 1.2 DAI - uint256 public prizesBalance = 0; - string public baseUri; - uint256 public mainAlbumPrize = 15e18; // 15 DAI por album principal completado - uint256 public secondaryAlbumPrize = 1e18; // 1 DAI por album secundario completado - uint8 public lotteryPrizePercentage = 50; - string public mainUri; - string public secondaryUri; - bool public requireOpenPackSignerValidation = false; - bool public requireOfferValidationInMint = true; - bool public requireOfferValidationInTransfer = true; - - struct Card { - uint256 tokenId; - uint256 number; - bool pasted; - uint8 class; // 1 para cartas, 2 para album de 120, 3 para album de 60 - uint256 completion; // solo se modifica en el caso de los albums - } - - mapping(uint256 tokenId => Card) public cards; - mapping(uint256 cardNumber => uint256 amount) public cardsInventory; // maximos: 120 => 5000 - mapping(address user => uint256 amount) public burnedCards; - mapping(address user => mapping(uint8 cardNumber => uint8 amount)) public cardsByUser; - - event NewGammaOffersContract(address newGammaOffersContract); - event NewGammaPacksContract(address newGammaPacksContract); - event NewGammaTicketsContract(address newGammaTicketContract); - event PackOpened(address player, uint8[] packData, uint256 packNumber); - event AlbumCompleted(address player, uint8 albumClass); - event CardPasted(address player, uint256 cardTokenId, uint256 albumTokenId); - event EmergencyWithdrawal(address receiver, uint256 amount); - event NewSigner(address newSigner); - event NewUris(string newMainUri, string newSecondaryUri); - event OfferCardsExchanged(address from, address to, uint8 cardNumberFrom, uint8 cardNumberTo); - event CardTransfered(address from, address to, uint8 cardNumber); - event CardsTransfered(address from, address to, uint8[] cardNumber); - event CardsBurned(address user, uint8[] cardsNumber); - - modifier onlyGammaPacksContract { - require(msg.sender == address(gammaPacksContract), "Only packs contract."); - _; - } - - modifier onlyGammaOffersContract { - require(msg.sender == address(gammaOffersContract), "Only offers contract."); - _; - } - - modifier onlyOwners() { - require(ownersData.owners[msg.sender], "Only owners."); - _; - } - - function init(address _daiTokenAddress, address _gammaPacksContract, - address _gammaOffersContract, address _gammaTicketsContract, - string memory _baseUri, address _signer) external onlyOwner { - ownersData.owners[msg.sender] = true; - - DAI_TOKEN = _daiTokenAddress; - gammaPacksContract = IgammaPacksContract(_gammaPacksContract); - gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); - gammaOffersContract = IgammaOffersContract(_gammaOffersContract); - - baseUri = _baseUri; - mainUri = string(abi.encodePacked(bytes(baseUri), bytes("/"), bytes("120"), bytes("F.json"))); - secondaryUri = string(abi.encodePacked(bytes(baseUri), bytes("/"), bytes("121"), bytes("F.json"))); - signersData.signers[_signer] = true; - - for(uint256 i; i<122; i++){ - cardsInventory[i] = 1; - } - } - - function addOwner(address _newOwner) external onlyOwners { - ownersData.addOwner(_newOwner); - } - - function removeOwner(address _ownerToRemove) external onlyOwners { - ownersData.removeOwner(_ownerToRemove); - } - - function addSigner(address _newSigner) external onlyOwners { - signersData.addSigner(_newSigner); - } - - function removeSigner(address _signerToRemove) external onlyOwners { - signersData.removeSigner(_signerToRemove); - } - - function setGammaOffersContract(address _gammaOffersContract) external onlyOwners { - require(_gammaOffersContract != address(0), "bad address."); - gammaOffersContract = IgammaOffersContract(_gammaOffersContract); - emit NewGammaOffersContract(_gammaOffersContract); - } - - function setGammaPacksContract(address _gammaPacksContract) external onlyOwners { - require(_gammaPacksContract != address(0), "bad address."); - gammaPacksContract = IgammaPacksContract(_gammaPacksContract); - emit NewGammaPacksContract(_gammaPacksContract); - } - - function setGammaTicketsContract(address _gammaTicketsContract) external onlyOwners { - require(_gammaTicketsContract != address(0), "bad address."); - gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); - emit NewGammaTicketsContract(_gammaTicketsContract); - } - - function setPrizesBalance(uint256 amount) external onlyGammaPacksContract { - prizesBalance += amount; - } - - function setMainAlbumPrize(uint256 amount) external onlyOwners { - require(amount > 0, "The prize for completing the album must be > 0."); - mainAlbumPrize = amount; - } - - function setSecondaryAlbumPrize(uint256 amount) external onlyOwners { - require(amount > 0, "The prize for completing the burning album must be > 0."); - secondaryAlbumPrize = amount; - } - - function setLotteryPrizePercentage(uint8 amount) external onlyOwners { - require(amount <= 100, "The % must be between 0 & 100."); - lotteryPrizePercentage = amount; - } - - function setUris(string memory newMainUri, string memory newSecondaryUri) external onlyOwners { - mainUri = newMainUri; - secondaryUri = newSecondaryUri; - emit NewUris(newMainUri, newSecondaryUri); - } +interface IgammaOffersContract { + function hasOffer(address user, uint8 cardNumber) external view returns (bool); - function changeRequireOpenPackSignerValidation(bool required) external onlyOwners { - requireOpenPackSignerValidation = required; - } + function removeOffersByUser(address user) external returns (bool); - function changeRequireOfferValidationInMint(bool required) external onlyOwners { - requireOfferValidationInMint = required; - } + function getOffersByUserCounter(address user) external view returns (uint256); - function changeRequireOfferValidationInTransfer(bool required) external onlyOwners { - requireOfferValidationInTransfer = required; - } + function getOfferByUserAndCardNumber( + address user, + uint8 cardNumber + ) external view returns (uint256, uint8, uint8[] memory, address); +} - function changePackPrice(uint256 newPackPrice) external onlyGammaPacksContract { - packPrice = newPackPrice; - } +interface IgammaTicketsContract { + function generateTicket(address user) external; +} - function changeMaxPacksToOpenAtOnce(uint8 _maxPacksToOpenAtOnce) external onlyOwners { - maxPacksToOpenAtOnce = _maxPacksToOpenAtOnce; - } +contract NofGammaCardsV5 is NofGammaCardsNFTV1, Ownable { + using LibStringUtils for uint8; + using LibControlMgmt for LibControlMgmt.Data; + + IgammaPacksContract public gammaPacksContract; + IgammaOffersContract public gammaOffersContract; + IgammaTicketsContract public gammaTicketsContract; + + LibControlMgmt.Data private ownersData; + LibControlMgmt.Data private signersData; + + uint8 public s_maxPacksToOpenAtOnce = 10; + uint8 public s_lotteryPrizePercentage = 50; + address public DAI_TOKEN; + uint256 public s_tokenIdCounter; + uint256 public s_packPrice = 12e17; // 1.2 DAI + uint256 public s_prizesBalance = 0; + uint256 public s_mainAlbumPrize = 15e18; // 15 DAI por album principal completado + uint256 public s_secondaryAlbumPrize = 1e18; // 1 DAI por album secundario completado + string public s_mainUri; + string public s_secondaryUri; + string public s_baseUri; + bool public s_requireOpenPackSignerValidation; + bool public s_requireOfferValidationInMint = true; + bool public s_requireOfferValidationInTransfer = true; + + struct Card { + uint256 tokenId; + uint256 number; + bool pasted; + uint8 class; // 1 para cartas, 2 para album de 120, 3 para album de 60 + uint256 completion; // solo se modifica en el caso de los albums + } + + mapping(uint256 tokenId => Card) public s_cards; + mapping(uint256 cardNumber => uint256 amount) public s_cardsInventory; // maximos: 120 => 5000 + mapping(address user => uint256 amount) public s_burnedCards; + mapping(address user => mapping(uint8 cardNumber => uint8 amount)) public s_cardsByUser; + + event NewGammaOffersContract(address indexed newGammaOffersContract); + event NewGammaPacksContract(address indexed newGammaPacksContract); + event NewGammaTicketsContract(address indexed newGammaTicketContract); + event PackOpened(address indexed player, uint8[] indexed packData, uint256 indexed packNumber); + event AlbumCompleted(address indexed player, uint8 indexed albumClass); + event CardPasted(address indexed player, uint256 indexed cardTokenId, uint256 indexed albumTokenId); + event EmergencyWithdrawal(address indexed receiver, uint256 indexed amount); + event NewSigner(address indexed newSigner); + event NewUris(string indexed newMainUri, string indexed newSecondaryUri); + event OfferCardsExchanged(address indexed from, address indexed to, uint8 cardNumberFrom, uint8 cardNumberTo); + event CardTransfered(address indexed from, address indexed to, uint8 cardNumber); + event CardsTransfered(address indexed from, address indexed to, uint8[] indexed cardNumber); + event CardsBurned(address indexed user, uint8[] indexed cardsNumber); + + modifier onlyGammaPacksContract() { + if(msg.sender != address(gammaPacksContract)) revert OnlyGammaPacksContract(); + _; + } + + modifier onlyGammaOffersContract() { + if(msg.sender != address(gammaOffersContract)) revert OnlyOffersContract(); + _; + } + + modifier onlyOwners() { + if(!ownersData.owners[msg.sender]) revert OnlyOwners(); + _; + } + + modifier checkAddressZero(address _address) { + if(_address == address(0)) revert InvalidAddress(); + _; + } + + function init( + address _daiTokenAddress, + address _gammaPacksContract, + address _gammaOffersContract, + address _gammaTicketsContract, + string memory _baseUri, + address _signer + ) external onlyOwner { + ownersData.owners[msg.sender] = true; + + DAI_TOKEN = _daiTokenAddress; + gammaPacksContract = IgammaPacksContract(_gammaPacksContract); + gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); + gammaOffersContract = IgammaOffersContract(_gammaOffersContract); + + s_baseUri = _baseUri; + s_mainUri = string(abi.encodePacked(bytes(s_baseUri), bytes("/"), bytes("120"), bytes("F.json"))); + s_secondaryUri = string( + abi.encodePacked(bytes(s_baseUri), bytes("/"), bytes("121"), bytes("F.json")) + ); + signersData.signers[_signer] = true; + + for (uint256 i; i < 122; i++) { + s_cardsInventory[i] = 1; + } + } + + function addOwner(address _newOwner) external onlyOwners { + ownersData.addOwner(_newOwner); + } + + function removeOwner(address _ownerToRemove) external onlyOwners { + ownersData.removeOwner(_ownerToRemove); + } + + function addSigner(address _newSigner) external onlyOwners { + signersData.addSigner(_newSigner); + } + + function removeSigner(address _signerToRemove) external onlyOwners { + signersData.removeSigner(_signerToRemove); + } + + function setGammaOffersContract(address _gammaOffersContract) external onlyOwners checkAddressZero(_gammaOffersContract) { + gammaOffersContract = IgammaOffersContract(_gammaOffersContract); + emit NewGammaOffersContract(_gammaOffersContract); + } + + function setGammaPacksContract(address _gammaPacksContract) external onlyOwners checkAddressZero(_gammaPacksContract){ + gammaPacksContract = IgammaPacksContract(_gammaPacksContract); + emit NewGammaPacksContract(_gammaPacksContract); + } + + function setGammaTicketsContract(address _gammaTicketsContract) external onlyOwners checkAddressZero(_gammaTicketsContract){ + gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); + emit NewGammaTicketsContract(_gammaTicketsContract); + } + + function setPrizesBalance(uint256 amount) external onlyGammaPacksContract { + s_prizesBalance += amount; + } + + function setMainAlbumPrize(uint256 amount) external onlyOwners { + if(amount == 0) revert IncorrectPrizeAmount(); + s_mainAlbumPrize = amount; + } + + function setSecondaryAlbumPrize(uint256 amount) external onlyOwners { + if(amount == 0) revert IncorrectPrizeAmount(); + s_secondaryAlbumPrize = amount; + } + + function setLotteryPrizePercentage(uint8 amount) external onlyOwners { + if(amount > 100) revert IncorrectPrizeAmount(); + s_lotteryPrizePercentage = amount; + } + + function setUris(string memory newMainUri, string memory newSecondaryUri) external onlyOwners { + s_mainUri = newMainUri; + s_secondaryUri = newSecondaryUri; + emit NewUris(newMainUri, newSecondaryUri); + } + + function changeRequireOpenPackSignerValidation(bool required) external onlyOwners { + s_requireOpenPackSignerValidation = required; + } + + function changeRequireOfferValidationInMint(bool required) external onlyOwners { + s_requireOfferValidationInMint = required; + } + + function changeRequireOfferValidationInTransfer(bool required) external onlyOwners { + s_requireOfferValidationInTransfer = required; + } + + function changePackPrice(uint256 newPackPrice) external onlyGammaPacksContract { + s_packPrice = newPackPrice; + } + + function changeMaxPacksToOpenAtOnce(uint8 _maxPacksToOpenAtOnce) external onlyOwners { + s_maxPacksToOpenAtOnce = _maxPacksToOpenAtOnce; + } + + function removeCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract { + s_cardsByUser[user][cardNumber]--; + } + + function restoreCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract { + s_cardsByUser[user][cardNumber]++; + } + + function hasCardByOffer( + address user, + uint8 cardNumber + ) external view onlyGammaOffersContract returns (bool has) { + return s_cardsByUser[user][cardNumber] > 0; + } + + function hasCard(address user, uint8 cardNum) public view checkAddressZero(user) returns (bool has) { + return s_cardsByUser[user][cardNum] > 0; + } + + function isOwner(address user) external view returns (bool) { + return ownersData.owners[user]; + } + + function isSigner(address user) external view returns (bool) { + return signersData.signers[user]; + } + + function getLotteryPrize() public view returns (uint256) { + return (s_lotteryPrizePercentage * s_prizesBalance) / 100; + } + + function getCardQuantityByUser(address user, uint8 cardNum) public view checkAddressZero(user) returns (uint8) { + return s_cardsByUser[user][cardNum]; + } + + function getBurnedCardQttyByUser(address user) public view checkAddressZero(user) returns (uint256) { + return s_burnedCards[user]; + } + + function getCardsByUser( + address user + ) public view returns (uint8[] memory, uint8[] memory, bool[] memory) { + uint8[] memory cardNumbers = new uint8[](122); + uint8[] memory quantities = new uint8[](122); + bool[] memory offers = new bool[](122); + uint8 index = 0; + + for (uint8 i; i <= 121; i++) { + if (s_cardsByUser[user][i] > 0) { + cardNumbers[index] = i; + quantities[index] = s_cardsByUser[user][i]; + offers[index] = gammaOffersContract.hasOffer(user, i); + index++; + } + } + + uint8[] memory userCardNumbers = new uint8[](index); + uint8[] memory userCardsQtty = new uint8[](index); + bool[] memory userCardsOffers = new bool[](index); + + for (uint256 j; j < index; j++) { + userCardNumbers[j] = cardNumbers[j]; + userCardsQtty[j] = quantities[j]; + userCardsOffers[j] = offers[j]; + } + + return (userCardNumbers, userCardsQtty, userCardsOffers); + } + + function verifyPackSigner( + uint256 packNumber, + uint8[] memory packData, + bytes calldata signature + ) public view returns (address signer) { + return LibPackVerifier.verifyPackSigner(msg.sender, packNumber, packData, signature); + } + + function openPack( + uint256 packNumber, + uint8[] memory packData, + bytes calldata signature + ) external { + _openPack(msg.sender, packNumber, packData, signature); + } + + function openPacks( + uint8 packsQuantity, + uint256[] memory packsNumber, + uint8[][] memory packsData, + bytes[] calldata signatures + ) external { + if(packsQuantity == 0 || packsQuantity > s_maxPacksToOpenAtOnce) revert WrongPacksQuantity(); + + for (uint256 i; i < packsQuantity; i++) { + _openPack(msg.sender, packsNumber[i], packsData[i], signatures[i]); + } + } + + function _openPack( + address user, + uint256 packNumber, + uint8[] memory packData, + bytes calldata signature + ) private { + if(gammaPacksContract.getPackOwner(packNumber) != user) revert NotYourPack(); + if(packData.length >= 15) revert CardLimitExceeded(); + + if (s_requireOpenPackSignerValidation) { + // Recreates the message present in the `signature` + address signer = LibPackVerifier.verifyPackSigner( + msg.sender, + packNumber, + packData, + signature + ); + + if(!signersData.signers[signer]) revert InvalidSignature(); + } + + gammaPacksContract.openPack(packNumber, user); + s_prizesBalance += s_packPrice - s_packPrice / 6; - function removeCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract { - cardsByUser[user][cardNumber]--; + + for (uint256 i; i < packData.length;) { + if(packData[i] == 120){ + if(s_cardsInventory[120] > 3000) revert InvalidCardNumber(); + } else { + if(s_cardsInventory[packData[i]] > 5000) revert InvalidCardNumber(); + } + s_cardsInventory[packData[i]]++; + s_cardsByUser[user][packData[i]]++; + unchecked { + i++; + } + } + + emit PackOpened(user, packData, packNumber); + } + + function exchangeCardsOffer( + address from, + uint8 cardNumberFrom, + address to, + uint8 cardNumberTo + ) external onlyGammaOffersContract checkAddressZero(from) checkAddressZero(to) { + if(s_cardsByUser[from][cardNumberFrom] == 0 || s_cardsByUser[to][cardNumberTo] == 0) revert UserDoesNotHaveCardOrAlbum(); + + s_cardsByUser[from][cardNumberFrom]--; + s_cardsByUser[to][cardNumberFrom]++; + s_cardsByUser[to][cardNumberTo]--; + s_cardsByUser[from][cardNumberTo]++; + + emit OfferCardsExchanged(from, to, cardNumberFrom, cardNumberTo); + } + + function transferCard(address to, uint8 cardNumber) external checkAddressZero(to) { + if(s_cardsByUser[msg.sender][cardNumber] == 0) revert UserDoesNotHaveCardOrAlbum(); + if(to == msg.sender) revert InvalidTransfer(); + + if (s_requireOfferValidationInTransfer) { + bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumber); + bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNumber] > 1; + /* + The user can only make an offer for one letter and in that case he cannot mint or transfer it. + If you have more than one copy (quantity > 1) of that card, you must be able to mint + or transfer the rest. + */ + require(!hasOffer || hasMoreThanOne, "This card has an offer."); } - function restoreCardByOffer(address user, uint8 cardNumber) external onlyGammaOffersContract { - cardsByUser[user][cardNumber]++; - } + s_cardsByUser[msg.sender][cardNumber]--; + s_cardsByUser[to][cardNumber]++; + emit CardTransfered(msg.sender, to, cardNumber); + } - function hasCardByOffer(address user, uint8 cardNumber) external view onlyGammaOffersContract returns (bool has) { - return cardsByUser[user][cardNumber] > 0; - } + function transferCards(address to, uint8[] calldata cardNumbers) public checkAddressZero(to) { + if(to == msg.sender) revert InvalidTransfer(); - function hasCard(address user, uint8 cardNum) public view returns (bool has) { - require(user != address(0), "bad address."); - return cardsByUser[user][cardNum] > 0; - } + for (uint256 i; i < cardNumbers.length; i++) { + if(s_cardsByUser[msg.sender][cardNumbers[i]] == 0) revert UserDoesNotHaveCardOrAlbum(); + s_cardsByUser[msg.sender][cardNumbers[i]]--; + s_cardsByUser[to][cardNumbers[i]]++; - function isOwner(address user) external view returns (bool) { - return ownersData.owners[user]; + if (s_requireOfferValidationInTransfer) { + bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumbers[i]); + bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNumbers[i]] > 1; + /* + The user can only make an offer for one letter and in that case he cannot mint or transfer it. + If you have more than one copy (quantity > 1) of that card, you must be able to mint + or transfer the rest. + */ + require(!hasOffer || hasMoreThanOne, "This card has an offer."); + } } + emit CardsTransfered(msg.sender, to, cardNumbers); + } - function isSigner(address user) external view returns (bool) { - return signersData.signers[user]; - } + // user must call this function when they have at least 1 + // card of each number (120 total) + a 120 album card + function finishAlbum() public returns (bool) { + // requires the user to have at least one 120 album + if(s_cardsByUser[msg.sender][120] == 0) revert UserDoesNotHaveCardOrAlbum(); + if(s_prizesBalance < s_mainAlbumPrize) revert IncorrectPrizeAmount(); - function getLotteryPrize() public view returns (uint256) { - return (lotteryPrizePercentage * prizesBalance) / 100; - } + uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this)); + if(contractBalance < s_mainAlbumPrize) revert InsufficientFunds(); - function getCardQuantityByUser(address user, uint8 cardNum) public view returns (uint8) { - require(user != address(0), "bad address."); - return cardsByUser[user][cardNum]; - } + // check that you have at least one card of each number + bool unfinished; - function getBurnedCardQttyByUser(address user) public view returns (uint256) { - require(user != address(0), "bad address."); - return burnedCards[user]; - } - - function getCardsByUser(address user) public view returns (uint8[] memory, uint8[] memory, bool[] memory) { - uint8[] memory cardNumbers = new uint8[](122); - uint8[] memory quantities = new uint8[](122); - bool[] memory offers = new bool[](122); - uint8 index = 0; - - for (uint8 i = 0; i <= 121; i++) { - if (cardsByUser[user][i] > 0) { - cardNumbers[index] = i; - quantities[index] = cardsByUser[user][i]; - offers[index] = gammaOffersContract.hasOffer(user, i); - index++; - } - } - - uint8[] memory userCardNumbers = new uint8[](index); - uint8[] memory userCardsQtty = new uint8[](index); - bool[] memory userCardsOffers = new bool[](index); - - for (uint8 j = 0; j < index; j++) { - userCardNumbers[j] = cardNumbers[j]; - userCardsQtty[j] = quantities[j]; - userCardsOffers[j] = offers[j]; + for (uint8 i; i <= 120;) { + if (s_cardsByUser[msg.sender][i] == 0) { + unfinished = true; + break; + } + s_cardsByUser[msg.sender][i]--; + unchecked { + i++; + } + } + if(unfinished) revert MustCompleteAlbum(); + + // mint the completed album. + safeMint(msg.sender, s_mainUri, 120, 2); + + // transfer prize in DAI. + s_prizesBalance -= s_mainAlbumPrize; + IERC20(DAI_TOKEN).transfer(msg.sender, s_mainAlbumPrize); + + bool userOffersRemoved = gammaOffersContract.removeOffersByUser(msg.sender); + if(!userOffersRemoved) revert CannotRemoveUserOffers(); + + emit AlbumCompleted(msg.sender, 1); + return true; + } + + // user should call this function if they want to 'paste' selected cards in + // the 60 cards album to 'burn' them. + function burnCards(uint8[] calldata cardNumbers) public { + if(s_cardsByUser[msg.sender][121] == 0) revert UserDoesNotHaveCardOrAlbum(); + uint256 totalUserBurnedCards = s_burnedCards[msg.sender] + cardNumbers.length; + bool mustPayPrize; + + if (totalUserBurnedCards >= 60) { + uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this)); + if(contractBalance < s_secondaryAlbumPrize || s_prizesBalance < s_secondaryAlbumPrize) revert InsufficientFunds(); + mustPayPrize = true; + } + + bool userHasOffers = (gammaOffersContract.getOffersByUserCounter(msg.sender) > 0); + uint256 cardNumbersLength = cardNumbers.length; + for (uint256 i; i < cardNumbersLength;) { + if(s_cardsByUser[msg.sender][cardNumbers[i]] == 0) revert UserDoesNotHaveCardOrAlbum(); + if (userHasOffers) { + if (gammaOffersContract.hasOffer(msg.sender, cardNumbers[i])) { + if(s_cardsByUser[msg.sender][cardNumbers[i]] < 2) revert InsufficientCards(); } - - return (userCardNumbers, userCardsQtty, userCardsOffers); + } + s_cardsByUser[msg.sender][cardNumbers[i]]--; + unchecked { + i++; + } } - function verifyPackSigner(uint256 packNumber, uint8[] memory packData, bytes calldata signature) public view - returns (address signer) { - return LibPackVerifier.verifyPackSigner(msg.sender, packNumber, packData, signature); - } + s_burnedCards[msg.sender] += cardNumbersLength; + emit CardsBurned(msg.sender, cardNumbers); - function openPack(uint256 packNumber, uint8[] memory packData, bytes calldata signature) external { - _openPack(msg.sender, packNumber, packData, signature); - } + if (mustPayPrize) { + s_cardsByUser[msg.sender][121]--; + safeMint(msg.sender, s_secondaryUri, 121, 2); // mint album of 60 cards. - function openPacks(uint8 packsQuantity, uint256[] memory packsNumber, - uint8[][] memory packsData, bytes[] calldata signatures) external { - - require (packsQuantity > 0, "packs qtty must be > 0."); - require (packsQuantity <= maxPacksToOpenAtOnce, "packs qtty must be < max qtty allowed."); + s_prizesBalance -= s_secondaryAlbumPrize; + IERC20(DAI_TOKEN).transfer(msg.sender, s_secondaryAlbumPrize); - for (uint8 i = 0; i < packsQuantity; i++) { - _openPack(msg.sender, packsNumber[i], packsData[i], signatures[i]); - } + gammaTicketsContract.generateTicket(msg.sender); + emit AlbumCompleted(msg.sender, 2); } + } - function _openPack(address user, uint256 packNumber, uint8[] memory packData, bytes calldata signature) private { - require(gammaPacksContract.getPackOwner(packNumber) == user, "This pack is not yours."); - require(packData.length < 15, "Card limit exceeded"); - - if (requireOpenPackSignerValidation) { - // Recreates the message present in the `signature` - address signer = LibPackVerifier.verifyPackSigner(msg.sender, packNumber, packData, signature); - require(signersData.signers[signer], "Invalid signature."); - } - - gammaPacksContract.openPack(packNumber, user); - prizesBalance += packPrice - packPrice / 6; - - for(uint8 i; i 0, "User (from) does not have card (from)."); - require(cardsByUser[to][cardNumberTo] > 0, "User (to) does not have card (to)."); - - cardsByUser[from][cardNumberFrom]--; - cardsByUser[to][cardNumberFrom]++; - cardsByUser[to][cardNumberTo]--; - cardsByUser[from][cardNumberTo]++; - - emit OfferCardsExchanged(from, to, cardNumberFrom, cardNumberTo); - } - - function transferCard(address to, uint8 cardNumber) external { - require(cardsByUser[msg.sender][cardNumber] > 0, "You does not have this card."); - require(to != msg.sender, "Own transfer not allowed."); - require(to != address(0), "bad address."); - - if (requireOfferValidationInTransfer) { - bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumber); - bool hasMoreThanOne = cardsByUser[msg.sender][cardNumber] > 1; - /* + if (s_requireOfferValidationInMint) { + bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNum); + bool hasMoreThanOne = s_cardsByUser[msg.sender][cardNum] > 1; + /* The user can only make an offer for one letter and in that case he cannot mint or transfer it. If you have more than one copy (quantity > 1) of that card, you must be able to mint or transfer the rest. */ - require (!hasOffer || hasMoreThanOne, "This card has an offer."); - } - - cardsByUser[msg.sender][cardNumber]--; - cardsByUser[to][cardNumber]++; - emit CardTransfered(msg.sender, to, cardNumber); + require(!hasOffer || hasMoreThanOne, "This card has an offer."); } - function transferCards(address to, uint8[] calldata cardNumbers) public { - require(to != msg.sender, "You cannot send cards to yourself."); - require(to != address(0), "bad address."); - - for(uint8 i; i 0, "You does not have this card."); - cardsByUser[msg.sender][cardNumbers[i]]--; - cardsByUser[to][cardNumbers[i]]++; - - if (requireOfferValidationInTransfer) { - bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNumbers[i]); - bool hasMoreThanOne = cardsByUser[msg.sender][cardNumbers[i]] > 1; - /* - The user can only make an offer for one letter and in that case he cannot mint or transfer it. - If you have more than one copy (quantity > 1) of that card, you must be able to mint - or transfer the rest. - */ - require (!hasOffer || hasMoreThanOne, "This card has an offer."); - } - } - emit CardsTransfered(msg.sender, to, cardNumbers); - } - - // user must call this function when they have at least 1 - // card of each number (120 total) + a 120 album card - function finishAlbum() public returns (bool) { - // requires the user to have at least one 120 album - require(cardsByUser[msg.sender][120] > 0, "You does not have any album."); - require(prizesBalance >= mainAlbumPrize, "Insufficient funds (open-packs balance)."); - - uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this)); - require(contractBalance >= mainAlbumPrize, "Insufficient funds (contract)."); - - // check that you have at least one card of each number - bool unfinished; - for(uint8 i; i<=120; i++){ - if(cardsByUser[msg.sender][i] == 0) { - unfinished = true; - break; - } - cardsByUser[msg.sender][i]--; - } - require(!unfinished, "Must complete the album."); + s_cardsByUser[msg.sender][cardNum]--; - // mint the completed album. - safeMint(msg.sender, mainUri, 120, 2); + string memory uri = string( + abi.encodePacked(bytes(s_baseUri), bytes("/"), bytes(cardNum.toString()), bytes(".json")) + ); - // transfer prize in DAI. - IERC20(DAI_TOKEN).transfer(msg.sender, mainAlbumPrize); - prizesBalance -= mainAlbumPrize; + safeMint(msg.sender, uri, cardNum, 1); + } - bool userOffersRemoved = gammaOffersContract.removeOffersByUser(msg.sender); - require (userOffersRemoved, "Cannot remove user offers"); + function safeMint(address _to, string memory _uri, uint256 _number, uint8 _class) internal { + uint256 tokenId = s_tokenIdCounter; + s_cards[tokenId].tokenId = tokenId; + s_cards[tokenId].number = _number; + s_cards[tokenId].class = _class; + _safeMint(_to, tokenId); + _setTokenURI(tokenId, _uri); + s_tokenIdCounter += 1; + } - emit AlbumCompleted(msg.sender, 1); - return true; - } - - // user should call this function if they want to 'paste' selected cards in - // the 60 cards album to 'burn' them. - function burnCards(uint8[] calldata cardNumbers) public { - require(cardsByUser[msg.sender][121] > 0, "You does not have any burning album."); - uint256 totalUserBurnedCards = burnedCards[msg.sender] + cardNumbers.length; - bool mustPayPrize = false; - - if (totalUserBurnedCards >= 60) { - require(prizesBalance >= secondaryAlbumPrize, "Insufficient funds (burnCards balance)."); - uint256 contractBalance = IERC20(DAI_TOKEN).balanceOf(address(this)); - require(contractBalance >= secondaryAlbumPrize, "Insufficient funds (contract)."); - mustPayPrize = true; - } + // do not call unless really necessary + function emergencyWithdraw(uint256 amount) public onlyOwners { + if(balanceOf(address(this)) < amount) revert InsufficientFunds(); + s_prizesBalance -= amount; + IERC20(DAI_TOKEN).transfer(msg.sender, amount); + emit EmergencyWithdrawal(msg.sender, amount); + } - bool userHasOffers = (gammaOffersContract.getOffersByUserCounter(msg.sender) > 0); - for(uint8 i; i 0, "You does not have this card."); - if (userHasOffers) { - - if (gammaOffersContract.hasOffer(msg.sender, cardNumbers[i])) { - require(cardsByUser[msg.sender][cardNumbers[i]] >= 2, - "You cannot burn any more copies of this card."); - } - } - cardsByUser[msg.sender][cardNumbers[i]]--; - } - burnedCards[msg.sender] += cardNumbers.length; - emit CardsBurned(msg.sender, cardNumbers); - if(mustPayPrize){ - cardsByUser[msg.sender][121]--; - safeMint(msg.sender, secondaryUri, 121, 2); // mint album of 60 cards. - prizesBalance -= secondaryAlbumPrize; - IERC20(DAI_TOKEN).transfer(msg.sender, secondaryAlbumPrize); - - gammaTicketsContract.generateTicket(msg.sender); - emit AlbumCompleted(msg.sender, 2); - } - } + // for testing purposes only, will remove on deploy + function testAddCards(address user) public onlyOwners { + for(uint8 i; i<=121; i++){ // 0-119: cards, 120: album-120, 121: album-60 + s_cardsByUser[user][i]++; + } + } - function mintCard(uint8 cardNum) public { - require(cardsByUser[msg.sender][cardNum] > 0, "You does not have this card."); - - if (requireOfferValidationInMint) { - bool hasOffer = gammaOffersContract.hasOffer(msg.sender, cardNum); - bool hasMoreThanOne = cardsByUser[msg.sender][cardNum] > 1; - /* - The user can only make an offer for one letter and in that case he cannot mint or transfer it. - If you have more than one copy (quantity > 1) of that card, you must be able to mint - or transfer the rest. - */ - require (!hasOffer || hasMoreThanOne, "This card has an offer."); - } - - cardsByUser[msg.sender][cardNum]--; - - string memory uri = - string(abi.encodePacked(bytes(baseUri), bytes("/"), - bytes(cardNum.toString()), bytes(".json"))); - - safeMint(msg.sender, uri, cardNum, 1); - } - - function safeMint(address _to, string memory _uri, uint256 _number, uint8 _class) internal { - uint256 tokenId = _tokenIdCounter; - cards[tokenId].tokenId = tokenId; - cards[tokenId].number = _number; - cards[tokenId].class = _class; - _safeMint(_to, tokenId); - _setTokenURI(tokenId, _uri); - _tokenIdCounter += 1; - } - - function testAddCards(address user) public onlyOwners { - for(uint8 i; i<=121; i++){ // 0-119: cards, 120: album-120, 121: album-60 - cardsByUser[user][i]++; - } - } - - function testOpenPack(address user, uint256 packNumber, uint8[] memory packData) external onlyOwners { + function testOpenPack(address user, uint256 packNumber, uint8[] memory packData) external onlyOwners { gammaPacksContract.openPack(packNumber, user); - prizesBalance += packPrice - packPrice / 6; + s_prizesBalance += s_packPrice - s_packPrice / 6; - for(uint8 i; i= amount); - prizesBalance -= amount; - IERC20(DAI_TOKEN).transfer(msg.sender, amount); - emit EmergencyWithdrawal(msg.sender, amount); - } + // for testing purposes only, will remove on deploy } diff --git a/contracts/gamma/GammaCardsNFT.v1.sol b/contracts/gamma/GammaCardsNFT.v1.sol index 8c84ab8..b4fe717 100644 --- a/contracts/gamma/GammaCardsNFT.v1.sol +++ b/contracts/gamma/GammaCardsNFT.v1.sol @@ -1,10 +1,9 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; -import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; -import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol"; +import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import {ERC721URIStorage} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; +import {ERC721Burnable} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol"; contract NofGammaCardsNFTV1 is ERC721, ERC721URIStorage, ERC721Burnable { diff --git a/contracts/gamma/GammaOffers.v4.sol b/contracts/gamma/GammaOffers.v4.sol index 93091db..7820298 100644 --- a/contracts/gamma/GammaOffers.v4.sol +++ b/contracts/gamma/GammaOffers.v4.sol @@ -1,369 +1,441 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; -import "@openzeppelin/contracts/access/Ownable.sol"; -import "./libs/LibControlMgmt.sol"; -import "hardhat/console.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {LibControlMgmt} from "./libs/LibControlMgmt.sol"; +import {console} from "hardhat/console.sol"; + +error OnlyCardsContract(); +error OnlyOwners(); +error InvalidAddress(); +error GammaCardsContractNotSet(); +error OffersMaximumAllowed(); +error UserDoesNotHaveCard(); +error InvalidCardNumber(); +error OfferAlreadyExists(); +error InvalidOfferId(); +error OfferDoesNotExists(); +error UserAlreadyHasCard(); +error InvalidCard(); +error OfferNotDeleted(); +error RemoveOfferFromUserMapping_DoNotMatch(); +error RemoveOfferFromCardNumberMapping_DoNotMatch(); +error ExchangeError(); interface IGammaCardsContract { function hasCardByOffer(address user, uint8 cardNumber) external returns (bool has); + function removeCardByOffer(address user, uint8 cardNumber) external; + function restoreCardByOffer(address user, uint8 cardNumber) external; - function exchangeCardsOffer(address from, uint8 cardNumberFrom, address to, uint8 cardNumberTo) external; + + function exchangeCardsOffer( + address from, + uint8 cardNumberFrom, + address to, + uint8 cardNumberTo + ) external; } contract NofGammaOffersV4 is Ownable { - using LibControlMgmt for LibControlMgmt.Data; - - IGammaCardsContract public gammaCardsContract; - LibControlMgmt.Data private ownersData; - - uint256 maxOffersAllowed = uint256(5000); - uint256 maxOffersByUserAllowed = uint256(5); - uint256 maxCardNumbersAllowed = uint256(120); - bool removeCardInInventoryWhenOffer = false; - - struct Offer { - string offerId; - uint8 cardNumber; - uint8[] wantedCardNumbers; - address owner; - uint256 timestamp; - } - - Offer[] public offers; - mapping(address user => Offer[]) offersByUser; - mapping(uint8 cardNumber => Offer[]) offersByCardNumber; - mapping(address => uint256) public offersByUserCounter; - mapping(uint8 => uint256) public offersByCardNumberCounter; - uint256 public offersTotalCounter; - - event NewGammaCardsContract(address newGammaCardsContract); - event OfferCreated(address user, uint8 cardNumber, uint8[] wantedCardNumbers); - event OfferRemoved(address user, uint8 cardNumber); - event UserOffersRemoved(address user); - event AllOffersRemoved(); - - modifier onlyCardsContract { - require(msg.sender == address(gammaCardsContract), "Only gamma cards contract can call this function."); - _; - } - - modifier onlyOwners() { - require(ownersData.owners[msg.sender], "Only owners."); - _; - } - - function init (address _cardsContract) external onlyOwner { - require(_cardsContract != address(0), "Invalid address."); - gammaCardsContract = IGammaCardsContract(_cardsContract); - ownersData.owners[msg.sender] = true; - } - - function addOwner(address _newOwner) external onlyOwners { - ownersData.addOwner(_newOwner); - } - - function removeOwner(address _ownerToRemove) external onlyOwners { - ownersData.removeOwner(_ownerToRemove); - } - - function setGammaCardsContract (address _gammaCardsContract) public onlyOwners { - require(_gammaCardsContract != address(0), "Invalid address."); - gammaCardsContract = IGammaCardsContract(_gammaCardsContract); - emit NewGammaCardsContract(_gammaCardsContract); - } - - function setMaxOffersAllowed(uint256 _maxOffersAllowed) external onlyOwners { - maxOffersAllowed = _maxOffersAllowed; - } - - function setMaxOffersByUserAllowed(uint256 _maxOffersByUserAllowed) external onlyOwners { - maxOffersByUserAllowed = _maxOffersByUserAllowed; - } - - function setMaxCardNumbersAllowed(uint256 _maxCardNumbersAllowed) external onlyOwners { - maxCardNumbersAllowed = _maxCardNumbersAllowed; - } - - function changeRemoveCardinInventoryWhenOffer(bool _value) external onlyOwners { - removeCardInInventoryWhenOffer = _value; - } - - function createOffer(string memory offerId, uint8 cardNumber, uint8[] memory wantedCardNumbers) public { - _createOfferWithUser (offerId, msg.sender, cardNumber, wantedCardNumbers); - } - - function createOfferWithoUser(string memory offerId, address user, uint8 cardNumber, uint8[] memory wantedCardNumbers) public onlyOwners{ - _createOfferWithUser (offerId, user, cardNumber, wantedCardNumbers); - } - - function _createOfferWithUser(string memory offerId, address user, uint8 cardNumber, uint8[] memory wantedCardNumbers) private { - require(address(gammaCardsContract) != address(0), "GammaCardsContract not set."); - require(offersByUserCounter[user] < maxOffersByUserAllowed, "User has reached the maximum allowed offers."); - require(offersTotalCounter < maxOffersAllowed, "Total offers have reached the maximum allowed."); - - bool userHasCard = gammaCardsContract.hasCardByOffer(user, cardNumber); - require(userHasCard, "You does not have that card."); - - for (uint8 i = 0; i < wantedCardNumbers.length; i++) { - require(wantedCardNumbers[i] != cardNumber, "The cardNumber cannot be in wantedCardNumbers."); - } - - Offer memory existingOffer = getOfferByUserAndCardNumber(user, cardNumber); - require(existingOffer.owner == address(0), "An offer for this user and cardNumber already exists."); - - offersByUserCounter[user] += 1; - offersByCardNumberCounter[cardNumber] += 1; - offersTotalCounter += 1; - - offers.push(Offer(offerId, cardNumber, wantedCardNumbers, user, block.timestamp)); - offersByUser[user].push(offers[offers.length - 1]); - offersByCardNumber[cardNumber].push(offers[offers.length - 1]); - - if (removeCardInInventoryWhenOffer) { - gammaCardsContract.removeCardByOffer(user, cardNumber); - } - - emit OfferCreated(user, cardNumber, wantedCardNumbers); - } - - function isOwner(address user) external view returns (bool) { - return ownersData.owners[user]; - } - - function getOffersByUserCounter(address user) external view returns (uint256) { - require(user != address(0), "Invalid address."); - return offersByUserCounter[user]; - } - - function getOffersByCardNumberCounter(uint8 cardNumber) external view returns (uint256) { - return offersByCardNumberCounter[cardNumber]; - } - - function getOffersCounter() external view returns (uint256) { - return offersTotalCounter; - } - - function getMaxOffersAllowed() external view returns (uint256) { - return maxOffersAllowed; - } - - function getMaxOffersByUserAllowed() external view returns (uint256) { - return maxOffersByUserAllowed; - } - - function getOffers() external view returns (Offer[] memory) { - return offers; - } - - function getOfferByIndex(uint256 index) public view returns (Offer memory) { - require(index < offers.length, "Offer Id does not exist"); - return offers[index]; - } - - function getOfferByOfferId(string memory offerId) external view returns (Offer memory) { - for (uint256 i = 0; i < offers.length; i++) { - if (keccak256(abi.encodePacked(offers[i].offerId)) == keccak256(abi.encodePacked(offerId))) { - return (offers[i]); - } - } - return _emptyOffer(); - } - - function getOffersByUser(address user) external view returns (Offer[] memory) { - require(user != address(0), "Invalid address."); - return offersByUser[user]; - } - - function getOffersByCardNumber(uint8 cardNumber) external view returns (Offer[] memory) { - return offersByCardNumber[cardNumber]; - } - - function getOfferByUserAndCardNumber(address user, uint8 cardNumber) public view returns (Offer memory) { - require(user != address(0), "Invalid address."); + using LibControlMgmt for LibControlMgmt.Data; + + IGammaCardsContract public gammaCardsContract; + LibControlMgmt.Data private ownersData; + + uint256 maxOffersAllowed = uint256(5000); + uint256 maxOffersByUserAllowed = uint256(5); + uint256 maxCardNumbersAllowed = uint256(120); + bool removeCardInInventoryWhenOffer = false; + + struct Offer { + string offerId; + uint8 cardNumber; + uint8[] wantedCardNumbers; + address owner; + uint256 timestamp; + } + + Offer[] public offers; + mapping(address user => Offer[]) offersByUser; + mapping(uint8 cardNumber => Offer[]) offersByCardNumber; + mapping(address => uint256) public offersByUserCounter; + mapping(uint8 => uint256) public offersByCardNumberCounter; + uint256 public offersTotalCounter; + + event NewGammaCardsContract(address newGammaCardsContract); + event OfferCreated(address user, uint8 cardNumber, uint8[] wantedCardNumbers); + event OfferRemoved(address user, uint8 cardNumber); + event UserOffersRemoved(address user); + event AllOffersRemoved(); + + modifier onlyCardsContract() { + if (msg.sender != address(gammaCardsContract)) revert OnlyCardsContract(); + _; + } + + modifier onlyOwners() { + if (!ownersData.owners[msg.sender]) revert OnlyOwners(); + _; + } + + function init(address _cardsContract) external onlyOwner { + if (_cardsContract == address(0)) revert InvalidAddress(); + gammaCardsContract = IGammaCardsContract(_cardsContract); + ownersData.owners[msg.sender] = true; + } + + function addOwner(address _newOwner) external onlyOwners { + ownersData.addOwner(_newOwner); + } + + function removeOwner(address _ownerToRemove) external onlyOwners { + ownersData.removeOwner(_ownerToRemove); + } + + function setGammaCardsContract(address _gammaCardsContract) public onlyOwners { + if (_gammaCardsContract == address(0)) revert InvalidAddress(); + gammaCardsContract = IGammaCardsContract(_gammaCardsContract); + emit NewGammaCardsContract(_gammaCardsContract); + } + + function setMaxOffersAllowed(uint256 _maxOffersAllowed) external onlyOwners { + maxOffersAllowed = _maxOffersAllowed; + } + + function setMaxOffersByUserAllowed(uint256 _maxOffersByUserAllowed) external onlyOwners { + maxOffersByUserAllowed = _maxOffersByUserAllowed; + } + + function setMaxCardNumbersAllowed(uint256 _maxCardNumbersAllowed) external onlyOwners { + maxCardNumbersAllowed = _maxCardNumbersAllowed; + } + + function changeRemoveCardinInventoryWhenOffer(bool _value) external onlyOwners { + removeCardInInventoryWhenOffer = _value; + } + + function createOffer( + string memory offerId, + uint8 cardNumber, + uint8[] memory wantedCardNumbers + ) public { + _createOfferWithUser(offerId, msg.sender, cardNumber, wantedCardNumbers); + } + + function createOfferWithoUser( + string memory offerId, + address user, + uint8 cardNumber, + uint8[] memory wantedCardNumbers + ) public onlyOwners { + _createOfferWithUser(offerId, user, cardNumber, wantedCardNumbers); + } + + function _createOfferWithUser( + string memory offerId, + address user, + uint8 cardNumber, + uint8[] memory wantedCardNumbers + ) private { + if (address(gammaCardsContract) == address(0)) revert GammaCardsContractNotSet(); + if (offersByUserCounter[user] >= maxOffersByUserAllowed) revert OffersMaximumAllowed(); + if (offersTotalCounter >= maxOffersAllowed) revert OffersMaximumAllowed(); + + bool userHasCard = gammaCardsContract.hasCardByOffer(user, cardNumber); + if (!userHasCard) revert UserDoesNotHaveCard(); + + for (uint8 i = 0; i < wantedCardNumbers.length; i++) { + if (wantedCardNumbers[i] == cardNumber) revert InvalidCardNumber(); + } + + Offer memory existingOffer = getOfferByUserAndCardNumber(user, cardNumber); + if (existingOffer.owner != address(0)) revert OfferAlreadyExists(); + + offersByUserCounter[user] += 1; + offersByCardNumberCounter[cardNumber] += 1; + offersTotalCounter += 1; + + offers.push(Offer(offerId, cardNumber, wantedCardNumbers, user, block.timestamp)); + offersByUser[user].push(offers[offers.length - 1]); + offersByCardNumber[cardNumber].push(offers[offers.length - 1]); + + if (removeCardInInventoryWhenOffer) { + gammaCardsContract.removeCardByOffer(user, cardNumber); + } + + emit OfferCreated(user, cardNumber, wantedCardNumbers); + } + + function isOwner(address user) external view returns (bool) { + return ownersData.owners[user]; + } + + function getOffersByUserCounter(address user) external view returns (uint256) { + if (user == address(0)) revert InvalidAddress(); + return offersByUserCounter[user]; + } + + function getOffersByCardNumberCounter(uint8 cardNumber) external view returns (uint256) { + return offersByCardNumberCounter[cardNumber]; + } + + function getOffersCounter() external view returns (uint256) { + return offersTotalCounter; + } + + function getMaxOffersAllowed() external view returns (uint256) { + return maxOffersAllowed; + } + + function getMaxOffersByUserAllowed() external view returns (uint256) { + return maxOffersByUserAllowed; + } + + function getOffers() external view returns (Offer[] memory) { + return offers; + } + + function getOfferByIndex(uint256 index) public view returns (Offer memory) { + if (index >= offers.length) revert InvalidOfferId(); + return offers[index]; + } + + function getOfferByOfferId(string memory offerId) external view returns (Offer memory) { + for (uint256 i = 0; i < offers.length; i++) { + if (keccak256(abi.encodePacked(offers[i].offerId)) == keccak256(abi.encodePacked(offerId))) { + return (offers[i]); + } + } + return _emptyOffer(); + } + + function getOffersByUser(address user) external view returns (Offer[] memory) { + if (user == address(0)) revert InvalidAddress(); + return offersByUser[user]; + } + + function getOffersByCardNumber(uint8 cardNumber) external view returns (Offer[] memory) { + return offersByCardNumber[cardNumber]; + } + + function getOfferByUserAndCardNumber( + address user, + uint8 cardNumber + ) public view returns (Offer memory) { + if (user == address(0)) revert InvalidAddress(); + + Offer[] storage userOffers = offersByUser[user]; + uint256 currentUserOffersCounter = offersByUserCounter[user]; + for (uint256 i = 0; i < currentUserOffersCounter; i++) { + if (userOffers[i].cardNumber == cardNumber) { + return userOffers[i]; + } + } + return _emptyOffer(); + } + + function canUserPublishOffer(address user) public view returns (bool) { + return maxOffersByUserAllowed > offersByUserCounter[user]; + } - Offer[] storage userOffers = offersByUser[user]; - uint256 currentUserOffersCounter = offersByUserCounter[user]; - for (uint256 i = 0; i < currentUserOffersCounter; i++) { - if (userOffers[i].cardNumber == cardNumber) { - return userOffers[i]; - } - } - return _emptyOffer(); - } + function canAnyUserPublishOffer() public view returns (bool) { + return maxOffersAllowed > offersTotalCounter; + } - function canUserPublishOffer(address user) public view returns (bool) { - return maxOffersByUserAllowed > offersByUserCounter[user]; - } - - function canAnyUserPublishOffer() public view returns (bool) { - return maxOffersAllowed > offersTotalCounter; - } - - function hasOffer(address user, uint8 cardNumber) public view returns (bool) { - require(user != address(0), "Invalid address."); - for (uint256 i = 0; i < offersByUserCounter[user]; i++) { - if (offersByUser[user][i].cardNumber == cardNumber) { - return true; - } - } - return false; - } - - function confirmOfferExchange(address from, uint8 cardNumberWanted, address offerWallet, uint8 offerCardNumber) external { - Offer memory offer = getOfferByUserAndCardNumber(offerWallet, offerCardNumber); - require(offer.owner == offerWallet, "An offer for this user and cardNumber don't exists."); - - uint8[] memory wantedCardNumbers = offer.wantedCardNumbers; - if(wantedCardNumbers.length == 0){ - //buscamos que el usuario no tenga la carta - require(!gammaCardsContract.hasCardByOffer(offerWallet, cardNumberWanted), "The user already has that card."); - } else { - //validamos contra las cartas que acepta el usuario - bool foundCardWanted = false; - for (uint8 j = 0; j < wantedCardNumbers.length; j++) { - if(wantedCardNumbers[j] == cardNumberWanted){ - foundCardWanted = true; - break; - } - } - require(foundCardWanted, "The card is not in wantedCardNumbers."); - } - - bool offerDeleted = _removeOfferByUserAndCardNumber(offerWallet, offerCardNumber, offer.offerId, true); - require (offerDeleted, "Error deleting offer after transfer cards"); - - gammaCardsContract.exchangeCardsOffer(from, cardNumberWanted, offerWallet, offerCardNumber); - require(gammaCardsContract.hasCardByOffer(from, offerCardNumber), "Exchange error with wallet from"); - require(gammaCardsContract.hasCardByOffer(offerWallet, cardNumberWanted), "Exchange error with wallet to"); - } - - function deleteAllOffers() external onlyOwners { - for (uint256 i = 0; i < offers.length; i++) { - delete offersByUser[offers[i].owner]; - offersByUserCounter[offers[i].owner] = 0; - - delete offersByCardNumber[offers[i].cardNumber]; - offersByCardNumberCounter[offers[i].cardNumber] = 0; - } - offersTotalCounter = 0; - delete offers; - - emit AllOffersRemoved(); - } - - function removeOfferByCardNumber(uint8 cardNumber) external returns (bool) { - Offer memory offer = getOfferByUserAndCardNumber(msg.sender, cardNumber); - if(offer.owner != msg.sender){ - return false; - } - bool result = _removeOfferByUserAndCardNumber(msg.sender, cardNumber, offer.offerId, false); - return result; - } - - function removeOfferByUserAndCardNumber(address user, uint8 cardNumber) public onlyOwners returns (bool) { - Offer memory offer = getOfferByUserAndCardNumber(user, cardNumber); - if(offer.owner != user){ - return false; - } - bool result = _removeOfferByUserAndCardNumber(user, cardNumber, offer.offerId, false); - return result; - } - - function removeOffersByUser(address user) external onlyCardsContract returns (bool) { - require(user != address(0), "Invalid address."); - - Offer[] storage userOffers = offersByUser[user]; - uint256 currentUserOffersCounter = offersByUserCounter[user]; - - for (uint256 i = 0; i < currentUserOffersCounter; i++) { - string memory offerId = userOffers[i].offerId; - uint8 cardNumber = userOffers[i].cardNumber; - _removeOfferFromCardNumberMapping(user, cardNumber, offerId); - _removeOfferByOfferId(offerId); - offersByCardNumberCounter[cardNumber] -= 1; - offersTotalCounter -= 1; - } - - delete offersByUser[user]; - offersByUserCounter[user] = 0; - - emit UserOffersRemoved(user); - return true; - } - - function _removeOfferByUserAndCardNumber(address user, uint8 cardNumber, string memory offerId, bool fromConfirmOfferExchange) private returns (bool) { - require(user != address(0), "Invalid address."); - - _removeOfferFromUserMapping(user, cardNumber, offerId); - _removeOfferFromCardNumberMapping(user, cardNumber, offerId); - _removeOfferByOfferId(offerId); - offersByUserCounter[user] -= 1; - offersByCardNumberCounter[cardNumber] -= 1; - offersTotalCounter -= 1; - - if (removeCardInInventoryWhenOffer && !fromConfirmOfferExchange) { - gammaCardsContract.restoreCardByOffer(user, cardNumber); - } - - emit OfferRemoved(user, cardNumber); + function hasOffer(address user, uint8 cardNumber) public view returns (bool) { + if (user == address(0)) revert InvalidAddress(); + for (uint256 i = 0; i < offersByUserCounter[user]; i++) { + if (offersByUser[user][i].cardNumber == cardNumber) { return true; - } - - function _removeOfferFromUserMapping(address user, uint8 cardNumber, string memory offerId) private { - Offer[] storage userOffers = offersByUser[user]; - for (uint256 i = 0; i < userOffers.length; i++) { - if (_sameOfferId(userOffers[i].offerId, offerId)) { - require(userOffers[i].owner == user, "_removeOfferFromUserMapping: owner does not match."); - require(userOffers[i].cardNumber == cardNumber, "_removeOfferFromUserMapping: cardNumber does not match."); - - if (i < (userOffers.length - 1)) { - userOffers[i] = userOffers[userOffers.length - 1]; - } - userOffers.pop(); - break; - } + } + } + return false; + } + + function confirmOfferExchange( + address from, + uint8 cardNumberWanted, + address offerWallet, + uint8 offerCardNumber + ) external { + Offer memory offer = getOfferByUserAndCardNumber(offerWallet, offerCardNumber); + if (offer.owner != offerWallet) revert OfferDoesNotExists(); + + uint8[] memory wantedCardNumbers = offer.wantedCardNumbers; + if (wantedCardNumbers.length == 0) { + //buscamos que el usuario no tenga la carta + if (gammaCardsContract.hasCardByOffer(offerWallet, cardNumberWanted)) + revert UserAlreadyHasCard(); + } else { + //validamos contra las cartas que acepta el usuario + bool foundCardWanted = false; + for (uint8 j = 0; j < wantedCardNumbers.length; j++) { + if (wantedCardNumbers[j] == cardNumberWanted) { + foundCardWanted = true; + break; } - } - - function _removeOfferFromCardNumberMapping(address user, uint8 cardNumber, string memory offerId) private { - Offer[] storage cardOffers = offersByCardNumber[cardNumber]; - - for (uint256 i = 0; i < cardOffers.length; i++) { - if (_sameOfferId(cardOffers[i].offerId, offerId)) { - - require(cardOffers[i].owner == user, "_removeOfferFromCardNumberMapping: owner does not match."); - require(cardOffers[i].cardNumber == cardNumber, "_removeOfferFromCardNumberMapping: cardNumber does not match."); - - if (i < cardOffers.length - 1) { - cardOffers[i] = cardOffers[cardOffers.length - 1]; - } - cardOffers.pop(); - break; - } + } + if (!foundCardWanted) revert InvalidCard(); + } + + bool offerDeleted = _removeOfferByUserAndCardNumber( + offerWallet, + offerCardNumber, + offer.offerId, + true + ); + if (!offerDeleted) revert OfferNotDeleted(); + + gammaCardsContract.exchangeCardsOffer(from, cardNumberWanted, offerWallet, offerCardNumber); + if ( + !gammaCardsContract.hasCardByOffer(from, offerCardNumber) || + !gammaCardsContract.hasCardByOffer(offerWallet, cardNumberWanted) + ) revert ExchangeError(); + } + + function deleteAllOffers() external onlyOwners { + for (uint256 i = 0; i < offers.length; i++) { + delete offersByUser[offers[i].owner]; + offersByUserCounter[offers[i].owner] = 0; + + delete offersByCardNumber[offers[i].cardNumber]; + offersByCardNumberCounter[offers[i].cardNumber] = 0; + } + offersTotalCounter = 0; + delete offers; + + emit AllOffersRemoved(); + } + + function removeOfferByCardNumber(uint8 cardNumber) external returns (bool) { + Offer memory offer = getOfferByUserAndCardNumber(msg.sender, cardNumber); + if (offer.owner != msg.sender) { + return false; + } + bool result = _removeOfferByUserAndCardNumber(msg.sender, cardNumber, offer.offerId, false); + return result; + } + + function removeOfferByUserAndCardNumber( + address user, + uint8 cardNumber + ) public onlyOwners returns (bool) { + Offer memory offer = getOfferByUserAndCardNumber(user, cardNumber); + if (offer.owner != user) { + return false; + } + bool result = _removeOfferByUserAndCardNumber(user, cardNumber, offer.offerId, false); + return result; + } + + function removeOffersByUser(address user) external onlyCardsContract returns (bool) { + if (user == address(0)) revert InvalidAddress(); + + Offer[] storage userOffers = offersByUser[user]; + uint256 currentUserOffersCounter = offersByUserCounter[user]; + + for (uint256 i = 0; i < currentUserOffersCounter; i++) { + string memory offerId = userOffers[i].offerId; + uint8 cardNumber = userOffers[i].cardNumber; + _removeOfferFromCardNumberMapping(user, cardNumber, offerId); + _removeOfferByOfferId(offerId); + offersByCardNumberCounter[cardNumber] -= 1; + offersTotalCounter -= 1; + } + + delete offersByUser[user]; + offersByUserCounter[user] = 0; + + emit UserOffersRemoved(user); + return true; + } + + function _removeOfferByUserAndCardNumber( + address user, + uint8 cardNumber, + string memory offerId, + bool fromConfirmOfferExchange + ) private returns (bool) { + if (user == address(0)) revert InvalidAddress(); + + _removeOfferFromUserMapping(user, cardNumber, offerId); + _removeOfferFromCardNumberMapping(user, cardNumber, offerId); + _removeOfferByOfferId(offerId); + offersByUserCounter[user] -= 1; + offersByCardNumberCounter[cardNumber] -= 1; + offersTotalCounter -= 1; + + if (removeCardInInventoryWhenOffer && !fromConfirmOfferExchange) { + gammaCardsContract.restoreCardByOffer(user, cardNumber); + } + + emit OfferRemoved(user, cardNumber); + return true; + } + + function _removeOfferFromUserMapping( + address user, + uint8 cardNumber, + string memory offerId + ) private { + Offer[] storage userOffers = offersByUser[user]; + for (uint256 i = 0; i < userOffers.length; i++) { + if (_sameOfferId(userOffers[i].offerId, offerId)) { + if (userOffers[i].owner != user || userOffers[i].cardNumber != cardNumber) + revert RemoveOfferFromUserMapping_DoNotMatch(); + if (i < (userOffers.length - 1)) { + userOffers[i] = userOffers[userOffers.length - 1]; } - } - - function _removeOfferByOfferId(string memory offerId) private returns (bool) { - bool deleted = false; - for (uint256 j = 0; j < offers.length; j++) { - if (j < offers.length && _sameOfferId(offers[j].offerId, offerId)) { - delete offers[j]; - offers[j] = offers[offers.length - 1]; - offers.pop(); - deleted = true; - break; - } + userOffers.pop(); + break; + } + } + } + + function _removeOfferFromCardNumberMapping( + address user, + uint8 cardNumber, + string memory offerId + ) private { + Offer[] storage cardOffers = offersByCardNumber[cardNumber]; + + for (uint256 i = 0; i < cardOffers.length; i++) { + if (_sameOfferId(cardOffers[i].offerId, offerId)) { + if (cardOffers[i].owner != user || cardOffers[i].cardNumber != cardNumber) + revert RemoveOfferFromCardNumberMapping_DoNotMatch(); + + if (i < cardOffers.length - 1) { + cardOffers[i] = cardOffers[cardOffers.length - 1]; } - return deleted; - } - - function _emptyOffer() internal pure returns (Offer memory) { - return Offer("", 0, new uint8[](0), address(0), 0); - } - - function _sameOfferId(string memory offerId1, string memory offerId2) internal pure returns (bool) { - return keccak256(abi.encodePacked(offerId1)) == keccak256(abi.encodePacked(offerId2)); - } + cardOffers.pop(); + break; + } + } + } + + function _removeOfferByOfferId(string memory offerId) private returns (bool) { + bool deleted = false; + for (uint256 j = 0; j < offers.length; j++) { + if (j < offers.length && _sameOfferId(offers[j].offerId, offerId)) { + delete offers[j]; + offers[j] = offers[offers.length - 1]; + offers.pop(); + deleted = true; + break; + } + } + return deleted; + } + + function _emptyOffer() internal pure returns (Offer memory) { + return Offer("", 0, new uint8[](0), address(0), 0); + } + + function _sameOfferId( + string memory offerId1, + string memory offerId2 + ) internal pure returns (bool) { + return keccak256(abi.encodePacked(offerId1)) == keccak256(abi.encodePacked(offerId2)); + } } diff --git a/contracts/gamma/GammaPacks.v3.sol b/contracts/gamma/GammaPacks.v3.sol index aca7187..fc95f1c 100644 --- a/contracts/gamma/GammaPacks.v3.sol +++ b/contracts/gamma/GammaPacks.v3.sol @@ -1,288 +1,315 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.20; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; -import "./libs/LibControlMgmt.sol"; -import "hardhat/console.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {LibControlMgmt} from "./libs/LibControlMgmt.sol"; +import {console} from "hardhat/console.sol"; + +error NotGammaCardsContract(); +error OwnlyOwners(); +error InvalidAddress(); +error InvalidNumberOfPacks(); +error InsufficientPacksAvailable(); +error TransferPrizeError(address _to); +error InsufficientAllowance(); +error InsufficientBalance(); +error NotYourPack(); +error ContractAddressNotSet(); interface IGammaCardsContract { - function setPrizesBalance(uint256 amount) external; - function changePackPrice(uint256 amount) external; + function setPrizesBalance(uint256 amount) external; + + function changePackPrice(uint256 amount) external; } interface IgammaTicketsContract { - function getLotteryWinner() external - returns (uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user); - function deleteAllTickets() external; + function getLotteryWinner() + external + returns (uint256 timestamp, bytes32 ticketId, uint256 ticketCounter, address user); + + function deleteAllTickets() external; } contract NofGammaPacksV3 is Ownable { - using LibControlMgmt for LibControlMgmt.Data; - - IGammaCardsContract public gammaCardsContract; - IgammaTicketsContract public gammaTicketsContract; - - LibControlMgmt.Data private ownersData; - - address public DAI_TOKEN; - uint256 public constant totalSupply = 50000; - uint256 public packPrice = 12e17; // 1.2 DAI - address public balanceReceiver; - uint256 private packsCounter = 0; - bool transferDai = true; - - mapping(uint256 tokenId => address owner) public packs; - mapping(address owner => uint256[] tokenIds) public packsByUser; - - event NewGammaCardsContract(address newCardsContract); - event NewGammaTicketsContract(address newGammaTicketContract); - event NewBalanceReceiver(address balanceReceiver); - event PackPurchased(address buyer, uint256 tokenId); - event PacksPurchased(address buyer, uint256[] tokenIds); - event PackTransfered(address from, address to, uint256 tokenId); - event PacksTransfered(address from, address to, uint256[] tokenId); - event PackOpened(address user, uint256 tokenId); - event NewPrice(uint256 newPrice); - - modifier onlyGammaCardsContract{ - require(msg.sender == address(gammaCardsContract), "Only gamma cards contract can call this function."); - _; - } - - modifier onlyOwners() { - require(ownersData.owners[msg.sender], "Only owners."); - _; - } - - function init(address _daiTokenAddress, address _balanceReceiver, - address _gammaCardsContract, address _gammaTicketsContract) external onlyOwner { - require(_balanceReceiver != address(0), "Invalid address."); - require(_gammaCardsContract != address(0), "Invalid address."); - require(_gammaTicketsContract != address(0), "Invalid address."); - - DAI_TOKEN = _daiTokenAddress; - balanceReceiver = _balanceReceiver; - gammaCardsContract = IGammaCardsContract(_gammaCardsContract); - gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); - - ownersData.owners[msg.sender] = true; - } - - function addOwner(address _newOwner) external onlyOwners { - ownersData.addOwner(_newOwner); - } - - function removeOwner(address _ownerToRemove) external onlyOwners { - ownersData.removeOwner(_ownerToRemove); - } - - function changeBalanceReceiver(address _newBalanceReceiver) external onlyOwners { - require(_newBalanceReceiver != address(0), "Invalid address."); - balanceReceiver = _newBalanceReceiver; - emit NewBalanceReceiver(_newBalanceReceiver); - } - - function changePrice(uint256 _newPrice) public onlyOwners { - packPrice = _newPrice; - gammaCardsContract.changePackPrice(_newPrice); - emit NewPrice(_newPrice); - } - - function changeTransferDaiFlag(bool _transferDai) public onlyOwners { - transferDai = _transferDai; - } - - function setGammaCardsContract(address _gammaCardsContract) public onlyOwners { - require(_gammaCardsContract != address(0), "Invalid address."); - gammaCardsContract = IGammaCardsContract(_gammaCardsContract); - emit NewGammaCardsContract(_gammaCardsContract); - } - - function setGammaTicketsContract(address _gammaTicketsContract) public onlyOwners { - require(_gammaTicketsContract != address(0), "Invalid address."); - gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); - emit NewGammaTicketsContract(_gammaTicketsContract); - } - - function isOwner(address user) external view returns (bool) { - return ownersData.owners[user]; + using LibControlMgmt for LibControlMgmt.Data; + + IGammaCardsContract public gammaCardsContract; + IgammaTicketsContract public gammaTicketsContract; + + LibControlMgmt.Data private ownersData; + + address public DAI_TOKEN; + address public s_balanceReceiver; + uint256 public constant TOTALSUPPLY = 50000; + uint256 public s_packPrice = 12e17; // 1.2 DAI + uint256 private s_packsCounter = 0; + bool s_transferDai = true; + + mapping(uint256 tokenId => address owner) public s_packs; + mapping(address owner => uint256[] tokenIds) public s_packsByUser; + + event NewGammaCardsContract(address indexed newCardsContract); + event NewGammaTicketsContract(address indexed newGammaTicketContract); + event NewBalanceReceiver(address indexed balanceReceiver); + event PackPurchased(address indexed buyer, uint256 indexed tokenId); + event PacksPurchased(address indexed buyer, uint256[] indexed tokenIds); + event PackTransfered(address indexed from, address indexed to, uint256 indexed tokenId); + event PacksTransfered(address indexed from, address indexed to, uint256[] indexed tokenId); + event PackOpened(address indexed user, uint256 indexed tokenId); + event NewPrice(uint256 indexed newPrice); + + modifier onlyGammaCardsContract() { + if (msg.sender != address(gammaCardsContract)) revert NotGammaCardsContract(); + _; + } + + modifier onlyOwners() { + if (!ownersData.owners[msg.sender]) revert OwnlyOwners(); + _; + } + + function init( + address _daiTokenAddress, + address _balanceReceiver, + address _gammaCardsContract, + address _gammaTicketsContract + ) external onlyOwner { + if ( + _balanceReceiver == address(0) || + _gammaCardsContract == address(0) || + _gammaTicketsContract == address(0) + ) revert InvalidAddress(); + + DAI_TOKEN = _daiTokenAddress; + s_balanceReceiver = _balanceReceiver; + gammaCardsContract = IGammaCardsContract(_gammaCardsContract); + gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); + + ownersData.owners[msg.sender] = true; + } + + function addOwner(address _newOwner) external onlyOwners { + ownersData.addOwner(_newOwner); + } + + function removeOwner(address _ownerToRemove) external onlyOwners { + ownersData.removeOwner(_ownerToRemove); + } + + function changeBalanceReceiver(address _newBalanceReceiver) external onlyOwners { + if (_newBalanceReceiver == address(0)) revert InvalidAddress(); + s_balanceReceiver = _newBalanceReceiver; + emit NewBalanceReceiver(_newBalanceReceiver); + } + + function changePrice(uint256 _newPrice) public onlyOwners { + s_packPrice = _newPrice; + gammaCardsContract.changePackPrice(_newPrice); + emit NewPrice(_newPrice); + } + + function changeTransferDaiFlag(bool _transferDai) public onlyOwners { + s_transferDai = _transferDai; + } + + function setGammaCardsContract(address _gammaCardsContract) public onlyOwners { + if (_gammaCardsContract == address(0)) revert InvalidAddress(); + gammaCardsContract = IGammaCardsContract(_gammaCardsContract); + emit NewGammaCardsContract(_gammaCardsContract); + } + + function setGammaTicketsContract(address _gammaTicketsContract) public onlyOwners { + if (_gammaTicketsContract == address(0)) revert InvalidAddress(); + gammaTicketsContract = IgammaTicketsContract(_gammaTicketsContract); + emit NewGammaTicketsContract(_gammaTicketsContract); + } + + function isOwner(address user) external view returns (bool) { + return ownersData.owners[user]; + } + + function getPrizeAmountToBuyPacks(uint256 numberOfPacks) public view returns (uint256) { + return (s_packPrice - (s_packPrice / 6)) * numberOfPacks; + } + + function getPrizeNoFAccountAmountToBuyPacks(uint256 numberOfPacks) public view returns (uint256) { + uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks); + return (s_packPrice * numberOfPacks) - prizesAmount; + } + + function getAmountRequiredToBuyPacks(uint256 numberOfPacks) public view returns (uint256) { + uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks); + uint256 NoFAccountAmount = getPrizeNoFAccountAmountToBuyPacks(numberOfPacks); + return prizesAmount + NoFAccountAmount; + } + + function getPacksByUser(address owner) public view returns (uint256[] memory) { + return s_packsByUser[owner]; + } + + function getPackOwner(uint256 tokenId) public view returns (address) { + return s_packs[tokenId]; + } + + function meetQuantityConditionsToBuy(uint256 numberOfPacks) public view returns (bool) { + if (numberOfPacks == 0) revert InvalidNumberOfPacks(); + return (s_packsCounter + numberOfPacks) < TOTALSUPPLY; + } + + function buyPack() public returns (uint256) { + return _buyPack(msg.sender); + } + + function buyPacks(uint256 numberOfPacks) public returns (uint256[] memory) { + return _buyPacks(msg.sender, numberOfPacks); + } + + function buyPackByUser(address user) public onlyOwners returns (uint256) { + return _buyPack(user); + } + + function buyPacksByUser( + address user, + uint256 numberOfPacks + ) public onlyOwners returns (uint256[] memory) { + return _buyPacks(user, numberOfPacks); + } + + function _buyPack(address user) private returns (uint256) { + uint256[] memory tokenIds = _buyPacks(user, 1); + return tokenIds[0]; + } + + function _buyPacks(address user, uint256 numberOfPacks) private returns (uint256[] memory) { + if (user == address(0)) revert InvalidAddress(); + if (numberOfPacks == 0 || numberOfPacks > 100) revert InvalidNumberOfPacks(); + if ((s_packsCounter + numberOfPacks) >= TOTALSUPPLY) revert InsufficientPacksAvailable(); + uint256[] memory tokenIds = new uint256[](numberOfPacks); + uint256 m_packsCounter = s_packsCounter; + + for (uint256 i; i < numberOfPacks;) { + if (m_packsCounter >= TOTALSUPPLY) revert InsufficientPacksAvailable(); + s_packs[m_packsCounter] = user; + s_packsByUser[user].push(m_packsCounter); + tokenIds[i] = m_packsCounter; + m_packsCounter++; + unchecked { + i++; + } } - function getPrizeAmountToBuyPacks(uint256 numberOfPacks) public view returns(uint256) { - return (packPrice - (packPrice / 6)) * numberOfPacks; - } - - function getPrizeNoFAccountAmountToBuyPacks(uint256 numberOfPacks) public view returns (uint256) { - uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks); - return (packPrice * numberOfPacks) - prizesAmount; - } - - function getAmountRequiredToBuyPacks(uint256 numberOfPacks) public view returns (uint256) { - uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks); - uint256 NoFAccountAmount = getPrizeNoFAccountAmountToBuyPacks(numberOfPacks); - return prizesAmount + NoFAccountAmount; - } - - function getPacksByUser(address owner) public view returns(uint256[] memory) { - return packsByUser[owner]; - } - - function getPackOwner(uint256 tokenId) public view returns(address) { - return packs[tokenId]; - } - - function meetQuantityConditionsToBuy(uint256 numberOfPacks) public view returns(bool) { - require(numberOfPacks > 0, "Number of packs should be greater than zero."); - return (packsCounter + numberOfPacks) < totalSupply; - } - - function buyPack() public returns (uint256){ - return _buyPack(msg.sender); - } - - function buyPacks(uint256 numberOfPacks) public returns(uint256[] memory){ - return _buyPacks(msg.sender, numberOfPacks); - } - - function buyPackByUser(address user) public onlyOwners returns (uint256) { - return _buyPack(user); - } - - function buyPacksByUser(address user, uint256 numberOfPacks) public onlyOwners returns(uint256[] memory){ - return _buyPacks(user, numberOfPacks); - } - - function _buyPack(address user) private returns (uint256) { - uint256[] memory tokenIds = _buyPacks(user, 1); - return tokenIds[0]; - } - function _buyPacks(address user, uint256 numberOfPacks) private returns(uint256[] memory){ - require(user != address(0), "Invalid address."); - require(numberOfPacks > 0, "Number of packs should be greater than zero."); - require((packsCounter + numberOfPacks) < totalSupply, "The number of packs you want to buy exceeds those available."); - - uint256[] memory tokenIds = new uint256[](numberOfPacks); - - for(uint256 i; i < numberOfPacks; i++){ - uint256 tokenId = packsCounter; - require(tokenId < totalSupply, "There are no more packs."); - packsCounter += 1; - packs[tokenId] = user; - packsByUser[user].push(tokenId); - tokenIds[i] = tokenId; - } - - bool tranferPrizeResult = _tranferPrizesAmounts(user, numberOfPacks); - require(tranferPrizeResult, "The transfers related to the purchase of packs could not be completed."); - - if (numberOfPacks == 1) { - emit PackPurchased(user, tokenIds[0]); - } else { - emit PacksPurchased(user, tokenIds); - } - - return tokenIds; - } - - function _tranferPrizesAmounts(address user, uint256 numberOfPacks) private returns(bool) { - uint256 prizesAmount = getPrizeAmountToBuyPacks(numberOfPacks); - uint256 prizeNoFAccount = getPrizeNoFAccountAmountToBuyPacks(numberOfPacks); - gammaCardsContract.setPrizesBalance(prizesAmount); - - if (transferDai) { - IERC20 erc20Token = IERC20(DAI_TOKEN); - uint256 userAllowance = erc20Token.allowance(user, address(this)); - - require(userAllowance >= (prizesAmount + prizeNoFAccount), - "Insufficient allowance to transfer prizes amount and NOF Account amount."); - require(erc20Token.balanceOf(user) >= prizesAmount, "Insufficient balance to transfer prizes amount."); - require(erc20Token.balanceOf(user) >= prizeNoFAccount, "Insufficient balance to transfer profit amount."); - - // send prize amount to the card contract - bool successTx1 = erc20Token.transferFrom(user, address(gammaCardsContract), prizesAmount); - require(successTx1, "Error sending prize amount to gammaCardsContract."); - - // send profit amount to NoF account - bool successTx2 = erc20Token.transferFrom(user, balanceReceiver, prizeNoFAccount); - require(successTx2, "Error sending profit amount to NoF account."); - } - return true; - } - - function deleteTokenId(uint256 tokenId, address owner) internal { - uint256 packsByUserLength = packsByUser[owner].length; - for(uint256 i; i 0, "No tickets available for the lottery."); + if(tickets.length == 0) revert NoTicketsAvailable(); if (winner.timestamp != 0) { return (winner.timestamp, winner.ticketId, winner.ticketCounter, winner.user); diff --git a/hardhat.config.ts b/hardhat.config.ts index be4b47c..013db36 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -31,6 +31,10 @@ const config: HardhatUserConfig = { url: `https://goerli.infura.io/v3/${INFURA_API_KEY}`, ...(PRIVATE_KEY ? { accounts: [`${PRIVATE_KEY}`] } : {}) }, + polygon: { + url: `https://polygon-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}`, + ...(PRIVATE_KEY ? { accounts: [`${PRIVATE_KEY}`] } : {}) + }, mumbai: { url: `https://polygon-mumbai.g.alchemy.com/v2/${ALCHEMY_API_KEY}`, ...(PRIVATE_KEY ? { accounts: [`${PRIVATE_KEY}`] } : {}) diff --git a/scripts/common.ts b/scripts/common.ts index 79c3bc4..0eaf564 100644 --- a/scripts/common.ts +++ b/scripts/common.ts @@ -87,6 +87,11 @@ export async function deployContracts(wallets: SignerWithAddress[]) { const nofGammaLibStringutilsCurrentAddress = process.env.NOF_GAMMA_LIB_STRING_UTILS_CONTRACT_CURRENT_ADDRESS || '' const nofGammaLibControlMgmtCurrentAddress = process.env.NOF_GAMMA_LIB_OWNERS_MGMT_CONTRACT_CURRENT_ADDRESS || '' + if(nofDaiContractCurrentAddress === '' && !isLocalhost && !isHardhat) { + console.error('Real DAI Smart Contract Address must be filled in NOF_DAI_CONTRACT_CURRENT_ADDRESS variable in .env') + process.exit(1); + } + const libPackVerifier = await deployContract(nofGammaLibPackVerifierCurrentAddress, nofGammaLibPackVerifierName) const libStringUtils = await deployContract(nofGammaLibStringutilsCurrentAddress, nofGammaLibStringUtilsName) const libControlMgmt = await deployContract(nofGammaLibControlMgmtCurrentAddress, nofGammaLibControlMgmtName) @@ -208,16 +213,28 @@ export async function deployContracts(wallets: SignerWithAddress[]) { } } - console.log('\nFacility text to use in .env in nof-landing:') - console.log(` - NEXT_PUBLIC_ADMIN_ACCOUNTS='${wallets[0].address}' - NEXT_PUBLIC_DAI_ADDRESS='${testDAIContract.address}' - NEXT_PUBLIC_ALPHA_ADDRESS='${alphaContract.address}' - NEXT_PUBLIC_GAMMA_CARDS_ADDRESS='${cardsContract.address}' - NEXT_PUBLIC_GAMMA_PACKS_ADDRESS='${packsContract.address}' - NEXT_PUBLIC_GAMMA_OFFERS_ADDRESS='${offersContract.address}' - NEXT_PUBLIC_GAMMA_TICKETS_ADDRESS='${ticketsContract.address}' - `) + if (isLocalhost || isHardhat) { + console.log('\nFacility text to update .env (only apply to local with hardhat)') + console.log(` + NEXT_PUBLIC_NOF_DAI_HARDHAT_CONTRACT_ADDRESS='${testDAIContract.address}', + NEXT_PUBLIC_NOF_ALPHA_HARDHAT_CONTRACT_ADDRESS='${alphaContract.address}', + NEXT_PUBLIC_NOF_GAMMA_CARDS_HARDHAT_CONTRACT_ADDRESS='${cardsContract.address}', + NEXT_PUBLIC_NOF_GAMMA_PACKS_HARDHAT_CONTRACT_ADDRESS='${packsContract.address}', + NEXT_PUBLIC_NOF_GAMMA_OFFERS_HARDHAT_CONTRACT_ADDRESS='${offersContract.address}', + NEXT_PUBLIC_NOF_GAMMA_TICKETS_HARDHAT_CONTRACT_ADDRESS='${ticketsContract.address}' + `) + } else { + console.log('\nFacility text to use in nof-landing/config.js to update real networks contracts addresses') + console.log(` + contracts: { + daiAddress: '${testDAIContract.address}', + alphaAddress: '${alphaContract.address}', + gammaCardsAddress: '${cardsContract.address}', + gammaPackAddress: '${packsContract.address}', + gammaOffersAddress: '${offersContract.address}', + gammaTicketsAddress: '${ticketsContract.address}' + }`) + } return { testDAIContract, alphaContract, packsContract, diff --git a/scripts/deploy-mock-data.ts b/scripts/deploy-mock-data.ts index 37de185..c881d5e 100644 --- a/scripts/deploy-mock-data.ts +++ b/scripts/deploy-mock-data.ts @@ -46,7 +46,7 @@ async function createAlphaMockData( addresses: SignerWithAddress[], testDAI: Con async function gammaCircuitPack(signer: SignerWithAddress, testDAI: Contract, gammaPacks: Contract) { const packPrice = 10000000000000000000 - const TenPacksPrice = ethers.BigNumber.from((packPrice * 10).toString()) + const TenPacksPrice = ethers.BigNumber.from((packPrice * 10).toString()) console.log('buying Pack...') const tokenId = await gammaPacks.buyPackByUser(signer.address); @@ -176,7 +176,7 @@ async function createOfferMockData( gammaPacks: Contract, gammaCards: Contract, gammaOffers: Contract) { - + console.log('\n----------------------------------') console.log('Creating Gamma Offers Mock Data') console.log('----------------------------------\n') diff --git a/scripts/gamma-backend.ts b/scripts/gamma-backend.ts new file mode 100644 index 0000000..a1f1ea8 --- /dev/null +++ b/scripts/gamma-backend.ts @@ -0,0 +1,15 @@ +const gammaEndpoint = "https://gamma-microservice-7bteynlhua-uc.a.run.app/"; + +export const getPackData = async (userAddress: string, packNumber: number) => { + const postData = { + address: userAddress, + packet_number: packNumber + }; + + const response = await fetch(gammaEndpoint, { + method: "post", + headers: {"Content-Type": "application/json"}, + body: JSON.stringify(postData), + }); + return response.json() +} \ No newline at end of file diff --git a/test/common.ts b/test/common.ts index 88a2e80..5cb3e95 100644 --- a/test/common.ts +++ b/test/common.ts @@ -162,9 +162,9 @@ async function allowedToFinishAlbum(gammaCards: any, daiContract: any, address: // Las 4 se validan en el contrato y aquĆ­ (para evitar la llamada al contrato) // require(cardsByUser[msg.sender][120] > 0, "No tienes ningun album"); - const userHasAlbum = await gammaCards.cardsByUser(address, 120) - const prizesBalance = await gammaCards.prizesBalance() - const mainAlbumPrize = await gammaCards.mainAlbumPrize() + const userHasAlbum = await gammaCards.s_cardsByUser(address, 120) + const prizesBalance = await gammaCards.s_prizesBalance() + const mainAlbumPrize = await gammaCards.s_mainAlbumPrize() const gammaContractBalance = await daiContract.balanceOf(gammaCards.address) const prizeBalanceFormatted = ethers.utils.formatUnits(prizesBalance, 18) const albumPrizeFormatted = ethers.utils.formatUnits(mainAlbumPrize, 18) diff --git a/test/gamma.cards.test.ts b/test/gamma.cards.test.ts index 225af83..24b0513 100644 --- a/test/gamma.cards.test.ts +++ b/test/gamma.cards.test.ts @@ -383,4 +383,4 @@ describe('NoF - Gamma Cards Tests', function () { expect(await gammaCards.burnCards(cardsToBurn)).to.be.revertedWith('You cannot burn any more copies of this card.') }) -}) +}) \ No newline at end of file diff --git a/test/gamma.offers.test.ts b/test/gamma.offers.test.ts index 6d5a80c..2e95fb0 100644 --- a/test/gamma.offers.test.ts +++ b/test/gamma.offers.test.ts @@ -172,7 +172,7 @@ describe('NoF - Gamma Offers Tests', function () { it('Create Offer should revert when gammaCardsContract is not set', async () => { const { gammaPacks, gammaCards, gammaOffers, address0 } = await loadFixture(deployNofGammaFixture) const getCardsByUserResult: getCardsByUserType = await getOnePackData(gammaPacks, gammaCards, address0) - await expect(gammaOffers.setGammaCardsContract(ethers.constants.AddressZero)).to.be.revertedWith('Invalid address.') + await expect(gammaOffers.setGammaCardsContract(ethers.constants.AddressZero)).to.be.revertedWithCustomError(gammaOffers, 'InvalidAddress') }) it('Create Offer should revert when cardNumber in wantedCardNumbers', async () => { @@ -180,7 +180,7 @@ describe('NoF - Gamma Offers Tests', function () { const getCardsByUserResult: getCardsByUserType = await getOnePackData(gammaPacks, gammaCards, address0) await expect( gammaOffers.createOffer(uuidv4(), getCardsByUserResult[0][0], [getCardsByUserResult[0][0], 2, 24, 4, 5, 6, 7, 8]) - ).to.be.revertedWith('The cardNumber cannot be in wantedCardNumbers.') + ).to.be.revertedWithCustomError(gammaOffers, 'InvalidCardNumber') }) it('Create Offer should revert when user does not have cardNumber', async () => { @@ -188,7 +188,7 @@ describe('NoF - Gamma Offers Tests', function () { const getCardsByUserResult: getCardsByUserType = await getOnePackData(gammaPacks, gammaCards, address0) await expect( gammaOffers.createOffer(uuidv4(), 140, [getCardsByUserResult[0][0], 2, 24, 4, 5, 6, 7, 8]) - ).to.be.revertedWith('You does not have that card.') + ).to.be.revertedWithCustomError(gammaOffers, 'UserDoesNotHaveCard') }) it('Create Offer should revert when user repeats the cardNumber', async () => { @@ -202,7 +202,7 @@ describe('NoF - Gamma Offers Tests', function () { await expect( gammaOffers.createOffer(uuidv4(), getCardsByUserResult[0][0], [1, 2, 24, 4, 5, 6, 7, 8]) - ).to.be.revertedWith('An offer for this user and cardNumber already exists.') + ).to.be.revertedWithCustomError(gammaOffers, 'OfferAlreadyExists') }) it('Should retrieve an offer using getOfferByIndex', async () => { @@ -457,8 +457,8 @@ describe('NoF - Gamma Offers Tests', function () { await expect(await gammaOffers.hasOffer(address0.address, 3)).to.be.equal(true) await expect(await gammaCards.hasCard(address1.address, 90)).to.be.equal(true) - await expect(gammaOffers.confirmOfferExchange(address1.address, 90, address0.address, 3)).to.be.revertedWith( - 'The card is not in wantedCardNumbers.' + await expect(gammaOffers.confirmOfferExchange(address1.address, 90, address0.address, 3)).to.be.revertedWithCustomError(gammaOffers, + 'InvalidCard' ) }) @@ -537,8 +537,8 @@ describe('NoF - Gamma Offers Tests', function () { await expect(await gammaCards.hasCard(address0.address, 101)).to.be.equal(true) await expect(await gammaCards.hasCard(address1.address, 3)).to.be.equal(false) - await expect(gammaOffers.confirmOfferExchange(address1.address, 101, address0.address, 3)).to.be.revertedWith( - 'The user already has that card.' + await expect(gammaOffers.confirmOfferExchange(address1.address, 101, address0.address, 3)).to.be.revertedWithCustomError(gammaOffers, + 'UserAlreadyHasCard' ) }) diff --git a/test/gamma.packs.test.ts b/test/gamma.packs.test.ts index dcacc9a..e241165 100644 --- a/test/gamma.packs.test.ts +++ b/test/gamma.packs.test.ts @@ -110,8 +110,6 @@ describe('NoF - Gamma Packs Tests', function () { it('Should revert when number of packs is zero in meetQuantityConditionsToBuy', async () => { const { gammaPacks } = await loadFixture(deployNofGammaFixture) - await expect(gammaPacks.meetQuantityConditionsToBuy(0)).to.be.revertedWith( - 'Number of packs should be greater than zero.' - ) + await expect(gammaPacks.meetQuantityConditionsToBuy(0)).to.be.revertedWithCustomError(gammaPacks, 'InvalidNumberOfPacks') }) })